@bkm016/basalt 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/README.md +16 -22
  2. package/chunk-06hdzq5n.js +2 -0
  3. package/chunk-09rj27b2.js +2 -0
  4. package/{chunk-qnr1f5pj.js → chunk-0y7ne3d0.js} +2 -2
  5. package/{chunk-vgvq3q12.js → chunk-10xzzn07.js} +2 -2
  6. package/{chunk-6qertm2t.js → chunk-1qpces5a.js} +1 -1
  7. package/{chunk-nt2gntad.js → chunk-1zdwrgd4.js} +1 -1
  8. package/{chunk-sh74qzvt.js → chunk-27gntzs5.js} +4 -4
  9. package/{chunk-1v7st27a.js → chunk-2esbgxps.js} +14 -14
  10. package/{chunk-exnn1867.js → chunk-362g64pd.js} +1 -1
  11. package/{chunk-1aspj1hn.js → chunk-3cjsd292.js} +2 -2
  12. package/chunk-5c9j8qe4.js +478 -0
  13. package/{chunk-8dxzqwq3.js → chunk-5j1krv9v.js} +1 -1
  14. package/{chunk-vkkj4awb.js → chunk-6hssbcgj.js} +1 -1
  15. package/{chunk-1b7gbe8g.js → chunk-75m78j7x.js} +2 -2
  16. package/{chunk-kfq8wyd3.js → chunk-8296hw9m.js} +1 -1
  17. package/{chunk-szat3vp4.js → chunk-8d46jtbj.js} +2 -2
  18. package/{chunk-qczbfccb.js → chunk-8tjad3r0.js} +4 -4
  19. package/{chunk-agntrqs9.js → chunk-97rzj7f6.js} +1 -1
  20. package/{chunk-k7w7ac9q.js → chunk-981f9dw8.js} +8 -8
  21. package/{chunk-xysny0ve.js → chunk-aefadsy6.js} +2 -2
  22. package/{chunk-jhd54p1b.js → chunk-bannb9xm.js} +1 -1
  23. package/{chunk-a3tqx584.js → chunk-c7x1zq39.js} +1 -1
  24. package/{chunk-rv06x0kn.js → chunk-cjc90f84.js} +1 -1
  25. package/{chunk-x3dnb9sz.js → chunk-d2j735sd.js} +2 -2
  26. package/{chunk-yskm0hsy.js → chunk-d8gtbw9g.js} +1 -1
  27. package/{chunk-rm3kcxq9.js → chunk-fjtvjrkg.js} +13 -13
  28. package/{chunk-h6sw8fbt.js → chunk-fm0k0qtz.js} +1 -1
  29. package/{chunk-1yzt0qm0.js → chunk-fw2bpqmw.js} +1 -1
  30. package/{chunk-45cz26ap.js → chunk-gp7y0fja.js} +13 -13
  31. package/{chunk-2bb01ddq.js → chunk-gzxnene8.js} +1 -1
  32. package/{chunk-a8nyk4k9.js → chunk-hwr56pfj.js} +1 -1
  33. package/{chunk-0hbjv3y6.js → chunk-jwdb0ccj.js} +3 -3
  34. package/{chunk-kf8hq21a.js → chunk-k23t7vhs.js} +5 -5
  35. package/{chunk-bhqyxyap.js → chunk-k506w58v.js} +1 -1
  36. package/{chunk-44ek81ad.js → chunk-k6w6y71k.js} +2 -2
  37. package/chunk-m40gxwq4.js +5 -0
  38. package/chunk-m8vkwdgr.js +5 -0
  39. package/{chunk-f7egr55n.js → chunk-mvfsxdx6.js} +13 -13
  40. package/{chunk-pvncysbb.js → chunk-nbb9trwz.js} +1 -1
  41. package/{chunk-0szjy61m.js → chunk-pbcy6zdt.js} +1 -1
  42. package/chunk-pmqtkqsf.js +2 -0
  43. package/{chunk-hat3s3pr.js → chunk-pxsrqrd0.js} +1 -1
  44. package/{chunk-xsbxykr4.js → chunk-qe0teyn1.js} +1 -1
  45. package/{chunk-2zqny2sy.js → chunk-r7fpkb49.js} +1 -1
  46. package/{chunk-3m7qwfm3.js → chunk-rtzqqngy.js} +3 -3
  47. package/{chunk-6e49xsf5.js → chunk-shadcb9z.js} +2 -2
  48. package/{chunk-0qqb6v41.js → chunk-shhrr741.js} +120 -120
  49. package/{chunk-cv5wsd9m.js → chunk-t6zs4kw0.js} +2 -2
  50. package/{chunk-hcn9cf6v.js → chunk-v258nxcz.js} +1 -1
  51. package/{chunk-a6r4z44b.js → chunk-vk1gxk1t.js} +1 -1
  52. package/{chunk-s37s3k24.js → chunk-x1xss1d7.js} +2 -2
  53. package/{chunk-dakrpbe6.js → chunk-x4874m8e.js} +2 -2
  54. package/{chunk-wx7kdf0b.js → chunk-xfvvh1s5.js} +1 -1
  55. package/{chunk-0yytz0r1.js → chunk-y0m980k3.js} +5 -5
  56. package/{chunk-dhm42y04.js → chunk-y58ygzn9.js} +3 -3
  57. package/{chunk-2wkaw73s.js → chunk-y648fzx0.js} +5 -5
  58. package/{chunk-32at88hc.js → chunk-y7nma9rk.js} +1 -1
  59. package/{chunk-pmc3y1z8.js → chunk-ykens1hy.js} +1 -1
  60. package/{chunk-q8zx3kt6.js → chunk-z55bmysw.js} +1 -1
  61. package/{chunk-qx0m82rw.js → chunk-zmsgwr3s.js} +1 -1
  62. package/{chunk-501zkf9b.js → chunk-ztsjgssj.js} +1 -1
  63. package/compiled.js +5 -5
  64. package/package.json +1 -1
  65. package/ui-test-worker.js +63 -63
  66. package/web/chunk-0sewdyz1.js +1 -0
  67. package/web/{chunk-xbty0rv7.js → chunk-1z5p7a1h.js} +1 -1
  68. package/web/chunk-21ke27j6.js +1 -0
  69. package/web/{chunk-2msj52w6.js → chunk-24k0r5aq.js} +1 -1
  70. package/web/{chunk-a5x2zveg.js → chunk-284a17k8.js} +1 -1
  71. package/web/{chunk-ca682sm6.js → chunk-2pjdtesn.js} +14 -14
  72. package/web/{chunk-z7dcbxws.js → chunk-3mvr2gwh.js} +1 -1
  73. package/web/chunk-3t3zwx9j.js +1 -0
  74. package/web/{chunk-e6jxqbv7.js → chunk-3z93efr4.js} +1 -1
  75. package/web/{chunk-05w4fyzc.js → chunk-43jqvsrg.js} +1 -1
  76. package/web/{chunk-jwzd9tzk.js → chunk-4bry4xds.js} +2 -2
  77. package/web/{chunk-4ks96e4r.js → chunk-5e7ygjdn.js} +1 -1
  78. package/web/{chunk-qefasa1j.js → chunk-5jbf7n5q.js} +1 -1
  79. package/web/{chunk-e32y85kx.js → chunk-5rx8rtsa.js} +1 -1
  80. package/web/chunk-5xc9d5ft.js +1 -0
  81. package/web/{chunk-a1z5qx1r.js → chunk-693m9kt7.js} +3 -3
  82. package/web/{chunk-70qwwwak.js → chunk-6qejm5s2.js} +1 -1
  83. package/web/{chunk-kdyjnwdx.js → chunk-8ah6ce1b.js} +2 -2
  84. package/web/{chunk-5vw9rs4r.js → chunk-8e43yaq3.js} +3 -3
  85. package/web/{chunk-qnaqf0cr.js → chunk-8wye0wbb.js} +1 -1
  86. package/web/{chunk-45fzdcgz.js → chunk-986z0p48.js} +5 -5
  87. package/web/{chunk-y0m8hrwz.js → chunk-9dd1c37b.js} +77 -77
  88. package/web/{chunk-9yakxvjb.js → chunk-9re6yttj.js} +2 -2
  89. package/web/{chunk-2scce33n.js → chunk-abbvjt4e.js} +1 -1
  90. package/web/{chunk-b4wbk7vc.js → chunk-agmkx996.js} +3 -3
  91. package/web/{chunk-hev4hq89.js → chunk-anbn2ttv.js} +2 -2
  92. package/web/chunk-aqm3spxt.js +1139 -0
  93. package/web/{chunk-fk0dh93x.js → chunk-avwpjsxw.js} +5 -5
  94. package/web/chunk-b470hvpk.js +1 -0
  95. package/web/{chunk-9dxjafp2.js → chunk-bt1m87ck.js} +2 -2
  96. package/web/chunk-cqp1d4p0.js +1 -0
  97. package/web/{chunk-ss1bcb0n.js → chunk-ctcrk3qn.js} +2 -2
  98. package/web/{chunk-pf2ab8p8.js → chunk-ctd8bfg2.js} +1 -1
  99. package/web/{chunk-q5ke7a33.js → chunk-cwvtraca.js} +1 -1
  100. package/web/{chunk-yd46jhqv.js → chunk-dk90px7g.js} +1 -1
  101. package/web/{chunk-0mrkjnte.js → chunk-ds7srg4p.js} +1 -1
  102. package/web/{chunk-fscafg24.js → chunk-dt8ss97f.js} +5 -5
  103. package/web/{chunk-9p12mgs6.js → chunk-ezkqa7we.js} +1 -1
  104. package/web/{chunk-f26smjjf.js → chunk-f078k1ej.js} +1 -1
  105. package/web/chunk-fekjj24p.css +1 -0
  106. package/web/{chunk-a3verqw9.js → chunk-fqj9kry9.js} +5 -5
  107. package/web/chunk-frjfamx7.js +8 -0
  108. package/web/{chunk-g4azyef7.js → chunk-fy8ey195.js} +1 -1
  109. package/web/{chunk-wptv8atc.js → chunk-g8ee1csm.js} +1 -1
  110. package/web/{chunk-w880psmw.js → chunk-h31p43qa.js} +1 -1
  111. package/web/chunk-h5p5jsrw.js +1 -0
  112. package/web/chunk-h9fmr6ch.js +1 -0
  113. package/web/{chunk-qh7265qw.js → chunk-jf2ehmvp.js} +2 -2
  114. package/web/{chunk-fz06t6km.js → chunk-jmnaq7c1.js} +1 -1
  115. package/web/chunk-jq0pw0k2.js +1 -0
  116. package/web/{chunk-p3b9crsa.js → chunk-jvj66qhs.js} +2 -2
  117. package/web/{chunk-xjxv8dg8.js → chunk-jzmzhj8z.js} +4 -4
  118. package/web/chunk-k4cfnvyq.js +1 -0
  119. package/web/{chunk-dt462hk9.js → chunk-kgerjbn4.js} +1 -1
  120. package/web/{chunk-bc78qf1m.js → chunk-kww4azv5.js} +5 -5
  121. package/web/chunk-m29dhjkh.js +1 -0
  122. package/web/chunk-mj6tee5h.js +1 -0
  123. package/web/{chunk-jrcyc9s9.js → chunk-mjpjkyd1.js} +1 -1
  124. package/web/{chunk-20q90epj.js → chunk-n8sky2q6.js} +1 -1
  125. package/web/{chunk-fm2ybfj5.js → chunk-pk3ap3wh.js} +4 -4
  126. package/web/{chunk-bgnnrpna.js → chunk-q1pkntc6.js} +4 -4
  127. package/web/{chunk-taynqrgq.js → chunk-qryrg2pq.js} +2 -2
  128. package/web/{chunk-gqw3f02j.js → chunk-r92sbgwv.js} +5 -5
  129. package/web/{chunk-0vt9fg48.js → chunk-raqqscwa.js} +2 -2
  130. package/web/{chunk-3jhyzmnf.js → chunk-rc2vq9wz.js} +3 -3
  131. package/web/{chunk-2ps6mepk.js → chunk-rkj743fg.js} +3 -3
  132. package/web/{chunk-e53wfgb8.js → chunk-rrws61wf.js} +1 -1
  133. package/web/{chunk-9an7cjd9.js → chunk-s3hwejnr.js} +2 -2
  134. package/web/{chunk-dzwxgqgm.js → chunk-s3rdx28k.js} +2 -2
  135. package/web/{chunk-2m12wyrb.js → chunk-shbw6wg8.js} +1 -1
  136. package/web/chunk-szcy5z56.js +1 -0
  137. package/web/{chunk-tmvakq7n.js → chunk-t1xk6hca.js} +4 -4
  138. package/web/chunk-t2hhdg9r.js +1 -0
  139. package/web/chunk-tj4cmkwe.js +1 -0
  140. package/web/{chunk-bjkc94mv.js → chunk-tn1xzmgx.js} +1 -1
  141. package/web/{chunk-4v8en1yw.js → chunk-tnv7z83q.js} +1 -1
  142. package/web/chunk-v2b5q0n5.js +1 -0
  143. package/web/{chunk-3ee04tmm.js → chunk-vj6kstpp.js} +5 -5
  144. package/web/{chunk-b1pe46zz.js → chunk-vjqmnkh2.js} +1 -1
  145. package/web/{chunk-qd8bxxdj.js → chunk-vkc149rb.js} +1 -1
  146. package/web/{chunk-v28fx2nd.js → chunk-vny496ba.js} +1 -1
  147. package/web/{chunk-rpmpttbk.js → chunk-vz5ck6x9.js} +1 -1
  148. package/web/{chunk-y49fhfda.js → chunk-xa88zgkr.js} +1 -1
  149. package/web/{chunk-q0p5xqe1.js → chunk-xdcs8qz3.js} +4 -4
  150. package/web/chunk-y5x74t89.js +1 -0
  151. package/web/{chunk-xrxne80b.js → chunk-yen2kkn2.js} +1 -1
  152. package/web/{chunk-bj90t5gh.js → chunk-yjv2c45j.js} +4 -4
  153. package/web/chunk-yx3dh5hg.js +1 -0
  154. package/web/chunk-yz4fmtk2.js +1 -0
  155. package/web/{chunk-8p4tc9f4.js → chunk-z24vs8q9.js} +3 -3
  156. package/web/chunk-z5j6x6j8.js +2 -0
  157. package/web/chunk-z5stjrhc.js +1 -0
  158. package/web/{chunk-90kp4pnz.js → chunk-z760wagr.js} +1 -1
  159. package/web/{chunk-tqmwd9qp.js → chunk-znvnb9dh.js} +1 -1
  160. package/web/{chunk-22a4ety5.js → chunk-zrzq29e6.js} +1 -1
  161. package/web/{icon-yx2p2pye.svg → icon-1wgy7kzy.svg} +13 -13
  162. package/web/icon.svg +13 -13
  163. package/web/index.html +2 -2
  164. package/web/install.sh +0 -0
  165. package/web/sw.js +9 -0
  166. package/worker.js +1 -1
  167. package/chunk-09vr609h.js +0 -2
  168. package/chunk-58vz2qsq.js +0 -2
  169. package/chunk-c25s4w6a.js +0 -5
  170. package/chunk-t057xfrt.js +0 -5
  171. package/chunk-wjd9fr23.js +0 -2
  172. package/chunk-zef13k3h.js +0 -471
  173. package/web/chunk-2pver6r4.js +0 -1
  174. package/web/chunk-37ajk6zg.js +0 -2
  175. package/web/chunk-4wkm9fda.js +0 -1
  176. package/web/chunk-amzgyy1k.js +0 -1
  177. package/web/chunk-cff5hcm8.js +0 -8
  178. package/web/chunk-esp1mmgr.js +0 -1
  179. package/web/chunk-ew3cgdtd.js +0 -1
  180. package/web/chunk-gjq1pxw3.js +0 -1
  181. package/web/chunk-h5ejbf6e.js +0 -1
  182. package/web/chunk-jjh5jvva.js +0 -1
  183. package/web/chunk-k5btcvbg.js +0 -1
  184. package/web/chunk-kpvgecwy.js +0 -1
  185. package/web/chunk-kq40ss39.js +0 -1
  186. package/web/chunk-q7dsnvpf.js +0 -1
  187. package/web/chunk-rg426vkf.js +0 -1
  188. package/web/chunk-ry9256r7.js +0 -1
  189. package/web/chunk-scpwc9ev.js +0 -1
  190. package/web/chunk-ssy07dd2.js +0 -1
  191. package/web/chunk-tgpbhzn9.js +0 -1
  192. package/web/chunk-vt40e1kp.js +0 -1136
  193. package/web/chunk-w53rba6g.js +0 -1
  194. package/web/chunk-w86n42dy.js +0 -1
  195. package/web/chunk-wtawdeej.css +0 -1
  196. package/web/chunk-zde7mj43.js +0 -1
@@ -1,4 +1,4 @@
1
- import{W}from"./chunk-b1pe46zz.js";import{e,r,we,D,b,B,C,S,E,T,A,I,L,p,q,Wr,k,U}from"./chunk-y0m8hrwz.js";import{Dt}from"./chunk-0mrkjnte.js";import{X}from"./chunk-taynqrgq.js";import{Xe}from"./chunk-20q90epj.js";import{oe}from"./chunk-hev4hq89.js";function je(t){var n=0,l=t.children,o=l&&l.length;if(!o)n=1;else while(--o>=0)n+=l[o].value;t.value=n}function ge(){return this.eachAfter(je)}function ye(t,n){let l=-1;for(let o of this)t.call(n,o,++l,this);return this}function xe(t,n){var l=this,o=[l],s,d,f=-1;while(l=o.pop())if(t.call(n,l,++f,this),s=l.children)for(d=s.length-1;d>=0;--d)o.push(s[d]);return this}function Se(t,n){var l=this,o=[l],s=[],d,f,h,v=-1;while(l=o.pop())if(s.push(l),d=l.children)for(f=0,h=d.length;f<h;++f)o.push(d[f]);while(l=s.pop())t.call(n,l,++v,this);return this}function ve(t,n){let l=-1;for(let o of this)if(t.call(n,o,++l,this))return o}function be(t){return this.eachAfter(function(n){var l=+t(n.data)||0,o=n.children,s=o&&o.length;while(--s>=0)l+=o[s].value;n.value=l})}function Ce(t){return this.eachBefore(function(n){if(n.children)n.children.sort(t)})}function Te(t){var n=this,l=Ze(n,t),o=[n];while(n!==l)n=n.parent,o.push(n);var s=o.length;while(t!==l)o.splice(s,0,t),t=t.parent;return o}function Ze(t,n){if(t===n)return t;var l=t.ancestors(),o=n.ancestors(),s=null;t=l.pop(),n=o.pop();while(t===n)s=t,t=l.pop(),n=o.pop();return s}function Le(){var t=this,n=[t];while(t=t.parent)n.push(t);return n}function $e(){return Array.from(this)}function Ae(){var t=[];return this.eachBefore(function(n){if(!n.children)t.push(n)}),t}function Fe(){var t=this,n=[];return t.each(function(l){if(l!==t)n.push({source:l.parent,target:l})}),n}function*Ne(){var t=this,n,l=[t],o,s,d;do{n=l.reverse(),l=[];while(t=n.pop())if(yield t,o=t.children)for(s=0,d=o.length;s<d;++s)l.push(o[s])}while(l.length)}function re(t,n){if(t instanceof Map){if(t=[void 0,t],n===void 0)n=Ke}else if(n===void 0)n=Je;var l=new ce(t),o,s=[l],d,f,h,v;while(o=s.pop())if((f=n(o.data))&&(v=(f=Array.from(f)).length)){o.children=f;for(h=v-1;h>=0;--h)s.push(d=f[h]=new ce(f[h])),d.parent=o,d.depth=o.depth+1}return l.eachBefore(et)}function Ue(){return re(this).eachBefore(Qe)}function Je(t){return t.children}function Ke(t){return Array.isArray(t)?t[1]:null}function Qe(t){if(t.data.value!==void 0)t.value=t.data.value;t.data=t.data.data}function et(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function ce(t){this.data=t,this.depth=this.height=0,this.parent=null}ce.prototype=re.prototype={constructor:ce,count:ge,each:ye,eachAfter:Se,eachBefore:xe,find:ve,sum:be,sort:Ce,path:Te,ancestors:Le,descendants:$e,leaves:Ae,links:Fe,copy:Ue,[Symbol.iterator]:Ne};function Be(t){if(typeof t!=="function")throw Error();return t}function ne(){return 0}function Q(t){return function(){return t}}function ke(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Me(t,n,l,o,s){var d=t.children,f,h=-1,v=d.length,u=t.value&&(o-n)/t.value;while(++h<v)f=d[h],f.y0=l,f.y1=s,f.x0=n,f.x1=n+=f.value*u}function _e(t,n,l,o,s){var d=t.children,f,h=-1,v=d.length,u=t.value&&(s-l)/t.value;while(++h<v)f=d[h],f.x0=n,f.x1=o,f.y0=l,f.y1=l+=f.value*u}var tt=(1+Math.sqrt(5))/2;function at(t,n,l,o,s,d){var f=[],h=n.children,v,u,m=0,_=0,i=h.length,M,F,N=n.value,g,w,Y,O,ee,se,j;while(m<i){M=s-l,F=d-o;do g=h[_++].value;while(!g&&_<i);w=Y=g,se=Math.max(F/M,M/F)/(N*t),j=g*g*se,ee=Math.max(Y/j,j/w);for(;_<i;++_){if(g+=u=h[_].value,u<w)w=u;if(u>Y)Y=u;if(j=g*g*se,O=Math.max(Y/j,j/w),O>ee){g-=u;break}ee=O}if(f.push(v={value:g,dice:M<F,children:h.slice(m,_)}),v.dice)Me(v,l,o,s,N?o+=F*g/N:d);else _e(v,l,o,N?l+=M*g/N:s,d);N-=g,m=_}return f}var Ee=function t(n){function l(o,s,d,f,h){at(n,o,s,d,f,h)}return l.ratio=function(o){return t((o=+o)>1?o:1)},l}(tt);function fe(){var t=Ee,n=!1,l=1,o=1,s=[0],d=ne,f=ne,h=ne,v=ne,u=ne;function m(i){if(i.x0=i.y0=0,i.x1=l,i.y1=o,i.eachBefore(_),s=[0],n)i.eachBefore(ke);return i}function _(i){var M=s[i.depth],F=i.x0+M,N=i.y0+M,g=i.x1-M,w=i.y1-M;if(g<F)F=g=(F+g)/2;if(w<N)N=w=(N+w)/2;if(i.x0=F,i.y0=N,i.x1=g,i.y1=w,i.children){if(M=s[i.depth+1]=d(i)/2,F+=u(i)-M,N+=f(i)-M,g-=h(i)-M,w-=v(i)-M,g<F)F=g=(F+g)/2;if(w<N)N=w=(N+w)/2;t(i,F,N,g,w)}}return m.round=function(i){return arguments.length?(n=!!i,m):n},m.size=function(i){return arguments.length?(l=+i[0],o=+i[1],m):[l,o]},m.tile=function(i){return arguments.length?(t=Be(i),m):t},m.padding=function(i){return arguments.length?m.paddingInner(i).paddingOuter(i):m.paddingInner()},m.paddingInner=function(i){return arguments.length?(d=typeof i==="function"?i:Q(+i),m):d},m.paddingOuter=function(i){return arguments.length?m.paddingTop(i).paddingRight(i).paddingBottom(i).paddingLeft(i):m.paddingTop()},m.paddingTop=function(i){return arguments.length?(f=typeof i==="function"?i:Q(+i),m):f},m.paddingRight=function(i){return arguments.length?(h=typeof i==="function"?i:Q(+i),m):h},m.paddingBottom=function(i){return arguments.length?(v=typeof i==="function"?i:Q(+i),m):v},m.paddingLeft=function(i){return arguments.length?(u=typeof i==="function"?i:Q(+i),m):u},m}var Re=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=S,this.getAccTitle=E,this.setDiagramTitle=I,this.getDiagramTitle=L,this.getAccDescription=A,this.setAccDescription=T}static{e(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let t=D,n=b();return U({...t.treemap,...n.treemap??{}})}addNode(t,n){if(this.nodes.push(t),this.levels.set(t,n),n===0)this.outerNodes.push(t),this.root??=t}getRoot(){return{name:"",children:this.outerNodes}}addClass(t,n){let l=this.classes.get(t)??{id:t,styles:[],textStyles:[]},o=n.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");if(o)o.forEach((s)=>{if(Wr(s))if(l?.textStyles)l.textStyles.push(s);else l.textStyles=[s];if(l?.styles)l.styles.push(s);else l.styles=[s]});this.classes.set(t,l)}getClasses(){return this.classes}getStylesForClass(t){return this.classes.get(t)?.styles??[]}clear(){C(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function We(t){if(!t.length)return[];let n=[],l=[];return t.forEach((o)=>{let s={name:o.name,children:o.type==="Leaf"?void 0:[]};if(s.classSelector=o?.classSelector,o?.cssCompiledStyles)s.cssCompiledStyles=o.cssCompiledStyles;if(o.type==="Leaf"&&o.value!==void 0)s.value=o.value;while(l.length>0&&l[l.length-1].level>=o.level)l.pop();if(l.length===0)n.push(s);else{let d=l[l.length-1].node;if(d.children)d.children.push(s);else d.children=[s]}if(o.type!=="Leaf")l.push({node:s,level:o.level})}),n}e(We,"buildHierarchy");var rt=e((t,n)=>{W(t,n);let l=[];for(let d of t.TreemapRows??[])if(d.$type==="ClassDefStatement")n.addClass(d.className??"",d.styleText??"");for(let d of t.TreemapRows??[]){let f=d.item;if(!f)continue;let h=d.indent?parseInt(d.indent):0,v=nt(f),u=f.classSelector?n.getStylesForClass(f.classSelector):[],m=u.length>0?u:void 0,_={level:h,name:v,type:f.$type,value:f.value,classSelector:f.classSelector,cssCompiledStyles:m};l.push(_)}let o=We(l),s=e((d,f)=>{for(let h of d)if(n.addNode(h,f),h.children&&h.children.length>0)s(h.children,f+1)},"addNodesRecursively");s(o,0)},"populate"),nt=e((t)=>t.name?String(t.name):"","getItemName"),He={parser:{yy:void 0},parse:e(async(t)=>{try{let l=await X("treemap",t);r.debug("Treemap AST:",l);let o=He.parser?.yy;if(!(o instanceof Re))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(l,o)}catch(n){throw r.error("Error parsing treemap:",n),n}},"parse")},lt=10,le=10,pe=25,ot=e((t,n,l,o)=>{let s=o.db,d=s.getConfig(),f=d.padding??lt,h=s.getDiagramTitle(),v=s.getRoot(),{themeVariables:u}=b();if(!v)return;let m=h?30:0,_=q(n),i=d.nodeWidth?d.nodeWidth*le:960,M=d.nodeHeight?d.nodeHeight*le:500,F=i,N=M+m;_.attr("viewBox",`0 0 ${F} ${N}`),B(_,N,F,d.useMaxWidth);let g;try{let a=d.valueFormat||",";if(a==="$0,0")g=e((c)=>"$"+Dt(",")(c),"valueFormat");else if(a.startsWith("$")&&a.includes(",")){let c=/\.\d+/.exec(a),y=c?c[0]:"";g=e((z)=>"$"+Dt(","+y)(z),"valueFormat")}else if(a.startsWith("$")){let c=a.substring(1);g=e((y)=>"$"+Dt(c||"")(y),"valueFormat")}else g=Dt(a)}catch(a){r.error("Error creating format function:",a),g=Dt(",")}let w=Xe().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),Y=Xe().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),O=Xe().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);if(h)_.append("text").attr("x",F/2).attr("y",m/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);let ee=_.append("g").attr("transform",`translate(0, ${m})`).attr("class","treemapContainer"),se=re(v).sum((a)=>a.value??0).sort((a,c)=>(c.value??0)-(a.value??0)),ze=fe().size([i,M]).paddingTop((a)=>a.children&&a.children.length>0?pe+le:0).paddingInner(f).paddingLeft((a)=>a.children&&a.children.length>0?le:0).paddingRight((a)=>a.children&&a.children.length>0?le:0).paddingBottom((a)=>a.children&&a.children.length>0?le:0).round(!0)(se),Ie=ze.descendants().filter((a)=>a.children&&a.children.length>0),ie=ee.selectAll(".treemapSection").data(Ie).enter().append("g").attr("class","treemapSection").attr("transform",(a)=>`translate(${a.x0},${a.y0})`);if(ie.append("rect").attr("width",(a)=>a.x1-a.x0).attr("height",pe).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",0.6).attr("stroke-width",0.6).attr("style",(a)=>{if(a.depth===0)return"display: none;";return""}),ie.append("clipPath").attr("id",(a,c)=>`clip-section-${n}-${c}`).append("rect").attr("width",(a)=>Math.max(0,a.x1-a.x0-12)).attr("height",pe),ie.append("rect").attr("width",(a)=>a.x1-a.x0).attr("height",(a)=>a.y1-a.y0).attr("class",(a,c)=>`treemapSection section${c}`).attr("fill",(a)=>w(a.data.name)).attr("fill-opacity",0.6).attr("stroke",(a)=>Y(a.data.name)).attr("stroke-width",2).attr("stroke-opacity",0.4).attr("style",(a)=>{if(a.depth===0)return"display: none;";let c=k({cssCompiledStyles:a.data.cssCompiledStyles});return c.nodeStyles+";"+c.borderStyles.join(";")}),ie.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",pe/2).attr("dominant-baseline","middle").text((a)=>a.depth===0?"":a.data.name).attr("font-weight","bold").attr("clip-path",(a,c)=>`url(#clip-section-${n}-${c})`).attr("style",(a)=>{if(a.depth===0)return"display: none;";let c="dominant-baseline: middle; font-size: 12px; fill:"+O(a.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",y=k({cssCompiledStyles:a.data.cssCompiledStyles});return c+y.labelStyles.replace("color:","fill:")}).each(function(a){if(a.depth===0)return;let c=p(this),y=a.data.name;c.text(y);let z=a.x1-a.x0,P=6,V;if(d.showValues!==!1&&a.value){let H=z-10,K=30,Ge=10;V=H-30-10-P}else V=z-P-6;let x=Math.max(15,V),J=c.node();if(J.getComputedTextLength()>x){let K=y;while(K.length>0){if(K=y.substring(0,K.length-1),K.length===0){if(c.text("..."),J.getComputedTextLength()>x)c.text("");break}if(c.text(K+"..."),J.getComputedTextLength()<=x)break}}}),d.showValues!==!1)ie.append("text").attr("class","treemapSectionValue").attr("x",(a)=>a.x1-a.x0-10).attr("y",pe/2).attr("text-anchor","end").attr("dominant-baseline","middle").text((a)=>a.value?g(a.value):"").attr("font-style","italic").attr("style",(a)=>{if(a.depth===0)return"display: none;";let c="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+O(a.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",y=k({cssCompiledStyles:a.data.cssCompiledStyles});return c+y.labelStyles.replace("color:","fill:")});let De=ze.leaves(),G=De.length>20,Oe=G?16:38,de=G?14:28,te=G?4:8,ae=G?4:6,he=G?2:4,Ve=G?8:10,me=G?1:2,ue=ee.selectAll(".treemapLeafGroup").data(De).enter().append("g").attr("class",(a,c)=>`treemapNode treemapLeafGroup leaf${c}${a.data.classSelector?` ${a.data.classSelector}`:""}x`).attr("transform",(a)=>`translate(${a.x0},${a.y0})`);if(ue.append("rect").attr("width",(a)=>a.x1-a.x0).attr("height",(a)=>a.y1-a.y0).attr("class","treemapLeaf").attr("fill",(a)=>a.parent?w(a.parent.data.name):w(a.data.name)).attr("style",(a)=>k({cssCompiledStyles:a.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",0.3).attr("stroke",(a)=>a.parent?w(a.parent.data.name):w(a.data.name)).attr("stroke-width",3),ue.append("clipPath").attr("id",(a,c)=>`clip-${n}-${c}`).append("rect").attr("width",(a)=>Math.max(0,a.x1-a.x0-4)).attr("height",(a)=>Math.max(0,a.y1-a.y0-4)),ue.append("text").attr("class","treemapLabel").attr("x",(a)=>(a.x1-a.x0)/2).attr("y",(a)=>(a.y1-a.y0)/2).attr("style",(a)=>{let c=`text-anchor: middle; dominant-baseline: middle; font-size: ${Oe}px;fill:`+O(a.data.name)+";",y=k({cssCompiledStyles:a.data.cssCompiledStyles});return c+y.labelStyles.replace("color:","fill:")}).attr("clip-path",(a,c)=>`url(#clip-${n}-${c})`).text((a)=>a.data.name).each(function(a){let c=p(this),y=a.x1-a.x0,z=a.y1-a.y0,P=c.node(),V=y-2*he,Z=z-2*he;if(V<Ve||Z<Ve){c.style("display","none");return}let x=parseInt(c.style("font-size"),10),J=0.6;while(P.getComputedTextLength()>V&&x>te)x--,c.style("font-size",`${x}px`);let R=Math.max(ae,Math.min(de,Math.round(x*J))),H=x+me+R;while(H>Z&&x>te){if(x--,R=Math.max(ae,Math.min(de,Math.round(x*J))),R<ae&&x===te)break;if(c.style("font-size",`${x}px`),H=x+me+R,R<=ae&&H>Z);}if(c.style("font-size",`${x}px`),G){if(x<te||Z<te)c.style("display","none")}else if(P.getComputedTextLength()>V||x<te||Z<x)c.style("display","none")}),d.showValues!==!1)ue.append("text").attr("class","treemapValue").attr("x",(c)=>(c.x1-c.x0)/2).attr("y",function(c){return(c.y1-c.y0)/2}).attr("style",(c)=>{let y=`text-anchor: middle; dominant-baseline: hanging; font-size: ${de}px;fill:`+O(c.data.name)+";",z=k({cssCompiledStyles:c.data.cssCompiledStyles});return y+z.labelStyles.replace("color:","fill:")}).attr("clip-path",(c,y)=>`url(#clip-${n}-${y})`).text((c)=>c.value?g(c.value):"").each(function(c){let y=p(this),z=this.parentNode;if(!z){y.style("display","none");return}let P=p(z).select(".treemapLabel");if(P.empty()||P.style("display")==="none"){y.style("display","none");return}let V=parseFloat(P.style("font-size")),x=Math.max(ae,Math.min(de,Math.round(V*0.6)));y.style("font-size",`${x}px`);let R=(c.y1-c.y0)/2+V/2+me;y.attr("y",R);let H=c.x1-c.x0,Pe=c.y1-c.y0-4,Ye=H-2*he;if(y.node().getComputedTextLength()>Ye||R+x>Pe||x<ae)y.style("display","none");else y.style("display",null)});let qe=d.diagramPadding??8;oe(_,qe,"flowchart",d?.useMaxWidth||!1)},"draw"),st=e(function(t,n){return n.db.getClasses()},"getClasses"),it={draw:ot,getClasses:st},ct={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},pt=e(({treemap:t}={})=>{let n=we(),l=b(),o=U(n,l.themeVariables),s=U(ct,t),d=s.titleColor??o.titleColor,f=s.labelColor??o.textColor,h=s.valueColor??o.textColor;return`
1
+ import{W}from"./chunk-vjqmnkh2.js";import{e,r,we,D,b,B,C,S,E,T,A,I,L,p,V,Wr,k,U}from"./chunk-9dd1c37b.js";import{Nt}from"./chunk-ds7srg4p.js";import{X}from"./chunk-qryrg2pq.js";import{Xe}from"./chunk-n8sky2q6.js";import{se}from"./chunk-anbn2ttv.js";function je(t){var n=0,l=t.children,o=l&&l.length;if(!o)n=1;else while(--o>=0)n+=l[o].value;t.value=n}function ge(){return this.eachAfter(je)}function ye(t,n){let l=-1;for(let o of this)t.call(n,o,++l,this);return this}function xe(t,n){var l=this,o=[l],s,d,f=-1;while(l=o.pop())if(t.call(n,l,++f,this),s=l.children)for(d=s.length-1;d>=0;--d)o.push(s[d]);return this}function Se(t,n){var l=this,o=[l],s=[],d,f,h,v=-1;while(l=o.pop())if(s.push(l),d=l.children)for(f=0,h=d.length;f<h;++f)o.push(d[f]);while(l=s.pop())t.call(n,l,++v,this);return this}function ve(t,n){let l=-1;for(let o of this)if(t.call(n,o,++l,this))return o}function be(t){return this.eachAfter(function(n){var l=+t(n.data)||0,o=n.children,s=o&&o.length;while(--s>=0)l+=o[s].value;n.value=l})}function Ce(t){return this.eachBefore(function(n){if(n.children)n.children.sort(t)})}function Te(t){var n=this,l=Ze(n,t),o=[n];while(n!==l)n=n.parent,o.push(n);var s=o.length;while(t!==l)o.splice(s,0,t),t=t.parent;return o}function Ze(t,n){if(t===n)return t;var l=t.ancestors(),o=n.ancestors(),s=null;t=l.pop(),n=o.pop();while(t===n)s=t,t=l.pop(),n=o.pop();return s}function Le(){var t=this,n=[t];while(t=t.parent)n.push(t);return n}function $e(){return Array.from(this)}function Ae(){var t=[];return this.eachBefore(function(n){if(!n.children)t.push(n)}),t}function Fe(){var t=this,n=[];return t.each(function(l){if(l!==t)n.push({source:l.parent,target:l})}),n}function*Ne(){var t=this,n,l=[t],o,s,d;do{n=l.reverse(),l=[];while(t=n.pop())if(yield t,o=t.children)for(s=0,d=o.length;s<d;++s)l.push(o[s])}while(l.length)}function re(t,n){if(t instanceof Map){if(t=[void 0,t],n===void 0)n=Ke}else if(n===void 0)n=Je;var l=new ce(t),o,s=[l],d,f,h,v;while(o=s.pop())if((f=n(o.data))&&(v=(f=Array.from(f)).length)){o.children=f;for(h=v-1;h>=0;--h)s.push(d=f[h]=new ce(f[h])),d.parent=o,d.depth=o.depth+1}return l.eachBefore(et)}function Ue(){return re(this).eachBefore(Qe)}function Je(t){return t.children}function Ke(t){return Array.isArray(t)?t[1]:null}function Qe(t){if(t.data.value!==void 0)t.value=t.data.value;t.data=t.data.data}function et(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function ce(t){this.data=t,this.depth=this.height=0,this.parent=null}ce.prototype=re.prototype={constructor:ce,count:ge,each:ye,eachAfter:Se,eachBefore:xe,find:ve,sum:be,sort:Ce,path:Te,ancestors:Le,descendants:$e,leaves:Ae,links:Fe,copy:Ue,[Symbol.iterator]:Ne};function Be(t){if(typeof t!=="function")throw Error();return t}function ne(){return 0}function Q(t){return function(){return t}}function ke(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Me(t,n,l,o,s){var d=t.children,f,h=-1,v=d.length,u=t.value&&(o-n)/t.value;while(++h<v)f=d[h],f.y0=l,f.y1=s,f.x0=n,f.x1=n+=f.value*u}function _e(t,n,l,o,s){var d=t.children,f,h=-1,v=d.length,u=t.value&&(s-l)/t.value;while(++h<v)f=d[h],f.x0=n,f.x1=o,f.y0=l,f.y1=l+=f.value*u}var tt=(1+Math.sqrt(5))/2;function at(t,n,l,o,s,d){var f=[],h=n.children,v,u,m=0,_=0,i=h.length,M,F,N=n.value,g,w,Y,q,ee,oe,j;while(m<i){M=s-l,F=d-o;do g=h[_++].value;while(!g&&_<i);w=Y=g,oe=Math.max(F/M,M/F)/(N*t),j=g*g*oe,ee=Math.max(Y/j,j/w);for(;_<i;++_){if(g+=u=h[_].value,u<w)w=u;if(u>Y)Y=u;if(j=g*g*oe,q=Math.max(Y/j,j/w),q>ee){g-=u;break}ee=q}if(f.push(v={value:g,dice:M<F,children:h.slice(m,_)}),v.dice)Me(v,l,o,s,N?o+=F*g/N:d);else _e(v,l,o,N?l+=M*g/N:s,d);N-=g,m=_}return f}var Ee=function t(n){function l(o,s,d,f,h){at(n,o,s,d,f,h)}return l.ratio=function(o){return t((o=+o)>1?o:1)},l}(tt);function fe(){var t=Ee,n=!1,l=1,o=1,s=[0],d=ne,f=ne,h=ne,v=ne,u=ne;function m(i){if(i.x0=i.y0=0,i.x1=l,i.y1=o,i.eachBefore(_),s=[0],n)i.eachBefore(ke);return i}function _(i){var M=s[i.depth],F=i.x0+M,N=i.y0+M,g=i.x1-M,w=i.y1-M;if(g<F)F=g=(F+g)/2;if(w<N)N=w=(N+w)/2;if(i.x0=F,i.y0=N,i.x1=g,i.y1=w,i.children){if(M=s[i.depth+1]=d(i)/2,F+=u(i)-M,N+=f(i)-M,g-=h(i)-M,w-=v(i)-M,g<F)F=g=(F+g)/2;if(w<N)N=w=(N+w)/2;t(i,F,N,g,w)}}return m.round=function(i){return arguments.length?(n=!!i,m):n},m.size=function(i){return arguments.length?(l=+i[0],o=+i[1],m):[l,o]},m.tile=function(i){return arguments.length?(t=Be(i),m):t},m.padding=function(i){return arguments.length?m.paddingInner(i).paddingOuter(i):m.paddingInner()},m.paddingInner=function(i){return arguments.length?(d=typeof i==="function"?i:Q(+i),m):d},m.paddingOuter=function(i){return arguments.length?m.paddingTop(i).paddingRight(i).paddingBottom(i).paddingLeft(i):m.paddingTop()},m.paddingTop=function(i){return arguments.length?(f=typeof i==="function"?i:Q(+i),m):f},m.paddingRight=function(i){return arguments.length?(h=typeof i==="function"?i:Q(+i),m):h},m.paddingBottom=function(i){return arguments.length?(v=typeof i==="function"?i:Q(+i),m):v},m.paddingLeft=function(i){return arguments.length?(u=typeof i==="function"?i:Q(+i),m):u},m}var Re=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=S,this.getAccTitle=E,this.setDiagramTitle=I,this.getDiagramTitle=L,this.getAccDescription=A,this.setAccDescription=T}static{e(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let t=D,n=b();return U({...t.treemap,...n.treemap??{}})}addNode(t,n){if(this.nodes.push(t),this.levels.set(t,n),n===0)this.outerNodes.push(t),this.root??=t}getRoot(){return{name:"",children:this.outerNodes}}addClass(t,n){let l=this.classes.get(t)??{id:t,styles:[],textStyles:[]},o=n.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");if(o)o.forEach((s)=>{if(Wr(s))if(l?.textStyles)l.textStyles.push(s);else l.textStyles=[s];if(l?.styles)l.styles.push(s);else l.styles=[s]});this.classes.set(t,l)}getClasses(){return this.classes}getStylesForClass(t){return this.classes.get(t)?.styles??[]}clear(){C(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function We(t){if(!t.length)return[];let n=[],l=[];return t.forEach((o)=>{let s={name:o.name,children:o.type==="Leaf"?void 0:[]};if(s.classSelector=o?.classSelector,o?.cssCompiledStyles)s.cssCompiledStyles=o.cssCompiledStyles;if(o.type==="Leaf"&&o.value!==void 0)s.value=o.value;while(l.length>0&&l[l.length-1].level>=o.level)l.pop();if(l.length===0)n.push(s);else{let d=l[l.length-1].node;if(d.children)d.children.push(s);else d.children=[s]}if(o.type!=="Leaf")l.push({node:s,level:o.level})}),n}e(We,"buildHierarchy");var rt=e((t,n)=>{W(t,n);let l=[];for(let d of t.TreemapRows??[])if(d.$type==="ClassDefStatement")n.addClass(d.className??"",d.styleText??"");for(let d of t.TreemapRows??[]){let f=d.item;if(!f)continue;let h=d.indent?parseInt(d.indent):0,v=nt(f),u=f.classSelector?n.getStylesForClass(f.classSelector):[],m=u.length>0?u:void 0,_={level:h,name:v,type:f.$type,value:f.value,classSelector:f.classSelector,cssCompiledStyles:m};l.push(_)}let o=We(l),s=e((d,f)=>{for(let h of d)if(n.addNode(h,f),h.children&&h.children.length>0)s(h.children,f+1)},"addNodesRecursively");s(o,0)},"populate"),nt=e((t)=>t.name?String(t.name):"","getItemName"),He={parser:{yy:void 0},parse:e(async(t)=>{try{let l=await X("treemap",t);r.debug("Treemap AST:",l);let o=He.parser?.yy;if(!(o instanceof Re))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(l,o)}catch(n){throw r.error("Error parsing treemap:",n),n}},"parse")},lt=10,le=10,pe=25,ot=e((t,n,l,o)=>{let s=o.db,d=s.getConfig(),f=d.padding??lt,h=s.getDiagramTitle(),v=s.getRoot(),{themeVariables:u}=b();if(!v)return;let m=h?30:0,_=V(n),i=d.nodeWidth?d.nodeWidth*le:960,M=d.nodeHeight?d.nodeHeight*le:500,F=i,N=M+m;_.attr("viewBox",`0 0 ${F} ${N}`),B(_,N,F,d.useMaxWidth);let g;try{let a=d.valueFormat||",";if(a==="$0,0")g=e((c)=>"$"+Nt(",")(c),"valueFormat");else if(a.startsWith("$")&&a.includes(",")){let c=/\.\d+/.exec(a),y=c?c[0]:"";g=e((z)=>"$"+Nt(","+y)(z),"valueFormat")}else if(a.startsWith("$")){let c=a.substring(1);g=e((y)=>"$"+Nt(c||"")(y),"valueFormat")}else g=Nt(a)}catch(a){r.error("Error creating format function:",a),g=Nt(",")}let w=Xe().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),Y=Xe().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),q=Xe().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);if(h)_.append("text").attr("x",F/2).attr("y",m/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);let ee=_.append("g").attr("transform",`translate(0, ${m})`).attr("class","treemapContainer"),oe=re(v).sum((a)=>a.value??0).sort((a,c)=>(c.value??0)-(a.value??0)),ze=fe().size([i,M]).paddingTop((a)=>a.children&&a.children.length>0?pe+le:0).paddingInner(f).paddingLeft((a)=>a.children&&a.children.length>0?le:0).paddingRight((a)=>a.children&&a.children.length>0?le:0).paddingBottom((a)=>a.children&&a.children.length>0?le:0).round(!0)(oe),Ie=ze.descendants().filter((a)=>a.children&&a.children.length>0),ie=ee.selectAll(".treemapSection").data(Ie).enter().append("g").attr("class","treemapSection").attr("transform",(a)=>`translate(${a.x0},${a.y0})`);if(ie.append("rect").attr("width",(a)=>a.x1-a.x0).attr("height",pe).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",0.6).attr("stroke-width",0.6).attr("style",(a)=>{if(a.depth===0)return"display: none;";return""}),ie.append("clipPath").attr("id",(a,c)=>`clip-section-${n}-${c}`).append("rect").attr("width",(a)=>Math.max(0,a.x1-a.x0-12)).attr("height",pe),ie.append("rect").attr("width",(a)=>a.x1-a.x0).attr("height",(a)=>a.y1-a.y0).attr("class",(a,c)=>`treemapSection section${c}`).attr("fill",(a)=>w(a.data.name)).attr("fill-opacity",0.6).attr("stroke",(a)=>Y(a.data.name)).attr("stroke-width",2).attr("stroke-opacity",0.4).attr("style",(a)=>{if(a.depth===0)return"display: none;";let c=k({cssCompiledStyles:a.data.cssCompiledStyles});return c.nodeStyles+";"+c.borderStyles.join(";")}),ie.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",pe/2).attr("dominant-baseline","middle").text((a)=>a.depth===0?"":a.data.name).attr("font-weight","bold").attr("clip-path",(a,c)=>`url(#clip-section-${n}-${c})`).attr("style",(a)=>{if(a.depth===0)return"display: none;";let c="dominant-baseline: middle; font-size: 12px; fill:"+q(a.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",y=k({cssCompiledStyles:a.data.cssCompiledStyles});return c+y.labelStyles.replace("color:","fill:")}).each(function(a){if(a.depth===0)return;let c=p(this),y=a.data.name;c.text(y);let z=a.x1-a.x0,R=6,P;if(d.showValues!==!1&&a.value){let O=z-10,K=30,Ge=10;P=O-30-10-R}else P=z-R-6;let x=Math.max(15,P),J=c.node();if(J.getComputedTextLength()>x){let K=y;while(K.length>0){if(K=y.substring(0,K.length-1),K.length===0){if(c.text("..."),J.getComputedTextLength()>x)c.text("");break}if(c.text(K+"..."),J.getComputedTextLength()<=x)break}}}),d.showValues!==!1)ie.append("text").attr("class","treemapSectionValue").attr("x",(a)=>a.x1-a.x0-10).attr("y",pe/2).attr("text-anchor","end").attr("dominant-baseline","middle").text((a)=>a.value?g(a.value):"").attr("font-style","italic").attr("style",(a)=>{if(a.depth===0)return"display: none;";let c="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+q(a.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",y=k({cssCompiledStyles:a.data.cssCompiledStyles});return c+y.labelStyles.replace("color:","fill:")});let De=ze.leaves(),G=De.length>20,Oe=G?16:38,de=G?14:28,te=G?4:8,ae=G?4:6,he=G?2:4,Ve=G?8:10,me=G?1:2,ue=ee.selectAll(".treemapLeafGroup").data(De).enter().append("g").attr("class",(a,c)=>`treemapNode treemapLeafGroup leaf${c}${a.data.classSelector?` ${a.data.classSelector}`:""}x`).attr("transform",(a)=>`translate(${a.x0},${a.y0})`);if(ue.append("rect").attr("width",(a)=>a.x1-a.x0).attr("height",(a)=>a.y1-a.y0).attr("class","treemapLeaf").attr("fill",(a)=>a.parent?w(a.parent.data.name):w(a.data.name)).attr("style",(a)=>k({cssCompiledStyles:a.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",0.3).attr("stroke",(a)=>a.parent?w(a.parent.data.name):w(a.data.name)).attr("stroke-width",3),ue.append("clipPath").attr("id",(a,c)=>`clip-${n}-${c}`).append("rect").attr("width",(a)=>Math.max(0,a.x1-a.x0-4)).attr("height",(a)=>Math.max(0,a.y1-a.y0-4)),ue.append("text").attr("class","treemapLabel").attr("x",(a)=>(a.x1-a.x0)/2).attr("y",(a)=>(a.y1-a.y0)/2).attr("style",(a)=>{let c=`text-anchor: middle; dominant-baseline: middle; font-size: ${Oe}px;fill:`+q(a.data.name)+";",y=k({cssCompiledStyles:a.data.cssCompiledStyles});return c+y.labelStyles.replace("color:","fill:")}).attr("clip-path",(a,c)=>`url(#clip-${n}-${c})`).text((a)=>a.data.name).each(function(a){let c=p(this),y=a.x1-a.x0,z=a.y1-a.y0,R=c.node(),P=y-2*he,Z=z-2*he;if(P<Ve||Z<Ve){c.style("display","none");return}let x=parseInt(c.style("font-size"),10),J=0.6;while(R.getComputedTextLength()>P&&x>te)x--,c.style("font-size",`${x}px`);let H=Math.max(ae,Math.min(de,Math.round(x*J))),O=x+me+H;while(O>Z&&x>te){if(x--,H=Math.max(ae,Math.min(de,Math.round(x*J))),H<ae&&x===te)break;if(c.style("font-size",`${x}px`),O=x+me+H,H<=ae&&O>Z);}if(c.style("font-size",`${x}px`),G){if(x<te||Z<te)c.style("display","none")}else if(R.getComputedTextLength()>P||x<te||Z<x)c.style("display","none")}),d.showValues!==!1)ue.append("text").attr("class","treemapValue").attr("x",(c)=>(c.x1-c.x0)/2).attr("y",function(c){return(c.y1-c.y0)/2}).attr("style",(c)=>{let y=`text-anchor: middle; dominant-baseline: hanging; font-size: ${de}px;fill:`+q(c.data.name)+";",z=k({cssCompiledStyles:c.data.cssCompiledStyles});return y+z.labelStyles.replace("color:","fill:")}).attr("clip-path",(c,y)=>`url(#clip-${n}-${y})`).text((c)=>c.value?g(c.value):"").each(function(c){let y=p(this),z=this.parentNode;if(!z){y.style("display","none");return}let R=p(z).select(".treemapLabel");if(R.empty()||R.style("display")==="none"){y.style("display","none");return}let P=parseFloat(R.style("font-size")),x=Math.max(ae,Math.min(de,Math.round(P*0.6)));y.style("font-size",`${x}px`);let H=(c.y1-c.y0)/2+P/2+me;y.attr("y",H);let O=c.x1-c.x0,Pe=c.y1-c.y0-4,Ye=O-2*he;if(y.node().getComputedTextLength()>Ye||H+x>Pe||x<ae)y.style("display","none");else y.style("display",null)});let qe=d.diagramPadding??8;se(_,qe,"flowchart",d?.useMaxWidth||!1)},"draw"),st=e(function(t,n){return n.db.getClasses()},"getClasses"),it={draw:ot,getClasses:st},ct={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},pt=e(({treemap:t}={})=>{let n=we(),l=b(),o=U(n,l.themeVariables),s=U(ct,t),d=s.titleColor??o.titleColor,f=s.labelColor??o.textColor,h=s.valueColor??o.textColor;return`
2
2
  .treemapNode.section {
3
3
  stroke: ${s.sectionStrokeColor};
4
4
  stroke-width: ${s.sectionStrokeWidth};
@@ -1 +1 @@
1
- import{o,ee,i,a,v,t,n,_,Z,te,rt,vt}from"./chunk-vt40e1kp.js";import{gn}from"./chunk-f26smjjf.js";var U=[{id:"exa",name:"Exa",description:"免密钥 · 综合搜索"},{id:"tavily",name:"Tavily",description:"免密钥 · 支持域名筛选"},{id:"parallel",name:"Parallel",description:"免密钥 · 网页搜索"},{id:"firecrawl",name:"Firecrawl",description:"免密钥 · 网页内容"},{id:"tinyfish",name:"TinyFish",description:"免密钥 · 搜索摘要"},{id:"searxng",name:"SearXNG",description:"免密钥 · 需自建服务"},{id:"brave",name:"Brave",description:"需密钥 · 独立搜索引擎"}];function R(e){return{enabled:e.search.provider!=="off",provider:e.search.provider==="off"?"auto":e.search.provider,searxngUrl:e.search.searxngUrl??"",proxy:e.proxy??"",acceptLanguage:e.acceptLanguage??""}}function A(e,d){return{search:{provider:e.enabled?e.provider:"off",searxngUrl:e.searxngUrl},keys:{...d},proxy:e.proxy,acceptLanguage:e.acceptLanguage}}function z(e,d,x){let g=R(e);if(d.enabled!==g.enabled)return!0;if(d.enabled&&d.provider!==g.provider)return!0;return d.searxngUrl!==g.searxngUrl||d.proxy!==g.proxy||d.acceptLanguage!==g.acceptLanguage||Object.keys(x).length>0}function B({notice:e}){let{cn:d}=_();if(!e)return null;let x=e.type==="success"?gn:Z;return n("div",{role:e.type==="error"?"alert":"status",className:d("flex items-start gap-2 text-xs",e.type==="success"?"text-success":"text-danger"),children:[t(x,{className:"mt-0.5 size-4 shrink-0","aria-hidden":"true"}),t("span",{className:"min-w-0 break-words",children:e.text})]})}function F(e){let{Button:d,Input:x,Switch:g,Select:W,StatusChip:p,SettingGroup:h,SettingRow:C,cn:w}=_(),f=ee(),c=e.busy!==void 0;return n("form",{className:"min-w-0 space-y-6",onSubmit:async(s)=>{s.preventDefault(),await e.onSave()},children:[n(h,{title:"联网搜索",children:[t(C,{title:"启用搜索",description:"查询会发送至所选搜索服务。",children:n("div",{className:"flex items-center gap-3",children:[t("span",{className:"text-xs text-dim",children:e.draft.enabled?"已开启":"已关闭"}),t(g,{label:"启用联网搜索",disabled:c,checked:e.draft.enabled,onCheckedChange:(s)=>e.onDraft({...e.draft,enabled:s})})]})}),n("div",{className:"space-y-4 p-4",children:[n("div",{children:[t("label",{htmlFor:`${f}-provider`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"搜索渠道"}),t(W,{id:`${f}-provider`,value:e.draft.provider,disabled:c||!e.draft.enabled,className:"min-w-0",groups:[{options:[{value:"auto",label:"自动",description:"失败时依次切换渠道"},...U.map((s)=>({value:s.id,label:s.name}))]}],onValueChange:(s)=>{let r=s==="auto"?s:U.find((k)=>k.id===s)?.id;if(r)e.onDraft({...e.draft,provider:r})}}),t("p",{className:"mt-1.5 text-xs leading-5 text-faint",children:"自动:Exa → Tavily → Parallel → Firecrawl → TinyFish"})]}),(e.draft.provider==="searxng"||e.draft.searxngUrl)&&n("div",{children:[t("label",{htmlFor:`${f}-searxng`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"自建 SearXNG 地址"}),t(x,{id:`${f}-searxng`,type:"url",maxLength:2000,disabled:c||!e.draft.enabled,value:e.draft.searxngUrl,placeholder:"https://search.example.com",onChange:(s)=>e.onDraft({...e.draft,searxngUrl:s.target.value})})]})]})]}),t(h,{title:"渠道与密钥",description:"检测使用已保存配置,按下列顺序执行。",action:n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:async()=>await e.onCheck("all"),children:[t(te,{className:w("size-3.5",e.checking==="all"&&"animate-spin"),"aria-hidden":"true"}),e.checking==="all"?"正在检测…":"检测全部渠道"]}),children:U.map((s)=>{let r=s.id,k=r==="searxng"?void 0:e.saved.keys[r],N=k?.source==="environment",D=r==="searxng"?void 0:e.keys[r],K=D==="",y=e.checks[r],m=e.checking==="all"||e.checking===r,S=k?.configured?"已配置密钥":"未配置";if(r==="searxng")S=e.saved.search.searxngUrl?"已配置地址":"未配置地址";if(N)S="来自环境变量";if(K)S="待移除";if(D)S="待保存密钥";return n("div",{className:"min-w-0 p-4",children:[n("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[n("div",{className:"min-w-0 flex-1 basis-28",children:[t("div",{className:"text-sm font-medium text-ink",children:s.name}),t("p",{className:"mt-0.5 text-xs text-faint",children:s.description})]}),n("div",{className:"flex max-w-full flex-wrap items-center justify-end gap-2",children:[t(p,{tone:D!==void 0?"warning":"neutral",children:S}),y&&!m&&t(p,{tone:y.ok?"success":"danger",children:y.ok?`可用 ${y.elapsedMs} ms`:"不可用"}),m&&t(p,{tone:"neutral",pulse:!0,children:"检测中"}),r!=="searxng"&&!N&&n(v,{children:[t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`${k?.configured?"更换":"设置"} ${s.name} 密钥`,"aria-expanded":e.editingKey===r,"aria-controls":`${f}-${r}-key-editor`,onClick:()=>e.onEditKey(e.editingKey===r?void 0:r),children:k?.configured?"更换":"设置密钥"}),k?.configured&&!K&&t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`移除 ${s.name} 密钥`,onClick:()=>{e.onKeys({...e.keys,[r]:""}),e.onEditKey(void 0)},children:"移除"})]}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`检测 ${s.name}`,onClick:async()=>await e.onCheck(r),children:"检测"})]})]}),N&&t("p",{className:"mt-1 text-xs text-faint",children:"请在服务端环境变量中更换或移除。"}),r!=="searxng"&&e.editingKey===r&&n("div",{id:`${f}-${r}-key-editor`,className:"mt-3 space-y-2",children:[n("label",{htmlFor:`${f}-${r}-key`,className:"block text-xs font-medium text-dim",children:[s.name," API 密钥"]}),t(x,{id:`${f}-${r}-key`,type:"password",autoComplete:"new-password",maxLength:4000,disabled:c,value:e.keys[r]??"",placeholder:"输入新密钥,保存后生效",onChange:(P)=>{let b={...e.keys};if(P.target.value.trim())b[r]=P.target.value;else delete b[r];e.onKeys(b)}}),n("div",{className:"flex items-center justify-between gap-2",children:[t("p",{className:"min-w-0 text-xs text-faint",children:"密钥只写入,不回显。"}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:()=>{let P={...e.keys};delete P[r],e.onKeys(P),e.onEditKey(void 0)},children:"取消"})]})]}),y&&!y.ok&&!m&&t("p",{role:"status",className:"mt-2 break-words text-xs leading-5 text-danger",children:y.error??(y.kind==="search"?y.meta?.failed[0]?.error:y.meta?.error)??"检测失败,请检查配置。"})]},r)})}),n(h,{title:"网络",children:[n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-proxy`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"代理 URL"}),t(x,{id:`${f}-proxy`,type:"url",maxLength:2000,disabled:c,value:e.draft.proxy,placeholder:"http://127.0.0.1:7890",onChange:(s)=>e.onDraft({...e.draft,proxy:s.target.value})}),t("p",{className:"mt-1.5 text-xs text-faint",children:"留空使用服务端环境代理。"})]}),n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-language`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"Accept-Language"}),t(x,{id:`${f}-language`,maxLength:200,disabled:c,value:e.draft.acceptLanguage,placeholder:"en-US,en;q=0.9",onChange:(s)=>e.onDraft({...e.draft,acceptLanguage:s.target.value})})]})]}),n("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3 px-0.5",children:[t("div",{className:"min-w-0 flex-1",children:t(B,{notice:e.notice})}),n("div",{className:"flex flex-wrap items-center gap-2",children:[e.dirty&&n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:e.onRestore,children:[t(rt,{className:"size-3.5","aria-hidden":"true"}),"重置"]}),n(d,{type:"submit",size:"sm",variant:"primary",disabled:c||!e.dirty,children:[t(vt,{className:"size-3.5","aria-hidden":"true"}),e.busy==="save"?"保存中…":"保存"]}),e.onClose&&t(d,{type:"button",size:"sm",variant:"secondary",onClick:e.onClose,children:"关闭"})]})]})]})}function q({connection:e,onClose:d}){let{Button:x}=_(),[g,W]=a(),[p,h]=a(),[C,w]=a({}),[f,c]=a(),[s,r]=a("load"),[k,N]=a(),[D,K]=a({}),[y,m]=a(),[S,P]=a(0),b=i(void 0);o(()=>{let l=new AbortController;return b.current=l,r("load"),m(void 0),W(void 0),h(void 0),w({}),c(void 0),K({}),e.request("/api/plugins/webfetch/settings",{signal:l.signal,cache:S>0?"reload":"default"}).then((u)=>{if(l.signal.aborted)return;W(u),h(R(u))}).catch((u)=>{if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"加载设置失败,请重试。"})}).finally(()=>{if(!l.signal.aborted)b.current=void 0,r(void 0)}),()=>{l.abort(),b.current?.abort(),b.current=void 0}},[e,S]);async function G(){if(b.current||!g||!p||!z(g,p,C))return;let l=new AbortController;b.current=l,r("save"),m(void 0);try{let u=await e.request("/api/plugins/webfetch/settings",{method:"PATCH",signal:l.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(A(p,C))});if(l.signal.aborted)return;W(u),h(R(u)),w({}),c(void 0),K({}),m({type:"success",text:"设置已保存。"})}catch(u){if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"保存失败,请重试。"})}finally{if(!l.signal.aborted)b.current=void 0,r(void 0)}}async function I(l){if(b.current||!g)return;let u=new AbortController;b.current=u,r("test"),N(l),m(void 0);try{let L=await e.request(`/api/plugins/webfetch/test?provider=${l}`,{method:"POST",signal:u.signal});if(u.signal.aborted)return;K((j)=>{let T={...j};for(let E of L.checks)if(E.kind==="search"&&E.provider)T[E.provider]=E;return T})}catch(L){if(!u.signal.aborted)m({type:"error",text:L instanceof Error?L.message:"检测失败,请重试。"})}finally{if(!u.signal.aborted)b.current=void 0,r(void 0),N(void 0)}}if(!g||!p)return n("div",{className:"min-w-0 space-y-3",children:[s==="load"&&t("p",{role:"status",className:"text-sm text-dim",children:"正在加载设置…"}),t(B,{notice:y}),d&&t(x,{type:"button",size:"sm",variant:"secondary",onClick:d,children:"关闭"}),s!=="load"&&t(x,{type:"button",size:"sm",variant:"ghost",onClick:()=>P(S+1),children:"重新加载"})]});return t(F,{saved:g,draft:p,keys:C,editingKey:f,dirty:z(g,p,C),busy:s==="load"?void 0:s,checking:k,checks:D,notice:y,onDraft:(l)=>{h(l),m(void 0)},onKeys:(l)=>{w(l),m(void 0)},onEditKey:c,onClose:d,onSave:G,onCheck:I,onRestore:()=>{h(R(g)),w({}),c(void 0),m(void 0)}})}export{F as SettingsForm,q as default};
1
+ import{o,ee,i,a,v,t,n,_,Z,te,rt,vt}from"./chunk-aqm3spxt.js";import{gn}from"./chunk-f078k1ej.js";var U=[{id:"exa",name:"Exa",description:"免密钥 · 综合搜索"},{id:"tavily",name:"Tavily",description:"免密钥 · 支持域名筛选"},{id:"parallel",name:"Parallel",description:"免密钥 · 网页搜索"},{id:"firecrawl",name:"Firecrawl",description:"免密钥 · 网页内容"},{id:"tinyfish",name:"TinyFish",description:"免密钥 · 搜索摘要"},{id:"searxng",name:"SearXNG",description:"免密钥 · 需自建服务"},{id:"brave",name:"Brave",description:"需密钥 · 独立搜索引擎"}];function R(e){return{enabled:e.search.provider!=="off",provider:e.search.provider==="off"?"auto":e.search.provider,searxngUrl:e.search.searxngUrl??"",proxy:e.proxy??"",acceptLanguage:e.acceptLanguage??""}}function A(e,d){return{search:{provider:e.enabled?e.provider:"off",searxngUrl:e.searxngUrl},keys:{...d},proxy:e.proxy,acceptLanguage:e.acceptLanguage}}function z(e,d,x){let g=R(e);if(d.enabled!==g.enabled)return!0;if(d.enabled&&d.provider!==g.provider)return!0;return d.searxngUrl!==g.searxngUrl||d.proxy!==g.proxy||d.acceptLanguage!==g.acceptLanguage||Object.keys(x).length>0}function B({notice:e}){let{cn:d}=_();if(!e)return null;let x=e.type==="success"?gn:Z;return n("div",{role:e.type==="error"?"alert":"status",className:d("flex items-start gap-2 text-xs",e.type==="success"?"text-success":"text-danger"),children:[t(x,{className:"mt-0.5 size-4 shrink-0","aria-hidden":"true"}),t("span",{className:"min-w-0 break-words",children:e.text})]})}function F(e){let{Button:d,Input:x,Switch:g,Select:W,StatusChip:p,SettingGroup:h,SettingRow:C,cn:w}=_(),f=ee(),c=e.busy!==void 0;return n("form",{className:"min-w-0 space-y-6",onSubmit:async(s)=>{s.preventDefault(),await e.onSave()},children:[n(h,{title:"联网搜索",children:[t(C,{title:"启用搜索",description:"查询会发送至所选搜索服务。",children:n("div",{className:"flex items-center gap-3",children:[t("span",{className:"text-xs text-dim",children:e.draft.enabled?"已开启":"已关闭"}),t(g,{label:"启用联网搜索",disabled:c,checked:e.draft.enabled,onCheckedChange:(s)=>e.onDraft({...e.draft,enabled:s})})]})}),n("div",{className:"space-y-4 p-4",children:[n("div",{children:[t("label",{htmlFor:`${f}-provider`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"搜索渠道"}),t(W,{id:`${f}-provider`,value:e.draft.provider,disabled:c||!e.draft.enabled,className:"min-w-0",groups:[{options:[{value:"auto",label:"自动",description:"失败时依次切换渠道"},...U.map((s)=>({value:s.id,label:s.name}))]}],onValueChange:(s)=>{let r=s==="auto"?s:U.find((k)=>k.id===s)?.id;if(r)e.onDraft({...e.draft,provider:r})}}),t("p",{className:"mt-1.5 text-xs leading-5 text-faint",children:"自动:Exa → Tavily → Parallel → Firecrawl → TinyFish"})]}),(e.draft.provider==="searxng"||e.draft.searxngUrl)&&n("div",{children:[t("label",{htmlFor:`${f}-searxng`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"自建 SearXNG 地址"}),t(x,{id:`${f}-searxng`,type:"url",maxLength:2000,disabled:c||!e.draft.enabled,value:e.draft.searxngUrl,placeholder:"https://search.example.com",onChange:(s)=>e.onDraft({...e.draft,searxngUrl:s.target.value})})]})]})]}),t(h,{title:"渠道与密钥",description:"检测使用已保存配置,按下列顺序执行。",action:n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:async()=>await e.onCheck("all"),children:[t(te,{className:w("size-3.5",e.checking==="all"&&"animate-spin"),"aria-hidden":"true"}),e.checking==="all"?"正在检测…":"检测全部渠道"]}),children:U.map((s)=>{let r=s.id,k=r==="searxng"?void 0:e.saved.keys[r],N=k?.source==="environment",D=r==="searxng"?void 0:e.keys[r],K=D==="",y=e.checks[r],m=e.checking==="all"||e.checking===r,S=k?.configured?"已配置密钥":"未配置";if(r==="searxng")S=e.saved.search.searxngUrl?"已配置地址":"未配置地址";if(N)S="来自环境变量";if(K)S="待移除";if(D)S="待保存密钥";return n("div",{className:"min-w-0 p-4",children:[n("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[n("div",{className:"min-w-0 flex-1 basis-28",children:[t("div",{className:"text-sm font-medium text-ink",children:s.name}),t("p",{className:"mt-0.5 text-xs text-faint",children:s.description})]}),n("div",{className:"flex max-w-full flex-wrap items-center justify-end gap-2",children:[t(p,{tone:D!==void 0?"warning":"neutral",children:S}),y&&!m&&t(p,{tone:y.ok?"success":"danger",children:y.ok?`可用 ${y.elapsedMs} ms`:"不可用"}),m&&t(p,{tone:"neutral",pulse:!0,children:"检测中"}),r!=="searxng"&&!N&&n(v,{children:[t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`${k?.configured?"更换":"设置"} ${s.name} 密钥`,"aria-expanded":e.editingKey===r,"aria-controls":`${f}-${r}-key-editor`,onClick:()=>e.onEditKey(e.editingKey===r?void 0:r),children:k?.configured?"更换":"设置密钥"}),k?.configured&&!K&&t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`移除 ${s.name} 密钥`,onClick:()=>{e.onKeys({...e.keys,[r]:""}),e.onEditKey(void 0)},children:"移除"})]}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`检测 ${s.name}`,onClick:async()=>await e.onCheck(r),children:"检测"})]})]}),N&&t("p",{className:"mt-1 text-xs text-faint",children:"请在服务端环境变量中更换或移除。"}),r!=="searxng"&&e.editingKey===r&&n("div",{id:`${f}-${r}-key-editor`,className:"mt-3 space-y-2",children:[n("label",{htmlFor:`${f}-${r}-key`,className:"block text-xs font-medium text-dim",children:[s.name," API 密钥"]}),t(x,{id:`${f}-${r}-key`,type:"password",autoComplete:"new-password",maxLength:4000,disabled:c,value:e.keys[r]??"",placeholder:"输入新密钥,保存后生效",onChange:(P)=>{let b={...e.keys};if(P.target.value.trim())b[r]=P.target.value;else delete b[r];e.onKeys(b)}}),n("div",{className:"flex items-center justify-between gap-2",children:[t("p",{className:"min-w-0 text-xs text-faint",children:"密钥只写入,不回显。"}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:()=>{let P={...e.keys};delete P[r],e.onKeys(P),e.onEditKey(void 0)},children:"取消"})]})]}),y&&!y.ok&&!m&&t("p",{role:"status",className:"mt-2 break-words text-xs leading-5 text-danger",children:y.error??(y.kind==="search"?y.meta?.failed[0]?.error:y.meta?.error)??"检测失败,请检查配置。"})]},r)})}),n(h,{title:"网络",children:[n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-proxy`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"代理 URL"}),t(x,{id:`${f}-proxy`,type:"url",maxLength:2000,disabled:c,value:e.draft.proxy,placeholder:"http://127.0.0.1:7890",onChange:(s)=>e.onDraft({...e.draft,proxy:s.target.value})}),t("p",{className:"mt-1.5 text-xs text-faint",children:"留空使用服务端环境代理。"})]}),n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-language`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"Accept-Language"}),t(x,{id:`${f}-language`,maxLength:200,disabled:c,value:e.draft.acceptLanguage,placeholder:"en-US,en;q=0.9",onChange:(s)=>e.onDraft({...e.draft,acceptLanguage:s.target.value})})]})]}),n("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3 px-0.5",children:[t("div",{className:"min-w-0 flex-1",children:t(B,{notice:e.notice})}),n("div",{className:"flex flex-wrap items-center gap-2",children:[e.dirty&&n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:e.onRestore,children:[t(rt,{className:"size-3.5","aria-hidden":"true"}),"重置"]}),n(d,{type:"submit",size:"sm",variant:"primary",disabled:c||!e.dirty,children:[t(vt,{className:"size-3.5","aria-hidden":"true"}),e.busy==="save"?"保存中…":"保存"]}),e.onClose&&t(d,{type:"button",size:"sm",variant:"secondary",onClick:e.onClose,children:"关闭"})]})]})]})}function q({connection:e,onClose:d}){let{Button:x}=_(),[g,W]=a(),[p,h]=a(),[C,w]=a({}),[f,c]=a(),[s,r]=a("load"),[k,N]=a(),[D,K]=a({}),[y,m]=a(),[S,P]=a(0),b=i(void 0);o(()=>{let l=new AbortController;return b.current=l,r("load"),m(void 0),W(void 0),h(void 0),w({}),c(void 0),K({}),e.request("/api/plugins/webfetch/settings",{signal:l.signal,cache:S>0?"reload":"default"}).then((u)=>{if(l.signal.aborted)return;W(u),h(R(u))}).catch((u)=>{if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"加载设置失败,请重试。"})}).finally(()=>{if(!l.signal.aborted)b.current=void 0,r(void 0)}),()=>{l.abort(),b.current?.abort(),b.current=void 0}},[e,S]);async function G(){if(b.current||!g||!p||!z(g,p,C))return;let l=new AbortController;b.current=l,r("save"),m(void 0);try{let u=await e.request("/api/plugins/webfetch/settings",{method:"PATCH",signal:l.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(A(p,C))});if(l.signal.aborted)return;W(u),h(R(u)),w({}),c(void 0),K({}),m({type:"success",text:"设置已保存。"})}catch(u){if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"保存失败,请重试。"})}finally{if(!l.signal.aborted)b.current=void 0,r(void 0)}}async function I(l){if(b.current||!g)return;let u=new AbortController;b.current=u,r("test"),N(l),m(void 0);try{let L=await e.request(`/api/plugins/webfetch/test?provider=${l}`,{method:"POST",signal:u.signal});if(u.signal.aborted)return;K((j)=>{let T={...j};for(let E of L.checks)if(E.kind==="search"&&E.provider)T[E.provider]=E;return T})}catch(L){if(!u.signal.aborted)m({type:"error",text:L instanceof Error?L.message:"检测失败,请重试。"})}finally{if(!u.signal.aborted)b.current=void 0,r(void 0),N(void 0)}}if(!g||!p)return n("div",{className:"min-w-0 space-y-3",children:[s==="load"&&t("p",{role:"status",className:"text-sm text-dim",children:"正在加载设置…"}),t(B,{notice:y}),d&&t(x,{type:"button",size:"sm",variant:"secondary",onClick:d,children:"关闭"}),s!=="load"&&t(x,{type:"button",size:"sm",variant:"ghost",onClick:()=>P(S+1),children:"重新加载"})]});return t(F,{saved:g,draft:p,keys:C,editingKey:f,dirty:z(g,p,C),busy:s==="load"?void 0:s,checking:k,checks:D,notice:y,onDraft:(l)=>{h(l),m(void 0)},onKeys:(l)=>{w(l),m(void 0)},onEditKey:c,onClose:d,onSave:G,onCheck:I,onRestore:()=>{h(R(g)),w({}),c(void 0),m(void 0)}})}export{F as SettingsForm,q as default};
@@ -1 +1 @@
1
- function C(t){return Math.abs(t=Math.round(t))>=1000000000000000000000?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function g(t,r){if(!isFinite(t)||t===0)return null;var i=(t=r?t.toExponential(r-1):t.toExponential()).indexOf("e"),e=t.slice(0,i);return[e.length>1?e[0]+e.slice(2):e,+t.slice(i+1)]}function Rt(t){return t=g(Math.abs(t)),t?t[1]:NaN}function G(t,r){return function(i,e){var o=i.length,a=[],c=0,u=t[0],M=0;while(o>0&&u>0){if(M+u+1>e)u=Math.max(1,e-M);if(a.push(i.substring(o-=u,o+u)),(M+=u+1)>e)break;u=t[c=(c+1)%t.length]}return a.reverse().join(r)}}function I(t){return function(r){return r.replace(/[0-9]/g,function(i){return t[+i]})}}var tt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function fn(t){if(!(r=tt.exec(t)))throw Error("invalid format: "+t);var r;return new E({fill:r[1],align:r[2],sign:r[3],symbol:r[4],zero:r[5],width:r[6],comma:r[7],precision:r[8]&&r[8].slice(1),trim:r[9],type:r[10]})}fn.prototype=E.prototype;function E(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}E.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function R(t){t:for(var r=t.length,i=1,e=-1,o;i<r;++i)switch(t[i]){case".":e=o=i;break;case"0":if(e===0)e=i;o=i;break;default:if(!+t[i])break t;if(e>0)e=0;break}return e>0?t.slice(0,e)+t.slice(o+1):t}var P;function X(t,r){var i=g(t,r);if(!i)return P=void 0,t.toPrecision(r);var e=i[0],o=i[1],a=o-(P=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,c=e.length;return a===c?e:a>c?e+Array(a-c+1).join("0"):a>0?e.slice(0,a)+"."+e.slice(a):"0."+Array(1-a).join("0")+g(t,Math.max(0,r+a-1))[0]}function F(t,r){var i=g(t,r);if(!i)return t+"";var e=i[0],o=i[1];return o<0?"0."+Array(-o).join("0")+e:e.length>o+1?e.slice(0,o+1)+"."+e.slice(o+1):e+Array(o-e.length+2).join("0")}var O={"%":(t,r)=>(t*100).toFixed(r),b:(t)=>Math.round(t).toString(2),c:(t)=>t+"",d:C,e:(t,r)=>t.toExponential(r),f:(t,r)=>t.toFixed(r),g:(t,r)=>t.toPrecision(r),o:(t)=>Math.round(t).toString(8),p:(t,r)=>F(t*100,r),r:F,s:X,X:(t)=>Math.round(t).toString(16).toUpperCase(),x:(t)=>Math.round(t).toString(16)};function N(t){return t}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function U(t){var r=t.grouping===void 0||t.thousands===void 0?N:G(K.call(t.grouping,Number),t.thousands+""),i=t.currency===void 0?"":t.currency[0]+"",e=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?N:I(K.call(t.numerals,String)),c=t.percent===void 0?"%":t.percent+"",u=t.minus===void 0?"−":t.minus+"",M=t.nan===void 0?"NaN":t.nan+"";function Z(f,p){f=fn(f);var y=f.fill,w=f.align,s=f.sign,S=f.symbol,k=f.zero,L=f.width,T=f.comma,x=f.precision,q=f.trim,m=f.type;if(m==="n")T=!0,m="g";else if(!O[m])x===void 0&&(x=12),q=!0,m="g";if(k||y==="0"&&w==="=")k=!0,y="0",w="=";var W=(p&&p.prefix!==void 0?p.prefix:"")+(S==="$"?i:S==="#"&&/[boxX]/.test(m)?"0"+m.toLowerCase():""),_=(S==="$"?e:/[%p]/.test(m)?c:"")+(p&&p.suffix!==void 0?p.suffix:""),B=O[m],v=/[defgprs%]/.test(m);x=x===void 0?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function H(n){var l=W,d=_,b,J,z;if(m==="c")d=B(n)+d,n="";else{n=+n;var A=n<0||1/n<0;if(n=isNaN(n)?M:B(Math.abs(n),x),q)n=R(n);if(A&&+n===0&&s!=="+")A=!1;if(l=(A?s==="("?s:u:s==="-"||s==="("?"":s)+l,d=(m==="s"&&!isNaN(n)&&P!==void 0?Q[8+P/3]:"")+d+(A&&s==="("?")":""),v){b=-1,J=n.length;while(++b<J)if(z=n.charCodeAt(b),48>z||z>57){d=(z===46?o+n.slice(b+1):n.slice(b))+d,n=n.slice(0,b);break}}}if(T&&!k)n=r(n,1/0);var j=l.length+n.length+d.length,h=j<L?Array(L-j+1).join(y):"";if(T&&k)n=r(h+n,h.length?L-d.length:1/0),h="";switch(w){case"<":n=l+n+d+h;break;case"=":n=l+h+n+d;break;case"^":n=h.slice(0,j=h.length>>1)+l+n+d+h.slice(j);break;default:n=h+l+n+d;break}return a(n)}return H.toString=function(){return f+""},H}function V(f,p){var y=Math.max(-8,Math.min(8,Math.floor(Rt(p)/3)))*3,w=Math.pow(10,-y),s=Z((f=fn(f),f.type="f",f),{suffix:Q[8+y/3]});return function(S){return s(w*S)}}return{format:Z,formatPrefix:V}}var D,Dt,ra;Y({thousands:",",grouping:[3],currency:["$",""]});function Y(t){return D=U(t),Dt=D.format,ra=D.formatPrefix,D}export{Rt,fn,Dt,ra};
1
+ function C(t){return Math.abs(t=Math.round(t))>=1000000000000000000000?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function g(t,r){if(!isFinite(t)||t===0)return null;var i=(t=r?t.toExponential(r-1):t.toExponential()).indexOf("e"),e=t.slice(0,i);return[e.length>1?e[0]+e.slice(2):e,+t.slice(i+1)]}function Dt(t){return t=g(Math.abs(t)),t?t[1]:NaN}function G(t,r){return function(i,e){var o=i.length,a=[],c=0,u=t[0],M=0;while(o>0&&u>0){if(M+u+1>e)u=Math.max(1,e-M);if(a.push(i.substring(o-=u,o+u)),(M+=u+1)>e)break;u=t[c=(c+1)%t.length]}return a.reverse().join(r)}}function I(t){return function(r){return r.replace(/[0-9]/g,function(i){return t[+i]})}}var tt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function fn(t){if(!(r=tt.exec(t)))throw Error("invalid format: "+t);var r;return new E({fill:r[1],align:r[2],sign:r[3],symbol:r[4],zero:r[5],width:r[6],comma:r[7],precision:r[8]&&r[8].slice(1),trim:r[9],type:r[10]})}fn.prototype=E.prototype;function E(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}E.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function R(t){t:for(var r=t.length,i=1,e=-1,o;i<r;++i)switch(t[i]){case".":e=o=i;break;case"0":if(e===0)e=i;o=i;break;default:if(!+t[i])break t;if(e>0)e=0;break}return e>0?t.slice(0,e)+t.slice(o+1):t}var P;function X(t,r){var i=g(t,r);if(!i)return P=void 0,t.toPrecision(r);var e=i[0],o=i[1],a=o-(P=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,c=e.length;return a===c?e:a>c?e+Array(a-c+1).join("0"):a>0?e.slice(0,a)+"."+e.slice(a):"0."+Array(1-a).join("0")+g(t,Math.max(0,r+a-1))[0]}function F(t,r){var i=g(t,r);if(!i)return t+"";var e=i[0],o=i[1];return o<0?"0."+Array(-o).join("0")+e:e.length>o+1?e.slice(0,o+1)+"."+e.slice(o+1):e+Array(o-e.length+2).join("0")}var O={"%":(t,r)=>(t*100).toFixed(r),b:(t)=>Math.round(t).toString(2),c:(t)=>t+"",d:C,e:(t,r)=>t.toExponential(r),f:(t,r)=>t.toFixed(r),g:(t,r)=>t.toPrecision(r),o:(t)=>Math.round(t).toString(8),p:(t,r)=>F(t*100,r),r:F,s:X,X:(t)=>Math.round(t).toString(16).toUpperCase(),x:(t)=>Math.round(t).toString(16)};function N(t){return t}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function U(t){var r=t.grouping===void 0||t.thousands===void 0?N:G(K.call(t.grouping,Number),t.thousands+""),i=t.currency===void 0?"":t.currency[0]+"",e=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?N:I(K.call(t.numerals,String)),c=t.percent===void 0?"%":t.percent+"",u=t.minus===void 0?"−":t.minus+"",M=t.nan===void 0?"NaN":t.nan+"";function Z(f,p){f=fn(f);var y=f.fill,w=f.align,s=f.sign,S=f.symbol,k=f.zero,L=f.width,T=f.comma,x=f.precision,q=f.trim,m=f.type;if(m==="n")T=!0,m="g";else if(!O[m])x===void 0&&(x=12),q=!0,m="g";if(k||y==="0"&&w==="=")k=!0,y="0",w="=";var W=(p&&p.prefix!==void 0?p.prefix:"")+(S==="$"?i:S==="#"&&/[boxX]/.test(m)?"0"+m.toLowerCase():""),_=(S==="$"?e:/[%p]/.test(m)?c:"")+(p&&p.suffix!==void 0?p.suffix:""),B=O[m],v=/[defgprs%]/.test(m);x=x===void 0?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function H(n){var l=W,d=_,b,J,z;if(m==="c")d=B(n)+d,n="";else{n=+n;var A=n<0||1/n<0;if(n=isNaN(n)?M:B(Math.abs(n),x),q)n=R(n);if(A&&+n===0&&s!=="+")A=!1;if(l=(A?s==="("?s:u:s==="-"||s==="("?"":s)+l,d=(m==="s"&&!isNaN(n)&&P!==void 0?Q[8+P/3]:"")+d+(A&&s==="("?")":""),v){b=-1,J=n.length;while(++b<J)if(z=n.charCodeAt(b),48>z||z>57){d=(z===46?o+n.slice(b+1):n.slice(b))+d,n=n.slice(0,b);break}}}if(T&&!k)n=r(n,1/0);var j=l.length+n.length+d.length,h=j<L?Array(L-j+1).join(y):"";if(T&&k)n=r(h+n,h.length?L-d.length:1/0),h="";switch(w){case"<":n=l+n+d+h;break;case"=":n=l+h+n+d;break;case"^":n=h.slice(0,j=h.length>>1)+l+n+d+h.slice(j);break;default:n=h+l+n+d;break}return a(n)}return H.toString=function(){return f+""},H}function V(f,p){var y=Math.max(-8,Math.min(8,Math.floor(Dt(p)/3)))*3,w=Math.pow(10,-y),s=Z((f=fn(f),f.type="f",f),{suffix:Q[8+y/3]});return function(S){return s(w*S)}}return{format:Z,formatPrefix:V}}var D,Nt,ra;Y({thousands:",",grouping:[3],currency:["$",""]});function Y(t){return D=U(t),Nt=D.format,ra=D.formatPrefix,D}export{Dt,fn,Nt,ra};
@@ -1,12 +1,12 @@
1
- import{e,Y,vr,u,d,D,b,B,C,S,E,T,A,I,L,p,q,U,m}from"./chunk-y0m8hrwz.js";var fe=(t,s)=>vr(t,"a",-s),wt=fe;function It(t,s){let i=de(t),n=i.filter((c)=>he(c,t)),r=0,o=0,a=[];if(n.length>1){let c=Kt(n);for(let h=0;h<n.length;++h){let l=n[h];l.angle=Math.atan2(l.x-c.x,l.y-c.y)}n.sort((h,l)=>l.angle-h.angle);let g=n[n.length-1];for(let h=0;h<n.length;++h){let l=n[h];o+=(g.x+l.x)*(l.y-g.y);let M={x:(l.x+g.x)/2,y:(l.y+g.y)/2},y=null;for(let z=0;z<l.parentIndex.length;++z)if(g.parentIndex.includes(l.parentIndex[z])){let w=t[l.parentIndex[z]],j=Math.atan2(l.x-w.x,l.y-w.y),G=Math.atan2(g.x-w.x,g.y-w.y),P=G-j;if(P<0)P+=2*Math.PI;let F=G-P/2,v=at(M,{x:w.x+w.radius*Math.sin(F),y:w.y+w.radius*Math.cos(F)});if(v>w.radius*2)v=w.radius*2;if(y==null||y.width>v)y={circle:w,width:v,p1:l,p2:g,large:v>w.radius,sweep:!0}}if(y!=null)a.push(y),r+=Tt(y.circle.radius,y.width),g=l}}else{let c=t[0];for(let h=1;h<t.length;++h)if(t[h].radius<c.radius)c=t[h];let g=!1;for(let h=0;h<t.length;++h)if(at(t[h],c)>Math.abs(c.radius-t[h].radius)){g=!0;break}if(g)r=o=0;else r=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-0.0000000001,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0})}if(o/=2,s)s.area=r+o,s.arcArea=r,s.polygonArea=o,s.arcs=a,s.innerPoints=n,s.intersectionPoints=i;return r+o}function he(t,s){return s.every((i)=>at(t,i)<i.radius+0.0000000001)}function de(t){let s=[];for(let i=0;i<t.length;++i)for(let n=i+1;n<t.length;++n){let r=Wt(t[i],t[n]);for(let o of r)o.parentIndex=[i,n],s.push(o)}return s}function Tt(t,s){return t*t*Math.acos(1-s/t)-(t-s)*Math.sqrt(s*(2*t-s))}function at(t,s){return Math.sqrt((t.x-s.x)*(t.x-s.x)+(t.y-s.y)*(t.y-s.y))}function Nt(t,s,i){if(i>=t+s)return 0;if(i<=Math.abs(t-s))return Math.PI*Math.min(t,s)*Math.min(t,s);let n=t-(i*i-s*s+t*t)/(2*i),r=s-(i*i-t*t+s*s)/(2*i);return Tt(t,n)+Tt(s,r)}function Wt(t,s){let i=at(t,s),n=t.radius,r=s.radius;if(i>=n+r||i<=Math.abs(n-r))return[];let o=(n*n-r*r+i*i)/(2*i),a=Math.sqrt(n*n-o*o),c=t.x+o*(s.x-t.x)/i,g=t.y+o*(s.y-t.y)/i,h=-(s.y-t.y)*(a/i),l=-(s.x-t.x)*(a/i);return[{x:c+h,y:g-l},{x:c-h,y:g+l}]}function Kt(t){let s={x:0,y:0};for(let i of t)s.x+=i.x,s.y+=i.y;return s.x/=t.length,s.y/=t.length,s}function ge(t,s,i,n){n=n||{};let r=n.maxIterations||100,o=n.tolerance||0.0000000001,a=t(s),c=t(i),g=i-s;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return s;if(c===0)return i;for(let h=0;h<r;++h){g/=2;let l=s+g,M=t(l);if(M*a>=0)s=l;if(Math.abs(g)<o||M===0)return l}return s+g}function zt(t){let s=Array(t);for(let i=0;i<t;++i)s[i]=0;return s}function Ut(t,s){return zt(t).map(()=>zt(s))}function mt(t,s){let i=0;for(let n=0;n<t.length;++n)i+=t[n]*s[n];return i}function At(t){return Math.sqrt(mt(t,t))}function Ct(t,s,i){for(let n=0;n<s.length;++n)t[n]=s[n]*i}function xt(t,s,i,n,r){for(let o=0;o<t.length;++o)t[o]=s*i[o]+n*r[o]}function Ht(t,s,i){i=i||{};let n=i.maxIterations||s.length*200,r=i.nonZeroDelta||1.05,o=i.zeroDelta||0.001,a=i.minErrorDelta||0.000001,c=i.minErrorDelta||0.00001,g=i.rho!==void 0?i.rho:1,h=i.chi!==void 0?i.chi:2,l=i.psi!==void 0?i.psi:-0.5,M=i.sigma!==void 0?i.sigma:0.5,y,z=s.length,w=Array(z+1);w[0]=s,w[0].fx=t(s),w[0].id=0;for(let R=0;R<z;++R){let f=s.slice();f[R]=f[R]?f[R]*r:o,w[R+1]=f,w[R+1].fx=t(f),w[R+1].id=R+1}function j(R){for(let f=0;f<R.length;f++)w[z][f]=R[f];w[z].fx=R.fx}let G=(R,f)=>R.fx-f.fx,P=s.slice(),F=s.slice(),v=s.slice(),_=s.slice();for(let R=0;R<n;++R){if(w.sort(G),i.history){let k=w.map((x)=>{let H=x.slice();return H.fx=x.fx,H.id=x.id,H});k.sort((x,H)=>x.id-H.id),i.history.push({x:w[0].slice(),fx:w[0].fx,simplex:k})}y=0;for(let k=0;k<z;++k)y=Math.max(y,Math.abs(w[0][k]-w[1][k]));if(Math.abs(w[0].fx-w[z].fx)<a&&y<c)break;for(let k=0;k<z;++k){P[k]=0;for(let x=0;x<z;++x)P[k]+=w[x][k];P[k]/=z}let f=w[z];if(xt(F,1+g,P,-g,f),F.fx=t(F),F.fx<w[0].fx)if(xt(_,1+h,P,-h,f),_.fx=t(_),_.fx<F.fx)j(_);else j(F);else if(F.fx>=w[z-1].fx){let k=!1;if(F.fx>f.fx)if(xt(v,1+l,P,-l,f),v.fx=t(v),v.fx<f.fx)j(v);else k=!0;else if(xt(v,1-l*g,P,l*g,f),v.fx=t(v),v.fx<F.fx)j(v);else k=!0;if(k){if(M>=1)break;for(let x=1;x<w.length;++x)xt(w[x],1-M,w[0],M,w[x]),w[x].fx=t(w[x])}}else j(F)}return w.sort(G),{fx:w[0].fx,x:w[0]}}function xe(t,s,i,n,r,o,a){let c=i.fx,g=mt(i.fxprime,s),h=c,l=c,M=g,y=0;r=r||1,o=o||0.000001,a=a||0.1;function z(w,j,G){for(let P=0;P<16;++P)if(r=(w+j)/2,xt(n.x,1,i.x,r,s),h=n.fx=t(n.x,n.fxprime),M=mt(n.fxprime,s),h>c+o*r*g||h>=G)j=r;else{if(Math.abs(M)<=-a*g)return r;if(M*(j-w)>=0)j=w;w=r,G=h}return 0}for(let w=0;w<10;++w){if(xt(n.x,1,i.x,r,s),h=n.fx=t(n.x,n.fxprime),M=mt(n.fxprime,s),h>c+o*r*g||w&&h>=l)return z(y,r,l);if(Math.abs(M)<=-a*g)return r;if(M>=0)return z(r,y,h);l=h,y=r,r*=2}return r}function ye(t,s,i){let n={x:s.slice(),fx:0,fxprime:s.slice()},r={x:s.slice(),fx:0,fxprime:s.slice()},o=s.slice(),a,c,g=1,h;i=i||{},h=i.maxIterations||s.length*20,n.fx=t(n.x,n.fxprime),a=n.fxprime.slice(),Ct(a,n.fxprime,-1);for(let l=0;l<h;++l){if(g=xe(t,a,n,r,g),i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});if(!g)Ct(a,n.fxprime,-1);else{xt(o,1,r.fxprime,-1,n.fxprime);let M=mt(n.fxprime,n.fxprime),y=Math.max(0,mt(o,r.fxprime)/M);xt(a,y,a,-1,r.fxprime),c=n,n=r,r=c}if(At(n.fxprime)<=0.00001)break}if(i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});return n}function Yt(t,s={}){s.maxIterations=s.maxIterations||500;let i=s.initialLayout||ve,n=s.lossFunction||bt,r=pe(t,s),o=i(r,s),a=Object.keys(o),c=[];for(let l of a)c.push(o[l].x),c.push(o[l].y);let h=Ht((l)=>{let M={};for(let y=0;y<a.length;++y){let z=a[y];M[z]={x:l[2*y],y:l[2*y+1],radius:o[z].radius}}return n(M,r)},c,s).x;for(let l=0;l<a.length;++l){let M=a[l];o[M].x=h[2*l],o[M].y=h[2*l+1]}return o}var Xt=0.0000000001;function Dt(t,s,i){if(Math.min(t,s)*Math.min(t,s)*Math.PI<=i+Xt)return Math.abs(t-s);return ge((n)=>Nt(t,s,n)-i,0,t+s)}function pe(t,s={}){let i=s.distinct,n=t.map((c)=>Object.assign({},c));function r(c){return c.join(";")}if(i){let c=new Map;for(let g of n)for(let h=0;h<g.sets.length;h++){let l=String(g.sets[h]);c.set(l,g.size+(c.get(l)||0));for(let M=h+1;M<g.sets.length;M++){let y=String(g.sets[M]),z=`${l};${y}`,w=`${y};${l}`;c.set(z,g.size+(c.get(z)||0)),c.set(w,g.size+(c.get(w)||0))}}for(let g of n)if(g.sets.length<3)g.size=c.get(r(g.sets))}let o=[],a=new Set;for(let c of n)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){let g=c.sets[0],h=c.sets[1];a.add(r(c.sets)),a.add(r([h,g]))}o.sort((c,g)=>c===g?0:c<g?-1:1);for(let c=0;c<o.length;++c){let g=o[c];for(let h=c+1;h<o.length;++h){let l=o[h];if(!a.has(r([g,l])))n.push({sets:[g,l],size:0})}}return n}function me(t,s,i){let n=Ut(s.length,s.length),r=Ut(s.length,s.length);return t.filter((o)=>o.sets.length===2).forEach((o)=>{let a=i[o.sets[0]],c=i[o.sets[1]],g=Math.sqrt(s[a].size/Math.PI),h=Math.sqrt(s[c].size/Math.PI),l=Dt(g,h,o.size);n[a][c]=n[c][a]=l;let M=0;if(o.size+0.0000000001>=Math.min(s[a].size,s[c].size))M=1;else if(o.size<=0.0000000001)M=-1;r[a][c]=r[c][a]=M}),{distances:n,constraints:r}}function be(t,s,i,n){for(let o=0;o<s.length;++o)s[o]=0;let r=0;for(let o=0;o<i.length;++o){let a=t[2*o],c=t[2*o+1];for(let g=o+1;g<i.length;++g){let h=t[2*g],l=t[2*g+1],M=i[o][g],y=n[o][g],z=(h-a)*(h-a)+(l-c)*(l-c),w=Math.sqrt(z),j=z-M*M;if(y>0&&w<=M||y<0&&w>=M)continue;r+=2*j*j,s[2*o]+=4*j*(a-h),s[2*o+1]+=4*j*(c-l),s[2*g]+=4*j*(h-a),s[2*g+1]+=4*j*(l-c)}}return r}function ve(t,s={}){let i=Ie(t,s),n=s.lossFunction||bt;if(t.length>=8){let r=ke(t,s),o=n(r,t),a=n(i,t);if(o+0.00000001<a)i=r}return i}function ke(t,s={}){let i=s.restarts||10,n=[],r={};for(let y of t)if(y.sets.length===1)r[y.sets[0]]=n.length,n.push(y);let{distances:o,constraints:a}=me(t,n,r),c=At(o.map(At))/o.length;o=o.map((y)=>y.map((z)=>z/c));let g=(y,z)=>be(y,z,o,a),h=null;for(let y=0;y<i;++y){let z=zt(o.length*2).map(Math.random),w=ye(g,z,s);if(!h||w.fx<h.fx)h=w}let l=h.x,M={};for(let y=0;y<n.length;++y){let z=n[y];M[z.sets[0]]={x:l[2*y]*c,y:l[2*y+1]*c,radius:Math.sqrt(z.size/Math.PI)}}if(s.history)for(let y of s.history)Ct(y.x,c);return M}function Ie(t,s){let i=s&&s.lossFunction?s.lossFunction:bt,n={},r={};for(let M of t)if(M.sets.length===1){let y=M.sets[0];n[y]={x:10000000000,y:10000000000,rowid:n.length,size:M.size,radius:Math.sqrt(M.size/Math.PI)},r[y]=[]}t=t.filter((M)=>M.sets.length===2);for(let M of t){let y=M.weight!=null?M.weight:1,z=M.sets[0],w=M.sets[1];if(M.size+Xt>=Math.min(n[z].size,n[w].size))y=0;r[z].push({set:w,size:M.size,weight:y}),r[w].push({set:z,size:M.size,weight:y})}let o=[];Object.keys(r).forEach((M)=>{let y=0;for(let z=0;z<r[M].length;++z)y+=r[M][z].size*r[M][z].weight;o.push({set:M,size:y})});function a(M,y){return y.size-M.size}o.sort(a);let c={};function g(M){return M.set in c}function h(M,y){n[y].x=M.x,n[y].y=M.y,c[y]=!0}h({x:0,y:0},o[0].set);for(let M=1;M<o.length;++M){let y=o[M].set,z=r[y].filter(g),w=n[y];if(z.sort(a),z.length===0)throw"ERROR: missing pairwise overlap information";let j=[];for(var l=0;l<z.length;++l){let F=n[z[l].set],v=Dt(w.radius,F.radius,z[l].size);j.push({x:F.x+v,y:F.y}),j.push({x:F.x-v,y:F.y}),j.push({y:F.y+v,x:F.x}),j.push({y:F.y-v,x:F.x});for(let _=l+1;_<z.length;++_){let R=n[z[_].set],f=Dt(w.radius,R.radius,z[_].size),k=Wt({x:F.x,y:F.y,radius:v},{x:R.x,y:R.y,radius:f});j.push(...k)}}let G=100000000000000000000000000000000000000000000000000,P=j[0];for(let F of j){n[y].x=F.x,n[y].y=F.y;let v=i(n,t);if(v<G)G=v,P=F}h(P,y)}return n}function bt(t,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let a=t[n.sets[0]],c=t[n.sets[1]];r=Nt(a.radius,c.radius,at(a,c))}else r=It(n.sets.map((a)=>t[a]));let o=n.weight!=null?n.weight:1;i+=o*(r-n.size)*(r-n.size)}return i}function Zt(t,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let c=t[n.sets[0]],g=t[n.sets[1]];r=Nt(c.radius,g.radius,at(c,g))}else r=It(n.sets.map((c)=>t[c]));let o=n.weight!=null?n.weight:1,a=Math.log((r+1)/(n.size+1));i+=o*a*a}return i}function Me(t,s,i){if(i==null)t.sort((r,o)=>o.radius-r.radius);else t.sort(i);if(t.length>0){let r=t[0].x,o=t[0].y;for(let a of t)a.x-=r,a.y-=o}if(t.length===2){if(at(t[0],t[1])<Math.abs(t[1].radius-t[0].radius))t[1].x=t[0].x+t[0].radius-t[1].radius-0.0000000001,t[1].y=t[0].y}if(t.length>1){let r=Math.atan2(t[1].x,t[1].y)-s,o=Math.cos(r),a=Math.sin(r);for(let c of t){let{x:g,y:h}=c;c.x=o*g-a*h,c.y=a*g+o*h}}if(t.length>2){let r=Math.atan2(t[2].x,t[2].y)-s;while(r<0)r+=2*Math.PI;while(r>2*Math.PI)r-=2*Math.PI;if(r>Math.PI){let o=t[1].y/(0.0000000001+t[1].x);for(let a of t){var n=(a.x+o*a.y)/(1+o*o);a.x=2*n-a.x,a.y=2*n*o-a.y}}}}function Se(t){t.forEach((r)=>{r.parent=r});function s(r){if(r.parent!==r)r.parent=s(r.parent);return r.parent}function i(r,o){let a=s(r),c=s(o);a.parent=c}for(let r=0;r<t.length;++r)for(let o=r+1;o<t.length;++o){let a=t[r].radius+t[o].radius;if(at(t[r],t[o])+0.0000000001<a)i(t[o],t[r])}let n=new Map;for(let r=0;r<t.length;++r){let o=s(t[r]).parent.setid;if(!n.has(o))n.set(o,[]);n.get(o).push(t[r])}return t.forEach((r)=>{delete r.parent}),Array.from(n.values())}function Rt(t){let s=(i)=>{let n=t.reduce((o,a)=>Math.max(o,a[i]+a.radius),Number.NEGATIVE_INFINITY),r=t.reduce((o,a)=>Math.min(o,a[i]-a.radius),Number.POSITIVE_INFINITY);return{max:n,min:r}};return{xRange:s("x"),yRange:s("y")}}function Jt(t,s,i){if(s==null)s=Math.PI/2;let n=te(t).map((h)=>Object.assign({},h)),r=Se(n);for(let h of r){Me(h,s,i);let l=Rt(h);h.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),h.bounds=l}r.sort((h,l)=>l.size-h.size),n=r[0];let o=n.bounds,a=(o.xRange.max-o.xRange.min)/50;function c(h,l,M){if(!h)return;let y=h.bounds,z,w;if(l)z=o.xRange.max-y.xRange.min+a;else{z=o.xRange.max-y.xRange.max;let j=(y.xRange.max-y.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;if(j<0)z+=j}if(M)w=o.yRange.max-y.yRange.min+a;else{w=o.yRange.max-y.yRange.max;let j=(y.yRange.max-y.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;if(j<0)w+=j}for(let j of h)j.x+=z,j.y+=w,n.push(j)}let g=1;while(g<r.length)c(r[g],!0,!1),c(r[g+1],!1,!0),c(r[g+2],!0,!0),g+=3,o=Rt(n);return $t(n)}function Qt(t,s,i,n,r){let o=te(t);s-=2*n,i-=2*n;let{xRange:a,yRange:c}=Rt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),t;let g,h;if(r){let z=Math.sqrt(r/Math.PI)*2;g=s/z,h=i/z}else g=s/(a.max-a.min),h=i/(c.max-c.min);let l=Math.min(h,g),M=(s-(a.max-a.min)*l)/2,y=(i-(c.max-c.min)*l)/2;return $t(o.map((z)=>({radius:l*z.radius,x:n+M+(z.x-a.min)*l,y:n+y+(z.y-c.min)*l,setid:z.setid})))}function $t(t){let s={};for(let i of t)s[i.setid]=i;return s}function te(t){return Object.keys(t).map((i)=>Object.assign(t[i],{setid:i}))}function ee(t={}){let s=!1,i=600,n=350,r=15,o=1000,a=Math.PI/2,c=!0,g=null,h=!0,l=!0,M=null,y=null,z=!1,w=null,j=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,G={},P=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],F=0,v=function(k){if(k in G)return G[k];var x=G[k]=P[F];if(F+=1,F>=P.length)F=0;return x},_=Yt,R=bt;function f(k){let x=k.datum(),H=new Set;x.forEach((N)=>{if(N.size==0&&N.sets.length==1)H.add(N.sets[0])}),x=x.filter((N)=>!N.sets.some((Q)=>H.has(Q)));let O={},X={};if(x.length>0){let N=_(x,{lossFunction:R,distinct:z});if(c)N=Jt(N,a,y);O=Qt(N,i,n,r,g),X=se(O,x,j)}let lt={};x.forEach((N)=>{if(N.label)lt[N.sets]=N.label});function st(N){if(N.sets in lt)return lt[N.sets];if(N.sets.length==1)return""+N.sets[0]}k.selectAll("svg").data([O]).enter().append("svg");let J=k.select("svg");if(s)J.attr("viewBox",`0 0 ${i} ${n}`);else J.attr("width",i).attr("height",n);let K={},Z=!1;J.selectAll(".venn-area path").each(function(N){let Q=this.getAttribute("d");if(N.sets.length==1&&Q&&!z)Z=!0,K[N.sets[0]]=Ee(Q)});function V(N){return(Q)=>{let pt=N.sets.map((gt)=>{let dt=K[gt],ot=O[gt];if(!dt)dt={x:i/2,y:n/2,radius:1};if(!ot)ot={x:i/2,y:n/2,radius:1};return{x:dt.x*(1-Q)+ot.x*Q,y:dt.y*(1-Q)+ot.y*Q,radius:dt.radius*(1-Q)+ot.radius*Q}});return Gt(pt,w)}}let tt=J.selectAll(".venn-area").data(x,(N)=>N.sets),it=tt.enter().append("g").attr("class",(N)=>`venn-area venn-${N.sets.length==1?"circle":"intersection"}${N.colour||N.color?" venn-coloured":""}`).attr("data-venn-sets",(N)=>N.sets.join("_")),et=it.append("path"),ct=it.append("text").attr("class","label").text((N)=>st(N)).attr("text-anchor","middle").attr("dy",".35em").attr("x",i/2).attr("y",n/2);if(l)et.style("fill-opacity","0").filter((N)=>N.sets.length==1).style("fill",(N)=>N.colour?N.colour:N.color?N.color:v(N.sets)).style("fill-opacity",".25"),ct.style("fill",(N)=>{if(N.colour||N.color)return"#FFF";if(t.textFill)return t.textFill;return N.sets.length==1?v(N.sets):"#444"});function rt(N){if(typeof N.transition==="function")return N.transition("venn").duration(o);return N}let nt=k;if(Z&&typeof nt.transition==="function")nt=rt(k),nt.selectAll("path").attrTween("d",V);else nt.selectAll("path").attr("d",(N)=>Gt(N.sets.map((Q)=>O[Q])),w);let W=nt.selectAll("text").filter((N)=>(N.sets in X)).text((N)=>st(N)).attr("x",(N)=>Math.floor(X[N.sets].x)).attr("y",(N)=>Math.floor(X[N.sets].y));if(h)if(Z)if("on"in W)W.on("end",_t(O,st));else W.each("end",_t(O,st));else W.each(_t(O,st));let ht=rt(tt.exit()).remove();if(typeof tt.transition==="function")ht.selectAll("path").attrTween("d",V);let ft=ht.selectAll("text").attr("x",i/2).attr("y",n/2);if(M!==null)ct.style("font-size","0px"),W.style("font-size",M),ft.style("font-size","0px");return{circles:O,textCentres:X,nodes:tt,enter:it,update:nt,exit:ht}}return f.wrap=function(k){if(!arguments.length)return h;return h=k,f},f.useViewBox=function(){return s=!0,f},f.width=function(k){if(!arguments.length)return i;return i=k,f},f.height=function(k){if(!arguments.length)return n;return n=k,f},f.padding=function(k){if(!arguments.length)return r;return r=k,f},f.distinct=function(k){if(!arguments.length)return z;return z=k,f},f.colours=function(k){if(!arguments.length)return v;return v=k,f},f.colors=function(k){if(!arguments.length)return v;return v=k,f},f.fontSize=function(k){if(!arguments.length)return M;return M=k,f},f.round=function(k){if(!arguments.length)return w;return w=k,f},f.duration=function(k){if(!arguments.length)return o;return o=k,f},f.layoutFunction=function(k){if(!arguments.length)return _;return _=k,f},f.normalize=function(k){if(!arguments.length)return c;return c=k,f},f.scaleToFit=function(k){if(!arguments.length)return g;return g=k,f},f.styled=function(k){if(!arguments.length)return l;return l=k,f},f.orientation=function(k){if(!arguments.length)return a;return a=k,f},f.orientationOrder=function(k){if(!arguments.length)return y;return y=k,f},f.lossFunction=function(k){if(!arguments.length)return R;return R=k==="default"?bt:k==="logRatio"?Zt:k,f},f}function _t(t,s){return function(i){let n=this,r=t[i.sets[0]].radius||50,o=s(i)||"",a=o.split(/\s+/).reverse(),c=3,g=(o.length+a.length)/3,h=a.pop(),l=[h],M=0,y=1.1;n.textContent=null;let z=[];function w(v){let _=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return _.textContent=v,z.push(_),n.append(_),_}let j=w(h);while(!0){if(h=a.pop(),!h)break;l.push(h);let v=l.join(" ");if(j.textContent=v,v.length>g&&j.getComputedTextLength()>r)l.pop(),j.textContent=l.join(" "),l=[h],j=w(h),M++}let G=0.35-M*y/2,P=n.getAttribute("x"),F=n.getAttribute("y");z.forEach((v,_)=>{v.setAttribute("x",P),v.setAttribute("y",F),v.setAttribute("dy",`${G+_*y}em`)})}}function Et(t,s,i){let n=s[0].radius-at(s[0],t);for(let r=1;r<s.length;++r){let o=s[r].radius-at(s[r],t);if(o<=n)n=o}for(let r=0;r<i.length;++r){let o=at(i[r],t)-i[r].radius;if(o<=n)n=o}return n}function ne(t,s,i){let n=[];for(let l of t)n.push({x:l.x,y:l.y}),n.push({x:l.x+l.radius/2,y:l.y}),n.push({x:l.x-l.radius/2,y:l.y}),n.push({x:l.x,y:l.y+l.radius/2}),n.push({x:l.x,y:l.y-l.radius/2});let r=n[0],o=Et(n[0],t,s);for(let l=1;l<n.length;++l){let M=Et(n[l],t,s);if(M>=o)r=n[l],o=M}let a=Ht((l)=>-1*Et({x:l[0],y:l[1]},t,s),[r.x,r.y],{maxIterations:500,minErrorDelta:0.0000000001}).x,c={x:i?0:a[0],y:a[1]},g=!0;for(let l of t)if(at(c,l)>l.radius){g=!1;break}for(let l of s)if(at(c,l)<l.radius){g=!1;break}if(g)return c;if(t.length==1)return{x:t[0].x,y:t[0].y};let h={};if(It(t,h),h.arcs.length===0)return{x:0,y:-1000,disjoint:!0};if(h.arcs.length==1)return{x:h.arcs[0].circle.x,y:h.arcs[0].circle.y};if(s.length)return ne(t,[]);return Kt(h.arcs.map((l)=>l.p1))}function we(t){let s={},i=Object.keys(t);for(let n of i)s[n]=[];for(let n=0;n<i.length;n++){let r=i[n],o=t[r];for(let a=n+1;a<i.length;++a){let c=i[a],g=t[c],h=at(o,g);if(h+g.radius<=o.radius+0.0000000001)s[c].push(r);else if(h+o.radius<=g.radius+0.0000000001)s[r].push(c)}}return s}function se(t,s,i){let n={},r=we(t);for(let o=0;o<s.length;++o){let a=s[o].sets,c={},g={};for(let y=0;y<a.length;++y){c[a[y]]=!0;let z=r[a[y]];for(let w=0;w<z.length;++w)g[z[w]]=!0}let h=[],l=[];for(let y in t)if(y in c)h.push(t[y]);else if(!(y in g))l.push(t[y]);let M=ne(h,l,i);if(n[a]=M,M.disjoint&&s[o].size>0)console.log("WARNING: area "+a+" not represented on screen")}return n}function _e(t,s,i){let n=[];return n.push(`
1
+ import{e,Y,vr,u,d,D,b,B,C,S,E,T,A,I,L,p,V,U,m}from"./chunk-9dd1c37b.js";var fe=(t,s)=>vr(t,"a",-s),wt=fe;function It(t,s){let i=de(t),n=i.filter((c)=>he(c,t)),r=0,o=0,a=[];if(n.length>1){let c=Kt(n);for(let h=0;h<n.length;++h){let l=n[h];l.angle=Math.atan2(l.x-c.x,l.y-c.y)}n.sort((h,l)=>l.angle-h.angle);let g=n[n.length-1];for(let h=0;h<n.length;++h){let l=n[h];o+=(g.x+l.x)*(l.y-g.y);let M={x:(l.x+g.x)/2,y:(l.y+g.y)/2},y=null;for(let z=0;z<l.parentIndex.length;++z)if(g.parentIndex.includes(l.parentIndex[z])){let w=t[l.parentIndex[z]],j=Math.atan2(l.x-w.x,l.y-w.y),G=Math.atan2(g.x-w.x,g.y-w.y),P=G-j;if(P<0)P+=2*Math.PI;let F=G-P/2,v=at(M,{x:w.x+w.radius*Math.sin(F),y:w.y+w.radius*Math.cos(F)});if(v>w.radius*2)v=w.radius*2;if(y==null||y.width>v)y={circle:w,width:v,p1:l,p2:g,large:v>w.radius,sweep:!0}}if(y!=null)a.push(y),r+=Tt(y.circle.radius,y.width),g=l}}else{let c=t[0];for(let h=1;h<t.length;++h)if(t[h].radius<c.radius)c=t[h];let g=!1;for(let h=0;h<t.length;++h)if(at(t[h],c)>Math.abs(c.radius-t[h].radius)){g=!0;break}if(g)r=o=0;else r=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-0.0000000001,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0})}if(o/=2,s)s.area=r+o,s.arcArea=r,s.polygonArea=o,s.arcs=a,s.innerPoints=n,s.intersectionPoints=i;return r+o}function he(t,s){return s.every((i)=>at(t,i)<i.radius+0.0000000001)}function de(t){let s=[];for(let i=0;i<t.length;++i)for(let n=i+1;n<t.length;++n){let r=Wt(t[i],t[n]);for(let o of r)o.parentIndex=[i,n],s.push(o)}return s}function Tt(t,s){return t*t*Math.acos(1-s/t)-(t-s)*Math.sqrt(s*(2*t-s))}function at(t,s){return Math.sqrt((t.x-s.x)*(t.x-s.x)+(t.y-s.y)*(t.y-s.y))}function Nt(t,s,i){if(i>=t+s)return 0;if(i<=Math.abs(t-s))return Math.PI*Math.min(t,s)*Math.min(t,s);let n=t-(i*i-s*s+t*t)/(2*i),r=s-(i*i-t*t+s*s)/(2*i);return Tt(t,n)+Tt(s,r)}function Wt(t,s){let i=at(t,s),n=t.radius,r=s.radius;if(i>=n+r||i<=Math.abs(n-r))return[];let o=(n*n-r*r+i*i)/(2*i),a=Math.sqrt(n*n-o*o),c=t.x+o*(s.x-t.x)/i,g=t.y+o*(s.y-t.y)/i,h=-(s.y-t.y)*(a/i),l=-(s.x-t.x)*(a/i);return[{x:c+h,y:g-l},{x:c-h,y:g+l}]}function Kt(t){let s={x:0,y:0};for(let i of t)s.x+=i.x,s.y+=i.y;return s.x/=t.length,s.y/=t.length,s}function ge(t,s,i,n){n=n||{};let r=n.maxIterations||100,o=n.tolerance||0.0000000001,a=t(s),c=t(i),g=i-s;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return s;if(c===0)return i;for(let h=0;h<r;++h){g/=2;let l=s+g,M=t(l);if(M*a>=0)s=l;if(Math.abs(g)<o||M===0)return l}return s+g}function zt(t){let s=Array(t);for(let i=0;i<t;++i)s[i]=0;return s}function Ut(t,s){return zt(t).map(()=>zt(s))}function mt(t,s){let i=0;for(let n=0;n<t.length;++n)i+=t[n]*s[n];return i}function At(t){return Math.sqrt(mt(t,t))}function Ct(t,s,i){for(let n=0;n<s.length;++n)t[n]=s[n]*i}function xt(t,s,i,n,r){for(let o=0;o<t.length;++o)t[o]=s*i[o]+n*r[o]}function Ht(t,s,i){i=i||{};let n=i.maxIterations||s.length*200,r=i.nonZeroDelta||1.05,o=i.zeroDelta||0.001,a=i.minErrorDelta||0.000001,c=i.minErrorDelta||0.00001,g=i.rho!==void 0?i.rho:1,h=i.chi!==void 0?i.chi:2,l=i.psi!==void 0?i.psi:-0.5,M=i.sigma!==void 0?i.sigma:0.5,y,z=s.length,w=Array(z+1);w[0]=s,w[0].fx=t(s),w[0].id=0;for(let R=0;R<z;++R){let f=s.slice();f[R]=f[R]?f[R]*r:o,w[R+1]=f,w[R+1].fx=t(f),w[R+1].id=R+1}function j(R){for(let f=0;f<R.length;f++)w[z][f]=R[f];w[z].fx=R.fx}let G=(R,f)=>R.fx-f.fx,P=s.slice(),F=s.slice(),v=s.slice(),_=s.slice();for(let R=0;R<n;++R){if(w.sort(G),i.history){let k=w.map((x)=>{let H=x.slice();return H.fx=x.fx,H.id=x.id,H});k.sort((x,H)=>x.id-H.id),i.history.push({x:w[0].slice(),fx:w[0].fx,simplex:k})}y=0;for(let k=0;k<z;++k)y=Math.max(y,Math.abs(w[0][k]-w[1][k]));if(Math.abs(w[0].fx-w[z].fx)<a&&y<c)break;for(let k=0;k<z;++k){P[k]=0;for(let x=0;x<z;++x)P[k]+=w[x][k];P[k]/=z}let f=w[z];if(xt(F,1+g,P,-g,f),F.fx=t(F),F.fx<w[0].fx)if(xt(_,1+h,P,-h,f),_.fx=t(_),_.fx<F.fx)j(_);else j(F);else if(F.fx>=w[z-1].fx){let k=!1;if(F.fx>f.fx)if(xt(v,1+l,P,-l,f),v.fx=t(v),v.fx<f.fx)j(v);else k=!0;else if(xt(v,1-l*g,P,l*g,f),v.fx=t(v),v.fx<F.fx)j(v);else k=!0;if(k){if(M>=1)break;for(let x=1;x<w.length;++x)xt(w[x],1-M,w[0],M,w[x]),w[x].fx=t(w[x])}}else j(F)}return w.sort(G),{fx:w[0].fx,x:w[0]}}function xe(t,s,i,n,r,o,a){let c=i.fx,g=mt(i.fxprime,s),h=c,l=c,M=g,y=0;r=r||1,o=o||0.000001,a=a||0.1;function z(w,j,G){for(let P=0;P<16;++P)if(r=(w+j)/2,xt(n.x,1,i.x,r,s),h=n.fx=t(n.x,n.fxprime),M=mt(n.fxprime,s),h>c+o*r*g||h>=G)j=r;else{if(Math.abs(M)<=-a*g)return r;if(M*(j-w)>=0)j=w;w=r,G=h}return 0}for(let w=0;w<10;++w){if(xt(n.x,1,i.x,r,s),h=n.fx=t(n.x,n.fxprime),M=mt(n.fxprime,s),h>c+o*r*g||w&&h>=l)return z(y,r,l);if(Math.abs(M)<=-a*g)return r;if(M>=0)return z(r,y,h);l=h,y=r,r*=2}return r}function ye(t,s,i){let n={x:s.slice(),fx:0,fxprime:s.slice()},r={x:s.slice(),fx:0,fxprime:s.slice()},o=s.slice(),a,c,g=1,h;i=i||{},h=i.maxIterations||s.length*20,n.fx=t(n.x,n.fxprime),a=n.fxprime.slice(),Ct(a,n.fxprime,-1);for(let l=0;l<h;++l){if(g=xe(t,a,n,r,g),i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});if(!g)Ct(a,n.fxprime,-1);else{xt(o,1,r.fxprime,-1,n.fxprime);let M=mt(n.fxprime,n.fxprime),y=Math.max(0,mt(o,r.fxprime)/M);xt(a,y,a,-1,r.fxprime),c=n,n=r,r=c}if(At(n.fxprime)<=0.00001)break}if(i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});return n}function Yt(t,s={}){s.maxIterations=s.maxIterations||500;let i=s.initialLayout||ve,n=s.lossFunction||bt,r=pe(t,s),o=i(r,s),a=Object.keys(o),c=[];for(let l of a)c.push(o[l].x),c.push(o[l].y);let h=Ht((l)=>{let M={};for(let y=0;y<a.length;++y){let z=a[y];M[z]={x:l[2*y],y:l[2*y+1],radius:o[z].radius}}return n(M,r)},c,s).x;for(let l=0;l<a.length;++l){let M=a[l];o[M].x=h[2*l],o[M].y=h[2*l+1]}return o}var Xt=0.0000000001;function Dt(t,s,i){if(Math.min(t,s)*Math.min(t,s)*Math.PI<=i+Xt)return Math.abs(t-s);return ge((n)=>Nt(t,s,n)-i,0,t+s)}function pe(t,s={}){let i=s.distinct,n=t.map((c)=>Object.assign({},c));function r(c){return c.join(";")}if(i){let c=new Map;for(let g of n)for(let h=0;h<g.sets.length;h++){let l=String(g.sets[h]);c.set(l,g.size+(c.get(l)||0));for(let M=h+1;M<g.sets.length;M++){let y=String(g.sets[M]),z=`${l};${y}`,w=`${y};${l}`;c.set(z,g.size+(c.get(z)||0)),c.set(w,g.size+(c.get(w)||0))}}for(let g of n)if(g.sets.length<3)g.size=c.get(r(g.sets))}let o=[],a=new Set;for(let c of n)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){let g=c.sets[0],h=c.sets[1];a.add(r(c.sets)),a.add(r([h,g]))}o.sort((c,g)=>c===g?0:c<g?-1:1);for(let c=0;c<o.length;++c){let g=o[c];for(let h=c+1;h<o.length;++h){let l=o[h];if(!a.has(r([g,l])))n.push({sets:[g,l],size:0})}}return n}function me(t,s,i){let n=Ut(s.length,s.length),r=Ut(s.length,s.length);return t.filter((o)=>o.sets.length===2).forEach((o)=>{let a=i[o.sets[0]],c=i[o.sets[1]],g=Math.sqrt(s[a].size/Math.PI),h=Math.sqrt(s[c].size/Math.PI),l=Dt(g,h,o.size);n[a][c]=n[c][a]=l;let M=0;if(o.size+0.0000000001>=Math.min(s[a].size,s[c].size))M=1;else if(o.size<=0.0000000001)M=-1;r[a][c]=r[c][a]=M}),{distances:n,constraints:r}}function be(t,s,i,n){for(let o=0;o<s.length;++o)s[o]=0;let r=0;for(let o=0;o<i.length;++o){let a=t[2*o],c=t[2*o+1];for(let g=o+1;g<i.length;++g){let h=t[2*g],l=t[2*g+1],M=i[o][g],y=n[o][g],z=(h-a)*(h-a)+(l-c)*(l-c),w=Math.sqrt(z),j=z-M*M;if(y>0&&w<=M||y<0&&w>=M)continue;r+=2*j*j,s[2*o]+=4*j*(a-h),s[2*o+1]+=4*j*(c-l),s[2*g]+=4*j*(h-a),s[2*g+1]+=4*j*(l-c)}}return r}function ve(t,s={}){let i=Ie(t,s),n=s.lossFunction||bt;if(t.length>=8){let r=ke(t,s),o=n(r,t),a=n(i,t);if(o+0.00000001<a)i=r}return i}function ke(t,s={}){let i=s.restarts||10,n=[],r={};for(let y of t)if(y.sets.length===1)r[y.sets[0]]=n.length,n.push(y);let{distances:o,constraints:a}=me(t,n,r),c=At(o.map(At))/o.length;o=o.map((y)=>y.map((z)=>z/c));let g=(y,z)=>be(y,z,o,a),h=null;for(let y=0;y<i;++y){let z=zt(o.length*2).map(Math.random),w=ye(g,z,s);if(!h||w.fx<h.fx)h=w}let l=h.x,M={};for(let y=0;y<n.length;++y){let z=n[y];M[z.sets[0]]={x:l[2*y]*c,y:l[2*y+1]*c,radius:Math.sqrt(z.size/Math.PI)}}if(s.history)for(let y of s.history)Ct(y.x,c);return M}function Ie(t,s){let i=s&&s.lossFunction?s.lossFunction:bt,n={},r={};for(let M of t)if(M.sets.length===1){let y=M.sets[0];n[y]={x:10000000000,y:10000000000,rowid:n.length,size:M.size,radius:Math.sqrt(M.size/Math.PI)},r[y]=[]}t=t.filter((M)=>M.sets.length===2);for(let M of t){let y=M.weight!=null?M.weight:1,z=M.sets[0],w=M.sets[1];if(M.size+Xt>=Math.min(n[z].size,n[w].size))y=0;r[z].push({set:w,size:M.size,weight:y}),r[w].push({set:z,size:M.size,weight:y})}let o=[];Object.keys(r).forEach((M)=>{let y=0;for(let z=0;z<r[M].length;++z)y+=r[M][z].size*r[M][z].weight;o.push({set:M,size:y})});function a(M,y){return y.size-M.size}o.sort(a);let c={};function g(M){return M.set in c}function h(M,y){n[y].x=M.x,n[y].y=M.y,c[y]=!0}h({x:0,y:0},o[0].set);for(let M=1;M<o.length;++M){let y=o[M].set,z=r[y].filter(g),w=n[y];if(z.sort(a),z.length===0)throw"ERROR: missing pairwise overlap information";let j=[];for(var l=0;l<z.length;++l){let F=n[z[l].set],v=Dt(w.radius,F.radius,z[l].size);j.push({x:F.x+v,y:F.y}),j.push({x:F.x-v,y:F.y}),j.push({y:F.y+v,x:F.x}),j.push({y:F.y-v,x:F.x});for(let _=l+1;_<z.length;++_){let R=n[z[_].set],f=Dt(w.radius,R.radius,z[_].size),k=Wt({x:F.x,y:F.y,radius:v},{x:R.x,y:R.y,radius:f});j.push(...k)}}let G=100000000000000000000000000000000000000000000000000,P=j[0];for(let F of j){n[y].x=F.x,n[y].y=F.y;let v=i(n,t);if(v<G)G=v,P=F}h(P,y)}return n}function bt(t,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let a=t[n.sets[0]],c=t[n.sets[1]];r=Nt(a.radius,c.radius,at(a,c))}else r=It(n.sets.map((a)=>t[a]));let o=n.weight!=null?n.weight:1;i+=o*(r-n.size)*(r-n.size)}return i}function Zt(t,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let c=t[n.sets[0]],g=t[n.sets[1]];r=Nt(c.radius,g.radius,at(c,g))}else r=It(n.sets.map((c)=>t[c]));let o=n.weight!=null?n.weight:1,a=Math.log((r+1)/(n.size+1));i+=o*a*a}return i}function Me(t,s,i){if(i==null)t.sort((r,o)=>o.radius-r.radius);else t.sort(i);if(t.length>0){let r=t[0].x,o=t[0].y;for(let a of t)a.x-=r,a.y-=o}if(t.length===2){if(at(t[0],t[1])<Math.abs(t[1].radius-t[0].radius))t[1].x=t[0].x+t[0].radius-t[1].radius-0.0000000001,t[1].y=t[0].y}if(t.length>1){let r=Math.atan2(t[1].x,t[1].y)-s,o=Math.cos(r),a=Math.sin(r);for(let c of t){let{x:g,y:h}=c;c.x=o*g-a*h,c.y=a*g+o*h}}if(t.length>2){let r=Math.atan2(t[2].x,t[2].y)-s;while(r<0)r+=2*Math.PI;while(r>2*Math.PI)r-=2*Math.PI;if(r>Math.PI){let o=t[1].y/(0.0000000001+t[1].x);for(let a of t){var n=(a.x+o*a.y)/(1+o*o);a.x=2*n-a.x,a.y=2*n*o-a.y}}}}function Se(t){t.forEach((r)=>{r.parent=r});function s(r){if(r.parent!==r)r.parent=s(r.parent);return r.parent}function i(r,o){let a=s(r),c=s(o);a.parent=c}for(let r=0;r<t.length;++r)for(let o=r+1;o<t.length;++o){let a=t[r].radius+t[o].radius;if(at(t[r],t[o])+0.0000000001<a)i(t[o],t[r])}let n=new Map;for(let r=0;r<t.length;++r){let o=s(t[r]).parent.setid;if(!n.has(o))n.set(o,[]);n.get(o).push(t[r])}return t.forEach((r)=>{delete r.parent}),Array.from(n.values())}function Rt(t){let s=(i)=>{let n=t.reduce((o,a)=>Math.max(o,a[i]+a.radius),Number.NEGATIVE_INFINITY),r=t.reduce((o,a)=>Math.min(o,a[i]-a.radius),Number.POSITIVE_INFINITY);return{max:n,min:r}};return{xRange:s("x"),yRange:s("y")}}function Jt(t,s,i){if(s==null)s=Math.PI/2;let n=te(t).map((h)=>Object.assign({},h)),r=Se(n);for(let h of r){Me(h,s,i);let l=Rt(h);h.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),h.bounds=l}r.sort((h,l)=>l.size-h.size),n=r[0];let o=n.bounds,a=(o.xRange.max-o.xRange.min)/50;function c(h,l,M){if(!h)return;let y=h.bounds,z,w;if(l)z=o.xRange.max-y.xRange.min+a;else{z=o.xRange.max-y.xRange.max;let j=(y.xRange.max-y.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;if(j<0)z+=j}if(M)w=o.yRange.max-y.yRange.min+a;else{w=o.yRange.max-y.yRange.max;let j=(y.yRange.max-y.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;if(j<0)w+=j}for(let j of h)j.x+=z,j.y+=w,n.push(j)}let g=1;while(g<r.length)c(r[g],!0,!1),c(r[g+1],!1,!0),c(r[g+2],!0,!0),g+=3,o=Rt(n);return $t(n)}function Qt(t,s,i,n,r){let o=te(t);s-=2*n,i-=2*n;let{xRange:a,yRange:c}=Rt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),t;let g,h;if(r){let z=Math.sqrt(r/Math.PI)*2;g=s/z,h=i/z}else g=s/(a.max-a.min),h=i/(c.max-c.min);let l=Math.min(h,g),M=(s-(a.max-a.min)*l)/2,y=(i-(c.max-c.min)*l)/2;return $t(o.map((z)=>({radius:l*z.radius,x:n+M+(z.x-a.min)*l,y:n+y+(z.y-c.min)*l,setid:z.setid})))}function $t(t){let s={};for(let i of t)s[i.setid]=i;return s}function te(t){return Object.keys(t).map((i)=>Object.assign(t[i],{setid:i}))}function ee(t={}){let s=!1,i=600,n=350,r=15,o=1000,a=Math.PI/2,c=!0,g=null,h=!0,l=!0,M=null,y=null,z=!1,w=null,j=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,G={},P=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],F=0,v=function(k){if(k in G)return G[k];var x=G[k]=P[F];if(F+=1,F>=P.length)F=0;return x},_=Yt,R=bt;function f(k){let x=k.datum(),H=new Set;x.forEach((N)=>{if(N.size==0&&N.sets.length==1)H.add(N.sets[0])}),x=x.filter((N)=>!N.sets.some((Q)=>H.has(Q)));let O={},X={};if(x.length>0){let N=_(x,{lossFunction:R,distinct:z});if(c)N=Jt(N,a,y);O=Qt(N,i,n,r,g),X=se(O,x,j)}let lt={};x.forEach((N)=>{if(N.label)lt[N.sets]=N.label});function st(N){if(N.sets in lt)return lt[N.sets];if(N.sets.length==1)return""+N.sets[0]}k.selectAll("svg").data([O]).enter().append("svg");let J=k.select("svg");if(s)J.attr("viewBox",`0 0 ${i} ${n}`);else J.attr("width",i).attr("height",n);let K={},Z=!1;J.selectAll(".venn-area path").each(function(N){let Q=this.getAttribute("d");if(N.sets.length==1&&Q&&!z)Z=!0,K[N.sets[0]]=Ee(Q)});function q(N){return(Q)=>{let pt=N.sets.map((gt)=>{let dt=K[gt],ot=O[gt];if(!dt)dt={x:i/2,y:n/2,radius:1};if(!ot)ot={x:i/2,y:n/2,radius:1};return{x:dt.x*(1-Q)+ot.x*Q,y:dt.y*(1-Q)+ot.y*Q,radius:dt.radius*(1-Q)+ot.radius*Q}});return Gt(pt,w)}}let tt=J.selectAll(".venn-area").data(x,(N)=>N.sets),it=tt.enter().append("g").attr("class",(N)=>`venn-area venn-${N.sets.length==1?"circle":"intersection"}${N.colour||N.color?" venn-coloured":""}`).attr("data-venn-sets",(N)=>N.sets.join("_")),et=it.append("path"),ct=it.append("text").attr("class","label").text((N)=>st(N)).attr("text-anchor","middle").attr("dy",".35em").attr("x",i/2).attr("y",n/2);if(l)et.style("fill-opacity","0").filter((N)=>N.sets.length==1).style("fill",(N)=>N.colour?N.colour:N.color?N.color:v(N.sets)).style("fill-opacity",".25"),ct.style("fill",(N)=>{if(N.colour||N.color)return"#FFF";if(t.textFill)return t.textFill;return N.sets.length==1?v(N.sets):"#444"});function rt(N){if(typeof N.transition==="function")return N.transition("venn").duration(o);return N}let nt=k;if(Z&&typeof nt.transition==="function")nt=rt(k),nt.selectAll("path").attrTween("d",q);else nt.selectAll("path").attr("d",(N)=>Gt(N.sets.map((Q)=>O[Q])),w);let W=nt.selectAll("text").filter((N)=>(N.sets in X)).text((N)=>st(N)).attr("x",(N)=>Math.floor(X[N.sets].x)).attr("y",(N)=>Math.floor(X[N.sets].y));if(h)if(Z)if("on"in W)W.on("end",_t(O,st));else W.each("end",_t(O,st));else W.each(_t(O,st));let ht=rt(tt.exit()).remove();if(typeof tt.transition==="function")ht.selectAll("path").attrTween("d",q);let ft=ht.selectAll("text").attr("x",i/2).attr("y",n/2);if(M!==null)ct.style("font-size","0px"),W.style("font-size",M),ft.style("font-size","0px");return{circles:O,textCentres:X,nodes:tt,enter:it,update:nt,exit:ht}}return f.wrap=function(k){if(!arguments.length)return h;return h=k,f},f.useViewBox=function(){return s=!0,f},f.width=function(k){if(!arguments.length)return i;return i=k,f},f.height=function(k){if(!arguments.length)return n;return n=k,f},f.padding=function(k){if(!arguments.length)return r;return r=k,f},f.distinct=function(k){if(!arguments.length)return z;return z=k,f},f.colours=function(k){if(!arguments.length)return v;return v=k,f},f.colors=function(k){if(!arguments.length)return v;return v=k,f},f.fontSize=function(k){if(!arguments.length)return M;return M=k,f},f.round=function(k){if(!arguments.length)return w;return w=k,f},f.duration=function(k){if(!arguments.length)return o;return o=k,f},f.layoutFunction=function(k){if(!arguments.length)return _;return _=k,f},f.normalize=function(k){if(!arguments.length)return c;return c=k,f},f.scaleToFit=function(k){if(!arguments.length)return g;return g=k,f},f.styled=function(k){if(!arguments.length)return l;return l=k,f},f.orientation=function(k){if(!arguments.length)return a;return a=k,f},f.orientationOrder=function(k){if(!arguments.length)return y;return y=k,f},f.lossFunction=function(k){if(!arguments.length)return R;return R=k==="default"?bt:k==="logRatio"?Zt:k,f},f}function _t(t,s){return function(i){let n=this,r=t[i.sets[0]].radius||50,o=s(i)||"",a=o.split(/\s+/).reverse(),c=3,g=(o.length+a.length)/3,h=a.pop(),l=[h],M=0,y=1.1;n.textContent=null;let z=[];function w(v){let _=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return _.textContent=v,z.push(_),n.append(_),_}let j=w(h);while(!0){if(h=a.pop(),!h)break;l.push(h);let v=l.join(" ");if(j.textContent=v,v.length>g&&j.getComputedTextLength()>r)l.pop(),j.textContent=l.join(" "),l=[h],j=w(h),M++}let G=0.35-M*y/2,P=n.getAttribute("x"),F=n.getAttribute("y");z.forEach((v,_)=>{v.setAttribute("x",P),v.setAttribute("y",F),v.setAttribute("dy",`${G+_*y}em`)})}}function Et(t,s,i){let n=s[0].radius-at(s[0],t);for(let r=1;r<s.length;++r){let o=s[r].radius-at(s[r],t);if(o<=n)n=o}for(let r=0;r<i.length;++r){let o=at(i[r],t)-i[r].radius;if(o<=n)n=o}return n}function ne(t,s,i){let n=[];for(let l of t)n.push({x:l.x,y:l.y}),n.push({x:l.x+l.radius/2,y:l.y}),n.push({x:l.x-l.radius/2,y:l.y}),n.push({x:l.x,y:l.y+l.radius/2}),n.push({x:l.x,y:l.y-l.radius/2});let r=n[0],o=Et(n[0],t,s);for(let l=1;l<n.length;++l){let M=Et(n[l],t,s);if(M>=o)r=n[l],o=M}let a=Ht((l)=>-1*Et({x:l[0],y:l[1]},t,s),[r.x,r.y],{maxIterations:500,minErrorDelta:0.0000000001}).x,c={x:i?0:a[0],y:a[1]},g=!0;for(let l of t)if(at(c,l)>l.radius){g=!1;break}for(let l of s)if(at(c,l)<l.radius){g=!1;break}if(g)return c;if(t.length==1)return{x:t[0].x,y:t[0].y};let h={};if(It(t,h),h.arcs.length===0)return{x:0,y:-1000,disjoint:!0};if(h.arcs.length==1)return{x:h.arcs[0].circle.x,y:h.arcs[0].circle.y};if(s.length)return ne(t,[]);return Kt(h.arcs.map((l)=>l.p1))}function we(t){let s={},i=Object.keys(t);for(let n of i)s[n]=[];for(let n=0;n<i.length;n++){let r=i[n],o=t[r];for(let a=n+1;a<i.length;++a){let c=i[a],g=t[c],h=at(o,g);if(h+g.radius<=o.radius+0.0000000001)s[c].push(r);else if(h+o.radius<=g.radius+0.0000000001)s[r].push(c)}}return s}function se(t,s,i){let n={},r=we(t);for(let o=0;o<s.length;++o){let a=s[o].sets,c={},g={};for(let y=0;y<a.length;++y){c[a[y]]=!0;let z=r[a[y]];for(let w=0;w<z.length;++w)g[z[w]]=!0}let h=[],l=[];for(let y in t)if(y in c)h.push(t[y]);else if(!(y in g))l.push(t[y]);let M=ne(h,l,i);if(n[a]=M,M.disjoint&&s[o].size>0)console.log("WARNING: area "+a+" not represented on screen")}return n}function _e(t,s,i){let n=[];return n.push(`
2
2
  M`,t,s),n.push(`
3
3
  m`,-i,0),n.push(`
4
4
  a`,i,i,0,1,0,i*2,0),n.push(`
5
5
  a`,i,i,0,1,0,-i*2,0),n.join(" ")}function Ee(t){let s=t.split(" ");return{x:Number.parseFloat(s[1]),y:Number.parseFloat(s[2]),radius:-Number.parseFloat(s[4])}}function ie(t){if(t.length===0)return[];let s={};return It(t,s),s.arcs}function re(t,s){if(t.length===0)return"M 0 0";let i=Math.pow(10,s||0),n=s!=null?(o)=>Math.round(o*i)/i:(o)=>o;if(t.length==1){let o=t[0].circle;return _e(n(o.x),n(o.y),n(o.radius))}let r=[`
6
6
  M`,n(t[0].p2.x),n(t[0].p2.y)];for(let o of t){let a=n(o.circle.radius);r.push(`
7
- A`,a,a,0,o.large?1:0,o.sweep?1:0,n(o.p1.x),n(o.p1.y))}return r.join(" ")}function Gt(t,s){return re(ie(t),s)}function oe(t,s={}){let{lossFunction:i,layoutFunction:n=Yt,normalize:r=!0,orientation:o=Math.PI/2,orientationOrder:a,width:c=600,height:g=350,padding:h=15,scaleToFit:l=!1,symmetricalTextCentre:M=!1,distinct:y,round:z=2}=s,w=n(t,{lossFunction:i==="default"||!i?bt:i==="logRatio"?Zt:i,distinct:y});if(r)w=Jt(w,o,a);let j=Qt(w,c,g,h,l),G=se(j,t,M),P=new Map(Object.keys(j).map((_)=>[_,{set:_,x:j[_].x,y:j[_].y,radius:j[_].radius}])),F=t.map((_)=>{let R=_.sets.map((x)=>P.get(x)),f=ie(R),k=re(f,z);return{circles:R,arcs:f,path:k,area:_,has:new Set(_.sets)}});function v(_){let R="";for(let f of F)if(f.has.size>_.length&&_.every((k)=>f.has.has(k)))R+=" "+f.path;return R}return F.map(({circles:_,arcs:R,path:f,area:k})=>({data:k,text:G[k.sets],circles:_,arcs:R,path:f,distinctPath:f+v(k.sets)}))}var Ot=function(){var t=e(function(F,v,_,R){for(_=_||{},R=F.length;R--;_[F[R]]=v);return _},"o"),s=[5,8],i=[7,8,11,12,17,19,22,24],n=[1,17],r=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],a=[1,31],c=[1,39],g=[7,8,11,12,17,19,22,24,27],h=[1,57],l=[1,56],M=[1,58],y=[1,59],z=[1,60],w=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],j={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:e(function(v,_,R,f,k,x,H){var O=x.length-1;switch(k){case 1:return x[O-1];case 2:case 3:case 4:this.$=[];break;case 5:x[O-1].push(x[O]),this.$=x[O-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=x[O];break;case 8:f.setDiagramTitle(x[O].substr(6)),this.$=x[O].substr(6);break;case 9:if(f.addSubsetData([x[O]],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 10:if(f.addSubsetData([x[O-1]],x[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 11:if(f.addSubsetData([x[O-2]],void 0,parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 12:if(f.addSubsetData([x[O-3]],x[O-2],parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 13:if(x[O].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O]);if(f.addSubsetData(x[O],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 14:if(x[O-1].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O-1]);if(f.addSubsetData(x[O-1],x[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 15:if(x[O-2].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O-2]);if(f.addSubsetData(x[O-2],void 0,parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 16:if(x[O-3].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O-3]);if(f.addSubsetData(x[O-3],x[O-2],parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 17:case 18:case 19:f.addTextData(x[O-1],x[O],void 0);break;case 20:case 21:f.addTextData(x[O-2],x[O-1],x[O]);break;case 23:f.addStyleData(x[O-1],x[O]);break;case 24:case 25:case 26:var X=f.getCurrentSets();if(!X)throw Error("text requires set");f.addTextData(X,x[O],void 0);break;case 27:case 28:var X=f.getCurrentSets();if(!X)throw Error("text requires set");f.addTextData(X,x[O-1],x[O]);break;case 29:case 41:this.$=[x[O]];break;case 30:case 42:this.$=[...x[O-2],x[O]];break;case 31:this.$=[x[O-2],x[O]];break;case 33:this.$=x[O].join(" ");break;case 34:this.$=[x[O]];break;case 35:x[O-1].push(x[O]),this.$=x[O-1];break;case 43:case 44:this.$=x[O];break}},"anonymous"),table:[t(s,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(i,[2,4],{6:5}),t(s,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(i,[2,5]),t(i,[2,6]),t(i,[2,7]),t(i,[2,8]),{13:16,20:n,21:r},{13:20,18:19,20:n,21:r},{13:20,18:21,20:n,21:r},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:r},t(i,[2,9],{14:[1,27],15:[1,28]}),t(o,[2,43]),t(o,[2,44]),t(i,[2,13],{14:[1,29],15:[1,30],27:a}),t(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:a},t(i,[2,22]),t(i,[2,24],{14:[1,35]}),t(i,[2,25],{14:[1,36]}),t(i,[2,26]),{20:c,25:37,26:38,27:a},t(i,[2,10],{15:[1,40]}),{16:[1,41]},t(i,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:r},t(i,[2,17],{14:[1,45]}),t(i,[2,18],{14:[1,46]}),t(i,[2,19]),t(i,[2,27]),t(i,[2,28]),t(i,[2,23],{27:[1,47]}),t(g,[2,29]),{15:[1,48]},{16:[1,49]},t(i,[2,11]),{16:[1,50]},t(i,[2,15]),t(o,[2,42]),t(i,[2,20]),t(i,[2,21]),{20:c,26:51},{16:h,20:l,21:[1,53],28:52,29:54,30:55,31:M,32:y,33:z},t(i,[2,12]),t(i,[2,16]),t(g,[2,30]),t(g,[2,31]),t(g,[2,32]),t(g,[2,33],{30:61,16:h,20:l,31:M,32:y,33:z}),t(w,[2,34]),t(w,[2,36]),t(w,[2,37]),t(w,[2,38]),t(w,[2,39]),t(w,[2,40]),t(w,[2,35])],defaultActions:{6:[2,1]},parseError:e(function(v,_){if(_.recoverable)this.trace(v);else{var R=Error(v);throw R.hash=_,R}},"parseError"),parse:e(function(v){var _=this,R=[0],f=[],k=[null],x=[],H=this.table,O="",X=0,lt=0,st=0,J=2,K=1,Z=x.slice.call(arguments,1),V=Object.create(this.lexer),tt={yy:{}};for(var it in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,it))tt.yy[it]=this.yy[it];if(V.setInput(v,tt.yy),tt.yy.lexer=V,tt.yy.parser=this,typeof V.yylloc>"u")V.yylloc={};var et=V.yylloc;x.push(et);var ct=V.options&&V.options.ranges;if(typeof tt.yy.parseError==="function")this.parseError=tt.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function rt(ut){R.length=R.length-2*ut,k.length=k.length-ut,x.length=x.length-ut}e(rt,"popStack");function nt(){var ut=f.pop()||V.lex()||K;if(typeof ut!=="number"){if(ut instanceof Array)f=ut,ut=f.pop();ut=_.symbols_[ut]||ut}return ut}e(nt,"lex");var W,ht,ft,N,Q,pt,gt={},dt,ot,qt,kt;while(!0){if(ft=R[R.length-1],this.defaultActions[ft])N=this.defaultActions[ft];else{if(W===null||typeof W>"u")W=nt();N=H[ft]&&H[ft][W]}if(typeof N>"u"||!N.length||!N[0]){var St="";kt=[];for(dt in H[ft])if(this.terminals_[dt]&&dt>J)kt.push("'"+this.terminals_[dt]+"'");if(V.showPosition)St="Parse error on line "+(X+1)+`:
8
- `+V.showPosition()+`
9
- Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse error on line "+(X+1)+": Unexpected "+(W==K?"end of input":"'"+(this.terminals_[W]||W)+"'");this.parseError(St,{text:V.match,token:this.terminals_[W]||W,line:V.yylineno,loc:et,expected:kt})}if(N[0]instanceof Array&&N.length>1)throw Error("Parse Error: multiple actions possible at state: "+ft+", token: "+W);switch(N[0]){case 1:if(R.push(W),k.push(V.yytext),x.push(V.yylloc),R.push(N[1]),W=null,!ht){if(lt=V.yyleng,O=V.yytext,X=V.yylineno,et=V.yylloc,st>0)st--}else W=ht,ht=null;break;case 2:if(ot=this.productions_[N[1]][1],gt.$=k[k.length-ot],gt._$={first_line:x[x.length-(ot||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ot||1)].first_column,last_column:x[x.length-1].last_column},ct)gt._$.range=[x[x.length-(ot||1)].range[0],x[x.length-1].range[1]];if(pt=this.performAction.apply(gt,[O,lt,X,tt.yy,N[1],k,x].concat(Z)),typeof pt<"u")return pt;if(ot)R=R.slice(0,-1*ot*2),k=k.slice(0,-1*ot),x=x.slice(0,-1*ot);R.push(this.productions_[N[1]][0]),k.push(gt.$),x.push(gt._$),qt=H[R[R.length-2]][R[R.length-1]],R.push(qt);break;case 3:return!0}}return!0},"parse")},G=function(){var F={EOF:1,parseError:e(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw Error(_)},"parseError"),setInput:e(function(v,_){if(this.yy=_||this.yy||{},this._input=v,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:e(function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var _=v.match(/(?:\r\n?|\n).*/g);if(_)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),v},"input"),unput:e(function(v){var _=v.length,R=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var f=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1)this.yylineno-=R.length-1;var k=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===f.length?this.yylloc.first_column:0)+f[f.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges)this.yylloc.range=[k[0],k[0]+this.yyleng-_];return this.yyleng=this.yytext.length,this},"unput"),more:e(function(){return this._more=!0,this},"more"),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
7
+ A`,a,a,0,o.large?1:0,o.sweep?1:0,n(o.p1.x),n(o.p1.y))}return r.join(" ")}function Gt(t,s){return re(ie(t),s)}function oe(t,s={}){let{lossFunction:i,layoutFunction:n=Yt,normalize:r=!0,orientation:o=Math.PI/2,orientationOrder:a,width:c=600,height:g=350,padding:h=15,scaleToFit:l=!1,symmetricalTextCentre:M=!1,distinct:y,round:z=2}=s,w=n(t,{lossFunction:i==="default"||!i?bt:i==="logRatio"?Zt:i,distinct:y});if(r)w=Jt(w,o,a);let j=Qt(w,c,g,h,l),G=se(j,t,M),P=new Map(Object.keys(j).map((_)=>[_,{set:_,x:j[_].x,y:j[_].y,radius:j[_].radius}])),F=t.map((_)=>{let R=_.sets.map((x)=>P.get(x)),f=ie(R),k=re(f,z);return{circles:R,arcs:f,path:k,area:_,has:new Set(_.sets)}});function v(_){let R="";for(let f of F)if(f.has.size>_.length&&_.every((k)=>f.has.has(k)))R+=" "+f.path;return R}return F.map(({circles:_,arcs:R,path:f,area:k})=>({data:k,text:G[k.sets],circles:_,arcs:R,path:f,distinctPath:f+v(k.sets)}))}var Ot=function(){var t=e(function(F,v,_,R){for(_=_||{},R=F.length;R--;_[F[R]]=v);return _},"o"),s=[5,8],i=[7,8,11,12,17,19,22,24],n=[1,17],r=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],a=[1,31],c=[1,39],g=[7,8,11,12,17,19,22,24,27],h=[1,57],l=[1,56],M=[1,58],y=[1,59],z=[1,60],w=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],j={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:e(function(v,_,R,f,k,x,H){var O=x.length-1;switch(k){case 1:return x[O-1];case 2:case 3:case 4:this.$=[];break;case 5:x[O-1].push(x[O]),this.$=x[O-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=x[O];break;case 8:f.setDiagramTitle(x[O].substr(6)),this.$=x[O].substr(6);break;case 9:if(f.addSubsetData([x[O]],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 10:if(f.addSubsetData([x[O-1]],x[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 11:if(f.addSubsetData([x[O-2]],void 0,parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 12:if(f.addSubsetData([x[O-3]],x[O-2],parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 13:if(x[O].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O]);if(f.addSubsetData(x[O],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 14:if(x[O-1].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O-1]);if(f.addSubsetData(x[O-1],x[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 15:if(x[O-2].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O-2]);if(f.addSubsetData(x[O-2],void 0,parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 16:if(x[O-3].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(x[O-3]);if(f.addSubsetData(x[O-3],x[O-2],parseFloat(x[O])),f.setIndentMode)f.setIndentMode(!0);break;case 17:case 18:case 19:f.addTextData(x[O-1],x[O],void 0);break;case 20:case 21:f.addTextData(x[O-2],x[O-1],x[O]);break;case 23:f.addStyleData(x[O-1],x[O]);break;case 24:case 25:case 26:var X=f.getCurrentSets();if(!X)throw Error("text requires set");f.addTextData(X,x[O],void 0);break;case 27:case 28:var X=f.getCurrentSets();if(!X)throw Error("text requires set");f.addTextData(X,x[O-1],x[O]);break;case 29:case 41:this.$=[x[O]];break;case 30:case 42:this.$=[...x[O-2],x[O]];break;case 31:this.$=[x[O-2],x[O]];break;case 33:this.$=x[O].join(" ");break;case 34:this.$=[x[O]];break;case 35:x[O-1].push(x[O]),this.$=x[O-1];break;case 43:case 44:this.$=x[O];break}},"anonymous"),table:[t(s,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(i,[2,4],{6:5}),t(s,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(i,[2,5]),t(i,[2,6]),t(i,[2,7]),t(i,[2,8]),{13:16,20:n,21:r},{13:20,18:19,20:n,21:r},{13:20,18:21,20:n,21:r},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:r},t(i,[2,9],{14:[1,27],15:[1,28]}),t(o,[2,43]),t(o,[2,44]),t(i,[2,13],{14:[1,29],15:[1,30],27:a}),t(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:a},t(i,[2,22]),t(i,[2,24],{14:[1,35]}),t(i,[2,25],{14:[1,36]}),t(i,[2,26]),{20:c,25:37,26:38,27:a},t(i,[2,10],{15:[1,40]}),{16:[1,41]},t(i,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:r},t(i,[2,17],{14:[1,45]}),t(i,[2,18],{14:[1,46]}),t(i,[2,19]),t(i,[2,27]),t(i,[2,28]),t(i,[2,23],{27:[1,47]}),t(g,[2,29]),{15:[1,48]},{16:[1,49]},t(i,[2,11]),{16:[1,50]},t(i,[2,15]),t(o,[2,42]),t(i,[2,20]),t(i,[2,21]),{20:c,26:51},{16:h,20:l,21:[1,53],28:52,29:54,30:55,31:M,32:y,33:z},t(i,[2,12]),t(i,[2,16]),t(g,[2,30]),t(g,[2,31]),t(g,[2,32]),t(g,[2,33],{30:61,16:h,20:l,31:M,32:y,33:z}),t(w,[2,34]),t(w,[2,36]),t(w,[2,37]),t(w,[2,38]),t(w,[2,39]),t(w,[2,40]),t(w,[2,35])],defaultActions:{6:[2,1]},parseError:e(function(v,_){if(_.recoverable)this.trace(v);else{var R=Error(v);throw R.hash=_,R}},"parseError"),parse:e(function(v){var _=this,R=[0],f=[],k=[null],x=[],H=this.table,O="",X=0,lt=0,st=0,J=2,K=1,Z=x.slice.call(arguments,1),q=Object.create(this.lexer),tt={yy:{}};for(var it in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,it))tt.yy[it]=this.yy[it];if(q.setInput(v,tt.yy),tt.yy.lexer=q,tt.yy.parser=this,typeof q.yylloc>"u")q.yylloc={};var et=q.yylloc;x.push(et);var ct=q.options&&q.options.ranges;if(typeof tt.yy.parseError==="function")this.parseError=tt.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function rt(ut){R.length=R.length-2*ut,k.length=k.length-ut,x.length=x.length-ut}e(rt,"popStack");function nt(){var ut=f.pop()||q.lex()||K;if(typeof ut!=="number"){if(ut instanceof Array)f=ut,ut=f.pop();ut=_.symbols_[ut]||ut}return ut}e(nt,"lex");var W,ht,ft,N,Q,pt,gt={},dt,ot,qt,kt;while(!0){if(ft=R[R.length-1],this.defaultActions[ft])N=this.defaultActions[ft];else{if(W===null||typeof W>"u")W=nt();N=H[ft]&&H[ft][W]}if(typeof N>"u"||!N.length||!N[0]){var St="";kt=[];for(dt in H[ft])if(this.terminals_[dt]&&dt>J)kt.push("'"+this.terminals_[dt]+"'");if(q.showPosition)St="Parse error on line "+(X+1)+`:
8
+ `+q.showPosition()+`
9
+ Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse error on line "+(X+1)+": Unexpected "+(W==K?"end of input":"'"+(this.terminals_[W]||W)+"'");this.parseError(St,{text:q.match,token:this.terminals_[W]||W,line:q.yylineno,loc:et,expected:kt})}if(N[0]instanceof Array&&N.length>1)throw Error("Parse Error: multiple actions possible at state: "+ft+", token: "+W);switch(N[0]){case 1:if(R.push(W),k.push(q.yytext),x.push(q.yylloc),R.push(N[1]),W=null,!ht){if(lt=q.yyleng,O=q.yytext,X=q.yylineno,et=q.yylloc,st>0)st--}else W=ht,ht=null;break;case 2:if(ot=this.productions_[N[1]][1],gt.$=k[k.length-ot],gt._$={first_line:x[x.length-(ot||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ot||1)].first_column,last_column:x[x.length-1].last_column},ct)gt._$.range=[x[x.length-(ot||1)].range[0],x[x.length-1].range[1]];if(pt=this.performAction.apply(gt,[O,lt,X,tt.yy,N[1],k,x].concat(Z)),typeof pt<"u")return pt;if(ot)R=R.slice(0,-1*ot*2),k=k.slice(0,-1*ot),x=x.slice(0,-1*ot);R.push(this.productions_[N[1]][0]),k.push(gt.$),x.push(gt._$),qt=H[R[R.length-2]][R[R.length-1]],R.push(qt);break;case 3:return!0}}return!0},"parse")},G=function(){var F={EOF:1,parseError:e(function(_,R){if(this.yy.parser)this.yy.parser.parseError(_,R);else throw Error(_)},"parseError"),setInput:e(function(v,_){if(this.yy=_||this.yy||{},this._input=v,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:e(function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var _=v.match(/(?:\r\n?|\n).*/g);if(_)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),v},"input"),unput:e(function(v){var _=v.length,R=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var f=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1)this.yylineno-=R.length-1;var k=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===f.length?this.yylloc.first_column:0)+f[f.length-R.length].length-R[0].length:this.yylloc.first_column-_},this.options.ranges)this.yylloc.range=[k[0],k[0]+this.yyleng-_];return this.yyleng=this.yytext.length,this},"unput"),more:e(function(){return this._more=!0,this},"more"),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
10
10
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:e(function(v){this.unput(this.match.slice(v))},"less"),pastInput:e(function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var v=this.match;if(v.length<20)v+=this._input.substr(0,20-v.length);return(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var v=this.pastInput(),_=Array(v.length+1).join("-");return v+this.upcomingInput()+`
11
11
  `+_+"^"},"showPosition"),test_match:e(function(v,_){var R,f,k;if(this.options.backtrack_lexer){if(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)k.yylloc.range=this.yylloc.range.slice(0)}if(f=v[0].match(/(?:\r\n?|\n).*/g),f)this.yylineno+=f.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:f?f[f.length-1].length-f[f.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+v[0].length},this.yytext+=v[0],this.match+=v[0],this.matches=v,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(v[0].length),this.matched+=v[0],R=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(R)return R;else if(this._backtrack){for(var x in k)this[x]=k[x];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var v,_,R,f;if(!this._more)this.yytext="",this.match="";var k=this._currentRules();for(var x=0;x<k.length;x++)if(R=this._input.match(this.rules[k[x]]),R&&(!_||R[0].length>_[0].length)){if(_=R,f=x,this.options.backtrack_lexer)if(v=this.test_match(R,k[x]),v!==!1)return v;else if(this._backtrack){_=!1;continue}else return!1;else if(!this.options.flex)break}if(_){if(v=this.test_match(_,k[f]),v!==!1)return v;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
12
12
  `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:e(function(){var _=this.next();if(_)return _;else return this.lex()},"lex"),begin:e(function(_){this.conditionStack.push(_)},"begin"),popState:e(function(){var _=this.conditionStack.length-1;if(_>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:e(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:e(function(_){if(_=this.conditionStack.length-1-Math.abs(_||0),_>=0)return this.conditionStack[_];else return"INITIAL"},"topState"),pushState:e(function(_){this.begin(_)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(_,R,f,k){var x=k;switch(f){case 0:break;case 1:break;case 2:break;case 3:if(_.getIndentMode&&_.getIndentMode())return _.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:if(_.setIndentMode)_.setIndentMode(!1);this.begin("INITIAL"),this.unput(R.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(_.consumeIndentText)_.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return R.yytext=R.yytext.slice(2,-2),14;break;case 17:return R.yytext=R.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return F}();j.lexer=G;function P(){this.yy={}}return e(P,"Parser"),P.prototype=j,j.Parser=P,new P}();Ot.parser=Ot;var ze=Ot,Lt=[],jt=[],Ft=[],Pt=new Set,Vt,Bt=!1,Ae=e((t,s,i)=>{let n=Mt(t).sort(),r=i??10/Math.pow(t.length,2);if(Vt=n,n.length===1)Pt.add(n[0]);Lt.push({sets:n,size:r,label:s?vt(s):void 0})},"addSubsetData"),Ce=e(()=>Lt,"getSubsetData"),vt=e((t)=>{let s=t.trim();if(s.length>=2&&s.startsWith('"')&&s.endsWith('"'))return s.slice(1,-1);return s},"normalizeText"),De=e((t)=>t?vt(t):t,"normalizeStyleValue"),Re=e((t,s,i)=>{let n=vt(s);jt.push({sets:Mt(t).sort(),id:n,label:i?vt(i):void 0})},"addTextData"),Ne=e((t,s)=>{let i=Mt(t).sort(),n={};for(let[r,o]of s)n[r]=De(o)??o;Ft.push({targets:i,styles:n})},"addStyleData"),Oe=e(()=>Ft,"getStyleData"),Mt=e((t)=>t.map((s)=>vt(s)),"normalizeIdentifierList"),Le=e((t)=>{let i=Mt(t).filter((n)=>!Pt.has(n));if(i.length>0)throw Error(`unknown set identifier: ${i.join(", ")}`)},"validateUnionIdentifiers"),je=e(()=>jt,"getTextData"),Fe=e(()=>Vt,"getCurrentSets"),Pe=e(()=>Bt,"getIndentMode"),Ve=e((t)=>{Bt=t},"setIndentMode"),Be=D.venn;function ae(){return U(Be,b().venn)}e(ae,"getConfig");var qe=e(()=>{C(),Lt.length=0,jt.length=0,Ft.length=0,Pt.clear(),Vt=void 0,Bt=!1},"customClear"),Ue={getConfig:ae,clear:qe,setAccTitle:S,getAccTitle:E,setDiagramTitle:I,getDiagramTitle:L,getAccDescription:A,setAccDescription:T,addSubsetData:Ae,getSubsetData:Ce,addTextData:Re,addStyleData:Ne,validateUnionIdentifiers:Le,getTextData:je,getStyleData:Oe,getCurrentSets:Fe,getIndentMode:Pe,setIndentMode:Ve},Ge=e((t)=>`
@@ -31,4 +31,4 @@ Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse e
31
31
  font-family: ${t.fontFamily};
32
32
  color: ${t.vennSetTextColor};
33
33
  }
34
- `,"getStyles"),We=Ge;function le(t){let s=new Map;for(let i of t){let n=i.targets.join("|"),r=s.get(n);if(r)Object.assign(r,i.styles);else s.set(n,{...i.styles})}return s}e(le,"buildStyleByKey");var Ke=e((t,s,i,n)=>{let r=n.db,o=r.getConfig?.(),{themeVariables:a,look:c,handDrawnSeed:g}=b(),h=c==="handDrawn",l=[a.venn1,a.venn2,a.venn3,a.venn4,a.venn5,a.venn6,a.venn7,a.venn8].filter(Boolean),M=r.getDiagramTitle?.(),y=r.getSubsetData(),z=r.getTextData(),w=le(r.getStyleData()),j=ue(y),G=o?.width??800,P=o?.height??450,F=1600,v=G/1600,_=M?48*v:0,R=a.primaryTextColor??a.textColor,f=q(s);if(f.attr("viewBox",`0 0 ${G} ${P}`),M)f.append("text").text(M).attr("class","venn-title").attr("font-size",`${32*v}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*v).style("fill",a.vennTitleTextColor||a.titleColor);let k=p(document.createElement("div")),x=ee().width(G).height(P-_);k.datum(j).call(x);let H=h?m.svg(k.select("svg").node()):void 0,O=oe(j,{width:G,height:P-_,padding:o?.padding??15}),X=new Map;for(let K of O){let Z=yt([...K.data.sets].sort());X.set(Z,K)}if(z.length>0)ce(o,X,k,z,v,w);let lt=Y(a.background||"#f4f4f4");if(k.selectAll(".venn-circle").each(function(K,Z){let V=p(this),it=yt([...K.sets].sort()),et=w.get(it),ct=l.length>0?l[Z%l.length]:void 0,rt=et?.fill||ct||a.primaryColor;V.classed(`venn-set-${Z%8}`,!0);let nt=et?.["fill-opacity"]??0.1,W=et?.stroke||rt,ht=et?.["stroke-width"]||`${5*v}`;if(h&&H){let N=X.get(it);if(N&&N.circles.length>0){let Q=N.circles[0],pt=H.circle(Q.x,Q.y,Q.radius*2,{roughness:0.7,seed:g,fill:wt(rt,0.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+Z*60,stroke:W,strokeWidth:parseFloat(String(ht))});V.select("path").remove(),V.node()?.insertBefore(pt,V.select("text").node())}}else V.select("path").style("fill",rt).style("fill-opacity",nt).style("stroke",W).style("stroke-width",ht).style("stroke-opacity",0.95);let ft=et?.color||(lt?u(rt,30):d(rt,30));V.select("text").style("font-size",`${48*v}px`).style("fill",ft)}),h&&H)k.selectAll(".venn-intersection").each(function(K){let Z=p(this),tt=yt([...K.sets].sort()),it=w.get(tt),et=it?.fill;if(et){let ct=Z.select("path"),rt=ct.attr("d");if(rt){let nt=H.path(rt,{roughness:0.7,seed:g,fill:wt(et,0.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),W=ct.node();W?.parentNode?.insertBefore(nt,W),ct.remove()}}else Z.select("path").style("fill-opacity",0);Z.select("text").style("font-size",`${48*v}px`).style("fill",it?.color??a.vennSetTextColor??R)});else k.selectAll(".venn-intersection text").style("font-size",`${48*v}px`).style("fill",(K)=>{let V=yt([...K.sets].sort());return w.get(V)?.color??a.vennSetTextColor??R}),k.selectAll(".venn-intersection path").style("fill-opacity",(K)=>{let V=yt([...K.sets].sort());return w.get(V)?.fill?1:0}).style("fill",(K)=>{let V=yt([...K.sets].sort());return w.get(V)?.fill??"transparent"});let st=f.append("g").attr("transform",`translate(0, ${_})`),J=k.select("svg").node();if(J&&"childNodes"in J)for(let K of[...J.childNodes])st.node()?.appendChild(K);B(f,P,G,o?.useMaxWidth??!0)},"draw");function yt(t){return t.join("|")}e(yt,"stableSetsKey");function ce(t,s,i,n,r,o){let a=t?.useDebugLayout??!1,g=i.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let l of n){let M=yt(l.sets),y=h.get(M);if(y)y.push(l);else h.set(M,[l])}for(let[l,M]of h.entries()){let y=s.get(l);if(!y?.text)continue;let z=y.text.x,w=y.text.y,j=Math.min(...y.circles.map((J)=>J.radius)),G=Math.min(...y.circles.map((J)=>J.radius-Math.hypot(z-J.x,w-J.y))),P=Number.isFinite(G)?Math.max(0,G):0;if(P===0&&Number.isFinite(j))P=j*0.6;let F=g.append("g").attr("class","venn-text-area").attr("font-size",`${40*r}px`);if(a)F.append("circle").attr("class","venn-text-debug-circle").attr("cx",z).attr("cy",w).attr("r",P).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*r).attr("stroke-dasharray",`${6*r} ${4*r}`);let v=Math.max(80*r,P*2*0.95),_=Math.max(60*r,P*2*0.95),k=(y.data.label&&y.data.label.length>0?Math.min(32*r,P*0.25):0)+(M.length<=2?30*r:0),x=z-v/2,H=w-_/2+k,O=Math.max(1,Math.ceil(Math.sqrt(M.length))),X=Math.max(1,Math.ceil(M.length/O)),lt=v/O,st=_/X;for(let[J,K]of M.entries()){let Z=J%O,V=Math.floor(J/O),tt=x+lt*(Z+0.5),it=H+st*(V+0.5);if(a)F.append("rect").attr("class","venn-text-debug-cell").attr("x",x+lt*Z).attr("y",H+st*V).attr("width",lt).attr("height",st).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*r).attr("stroke-dasharray",`${4*r} ${3*r}`);let et=lt*0.9,ct=st*0.9,rt=F.append("foreignObject").attr("class","venn-text-node-fo").attr("width",et).attr("height",ct).attr("x",tt-et/2).attr("y",it-ct/2).attr("overflow","visible"),nt=o.get(K.id)?.color,W=rt.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(K.label??K.id);if(nt)W.style("color",nt)}}}e(ce,"renderTextNodes");function ue(t){let s=new Set(t.map((r)=>[...r.sets].sort().join("|"))),i=new Map(t.filter((r)=>r.sets.length===1&&r.size!==void 0).map((r)=>[r.sets[0],r.size])),n=[];for(let r of t){if(r.sets.length<3)continue;let o=[...r.sets].sort();for(let a=0;a<o.length-1;a++)for(let c=a+1;c<o.length;c++){let g=[o[a],o[c]],h=g.join("|");if(!s.has(h)){s.add(h);let l=i.get(g[0]),M=i.get(g[1]),y=l!==void 0&&M!==void 0?Math.min(l,M)/4:2.5;n.push({sets:g,size:y,label:""})}}}return n.length>0?[...t,...n]:t}e(ue,"ensurePairwiseSubsets");var He={draw:Ke},rn={parser:ze,db:Ue,renderer:He,styles:We};export{rn as diagram};
34
+ `,"getStyles"),We=Ge;function le(t){let s=new Map;for(let i of t){let n=i.targets.join("|"),r=s.get(n);if(r)Object.assign(r,i.styles);else s.set(n,{...i.styles})}return s}e(le,"buildStyleByKey");var Ke=e((t,s,i,n)=>{let r=n.db,o=r.getConfig?.(),{themeVariables:a,look:c,handDrawnSeed:g}=b(),h=c==="handDrawn",l=[a.venn1,a.venn2,a.venn3,a.venn4,a.venn5,a.venn6,a.venn7,a.venn8].filter(Boolean),M=r.getDiagramTitle?.(),y=r.getSubsetData(),z=r.getTextData(),w=le(r.getStyleData()),j=ue(y),G=o?.width??800,P=o?.height??450,F=1600,v=G/1600,_=M?48*v:0,R=a.primaryTextColor??a.textColor,f=V(s);if(f.attr("viewBox",`0 0 ${G} ${P}`),M)f.append("text").text(M).attr("class","venn-title").attr("font-size",`${32*v}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*v).style("fill",a.vennTitleTextColor||a.titleColor);let k=p(document.createElement("div")),x=ee().width(G).height(P-_);k.datum(j).call(x);let H=h?m.svg(k.select("svg").node()):void 0,O=oe(j,{width:G,height:P-_,padding:o?.padding??15}),X=new Map;for(let K of O){let Z=yt([...K.data.sets].sort());X.set(Z,K)}if(z.length>0)ce(o,X,k,z,v,w);let lt=Y(a.background||"#f4f4f4");if(k.selectAll(".venn-circle").each(function(K,Z){let q=p(this),it=yt([...K.sets].sort()),et=w.get(it),ct=l.length>0?l[Z%l.length]:void 0,rt=et?.fill||ct||a.primaryColor;q.classed(`venn-set-${Z%8}`,!0);let nt=et?.["fill-opacity"]??0.1,W=et?.stroke||rt,ht=et?.["stroke-width"]||`${5*v}`;if(h&&H){let N=X.get(it);if(N&&N.circles.length>0){let Q=N.circles[0],pt=H.circle(Q.x,Q.y,Q.radius*2,{roughness:0.7,seed:g,fill:wt(rt,0.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+Z*60,stroke:W,strokeWidth:parseFloat(String(ht))});q.select("path").remove(),q.node()?.insertBefore(pt,q.select("text").node())}}else q.select("path").style("fill",rt).style("fill-opacity",nt).style("stroke",W).style("stroke-width",ht).style("stroke-opacity",0.95);let ft=et?.color||(lt?u(rt,30):d(rt,30));q.select("text").style("font-size",`${48*v}px`).style("fill",ft)}),h&&H)k.selectAll(".venn-intersection").each(function(K){let Z=p(this),tt=yt([...K.sets].sort()),it=w.get(tt),et=it?.fill;if(et){let ct=Z.select("path"),rt=ct.attr("d");if(rt){let nt=H.path(rt,{roughness:0.7,seed:g,fill:wt(et,0.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),W=ct.node();W?.parentNode?.insertBefore(nt,W),ct.remove()}}else Z.select("path").style("fill-opacity",0);Z.select("text").style("font-size",`${48*v}px`).style("fill",it?.color??a.vennSetTextColor??R)});else k.selectAll(".venn-intersection text").style("font-size",`${48*v}px`).style("fill",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.color??a.vennSetTextColor??R}),k.selectAll(".venn-intersection path").style("fill-opacity",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.fill?1:0}).style("fill",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.fill??"transparent"});let st=f.append("g").attr("transform",`translate(0, ${_})`),J=k.select("svg").node();if(J&&"childNodes"in J)for(let K of[...J.childNodes])st.node()?.appendChild(K);B(f,P,G,o?.useMaxWidth??!0)},"draw");function yt(t){return t.join("|")}e(yt,"stableSetsKey");function ce(t,s,i,n,r,o){let a=t?.useDebugLayout??!1,g=i.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let l of n){let M=yt(l.sets),y=h.get(M);if(y)y.push(l);else h.set(M,[l])}for(let[l,M]of h.entries()){let y=s.get(l);if(!y?.text)continue;let z=y.text.x,w=y.text.y,j=Math.min(...y.circles.map((J)=>J.radius)),G=Math.min(...y.circles.map((J)=>J.radius-Math.hypot(z-J.x,w-J.y))),P=Number.isFinite(G)?Math.max(0,G):0;if(P===0&&Number.isFinite(j))P=j*0.6;let F=g.append("g").attr("class","venn-text-area").attr("font-size",`${40*r}px`);if(a)F.append("circle").attr("class","venn-text-debug-circle").attr("cx",z).attr("cy",w).attr("r",P).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*r).attr("stroke-dasharray",`${6*r} ${4*r}`);let v=Math.max(80*r,P*2*0.95),_=Math.max(60*r,P*2*0.95),k=(y.data.label&&y.data.label.length>0?Math.min(32*r,P*0.25):0)+(M.length<=2?30*r:0),x=z-v/2,H=w-_/2+k,O=Math.max(1,Math.ceil(Math.sqrt(M.length))),X=Math.max(1,Math.ceil(M.length/O)),lt=v/O,st=_/X;for(let[J,K]of M.entries()){let Z=J%O,q=Math.floor(J/O),tt=x+lt*(Z+0.5),it=H+st*(q+0.5);if(a)F.append("rect").attr("class","venn-text-debug-cell").attr("x",x+lt*Z).attr("y",H+st*q).attr("width",lt).attr("height",st).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*r).attr("stroke-dasharray",`${4*r} ${3*r}`);let et=lt*0.9,ct=st*0.9,rt=F.append("foreignObject").attr("class","venn-text-node-fo").attr("width",et).attr("height",ct).attr("x",tt-et/2).attr("y",it-ct/2).attr("overflow","visible"),nt=o.get(K.id)?.color,W=rt.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(K.label??K.id);if(nt)W.style("color",nt)}}}e(ce,"renderTextNodes");function ue(t){let s=new Set(t.map((r)=>[...r.sets].sort().join("|"))),i=new Map(t.filter((r)=>r.sets.length===1&&r.size!==void 0).map((r)=>[r.sets[0],r.size])),n=[];for(let r of t){if(r.sets.length<3)continue;let o=[...r.sets].sort();for(let a=0;a<o.length-1;a++)for(let c=a+1;c<o.length;c++){let g=[o[a],o[c]],h=g.join("|");if(!s.has(h)){s.add(h);let l=i.get(g[0]),M=i.get(g[1]),y=l!==void 0&&M!==void 0?Math.min(l,M)/4:2.5;n.push({sets:g,size:y,label:""})}}}return n.length>0?[...t,...n]:t}e(ue,"ensurePairwiseSubsets");var He={draw:Ke},rn={parser:ze,db:Ue,renderer:He,styles:We};export{rn as diagram};
@@ -1,2 +1,2 @@
1
- import{e}from"./chunk-y0m8hrwz.js";var hn=class{constructor(t){this.init=t,this.records=this.init()}static{e(this,"ImperativeState")}reset(){this.records=this.init()}};
1
+ import{e}from"./chunk-9dd1c37b.js";var hn=class{constructor(t){this.init=t,this.records=this.init()}static{e(this,"ImperativeState")}reset(){this.records=this.init()}};
2
2
  export{hn};
@@ -1,2 +1,2 @@
1
- import{l}from"./chunk-vt40e1kp.js";var c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],gn=l("circle-check",c);
1
+ import{l}from"./chunk-aqm3spxt.js";var c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],gn=l("circle-check",c);
2
2
  export{gn};