@gkd-kit/inspect 0.0.1740544362883 → 0.0.1741151084229
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.
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-Ccgv5roI.js → ActionCard.vue_vue_type_script_setup_true_lang-wOjWHRWV.js} +4 -4
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-Ccgv5roI.js.map → ActionCard.vue_vue_type_script_setup_true_lang-wOjWHRWV.js.map} +1 -1
- package/dist/assets/{DevicePage-DKTBsFZZ.js → DevicePage-zq4SPzqm.js} +3 -3
- package/dist/assets/{DevicePage-DKTBsFZZ.js.map → DevicePage-zq4SPzqm.js.map} +1 -1
- package/dist/assets/{HomePage-C2kldyWC.js → HomePage-PJDIGxYT.js} +2 -2
- package/dist/assets/{HomePage-C2kldyWC.js.map → HomePage-PJDIGxYT.js.map} +1 -1
- package/dist/assets/ImportPage-BKzyAHm3.js +2 -0
- package/dist/assets/{ImportPage-D4bRHBJI.js.map → ImportPage-BKzyAHm3.js.map} +1 -1
- package/dist/assets/{Input-BFKXTRdu.js → Input-BlhW-0iT.js} +2 -2
- package/dist/assets/{Input-BFKXTRdu.js.map → Input-BlhW-0iT.js.map} +1 -1
- package/dist/assets/SelectorPage-BSf-D1ZC.js +2 -0
- package/dist/assets/SelectorPage-BSf-D1ZC.js.map +1 -0
- package/dist/assets/SnapshotPage-DHogz4lw.css +1 -0
- package/dist/assets/SnapshotPage-DLiCCFD7.js +485 -0
- package/dist/assets/SnapshotPage-DLiCCFD7.js.map +1 -0
- package/dist/assets/SvgPage-DNwsi5IQ.js +2 -0
- package/dist/assets/{SvgPage-CzhnEJ-r.js.map → SvgPage-DNwsi5IQ.js.map} +1 -1
- package/dist/assets/_404Page-DKl5QJWl.js +2 -0
- package/dist/assets/{_404Page-Dy4SZGAS.js.map → _404Page-DKl5QJWl.js.map} +1 -1
- package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +2 -0
- package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js.map +1 -0
- package/dist/assets/chunk-DW1WSbS8.js +3 -0
- package/dist/assets/{chunk-CVsGgHoi.js.map → chunk-DW1WSbS8.js.map} +1 -1
- package/dist/assets/{dayjs.min-CdkzTcDU.js → dayjs.min-D3epi8wv.js} +29 -29
- package/dist/assets/{dayjs.min-CdkzTcDU.js.map → dayjs.min-D3epi8wv.js.map} +1 -1
- package/dist/assets/{error-CF7TTEeU.js → error-D7_zW9Z4.js} +7 -7
- package/dist/assets/{error-CF7TTEeU.js.map → error-D7_zW9Z4.js.map} +1 -1
- package/dist/assets/{import-BfOZ2HnX.js → import-C09l0eiF.js} +2 -2
- package/dist/assets/{import-BfOZ2HnX.js.map → import-C09l0eiF.js.map} +1 -1
- package/dist/assets/{index-DkVQX4Ub.js → index-BjU8ME5p.js} +60 -58
- package/dist/assets/index-BjU8ME5p.js.map +1 -0
- package/dist/assets/index-DXqiQ3kf.css +1 -0
- package/dist/assets/index-DsAwsuTp.js +10 -0
- package/dist/assets/index-DsAwsuTp.js.map +1 -0
- package/dist/assets/{jszip.min-BN84A9eB.js → jszip.min-B7XBd99U.js} +2 -2
- package/dist/assets/{jszip.min-BN84A9eB.js.map → jszip.min-B7XBd99U.js.map} +1 -1
- package/dist/assets/node-Df056veg.js +127 -0
- package/dist/assets/{node-DJCu8s7C.js.map → node-Df056veg.js.map} +1 -1
- package/dist/assets/{polyfills-VJCO8far.js → polyfills-esd5PigN.js} +2 -2
- package/dist/assets/{polyfills-VJCO8far.js.map → polyfills-esd5PigN.js.map} +1 -1
- package/dist/assets/{snapshot-CIRHwPKX.js → snapshot-C4gf22SX.js} +3 -3
- package/dist/assets/{snapshot-CIRHwPKX.js.map → snapshot-C4gf22SX.js.map} +1 -1
- package/dist/assets/{table-CpkC-fh7.js → table-D0mjYJfd.js} +2 -2
- package/dist/assets/{table-CpkC-fh7.js.map → table-D0mjYJfd.js.map} +1 -1
- package/dist/assets/worker-BZwDflls.js +14 -0
- package/dist/assets/worker-BZwDflls.js.map +1 -0
- package/dist/index.html +3 -3
- package/package.json +5 -3
- package/dist/assets/ImportPage-D4bRHBJI.js +0 -2
- package/dist/assets/SelectorPage-BP09Pm4S.js +0 -2
- package/dist/assets/SelectorPage-BP09Pm4S.js.map +0 -1
- package/dist/assets/SnapshotPage-KPOEsvbW.js +0 -272
- package/dist/assets/SnapshotPage-KPOEsvbW.js.map +0 -1
- package/dist/assets/SvgPage-CzhnEJ-r.js +0 -2
- package/dist/assets/_404Page-Dy4SZGAS.js +0 -2
- package/dist/assets/chunk-CVsGgHoi.js +0 -3
- package/dist/assets/index-BJdevrw_.css +0 -1
- package/dist/assets/index-BzKmOIqs.js +0 -10
- package/dist/assets/index-BzKmOIqs.js.map +0 -1
- package/dist/assets/index-DkVQX4Ub.js.map +0 -1
- package/dist/assets/node-DJCu8s7C.js +0 -127
- /package/dist/assets/{SelectorPage-CdMJYWIX.css → index-CdMJYWIX.css} +0 -0
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
var e3=Object.defineProperty;var Bx=r=>{throw TypeError(r)};var t3=(r,e,t)=>e in r?e3(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Nt=(r,e,t)=>t3(r,typeof e!="symbol"?e+"":e,t),Qh=(r,e,t)=>e.has(r)||Bx("Cannot "+t);var Qr=(r,e,t)=>(Qh(r,e,"read from private field"),t?t.call(r):e.get(r)),ef=(r,e,t)=>e.has(r)?Bx("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),kc=(r,e,t,n)=>(Qh(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),tf=(r,e,t)=>(Qh(r,e,"access private method"),t);import{t as n3,_ as ku,U as zx,p as Mu,w as r3,d as jx,F as nf,G as i3}from"./index-DsAwsuTp.js";import{S as rf,s as fC,a as a3,c as s3,b as o3,d as l3,e as c3,g as Ei,l as u3,f as d3,h as h3,i as ob,N as lb,j as Pl,k as po,m as $x,n as qx}from"./node-Df056veg.js";import{h as pt,k as ze,a as at,g as Si,f as ot,e as Qe,b as Ft,u as Jl,Z as f3,$ as Ql,a0 as cb,a1 as g3,d as ub,a2 as Yy,o as Xt,q as $e,p as dl,m as Os,x as db,a3 as hb,y as In,a4 as gC,a5 as vC,a6 as pC,a7 as v3,t as yt,a8 as Gx,a9 as p3,aa as m3,ab as er,ac as Cs,ad as y3,ae as mC,af as Gi,ag as b3,ah as x3,ai as w3,c as E3,aj as S3,ak as _3,al as k3,s as af,V as M3,am as sf,N as T3,l as O3,an as C3,B as xd,ao as N3,v as yC,i as A3,ap as of,aq as Wx,ar as Vx,w as Zo,D as ii,G as Mi,as as co,at as ec,au as bC,av as Mc,aw as fb,ax as uo,A as Tt,ay as Rl,I as jt,J as We,az as So,H as bs,K as Le,F as Ee,Q as Io,L as xe,aA as rn,M as Nn,O as se,R as oi,aB as ds,aC as Ri,aD as Ky,aE as P3,aF as Ll,aG as R3,C as gb,aH as xC,aI as L3,aJ as I3,aK as wC,aL as EC,z as D3,aM as SC,aN as F3,aO as Ns,aP as _i,T as vt,S as zt,aQ as B3,aR as z3,aS as j3,U as mo,aT as $3,aU as q3,P as G3,aV as lf,aW as xa,aX as Ux,W as W3,aY as Hx,aZ as cf,a_ as Yx}from"./index-BjU8ME5p.js";import{_ as V3}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{e as U3,f as H3,g as Y3,_ as K3}from"./ActionCard.vue_vue_type_script_setup_true_lang-wOjWHRWV.js";import{a as X3,b as Z3,g as J3}from"./snapshot-C4gf22SX.js";import{h as ho,C as Q3,e as eI,V as tI,c as Kx,f as Xx,b as nI,N as Zx,u as rI,d as iI,a as _C,g as kC,i as aI,j as sI,_ as oI}from"./dayjs.min-D3epi8wv.js";import{l as MC,e as Jx,a as lI}from"./error-D7_zW9Z4.js";import{_ as TC}from"./Input-BlhW-0iT.js";import"./chunk-DW1WSbS8.js";function OC(r){return typeof r=="string"?`s-${r}`:`n-${r}`}function cI(){}function uI(r,e,t,n){for(var i=r.length,a=t+-1;++a<i;)if(e(r[a],a,r))return a;return-1}function dI(r){return r!==r}function hI(r,e,t){for(var n=t-1,i=r.length;++n<i;)if(r[n]===e)return n;return-1}function fI(r,e,t){return e===e?hI(r,e,t):uI(r,dI,t)}function gI(r,e){var t=r==null?0:r.length;return!!t&&fI(r,e,0)>-1}var vI=1/0,pI=rf&&1/fC(new rf([,-0]))[1]==vI?function(r){return new rf(r)}:cI,mI=200;function yI(r,e,t){var n=-1,i=gI,a=r.length,s=!0,o=[],l=o;if(a>=mI){var c=e?null:pI(r);if(c)return fC(c);s=!1,i=s3,l=new a3}else l=e?[]:o;e:for(;++n<a;){var u=r[n],d=e?e(u):u;if(u=u!==0?u:0,s&&d===d){for(var h=l.length;h--;)if(l[h]===d)continue e;e&&l.push(d),o.push(u)}else i(l,d,t)||(l!==o&&l.push(d),o.push(u))}return o}function bI(r,e){return r&&r.length?yI(r,o3(e)):[]}const xI=pt({name:"ChevronLeft",render(){return ze("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ze("path",{d:"M10.3536 3.14645C10.5488 3.34171 10.5488 3.65829 10.3536 3.85355L6.20711 8L10.3536 12.1464C10.5488 12.3417 10.5488 12.6583 10.3536 12.8536C10.1583 13.0488 9.84171 13.0488 9.64645 12.8536L5.14645 8.35355C4.95118 8.15829 4.95118 7.84171 5.14645 7.64645L9.64645 3.14645C9.84171 2.95118 10.1583 2.95118 10.3536 3.14645Z",fill:"currentColor"}))}}),wI=pt({name:"Switcher",render(){return ze("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},ze("path",{d:"M12 8l10 8l-10 8z"}))}}),nn="0!important",CC="-1px!important";function Hs(r){return ot(`${r}-type`,[Qe("& +",[at("button",{},[ot(`${r}-type`,[Ft("border",{borderLeftWidth:nn}),Ft("state-border",{left:CC})])])])])}function Ys(r){return ot(`${r}-type`,[Qe("& +",[at("button",[ot(`${r}-type`,[Ft("border",{borderTopWidth:nn}),Ft("state-border",{top:CC})])])])])}const EI=at("button-group",`
|
|
2
|
+
flex-wrap: nowrap;
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
position: relative;
|
|
5
|
+
`,[Si("vertical",{flexDirection:"row"},[Si("rtl",[at("button",[Qe("&:first-child:not(:last-child)",`
|
|
6
|
+
margin-right: ${nn};
|
|
7
|
+
border-top-right-radius: ${nn};
|
|
8
|
+
border-bottom-right-radius: ${nn};
|
|
9
|
+
`),Qe("&:last-child:not(:first-child)",`
|
|
10
|
+
margin-left: ${nn};
|
|
11
|
+
border-top-left-radius: ${nn};
|
|
12
|
+
border-bottom-left-radius: ${nn};
|
|
13
|
+
`),Qe("&:not(:first-child):not(:last-child)",`
|
|
14
|
+
margin-left: ${nn};
|
|
15
|
+
margin-right: ${nn};
|
|
16
|
+
border-radius: ${nn};
|
|
17
|
+
`),Hs("default"),ot("ghost",[Hs("primary"),Hs("info"),Hs("success"),Hs("warning"),Hs("error")])])])]),ot("vertical",{flexDirection:"column"},[at("button",[Qe("&:first-child:not(:last-child)",`
|
|
18
|
+
margin-bottom: ${nn};
|
|
19
|
+
margin-left: ${nn};
|
|
20
|
+
margin-right: ${nn};
|
|
21
|
+
border-bottom-left-radius: ${nn};
|
|
22
|
+
border-bottom-right-radius: ${nn};
|
|
23
|
+
`),Qe("&:last-child:not(:first-child)",`
|
|
24
|
+
margin-top: ${nn};
|
|
25
|
+
margin-left: ${nn};
|
|
26
|
+
margin-right: ${nn};
|
|
27
|
+
border-top-left-radius: ${nn};
|
|
28
|
+
border-top-right-radius: ${nn};
|
|
29
|
+
`),Qe("&:not(:first-child):not(:last-child)",`
|
|
30
|
+
margin: ${nn};
|
|
31
|
+
border-radius: ${nn};
|
|
32
|
+
`),Ys("default"),ot("ghost",[Ys("primary"),Ys("info"),Ys("success"),Ys("warning"),Ys("error")])])])]),SI={size:{type:String,default:void 0},vertical:Boolean},_I=pt({name:"ButtonGroup",props:SI,setup(r){const{mergedClsPrefixRef:e,mergedRtlRef:t}=Jl(r);return f3("-button-group",EI,e),cb(g3,r),{rtlEnabled:Ql("ButtonGroup",t,e),mergedClsPrefix:e}},render(){const{mergedClsPrefix:r}=this;return ze("div",{class:[`${r}-button-group`,this.rtlEnabled&&`${r}-button-group--rtl`,this.vertical&&`${r}-button-group--vertical`],role:"group"},this.$slots)}});function kI(r){const{fontWeight:e,textColor1:t,textColor2:n,textColorDisabled:i,dividerColor:a,fontSize:s}=r;return{titleFontSize:s,titleFontWeight:e,dividerColor:a,titleTextColor:t,titleTextColorDisabled:i,fontSize:s,textColor:n,arrowColor:n,arrowColorDisabled:i,itemMargin:"16px 0 0 0",titlePadding:"16px 0 0 0"}}const MI={common:ub,self:kI},TI=at("collapse","width: 100%;",[at("collapse-item",`
|
|
33
|
+
font-size: var(--n-font-size);
|
|
34
|
+
color: var(--n-text-color);
|
|
35
|
+
transition:
|
|
36
|
+
color .3s var(--n-bezier),
|
|
37
|
+
border-color .3s var(--n-bezier);
|
|
38
|
+
margin: var(--n-item-margin);
|
|
39
|
+
`,[ot("disabled",[Ft("header","cursor: not-allowed;",[Ft("header-main",`
|
|
40
|
+
color: var(--n-title-text-color-disabled);
|
|
41
|
+
`),at("collapse-item-arrow",`
|
|
42
|
+
color: var(--n-arrow-color-disabled);
|
|
43
|
+
`)])]),at("collapse-item","margin-left: 32px;"),Qe("&:first-child","margin-top: 0;"),Qe("&:first-child >",[Ft("header","padding-top: 0;")]),ot("left-arrow-placement",[Ft("header",[at("collapse-item-arrow","margin-right: 4px;")])]),ot("right-arrow-placement",[Ft("header",[at("collapse-item-arrow","margin-left: 4px;")])]),Ft("content-wrapper",[Ft("content-inner","padding-top: 16px;"),Yy({duration:"0.15s"})]),ot("active",[Ft("header",[ot("active",[at("collapse-item-arrow","transform: rotate(90deg);")])])]),Qe("&:not(:first-child)","border-top: 1px solid var(--n-divider-color);"),Si("disabled",[ot("trigger-area-main",[Ft("header",[Ft("header-main","cursor: pointer;"),at("collapse-item-arrow","cursor: default;")])]),ot("trigger-area-arrow",[Ft("header",[at("collapse-item-arrow","cursor: pointer;")])]),ot("trigger-area-extra",[Ft("header",[Ft("header-extra","cursor: pointer;")])])]),Ft("header",`
|
|
44
|
+
font-size: var(--n-title-font-size);
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-wrap: nowrap;
|
|
47
|
+
align-items: center;
|
|
48
|
+
transition: color .3s var(--n-bezier);
|
|
49
|
+
position: relative;
|
|
50
|
+
padding: var(--n-title-padding);
|
|
51
|
+
color: var(--n-title-text-color);
|
|
52
|
+
`,[Ft("header-main",`
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-wrap: nowrap;
|
|
55
|
+
align-items: center;
|
|
56
|
+
font-weight: var(--n-title-font-weight);
|
|
57
|
+
transition: color .3s var(--n-bezier);
|
|
58
|
+
flex: 1;
|
|
59
|
+
color: var(--n-title-text-color);
|
|
60
|
+
`),Ft("header-extra",`
|
|
61
|
+
display: flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
transition: color .3s var(--n-bezier);
|
|
64
|
+
color: var(--n-text-color);
|
|
65
|
+
`),at("collapse-item-arrow",`
|
|
66
|
+
display: flex;
|
|
67
|
+
transition:
|
|
68
|
+
transform .15s var(--n-bezier),
|
|
69
|
+
color .3s var(--n-bezier);
|
|
70
|
+
font-size: 18px;
|
|
71
|
+
color: var(--n-arrow-color);
|
|
72
|
+
`)])])]),OI=Object.assign(Object.assign({},Os.props),{defaultExpandedNames:{type:[Array,String],default:null},expandedNames:[Array,String],arrowPlacement:{type:String,default:"left"},accordion:{type:Boolean,default:!1},displayDirective:{type:String,default:"if"},triggerAreas:{type:Array,default:()=>["main","extra","arrow"]},onItemHeaderClick:[Function,Array],"onUpdate:expandedNames":[Function,Array],onUpdateExpandedNames:[Function,Array],onExpandedNamesChange:{type:[Function,Array],validator:()=>!0,default:void 0}}),NC=hb("n-collapse"),CI=pt({name:"Collapse",props:OI,slots:Object,setup(r,{slots:e}){const{mergedClsPrefixRef:t,inlineThemeDisabled:n,mergedRtlRef:i}=Jl(r),a=Xt(r.defaultExpandedNames),s=$e(()=>r.expandedNames),o=dl(s,a),l=Os("Collapse","-collapse",TI,MI,r,t);function c(p){const{"onUpdate:expandedNames":v,onUpdateExpandedNames:m,onExpandedNamesChange:y}=r;m&&In(m,p),v&&In(v,p),y&&In(y,p),a.value=p}function u(p){const{onItemHeaderClick:v}=r;v&&In(v,p)}function d(p,v,m){const{accordion:y}=r,{value:b}=o;if(y)p?(c([v]),u({name:v,expanded:!0,event:m})):(c([]),u({name:v,expanded:!1,event:m}));else if(!Array.isArray(b))c([v]),u({name:v,expanded:!0,event:m});else{const w=b.slice(),E=w.findIndex(_=>v===_);~E?(w.splice(E,1),c(w),u({name:v,expanded:!1,event:m})):(w.push(v),c(w),u({name:v,expanded:!0,event:m}))}}cb(NC,{props:r,mergedClsPrefixRef:t,expandedNamesRef:o,slots:e,toggleItem:d});const h=Ql("Collapse",i,t),f=$e(()=>{const{common:{cubicBezierEaseInOut:p},self:{titleFontWeight:v,dividerColor:m,titlePadding:y,titleTextColor:b,titleTextColorDisabled:w,textColor:E,arrowColor:_,fontSize:O,titleFontSize:M,arrowColorDisabled:N,itemMargin:A}}=l.value;return{"--n-font-size":O,"--n-bezier":p,"--n-text-color":E,"--n-divider-color":m,"--n-title-padding":y,"--n-title-font-size":M,"--n-title-text-color":b,"--n-title-text-color-disabled":w,"--n-title-font-weight":v,"--n-arrow-color":_,"--n-arrow-color-disabled":N,"--n-item-margin":A}}),g=n?db("collapse",void 0,f,r):void 0;return{rtlEnabled:h,mergedTheme:l,mergedClsPrefix:t,cssVars:n?void 0:f,themeClass:g==null?void 0:g.themeClass,onRender:g==null?void 0:g.onRender}},render(){var r;return(r=this.onRender)===null||r===void 0||r.call(this),ze("div",{class:[`${this.mergedClsPrefix}-collapse`,this.rtlEnabled&&`${this.mergedClsPrefix}-collapse--rtl`,this.themeClass],style:this.cssVars},this.$slots)}}),NI=pt({name:"CollapseItemContent",props:{displayDirective:{type:String,required:!0},show:Boolean,clsPrefix:{type:String,required:!0}},setup(r){return{onceTrue:v3(yt(r,"show"))}},render(){return ze(gC,null,{default:()=>{const{show:r,displayDirective:e,onceTrue:t,clsPrefix:n}=this,i=e==="show"&&t,a=ze("div",{class:`${n}-collapse-item__content-wrapper`},ze("div",{class:`${n}-collapse-item__content-inner`},this.$slots));return i?vC(a,[[pC,r]]):r?a:null}})}}),AI={title:String,name:[String,Number],disabled:Boolean,displayDirective:String},PI=pt({name:"CollapseItem",props:AI,setup(r){const{mergedRtlRef:e}=Jl(r),t=m3(),n=er(()=>{var d;return(d=r.name)!==null&&d!==void 0?d:t}),i=Cs(NC);i||y3("collapse-item","`n-collapse-item` must be placed inside `n-collapse`.");const{expandedNamesRef:a,props:s,mergedClsPrefixRef:o,slots:l}=i,c=$e(()=>{const{value:d}=a;if(Array.isArray(d)){const{value:h}=n;return!~d.findIndex(f=>f===h)}else if(d){const{value:h}=n;return h!==d}return!0});return{rtlEnabled:Ql("Collapse",e,o),collapseSlots:l,randomName:t,mergedClsPrefix:o,collapsed:c,triggerAreas:yt(s,"triggerAreas"),mergedDisplayDirective:$e(()=>{const{displayDirective:d}=r;return d||s.displayDirective}),arrowPlacement:$e(()=>s.arrowPlacement),handleClick(d){let h="main";ho(d,"arrow")&&(h="arrow"),ho(d,"extra")&&(h="extra"),s.triggerAreas.includes(h)&&i&&!r.disabled&&i.toggleItem(c.value,n.value,d)}}},render(){const{collapseSlots:r,$slots:e,arrowPlacement:t,collapsed:n,mergedDisplayDirective:i,mergedClsPrefix:a,disabled:s,triggerAreas:o}=this,l=Gx(e.header,{collapsed:n},()=>[this.title]),c=e["header-extra"]||r["header-extra"],u=e.arrow||r.arrow;return ze("div",{class:[`${a}-collapse-item`,`${a}-collapse-item--${t}-arrow-placement`,s&&`${a}-collapse-item--disabled`,!n&&`${a}-collapse-item--active`,o.map(d=>`${a}-collapse-item--trigger-area-${d}`)]},ze("div",{class:[`${a}-collapse-item__header`,!n&&`${a}-collapse-item__header--active`]},ze("div",{class:`${a}-collapse-item__header-main`,onClick:this.handleClick},t==="right"&&l,ze("div",{class:`${a}-collapse-item-arrow`,key:this.rtlEnabled?0:1,"data-arrow":!0},Gx(u,{collapsed:n},()=>[ze(mC,{clsPrefix:a},{default:()=>this.rtlEnabled?ze(xI,null):ze(Q3,null)})])),t==="left"&&l),p3(c,{collapsed:n},d=>ze("div",{class:`${a}-collapse-item__header-extra`,onClick:this.handleClick,"data-extra":!0},d))),ze(NI,{clsPrefix:a,displayDirective:i,show:!n},e))}}),RI={thPaddingSmall:"6px",thPaddingMedium:"12px",thPaddingLarge:"12px",tdPaddingSmall:"6px",tdPaddingMedium:"12px",tdPaddingLarge:"12px"};function LI(r){const{dividerColor:e,cardColor:t,modalColor:n,popoverColor:i,tableHeaderColor:a,tableColorStriped:s,textColor1:o,textColor2:l,borderRadius:c,fontWeightStrong:u,lineHeight:d,fontSizeSmall:h,fontSizeMedium:f,fontSizeLarge:g}=r;return Object.assign(Object.assign({},RI),{fontSizeSmall:h,fontSizeMedium:f,fontSizeLarge:g,lineHeight:d,borderRadius:c,borderColor:Gi(t,e),borderColorModal:Gi(n,e),borderColorPopover:Gi(i,e),tdColor:t,tdColorModal:n,tdColorPopover:i,tdColorStriped:Gi(t,s),tdColorStripedModal:Gi(n,s),tdColorStripedPopover:Gi(i,s),thColor:Gi(t,a),thColorModal:Gi(n,a),thColorPopover:Gi(i,a),thTextColor:o,tdTextColor:l,thFontWeight:u})}const II={common:ub,self:LI};function DI(r){const{borderRadiusSmall:e,dividerColor:t,hoverColor:n,pressedColor:i,primaryColor:a,textColor3:s,textColor2:o,textColorDisabled:l,fontSize:c}=r;return{fontSize:c,lineHeight:"1.5",nodeHeight:"30px",nodeWrapperPadding:"3px 0",nodeBorderRadius:e,nodeColorHover:n,nodeColorPressed:i,nodeColorActive:E3(a,{alpha:.1}),arrowColor:s,nodeTextColor:o,nodeTextColorDisabled:l,loadingColor:a,dropMarkColor:a,lineColor:t}}const FI=b3({name:"Tree",common:ub,peers:{Checkbox:w3,Scrollbar:x3,Empty:eI},self:DI}),BI=Object.assign(Object.assign({},Os.props),{trigger:String,xScrollable:Boolean,onScroll:Function,contentClass:String,contentStyle:[Object,String],size:Number,yPlacement:{type:String,default:"right"},xPlacement:{type:String,default:"bottom"}}),vb=pt({name:"Scrollbar",props:BI,setup(){const r=Xt(null);return Object.assign(Object.assign({},{scrollTo:(...t)=>{var n;(n=r.value)===null||n===void 0||n.scrollTo(t[0],t[1])},scrollBy:(...t)=>{var n;(n=r.value)===null||n===void 0||n.scrollBy(t[0],t[1])}}),{scrollbarInstRef:r})},render(){return ze(S3,Object.assign({ref:"scrollbarInstRef"},this.$props),this.$slots)}}),zI=Qe([at("table",`
|
|
73
|
+
font-size: var(--n-font-size);
|
|
74
|
+
font-variant-numeric: tabular-nums;
|
|
75
|
+
line-height: var(--n-line-height);
|
|
76
|
+
width: 100%;
|
|
77
|
+
border-radius: var(--n-border-radius) var(--n-border-radius) 0 0;
|
|
78
|
+
text-align: left;
|
|
79
|
+
border-collapse: separate;
|
|
80
|
+
border-spacing: 0;
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
background-color: var(--n-td-color);
|
|
83
|
+
border-color: var(--n-merged-border-color);
|
|
84
|
+
transition:
|
|
85
|
+
background-color .3s var(--n-bezier),
|
|
86
|
+
border-color .3s var(--n-bezier),
|
|
87
|
+
color .3s var(--n-bezier);
|
|
88
|
+
--n-merged-border-color: var(--n-border-color);
|
|
89
|
+
`,[Qe("th",`
|
|
90
|
+
white-space: nowrap;
|
|
91
|
+
transition:
|
|
92
|
+
background-color .3s var(--n-bezier),
|
|
93
|
+
border-color .3s var(--n-bezier),
|
|
94
|
+
color .3s var(--n-bezier);
|
|
95
|
+
text-align: inherit;
|
|
96
|
+
padding: var(--n-th-padding);
|
|
97
|
+
vertical-align: inherit;
|
|
98
|
+
text-transform: none;
|
|
99
|
+
border: 0px solid var(--n-merged-border-color);
|
|
100
|
+
font-weight: var(--n-th-font-weight);
|
|
101
|
+
color: var(--n-th-text-color);
|
|
102
|
+
background-color: var(--n-th-color);
|
|
103
|
+
border-bottom: 1px solid var(--n-merged-border-color);
|
|
104
|
+
border-right: 1px solid var(--n-merged-border-color);
|
|
105
|
+
`,[Qe("&:last-child",`
|
|
106
|
+
border-right: 0px solid var(--n-merged-border-color);
|
|
107
|
+
`)]),Qe("td",`
|
|
108
|
+
transition:
|
|
109
|
+
background-color .3s var(--n-bezier),
|
|
110
|
+
border-color .3s var(--n-bezier),
|
|
111
|
+
color .3s var(--n-bezier);
|
|
112
|
+
padding: var(--n-td-padding);
|
|
113
|
+
color: var(--n-td-text-color);
|
|
114
|
+
background-color: var(--n-td-color);
|
|
115
|
+
border: 0px solid var(--n-merged-border-color);
|
|
116
|
+
border-right: 1px solid var(--n-merged-border-color);
|
|
117
|
+
border-bottom: 1px solid var(--n-merged-border-color);
|
|
118
|
+
`,[Qe("&:last-child",`
|
|
119
|
+
border-right: 0px solid var(--n-merged-border-color);
|
|
120
|
+
`)]),ot("bordered",`
|
|
121
|
+
border: 1px solid var(--n-merged-border-color);
|
|
122
|
+
border-radius: var(--n-border-radius);
|
|
123
|
+
`,[Qe("tr",[Qe("&:last-child",[Qe("td",`
|
|
124
|
+
border-bottom: 0 solid var(--n-merged-border-color);
|
|
125
|
+
`)])])]),ot("single-line",[Qe("th",`
|
|
126
|
+
border-right: 0px solid var(--n-merged-border-color);
|
|
127
|
+
`),Qe("td",`
|
|
128
|
+
border-right: 0px solid var(--n-merged-border-color);
|
|
129
|
+
`)]),ot("single-column",[Qe("tr",[Qe("&:not(:last-child)",[Qe("td",`
|
|
130
|
+
border-bottom: 0px solid var(--n-merged-border-color);
|
|
131
|
+
`)])])]),ot("striped",[Qe("tr:nth-of-type(even)",[Qe("td","background-color: var(--n-td-color-striped)")])]),Si("bottom-bordered",[Qe("tr",[Qe("&:last-child",[Qe("td",`
|
|
132
|
+
border-bottom: 0px solid var(--n-merged-border-color);
|
|
133
|
+
`)])])])]),_3(at("table",`
|
|
134
|
+
background-color: var(--n-td-color-modal);
|
|
135
|
+
--n-merged-border-color: var(--n-border-color-modal);
|
|
136
|
+
`,[Qe("th",`
|
|
137
|
+
background-color: var(--n-th-color-modal);
|
|
138
|
+
`),Qe("td",`
|
|
139
|
+
background-color: var(--n-td-color-modal);
|
|
140
|
+
`)])),k3(at("table",`
|
|
141
|
+
background-color: var(--n-td-color-popover);
|
|
142
|
+
--n-merged-border-color: var(--n-border-color-popover);
|
|
143
|
+
`,[Qe("th",`
|
|
144
|
+
background-color: var(--n-th-color-popover);
|
|
145
|
+
`),Qe("td",`
|
|
146
|
+
background-color: var(--n-td-color-popover);
|
|
147
|
+
`)]))]),jI=Object.assign(Object.assign({},Os.props),{bordered:{type:Boolean,default:!0},bottomBordered:{type:Boolean,default:!0},singleLine:{type:Boolean,default:!0},striped:Boolean,singleColumn:Boolean,size:{type:String,default:"medium"}}),$I=pt({name:"Table",props:jI,setup(r){const{mergedClsPrefixRef:e,inlineThemeDisabled:t,mergedRtlRef:n}=Jl(r),i=Os("Table","-table",zI,II,r,e),a=Ql("Table",n,e),s=$e(()=>{const{size:l}=r,{self:{borderColor:c,tdColor:u,tdColorModal:d,tdColorPopover:h,thColor:f,thColorModal:g,thColorPopover:p,thTextColor:v,tdTextColor:m,borderRadius:y,thFontWeight:b,lineHeight:w,borderColorModal:E,borderColorPopover:_,tdColorStriped:O,tdColorStripedModal:M,tdColorStripedPopover:N,[af("fontSize",l)]:A,[af("tdPadding",l)]:P,[af("thPadding",l)]:L},common:{cubicBezierEaseInOut:I}}=i.value;return{"--n-bezier":I,"--n-td-color":u,"--n-td-color-modal":d,"--n-td-color-popover":h,"--n-td-text-color":m,"--n-border-color":c,"--n-border-color-modal":E,"--n-border-color-popover":_,"--n-border-radius":y,"--n-font-size":A,"--n-th-color":f,"--n-th-color-modal":g,"--n-th-color-popover":p,"--n-th-font-weight":b,"--n-th-text-color":v,"--n-line-height":w,"--n-td-padding":P,"--n-th-padding":L,"--n-td-color-striped":O,"--n-td-color-striped-modal":M,"--n-td-color-striped-popover":N}}),o=t?db("table",$e(()=>r.size[0]),s,r):void 0;return{rtlEnabled:a,mergedClsPrefix:e,cssVars:t?void 0:s,themeClass:o==null?void 0:o.themeClass,onRender:o==null?void 0:o.onRender}},render(){var r;const{mergedClsPrefix:e}=this;return(r=this.onRender)===null||r===void 0||r.call(this),ze("table",{class:[`${e}-table`,this.themeClass,{[`${e}-table--rtl`]:this.rtlEnabled,[`${e}-table--bottom-bordered`]:this.bottomBordered,[`${e}-table--bordered`]:this.bordered,[`${e}-table--single-line`]:this.singleLine,[`${e}-table--single-column`]:this.singleColumn,[`${e}-table--striped`]:this.striped}],style:this.cssVars},this.$slots)}}),qI=pt({name:"Tbody",render(){return ze("tbody",null,this.$slots)}}),GI=pt({name:"Td",render(){return ze("td",null,this.$slots)}}),WI=pt({name:"Tr",render(){return ze("tr",null,this.$slots)}}),AC=hb("n-tree-select");function Qx({position:r,offsetLevel:e,indent:t,el:n}){const i={position:"absolute",boxSizing:"border-box",right:0};if(r==="inside")i.left=0,i.top=0,i.bottom=0,i.borderRadius="inherit",i.boxShadow="inset 0 0 0 2px var(--n-drop-mark-color)";else{const a=r==="before"?"top":"bottom";i[a]=0,i.left=`${n.offsetLeft+6-e*t}px`,i.height="2px",i.backgroundColor="var(--n-drop-mark-color)",i.transformOrigin=a,i.borderRadius="1px",i.transform=r==="before"?"translateY(-4px)":"translateY(4px)"}return ze("div",{style:i})}function VI({dropPosition:r,node:e}){return e.isLeaf===!1||e.children?!0:r!=="inside"}const tc=hb("n-tree");function UI({props:r,fNodesRef:e,mergedExpandedKeysRef:t,mergedSelectedKeysRef:n,mergedCheckedKeysRef:i,handleCheck:a,handleSelect:s,handleSwitcherClick:o}){const{value:l}=n,c=Cs(AC,null),u=c?c.pendingNodeKeyRef:Xt(l.length?l[l.length-1]:null);function d(h){var f;if(!r.keyboard)return{enterBehavior:null};const{value:g}=u;let p=null;if(g===null){if((h.key==="ArrowDown"||h.key==="ArrowUp")&&h.preventDefault(),["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"].includes(h.key)&&g===null){const{value:v}=e;let m=0;for(;m<v.length;){if(!v[m].disabled){u.value=v[m].key;break}m+=1}}}else{const{value:v}=e;let m=v.findIndex(y=>y.key===g);if(!~m)return{enterBehavior:null};if(h.key==="Enter"){const y=v[m];switch(p=((f=r.overrideDefaultNodeClickBehavior)===null||f===void 0?void 0:f.call(r,{option:y.rawNode}))||null,p){case"toggleCheck":a(y,!i.value.includes(y.key));break;case"toggleSelect":s(y);break;case"toggleExpand":o(y);break;case"none":break;case"default":default:p="default",s(y)}}else if(h.key==="ArrowDown")for(h.preventDefault(),m+=1;m<v.length;){if(!v[m].disabled){u.value=v[m].key;break}m+=1}else if(h.key==="ArrowUp")for(h.preventDefault(),m-=1;m>=0;){if(!v[m].disabled){u.value=v[m].key;break}m-=1}else if(h.key==="ArrowLeft"){const y=v[m];if(y.isLeaf||!t.value.includes(g)){const b=y.getParent();b&&(u.value=b.key)}else o(y)}else if(h.key==="ArrowRight"){const y=v[m];if(y.isLeaf)return{enterBehavior:null};if(!t.value.includes(g))o(y);else for(m+=1;m<v.length;){if(!v[m].disabled){u.value=v[m].key;break}m+=1}}}return{enterBehavior:p}}return{pendingNodeKeyRef:u,handleKeydown:d}}const HI=pt({name:"NTreeNodeCheckbox",props:{clsPrefix:{type:String,required:!0},indent:{type:Number,required:!0},right:Boolean,focusable:Boolean,disabled:Boolean,checked:Boolean,indeterminate:Boolean,onCheck:Function},setup(r){const e=Cs(tc);function t(i){const{onCheck:a}=r;a&&a(i)}function n(i){t(i)}return{handleUpdateValue:n,mergedTheme:e.mergedThemeRef}},render(){const{clsPrefix:r,mergedTheme:e,checked:t,indeterminate:n,disabled:i,focusable:a,indent:s,handleUpdateValue:o}=this;return ze("span",{class:[`${r}-tree-node-checkbox`,this.right&&`${r}-tree-node-checkbox--right`],style:{width:`${s}px`},"data-checkbox":!0},ze(M3,{focusable:a,disabled:i,theme:e.peers.Checkbox,themeOverrides:e.peerOverrides.Checkbox,checked:t,indeterminate:n,onUpdateChecked:o}))}}),YI=pt({name:"TreeNodeContent",props:{clsPrefix:{type:String,required:!0},disabled:Boolean,checked:Boolean,selected:Boolean,onClick:Function,onDragstart:Function,tmNode:{type:Object,required:!0},nodeProps:Object},setup(r){const{renderLabelRef:e,renderPrefixRef:t,renderSuffixRef:n,labelFieldRef:i}=Cs(tc),a=Xt(null);function s(l){const{onClick:c}=r;c&&c(l)}function o(l){s(l)}return{selfRef:a,renderLabel:e,renderPrefix:t,renderSuffix:n,labelField:i,handleClick:o}},render(){const{clsPrefix:r,labelField:e,nodeProps:t,checked:n=!1,selected:i=!1,renderLabel:a,renderPrefix:s,renderSuffix:o,handleClick:l,onDragstart:c,tmNode:{rawNode:u,rawNode:{prefix:d,suffix:h,[e]:f}}}=this;return ze("span",Object.assign({},t,{ref:"selfRef",class:[`${r}-tree-node-content`,t==null?void 0:t.class],onClick:l,draggable:c===void 0?void 0:!0,onDragstart:c}),s||d?ze("div",{class:`${r}-tree-node-content__prefix`},s?s({option:u,selected:i,checked:n}):sf(d)):null,ze("div",{class:`${r}-tree-node-content__text`},a?a({option:u,selected:i,checked:n}):sf(f)),o||h?ze("div",{class:`${r}-tree-node-content__suffix`},o?o({option:u,selected:i,checked:n}):sf(h)):null)}}),KI=pt({name:"NTreeSwitcher",props:{clsPrefix:{type:String,required:!0},indent:{type:Number,required:!0},expanded:Boolean,selected:Boolean,hide:Boolean,loading:Boolean,onClick:Function,tmNode:{type:Object,required:!0}},setup(r){const{renderSwitcherIconRef:e}=Cs(tc,null);return()=>{const{clsPrefix:t,expanded:n,hide:i,indent:a,onClick:s}=r;return ze("span",{"data-switcher":!0,class:[`${t}-tree-node-switcher`,n&&`${t}-tree-node-switcher--expanded`,i&&`${t}-tree-node-switcher--hide`],style:{width:`${a}px`},onClick:s},ze("div",{class:`${t}-tree-node-switcher__icon`},ze(T3,null,{default:()=>{if(r.loading)return ze(O3,{clsPrefix:t,key:"loading",radius:85,strokeWidth:20});const{value:o}=e;return o?o({expanded:r.expanded,selected:r.selected,option:r.tmNode.rawNode}):ze(mC,{clsPrefix:t,key:"switcher"},{default:()=>ze(wI,null)})}})))}}});function XI(r){return $e(()=>r.leafOnly?"child":r.checkStrategy)}function ba(r,e){return!!r.rawNode[e]}function PC(r,e,t,n){r==null||r.forEach(i=>{t(i),PC(i[e],e,t,n),n(i)})}function ZI(r,e,t,n,i){const a=new Set,s=new Set,o=[];return PC(r,n,l=>{if(o.push(l),i(e,l)){s.add(l[t]);for(let c=o.length-2;c>=0;--c)if(!a.has(o[c][t]))a.add(o[c][t]);else return}},()=>{o.pop()}),{expandedKeys:Array.from(a),highlightKeySet:s}}if(C3&&Image){const r=new Image;r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}function JI(r,e,t,n,i){const a=new Set,s=new Set,o=new Set,l=[],c=[],u=[];function d(f){f.forEach(g=>{if(u.push(g),e(t,g)){a.add(g[n]),o.add(g[n]);for(let v=u.length-2;v>=0;--v){const m=u[v][n];if(!s.has(m))s.add(m),a.has(m)&&a.delete(m);else break}}const p=g[i];p&&d(p),u.pop()})}d(r);function h(f,g){f.forEach(p=>{const v=p[n],m=a.has(v),y=s.has(v);if(!m&&!y)return;const b=p[i];if(b)if(m)g.push(p);else{l.push(v);const w=Object.assign(Object.assign({},p),{[i]:[]});g.push(w),h(b,w[i])}else g.push(p)})}return h(r,c),{filteredTree:c,highlightKeySet:o,expandedKeys:l}}const RC=pt({name:"TreeNode",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(r){const e=Cs(tc),{droppingNodeParentRef:t,droppingMouseNodeRef:n,draggingNodeRef:i,droppingPositionRef:a,droppingOffsetLevelRef:s,nodePropsRef:o,indentRef:l,blockLineRef:c,checkboxPlacementRef:u,checkOnClickRef:d,disabledFieldRef:h,showLineRef:f,renderSwitcherIconRef:g,overrideDefaultNodeClickBehaviorRef:p}=e,v=er(()=>!!r.tmNode.rawNode.checkboxDisabled),m=er(()=>ba(r.tmNode,h.value)),y=er(()=>e.disabledRef.value||m.value),b=$e(()=>{const{value:he}=o;if(he)return he({option:r.tmNode.rawNode})}),w=Xt(null),E={value:null};xd(()=>{E.value=w.value.$el});function _(){const he=()=>{const{tmNode:X}=r;if(!X.isLeaf&&!X.shallowLoaded){if(!e.loadingKeysRef.value.has(X.key))e.loadingKeysRef.value.add(X.key);else return;const{onLoadRef:{value:U}}=e;U&&U(X.rawNode).then(ne=>{ne!==!1&&e.handleSwitcherClick(X)}).finally(()=>{e.loadingKeysRef.value.delete(X.key)})}else e.handleSwitcherClick(X)};g.value?setTimeout(he,0):he()}const O=er(()=>!m.value&&e.selectableRef.value&&(e.internalTreeSelect?e.mergedCheckStrategyRef.value!=="child"||e.multipleRef.value&&e.cascadeRef.value||r.tmNode.isLeaf:!0)),M=er(()=>e.checkableRef.value&&(e.cascadeRef.value||e.mergedCheckStrategyRef.value!=="child"||r.tmNode.isLeaf)),N=er(()=>e.displayedCheckedKeysRef.value.includes(r.tmNode.key)),A=er(()=>{const{value:he}=M;if(!he)return!1;const{value:X}=d,{tmNode:U}=r;return typeof X=="boolean"?!U.disabled&&X:X(r.tmNode.rawNode)});function P(he){const{value:X}=e.expandOnClickRef,{value:U}=O,{value:ne}=A;if(!U&&!X&&!ne||ho(he,"checkbox")||ho(he,"switcher"))return;const{tmNode:ue}=r;U&&e.handleSelect(ue),X&&!ue.isLeaf&&_(),ne&&H(!N.value)}function L(he){var X,U;if(!(ho(he,"checkbox")||ho(he,"switcher"))){if(!y.value){const ne=p.value;let ue=!1;if(ne)switch(ne({option:r.tmNode.rawNode})){case"toggleCheck":ue=!0,H(!N.value);break;case"toggleSelect":ue=!0,e.handleSelect(r.tmNode);break;case"toggleExpand":ue=!0,_(),ue=!0;break;case"none":ue=!0,ue=!0;return}ue||P(he)}(U=(X=b.value)===null||X===void 0?void 0:X.onClick)===null||U===void 0||U.call(X,he)}}function I(he){c.value||L(he)}function G(he){c.value&&L(he)}function H(he){e.handleCheck(r.tmNode,he)}function Y(he){e.handleDragStart({event:he,node:r.tmNode})}function W(he){he.currentTarget===he.target&&e.handleDragEnter({event:he,node:r.tmNode})}function q(he){he.preventDefault(),e.handleDragOver({event:he,node:r.tmNode})}function Q(he){e.handleDragEnd({event:he,node:r.tmNode})}function re(he){he.currentTarget===he.target&&e.handleDragLeave({event:he,node:r.tmNode})}function de(he){he.preventDefault(),a.value!==null&&e.handleDrop({event:he,node:r.tmNode,dropPosition:a.value})}const oe=$e(()=>{const{clsPrefix:he}=r,{value:X}=l;if(f.value){const U=[];let ne=r.tmNode.parent;for(;ne;)ne.isLastChild?U.push(ze("div",{class:`${he}-tree-node-indent`},ze("div",{style:{width:`${X}px`}}))):U.push(ze("div",{class:[`${he}-tree-node-indent`,`${he}-tree-node-indent--show-line`]},ze("div",{style:{width:`${X}px`}}))),ne=ne.parent;return U.reverse()}else return N3(r.tmNode.level,ze("div",{class:`${r.clsPrefix}-tree-node-indent`},ze("div",{style:{width:`${X}px`}})))});return{showDropMark:er(()=>{const{value:he}=i;if(!he)return;const{value:X}=a;if(!X)return;const{value:U}=n;if(!U)return;const{tmNode:ne}=r;return ne.key===U.key}),showDropMarkAsParent:er(()=>{const{value:he}=t;if(!he)return!1;const{tmNode:X}=r,{value:U}=a;return U==="before"||U==="after"?he.key===X.key:!1}),pending:er(()=>e.pendingNodeKeyRef.value===r.tmNode.key),loading:er(()=>e.loadingKeysRef.value.has(r.tmNode.key)),highlight:er(()=>{var he;return(he=e.highlightKeySetRef.value)===null||he===void 0?void 0:he.has(r.tmNode.key)}),checked:N,indeterminate:er(()=>e.displayedIndeterminateKeysRef.value.includes(r.tmNode.key)),selected:er(()=>e.mergedSelectedKeysRef.value.includes(r.tmNode.key)),expanded:er(()=>e.mergedExpandedKeysRef.value.includes(r.tmNode.key)),disabled:y,checkable:M,mergedCheckOnClick:A,checkboxDisabled:v,selectable:O,expandOnClick:e.expandOnClickRef,internalScrollable:e.internalScrollableRef,draggable:e.draggableRef,blockLine:c,nodeProps:b,checkboxFocusable:e.internalCheckboxFocusableRef,droppingPosition:a,droppingOffsetLevel:s,indent:l,checkboxPlacement:u,showLine:f,contentInstRef:w,contentElRef:E,indentNodes:oe,handleCheck:H,handleDrop:de,handleDragStart:Y,handleDragEnter:W,handleDragOver:q,handleDragEnd:Q,handleDragLeave:re,handleLineClick:G,handleContentClick:I,handleSwitcherClick:_}},render(){const{tmNode:r,clsPrefix:e,checkable:t,expandOnClick:n,selectable:i,selected:a,checked:s,highlight:o,draggable:l,blockLine:c,indent:u,indentNodes:d,disabled:h,pending:f,internalScrollable:g,nodeProps:p,checkboxPlacement:v}=this,m=l&&!h?{onDragenter:this.handleDragEnter,onDragleave:this.handleDragLeave,onDragend:this.handleDragEnd,onDrop:this.handleDrop,onDragover:this.handleDragOver}:void 0,y=g?OC(r.key):void 0,b=v==="right",w=t?ze(HI,{indent:u,right:b,focusable:this.checkboxFocusable,disabled:h||this.checkboxDisabled,clsPrefix:e,checked:this.checked,indeterminate:this.indeterminate,onCheck:this.handleCheck}):null;return ze("div",Object.assign({class:`${e}-tree-node-wrapper`},m),ze("div",Object.assign({},c?p:void 0,{class:[`${e}-tree-node`,{[`${e}-tree-node--selected`]:a,[`${e}-tree-node--checkable`]:t,[`${e}-tree-node--highlight`]:o,[`${e}-tree-node--pending`]:f,[`${e}-tree-node--disabled`]:h,[`${e}-tree-node--selectable`]:i,[`${e}-tree-node--clickable`]:i||n||this.mergedCheckOnClick},p==null?void 0:p.class],"data-key":y,draggable:l&&c,onClick:this.handleLineClick,onDragstart:l&&c&&!h?this.handleDragStart:void 0}),d,r.isLeaf&&this.showLine?ze("div",{class:[`${e}-tree-node-indent`,`${e}-tree-node-indent--show-line`,r.isLeaf&&`${e}-tree-node-indent--is-leaf`,r.isLastChild&&`${e}-tree-node-indent--last-child`]},ze("div",{style:{width:`${u}px`}})):ze(KI,{clsPrefix:e,expanded:this.expanded,selected:a,loading:this.loading,hide:r.isLeaf,tmNode:this.tmNode,indent:u,onClick:this.handleSwitcherClick}),b?null:w,ze(YI,{ref:"contentInstRef",clsPrefix:e,checked:s,selected:a,onClick:this.handleContentClick,nodeProps:c?void 0:p,onDragstart:l&&!c&&!h?this.handleDragStart:void 0,tmNode:r}),l?this.showDropMark?Qx({el:this.contentElRef.value,position:this.droppingPosition,offsetLevel:this.droppingOffsetLevel,indent:u}):this.showDropMarkAsParent?Qx({el:this.contentElRef.value,position:"inside",offsetLevel:this.droppingOffsetLevel,indent:u}):null:null,b?w:null))}}),QI=pt({name:"TreeMotionWrapper",props:{clsPrefix:{type:String,required:!0},height:Number,nodes:{type:Array,required:!0},mode:{type:String,required:!0},onAfterEnter:{type:Function,required:!0}},render(){const{clsPrefix:r}=this;return ze(gC,{onAfterEnter:this.onAfterEnter,appear:!0,reverse:this.mode==="collapse"},{default:()=>ze("div",{class:[`${r}-tree-motion-wrapper`,`${r}-tree-motion-wrapper--${this.mode}`],style:{height:yC(this.height)}},this.nodes.map(e=>ze(RC,{clsPrefix:r,tmNode:e})))})}}),uf=A3(),eD=at("tree",`
|
|
148
|
+
font-size: var(--n-font-size);
|
|
149
|
+
outline: none;
|
|
150
|
+
`,[Qe("ul, li",`
|
|
151
|
+
margin: 0;
|
|
152
|
+
padding: 0;
|
|
153
|
+
list-style: none;
|
|
154
|
+
`),Qe(">",[at("tree-node",[Qe("&:first-child","margin-top: 0;")])]),at("tree-motion-wrapper",[ot("expand",[Yy({duration:"0.2s"})]),ot("collapse",[Yy({duration:"0.2s",reverse:!0})])]),at("tree-node-wrapper",`
|
|
155
|
+
box-sizing: border-box;
|
|
156
|
+
padding: var(--n-node-wrapper-padding);
|
|
157
|
+
`),at("tree-node",`
|
|
158
|
+
transform: translate3d(0,0,0);
|
|
159
|
+
position: relative;
|
|
160
|
+
display: flex;
|
|
161
|
+
border-radius: var(--n-node-border-radius);
|
|
162
|
+
transition: background-color .3s var(--n-bezier);
|
|
163
|
+
`,[ot("highlight",[at("tree-node-content",[Ft("text","border-bottom-color: var(--n-node-text-color-disabled);")])]),ot("disabled",[at("tree-node-content",`
|
|
164
|
+
color: var(--n-node-text-color-disabled);
|
|
165
|
+
cursor: not-allowed;
|
|
166
|
+
`)]),Si("disabled",[ot("clickable",[at("tree-node-content",`
|
|
167
|
+
cursor: pointer;
|
|
168
|
+
`)])])]),ot("block-node",[at("tree-node-content",`
|
|
169
|
+
flex: 1;
|
|
170
|
+
min-width: 0;
|
|
171
|
+
`)]),Si("block-line",[at("tree-node",[Si("disabled",[at("tree-node-content",[Qe("&:hover","background: var(--n-node-color-hover);")]),ot("selectable",[at("tree-node-content",[Qe("&:active","background: var(--n-node-color-pressed);")])]),ot("pending",[at("tree-node-content",`
|
|
172
|
+
background: var(--n-node-color-hover);
|
|
173
|
+
`)]),ot("selected",[at("tree-node-content","background: var(--n-node-color-active);")])]),ot("selected",[at("tree-node-content","background: var(--n-node-color-active);")])])]),ot("block-line",[at("tree-node",[Si("disabled",[Qe("&:hover","background: var(--n-node-color-hover);"),ot("pending",`
|
|
174
|
+
background: var(--n-node-color-hover);
|
|
175
|
+
`),ot("selectable",[Si("selected",[Qe("&:active","background: var(--n-node-color-pressed);")])]),ot("selected","background: var(--n-node-color-active);")]),ot("selected","background: var(--n-node-color-active);"),ot("disabled",`
|
|
176
|
+
cursor: not-allowed;
|
|
177
|
+
`)])]),at("tree-node-indent",`
|
|
178
|
+
flex-grow: 0;
|
|
179
|
+
flex-shrink: 0;
|
|
180
|
+
`,[ot("show-line","position: relative",[Qe("&::before",`
|
|
181
|
+
position: absolute;
|
|
182
|
+
left: 50%;
|
|
183
|
+
border-left: 1px solid var(--n-line-color);
|
|
184
|
+
transition: border-color .3s var(--n-bezier);
|
|
185
|
+
transform: translate(-50%);
|
|
186
|
+
content: "";
|
|
187
|
+
top: var(--n-line-offset-top);
|
|
188
|
+
bottom: var(--n-line-offset-bottom);
|
|
189
|
+
`),ot("last-child",[Qe("&::before",`
|
|
190
|
+
bottom: 50%;
|
|
191
|
+
`)]),ot("is-leaf",[Qe("&::after",`
|
|
192
|
+
position: absolute;
|
|
193
|
+
content: "";
|
|
194
|
+
left: calc(50% + 0.5px);
|
|
195
|
+
right: 0;
|
|
196
|
+
bottom: 50%;
|
|
197
|
+
transition: border-color .3s var(--n-bezier);
|
|
198
|
+
border-bottom: 1px solid var(--n-line-color);
|
|
199
|
+
`)])]),Si("show-line","height: 0;")]),at("tree-node-switcher",`
|
|
200
|
+
cursor: pointer;
|
|
201
|
+
display: inline-flex;
|
|
202
|
+
flex-shrink: 0;
|
|
203
|
+
height: var(--n-node-content-height);
|
|
204
|
+
align-items: center;
|
|
205
|
+
justify-content: center;
|
|
206
|
+
transition: transform .15s var(--n-bezier);
|
|
207
|
+
vertical-align: bottom;
|
|
208
|
+
`,[Ft("icon",`
|
|
209
|
+
position: relative;
|
|
210
|
+
height: 14px;
|
|
211
|
+
width: 14px;
|
|
212
|
+
display: flex;
|
|
213
|
+
color: var(--n-arrow-color);
|
|
214
|
+
transition: color .3s var(--n-bezier);
|
|
215
|
+
font-size: 14px;
|
|
216
|
+
`,[at("icon",[uf]),at("base-loading",`
|
|
217
|
+
color: var(--n-loading-color);
|
|
218
|
+
position: absolute;
|
|
219
|
+
left: 0;
|
|
220
|
+
top: 0;
|
|
221
|
+
right: 0;
|
|
222
|
+
bottom: 0;
|
|
223
|
+
`,[uf]),at("base-icon",[uf])]),ot("hide","visibility: hidden;"),ot("expanded","transform: rotate(90deg);")]),at("tree-node-checkbox",`
|
|
224
|
+
display: inline-flex;
|
|
225
|
+
height: var(--n-node-content-height);
|
|
226
|
+
vertical-align: bottom;
|
|
227
|
+
align-items: center;
|
|
228
|
+
justify-content: center;
|
|
229
|
+
`),at("tree-node-content",`
|
|
230
|
+
user-select: none;
|
|
231
|
+
position: relative;
|
|
232
|
+
display: inline-flex;
|
|
233
|
+
align-items: center;
|
|
234
|
+
min-height: var(--n-node-content-height);
|
|
235
|
+
box-sizing: border-box;
|
|
236
|
+
line-height: var(--n-line-height);
|
|
237
|
+
vertical-align: bottom;
|
|
238
|
+
padding: 0 6px 0 4px;
|
|
239
|
+
cursor: default;
|
|
240
|
+
border-radius: var(--n-node-border-radius);
|
|
241
|
+
color: var(--n-node-text-color);
|
|
242
|
+
transition:
|
|
243
|
+
color .3s var(--n-bezier),
|
|
244
|
+
background-color .3s var(--n-bezier),
|
|
245
|
+
border-color .3s var(--n-bezier);
|
|
246
|
+
`,[Qe("&:last-child","margin-bottom: 0;"),Ft("prefix",`
|
|
247
|
+
display: inline-flex;
|
|
248
|
+
margin-right: 8px;
|
|
249
|
+
`),Ft("text",`
|
|
250
|
+
border-bottom: 1px solid #0000;
|
|
251
|
+
transition: border-color .3s var(--n-bezier);
|
|
252
|
+
flex-grow: 1;
|
|
253
|
+
max-width: 100%;
|
|
254
|
+
`),Ft("suffix",`
|
|
255
|
+
display: inline-flex;
|
|
256
|
+
`)]),Ft("empty","margin: auto;")]);var tD=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,[])).next())})};function ew(r,e,t,n){return{getIsGroup(){return!1},getKey(a){return a[r]},getChildren:n||(a=>a[e]),getDisabled(a){return!!(a[t]||a.checkboxDisabled)}}}const nD={allowCheckingNotLoaded:Boolean,filter:Function,defaultExpandAll:Boolean,expandedKeys:Array,keyField:{type:String,default:"key"},labelField:{type:String,default:"label"},childrenField:{type:String,default:"children"},disabledField:{type:String,default:"disabled"},defaultExpandedKeys:{type:Array,default:()=>[]},indeterminateKeys:Array,renderSwitcherIcon:Function,onUpdateIndeterminateKeys:[Function,Array],"onUpdate:indeterminateKeys":[Function,Array],onUpdateExpandedKeys:[Function,Array],"onUpdate:expandedKeys":[Function,Array],overrideDefaultNodeClickBehavior:Function},rD=Object.assign(Object.assign(Object.assign(Object.assign({},Os.props),{accordion:Boolean,showIrrelevantNodes:{type:Boolean,default:!0},data:{type:Array,default:()=>[]},expandOnDragenter:{type:Boolean,default:!0},expandOnClick:Boolean,checkOnClick:{type:[Boolean,Function],default:!1},cancelable:{type:Boolean,default:!0},checkable:Boolean,draggable:Boolean,blockNode:Boolean,blockLine:Boolean,showLine:Boolean,disabled:Boolean,checkedKeys:Array,defaultCheckedKeys:{type:Array,default:()=>[]},selectedKeys:Array,defaultSelectedKeys:{type:Array,default:()=>[]},multiple:Boolean,pattern:{type:String,default:""},onLoad:Function,cascade:Boolean,selectable:{type:Boolean,default:!0},scrollbarProps:Object,indent:{type:Number,default:24},allowDrop:{type:Function,default:VI},animated:{type:Boolean,default:!0},checkboxPlacement:{type:String,default:"left"},virtualScroll:Boolean,watchProps:Array,renderLabel:Function,renderPrefix:Function,renderSuffix:Function,nodeProps:Function,keyboard:{type:Boolean,default:!0},getChildren:Function,onDragenter:[Function,Array],onDragleave:[Function,Array],onDragend:[Function,Array],onDragstart:[Function,Array],onDragover:[Function,Array],onDrop:[Function,Array],onUpdateCheckedKeys:[Function,Array],"onUpdate:checkedKeys":[Function,Array],onUpdateSelectedKeys:[Function,Array],"onUpdate:selectedKeys":[Function,Array]}),nD),{internalTreeSelect:Boolean,internalScrollable:Boolean,internalScrollablePadding:String,internalRenderEmpty:Function,internalHighlightKeySet:Object,internalUnifySelectCheck:Boolean,internalCheckboxFocusable:{type:Boolean,default:!0},internalFocusable:{type:Boolean,default:!0},checkStrategy:{type:String,default:"all"},leafOnly:Boolean}),iD=pt({name:"Tree",props:rD,slots:Object,setup(r){const{mergedClsPrefixRef:e,inlineThemeDisabled:t,mergedRtlRef:n}=Jl(r),i=Ql("Tree",n,e),a=Os("Tree","-tree",eD,FI,r,e),s=Xt(null),o=Xt(null),l=Xt(null);function c(){var F;return(F=l.value)===null||F===void 0?void 0:F.listElRef}function u(){var F;return(F=l.value)===null||F===void 0?void 0:F.itemsElRef}const d=$e(()=>{const{filter:F}=r;if(F)return F;const{labelField:z}=r;return(Z,ie)=>{if(!Z.length)return!0;const J=ie[z];return typeof J=="string"?J.toLowerCase().includes(Z.toLowerCase()):!1}}),h=$e(()=>{const{pattern:F}=r;return F?!F.length||!d.value?{filteredTree:r.data,highlightKeySet:null,expandedKeys:void 0}:JI(r.data,d.value,F,r.keyField,r.childrenField):{filteredTree:r.data,highlightKeySet:null,expandedKeys:void 0}}),f=$e(()=>Kx(r.showIrrelevantNodes?r.data:h.value.filteredTree,ew(r.keyField,r.childrenField,r.disabledField,r.getChildren))),g=Cs(AC,null),p=r.internalTreeSelect?g.dataTreeMate:$e(()=>r.showIrrelevantNodes?f.value:Kx(r.data,ew(r.keyField,r.childrenField,r.disabledField,r.getChildren))),{watchProps:v}=r,m=Xt([]);v!=null&&v.includes("defaultCheckedKeys")?ii(()=>{m.value=r.defaultCheckedKeys}):m.value=r.defaultCheckedKeys;const y=yt(r,"checkedKeys"),b=dl(y,m),w=$e(()=>p.value.getCheckedKeys(b.value,{cascade:r.cascade,allowNotLoaded:r.allowCheckingNotLoaded})),E=XI(r),_=$e(()=>w.value.checkedKeys),O=$e(()=>{const{indeterminateKeys:F}=r;return F!==void 0?F:w.value.indeterminateKeys}),M=Xt([]);v!=null&&v.includes("defaultSelectedKeys")?ii(()=>{M.value=r.defaultSelectedKeys}):M.value=r.defaultSelectedKeys;const N=yt(r,"selectedKeys"),A=dl(N,M),P=Xt([]),L=F=>{P.value=r.defaultExpandAll?p.value.getNonLeafKeys():F===void 0?r.defaultExpandedKeys:F};v!=null&&v.includes("defaultExpandedKeys")?ii(()=>{L(void 0)}):ii(()=>{L(r.defaultExpandedKeys)});const I=yt(r,"expandedKeys"),G=dl(I,P),H=$e(()=>f.value.getFlattenedNodes(G.value)),{pendingNodeKeyRef:Y,handleKeydown:W}=UI({props:r,mergedCheckedKeysRef:b,mergedSelectedKeysRef:A,fNodesRef:H,mergedExpandedKeysRef:G,handleCheck:Ko,handleSelect:Ws,handleSwitcherClick:Xo});let q=null,Q=null;const re=Xt(new Set),de=$e(()=>r.internalHighlightKeySet||h.value.highlightKeySet),oe=dl(de,re),he=Xt(new Set),X=$e(()=>G.value.filter(F=>!he.value.has(F)));let U=0;const ne=Xt(null),ue=Xt(null),Me=Xt(null),Be=Xt(null),Ve=Xt(0),Dt=$e(()=>{const{value:F}=ue;return F?F.parent:null});let on=!1;Mi(yt(r,"data"),()=>{on=!0,co(()=>{on=!1}),he.value.clear(),Y.value=null,Jn()},{deep:!1});let _t=!1;const Yt=()=>{_t=!0,co(()=>{_t=!1})};let He;Mi(yt(r,"pattern"),(F,z)=>{if(r.showIrrelevantNodes)if(He=void 0,F){const{expandedKeys:Z,highlightKeySet:ie}=ZI(r.data,r.pattern,r.keyField,r.childrenField,d.value);re.value=ie,Yt(),fn(Z,ut(Z),{node:null,action:"filter"})}else re.value=new Set;else if(!F.length)He!==void 0&&(Yt(),fn(He,ut(He),{node:null,action:"filter"}));else{z.length||(He=G.value);const{expandedKeys:Z}=h.value;Z!==void 0&&(Yt(),fn(Z,ut(Z),{node:null,action:"filter"}))}});function ar(F){return tD(this,void 0,void 0,function*(){const{onLoad:z}=r;if(!z){yield Promise.resolve();return}const{value:Z}=he;if(!Z.has(F.key)){Z.add(F.key);try{(yield z(F.rawNode))===!1&&ha()}catch(ie){console.error(ie),ha()}Z.delete(F.key)}})}ii(()=>{var F;const{value:z}=f;if(!z)return;const{getNode:Z}=z;(F=G.value)===null||F===void 0||F.forEach(ie=>{const J=Z(ie);J&&!J.shallowLoaded&&ar(J)})});const Je=Xt(!1),hn=Xt([]);Mi(X,(F,z)=>{if(!r.animated||_t){co(jn);return}if(on)return;const Z=Zo(a.value.self.nodeHeight),ie=new Set(z);let J=null,ae=null;for(const Re of F)if(!ie.has(Re)){if(J!==null)return;J=Re}const Se=new Set(F);for(const Re of z)if(!Se.has(Re)){if(ae!==null)return;ae=Re}if(J===null&&ae===null)return;const{virtualScroll:K}=r,be=(K?l.value.listElRef:s.value).offsetHeight,Ne=Math.ceil(be/Z)+1;let je;if(J!==null&&(je=z),ae!==null&&(je===void 0?je=F:je=je.filter(Re=>Re!==ae)),Je.value=!0,hn.value=f.value.getFlattenedNodes(je),J!==null){const Re=hn.value.findIndex(dt=>dt.key===J);if(~Re){const dt=hn.value[Re].children;if(dt){const Fe=Xx(dt,F);hn.value.splice(Re+1,0,{__motion:!0,mode:"expand",height:K?Fe.length*Z:void 0,nodes:K?Fe.slice(0,Ne):Fe})}}}if(ae!==null){const Re=hn.value.findIndex(dt=>dt.key===ae);if(~Re){const dt=hn.value[Re].children;if(!dt)return;Je.value=!0;const Fe=Xx(dt,F);hn.value.splice(Re+1,0,{__motion:!0,mode:"collapse",height:K?Fe.length*Z:void 0,nodes:K?Fe.slice(0,Ne):Fe})}}});const Ct=$e(()=>nI(H.value)),ca=$e(()=>Je.value?hn.value:H.value);function jn(){const{value:F}=o;F&&F.sync()}function Qt(){Je.value=!1,r.virtualScroll&&co(jn)}function ut(F){const{getNode:z}=p.value;return F.map(Z=>{var ie;return((ie=z(Z))===null||ie===void 0?void 0:ie.rawNode)||null})}function fn(F,z,Z){const{"onUpdate:expandedKeys":ie,onUpdateExpandedKeys:J}=r;P.value=F,ie&&In(ie,F,z,Z),J&&In(J,F,z,Z)}function $n(F,z,Z){const{"onUpdate:checkedKeys":ie,onUpdateCheckedKeys:J}=r;m.value=F,J&&In(J,F,z,Z),ie&&In(ie,F,z,Z)}function gr(F,z){const{"onUpdate:indeterminateKeys":Z,onUpdateIndeterminateKeys:ie}=r;Z&&In(Z,F,z),ie&&In(ie,F,z)}function _r(F,z,Z){const{"onUpdate:selectedKeys":ie,onUpdateSelectedKeys:J}=r;M.value=F,J&&In(J,F,z,Z),ie&&In(ie,F,z,Z)}function zr(F){const{onDragenter:z}=r;z&&In(z,F)}function ua(F){const{onDragleave:z}=r;z&&In(z,F)}function da(F){const{onDragend:z}=r;z&&In(z,F)}function Yo(F){const{onDragstart:z}=r;z&&In(z,F)}function qs(F){const{onDragover:z}=r;z&&In(z,F)}function jr(F){const{onDrop:z}=r;z&&In(z,F)}function Jn(){Jh(),$i()}function Jh(){ne.value=null}function $i(){Ve.value=0,ue.value=null,Me.value=null,Be.value=null,ha()}function ha(){q&&(window.clearTimeout(q),q=null),Q=null}function Ko(F,z){if(r.disabled||ba(F,r.disabledField))return;if(r.internalUnifySelectCheck&&!r.multiple){Ws(F);return}const Z=z?"check":"uncheck",{checkedKeys:ie,indeterminateKeys:J}=p.value[Z](F.key,_.value,{cascade:r.cascade,checkStrategy:E.value,allowNotLoaded:r.allowCheckingNotLoaded});$n(ie,ut(ie),{node:F.rawNode,action:Z}),gr(J,ut(J))}function Gs(F){if(r.disabled)return;const{key:z}=F,{value:Z}=G,ie=Z.findIndex(J=>J===z);if(~ie){const J=Array.from(Z);J.splice(ie,1),fn(J,ut(J),{node:F.rawNode,action:"collapse"})}else{const J=f.value.getNode(z);if(!J||J.isLeaf)return;let ae;if(r.accordion){const Se=new Set(F.siblings.map(({key:K})=>K));ae=Z.filter(K=>!Se.has(K)),ae.push(z)}else ae=Z.concat(z);fn(ae,ut(ae),{node:F.rawNode,action:"expand"})}}function Xo(F){r.disabled||Je.value||Gs(F)}function Ws(F){if(!(r.disabled||!r.selectable)){if(Y.value=F.key,r.internalUnifySelectCheck){const{value:{checkedKeys:z,indeterminateKeys:Z}}=w;r.multiple?Ko(F,!(z.includes(F.key)||Z.includes(F.key))):$n([F.key],ut([F.key]),{node:F.rawNode,action:"check"})}if(r.multiple){const z=Array.from(A.value),Z=z.findIndex(ie=>ie===F.key);~Z?r.cancelable&&z.splice(Z,1):~Z||z.push(F.key),_r(z,ut(z),{node:F.rawNode,action:~Z?"unselect":"select"})}else A.value.includes(F.key)?r.cancelable&&_r([],[],{node:F.rawNode,action:"unselect"}):_r([F.key],ut([F.key]),{node:F.rawNode,action:"select"})}}function Za(F){if(q&&(window.clearTimeout(q),q=null),F.isLeaf)return;Q=F.key;const z=()=>{if(Q!==F.key)return;const{value:Z}=Me;if(Z&&Z.key===F.key&&!G.value.includes(F.key)){const ie=G.value.concat(F.key);fn(ie,ut(ie),{node:F.rawNode,action:"expand"})}q=null,Q=null};F.shallowLoaded?q=window.setTimeout(()=>{z()},1e3):q=window.setTimeout(()=>{ar(F).then(()=>{z()})},1e3)}function WL({event:F,node:z}){!r.draggable||r.disabled||ba(z,r.disabledField)||(T({event:F,node:z},!1),zr({event:F,node:z.rawNode}))}function Vs({event:F,node:z}){!r.draggable||r.disabled||ba(z,r.disabledField)||ua({event:F,node:z.rawNode})}function Rn(F){F.target===F.currentTarget&&$i()}function Us({event:F,node:z}){Jn(),!(!r.draggable||r.disabled||ba(z,r.disabledField))&&da({event:F,node:z.rawNode})}function R({event:F,node:z}){!r.draggable||r.disabled||ba(z,r.disabledField)||(U=F.clientX,ne.value=z,Yo({event:F,node:z.rawNode}))}function T({event:F,node:z},Z=!0){var ie;if(!r.draggable||r.disabled||ba(z,r.disabledField))return;const{value:J}=ne;if(!J)return;const{allowDrop:ae,indent:Se}=r;Z&&qs({event:F,node:z.rawNode});const K=F.currentTarget,{height:be,top:Ne}=K.getBoundingClientRect(),je=F.clientY-Ne;let Re;ae({node:z.rawNode,dropPosition:"inside",phase:"drag"})?je<=8?Re="before":je>=be-8?Re="after":Re="inside":je<=be/2?Re="before":Re="after";const{value:Fe}=Ct;let Te,Ke;const ee=Fe(z.key);if(ee===null){$i();return}let pe=!1;Re==="inside"?(Te=z,Ke="inside"):Re==="before"?z.isFirstChild?(Te=z,Ke="before"):(Te=H.value[ee-1],Ke="after"):(Te=z,Ke="after"),!Te.isLeaf&&G.value.includes(Te.key)&&(pe=!0,Ke==="after"&&(Te=H.value[ee+1],Te?Ke="before":(Te=z,Ke="inside")));const Ae=Te;if(Me.value=Ae,!pe&&J.isLastChild&&J.key===Te.key&&(Ke="after"),Ke==="after"){let ye=U-F.clientX,kt=0;for(;ye>=Se/2&&Te.parent!==null&&Te.isLastChild&&kt<1;)ye-=Se,kt+=1,Te=Te.parent;Ve.value=kt}else Ve.value=0;if((J.contains(Te)||Ke==="inside"&&((ie=J.parent)===null||ie===void 0?void 0:ie.key)===Te.key)&&!(J.key===Ae.key&&J.key===Te.key)){$i();return}if(!ae({node:Te.rawNode,dropPosition:Ke,phase:"drag"})){$i();return}if(J.key===Te.key)ha();else if(Q!==Te.key)if(Ke==="inside"){if(r.expandOnDragenter){if(Za(Te),!Te.shallowLoaded&&Q!==Te.key){Jn();return}}else if(!Te.shallowLoaded){Jn();return}}else ha();else Ke!=="inside"&&ha();Be.value=Ke,ue.value=Te}function S({event:F,node:z,dropPosition:Z}){if(!r.draggable||r.disabled||ba(z,r.disabledField))return;const{value:ie}=ne,{value:J}=ue,{value:ae}=Be;if(!(!ie||!J||!ae)&&r.allowDrop({node:J.rawNode,dropPosition:ae,phase:"drag"})&&ie.key!==J.key){if(ae==="before"){const Se=ie.getNext({includeDisabled:!0});if(Se&&Se.key===J.key){$i();return}}if(ae==="after"){const Se=ie.getPrev({includeDisabled:!0});if(Se&&Se.key===J.key){$i();return}}jr({event:F,node:J.rawNode,dragNode:ie.rawNode,dropPosition:Z}),Jn()}}function x(){jn()}function k(){jn()}function C(F){var z;if(r.virtualScroll||r.internalScrollable){const{value:Z}=o;if(!((z=Z==null?void 0:Z.containerRef)===null||z===void 0)&&z.contains(F.relatedTarget))return;Y.value=null}else{const{value:Z}=s;if(Z!=null&&Z.contains(F.relatedTarget))return;Y.value=null}}Mi(Y,F=>{var z,Z;if(F!==null){if(r.virtualScroll)(z=l.value)===null||z===void 0||z.scrollTo({key:F});else if(r.internalScrollable){const{value:ie}=o;if(ie===null)return;const J=(Z=ie.contentRef)===null||Z===void 0?void 0:Z.querySelector(`[data-key="${OC(F)}"]`);if(!J)return;ie.scrollTo({el:J})}}}),cb(tc,{loadingKeysRef:he,highlightKeySetRef:oe,displayedCheckedKeysRef:_,displayedIndeterminateKeysRef:O,mergedSelectedKeysRef:A,mergedExpandedKeysRef:G,mergedThemeRef:a,mergedCheckStrategyRef:E,nodePropsRef:yt(r,"nodeProps"),disabledRef:yt(r,"disabled"),checkableRef:yt(r,"checkable"),selectableRef:yt(r,"selectable"),expandOnClickRef:yt(r,"expandOnClick"),onLoadRef:yt(r,"onLoad"),draggableRef:yt(r,"draggable"),blockLineRef:yt(r,"blockLine"),indentRef:yt(r,"indent"),cascadeRef:yt(r,"cascade"),checkOnClickRef:yt(r,"checkOnClick"),checkboxPlacementRef:r.checkboxPlacement,droppingMouseNodeRef:Me,droppingNodeParentRef:Dt,draggingNodeRef:ne,droppingPositionRef:Be,droppingOffsetLevelRef:Ve,fNodesRef:H,pendingNodeKeyRef:Y,showLineRef:yt(r,"showLine"),disabledFieldRef:yt(r,"disabledField"),internalScrollableRef:yt(r,"internalScrollable"),internalCheckboxFocusableRef:yt(r,"internalCheckboxFocusable"),internalTreeSelect:r.internalTreeSelect,renderLabelRef:yt(r,"renderLabel"),renderPrefixRef:yt(r,"renderPrefix"),renderSuffixRef:yt(r,"renderSuffix"),renderSwitcherIconRef:yt(r,"renderSwitcherIcon"),labelFieldRef:yt(r,"labelField"),multipleRef:yt(r,"multiple"),overrideDefaultNodeClickBehaviorRef:yt(r,"overrideDefaultNodeClickBehavior"),handleSwitcherClick:Xo,handleDragEnd:Us,handleDragEnter:WL,handleDragLeave:Vs,handleDragStart:R,handleDrop:S,handleDragOver:T,handleSelect:Ws,handleCheck:Ko});function D(F,z){var Z,ie;typeof F=="number"?(Z=l.value)===null||Z===void 0||Z.scrollTo(F,z||0):(ie=l.value)===null||ie===void 0||ie.scrollTo(F)}const B={handleKeydown:W,scrollTo:D,getCheckedData:()=>{if(!r.checkable)return{keys:[],options:[]};const{checkedKeys:F}=w.value;return{keys:F,options:ut(F)}},getIndeterminateData:()=>{if(!r.checkable)return{keys:[],options:[]};const{indeterminateKeys:F}=w.value;return{keys:F,options:ut(F)}}},j=$e(()=>{const{common:{cubicBezierEaseInOut:F},self:{fontSize:z,nodeBorderRadius:Z,nodeColorHover:ie,nodeColorPressed:J,nodeColorActive:ae,arrowColor:Se,loadingColor:K,nodeTextColor:be,nodeTextColorDisabled:Ne,dropMarkColor:je,nodeWrapperPadding:Re,nodeHeight:dt,lineHeight:Fe,lineColor:Te}}=a.value,Ke=of(Re,"top"),ee=of(Re,"bottom"),pe=yC(Zo(dt)-Zo(Ke)-Zo(ee));return{"--n-arrow-color":Se,"--n-loading-color":K,"--n-bezier":F,"--n-font-size":z,"--n-node-border-radius":Z,"--n-node-color-active":ae,"--n-node-color-hover":ie,"--n-node-color-pressed":J,"--n-node-text-color":be,"--n-node-text-color-disabled":Ne,"--n-drop-mark-color":je,"--n-node-wrapper-padding":Re,"--n-line-offset-top":`-${Ke}`,"--n-line-offset-bottom":`-${ee}`,"--n-node-content-height":pe,"--n-line-height":Fe,"--n-line-color":Te}}),$=t?db("tree",void 0,j,r):void 0;return Object.assign(Object.assign({},B),{mergedClsPrefix:e,mergedTheme:a,rtlEnabled:i,fNodes:ca,aip:Je,selfElRef:s,virtualListInstRef:l,scrollbarInstRef:o,handleFocusout:C,handleDragLeaveTree:Rn,handleScroll:x,getScrollContainer:c,getScrollContent:u,handleAfterEnter:Qt,handleResize:k,cssVars:t?void 0:j,themeClass:$==null?void 0:$.themeClass,onRender:$==null?void 0:$.onRender})},render(){var r;const{fNodes:e,internalRenderEmpty:t}=this;if(!e.length&&t)return t();const{mergedClsPrefix:n,blockNode:i,blockLine:a,draggable:s,disabled:o,internalFocusable:l,checkable:c,handleKeydown:u,rtlEnabled:d,handleFocusout:h,scrollbarProps:f}=this,g=l&&!o,p=g?"0":void 0,v=[`${n}-tree`,d&&`${n}-tree--rtl`,c&&`${n}-tree--checkable`,(a||i)&&`${n}-tree--block-node`,a&&`${n}-tree--block-line`],m=b=>"__motion"in b?ze(QI,{height:b.height,nodes:b.nodes,clsPrefix:n,mode:b.mode,onAfterEnter:this.handleAfterEnter}):ze(RC,{key:b.key,tmNode:b,clsPrefix:n});if(this.virtualScroll){const{mergedTheme:b,internalScrollablePadding:w}=this,E=of(w||"0");return ze(Wx,Object.assign({},f,{ref:"scrollbarInstRef",onDragleave:s?this.handleDragLeaveTree:void 0,container:this.getScrollContainer,content:this.getScrollContent,class:v,theme:b.peers.Scrollbar,themeOverrides:b.peerOverrides.Scrollbar,tabindex:p,onKeydown:g?u:void 0,onFocusout:g?h:void 0}),{default:()=>{var _;return(_=this.onRender)===null||_===void 0||_.call(this),e.length?ze(tI,{ref:"virtualListInstRef",items:this.fNodes,itemSize:Zo(b.self.nodeHeight),ignoreItemResize:this.aip,paddingTop:E.top,paddingBottom:E.bottom,class:this.themeClass,style:[this.cssVars,{paddingLeft:E.left,paddingRight:E.right}],onScroll:this.handleScroll,onResize:this.handleResize,showScrollbar:!1,itemResizable:!0},{default:({item:O})=>m(O)}):Vx(this.$slots.empty,()=>[ze(Zx,{class:`${n}-tree__empty`,theme:this.mergedTheme.peers.Empty,themeOverrides:this.mergedTheme.peerOverrides.Empty})])}})}const{internalScrollable:y}=this;return v.push(this.themeClass),(r=this.onRender)===null||r===void 0||r.call(this),y?ze(Wx,Object.assign({},f,{class:v,tabindex:p,onKeydown:g?u:void 0,onFocusout:g?h:void 0,style:this.cssVars,contentStyle:{padding:this.internalScrollablePadding}}),{default:()=>ze("div",{onDragleave:s?this.handleDragLeaveTree:void 0,ref:"selfElRef"},this.fNodes.map(m))}):ze("div",{class:v,tabindex:p,ref:"selfElRef",style:this.cssVars,onKeydown:g?u:void 0,onFocusout:g?h:void 0,onDragleave:s?this.handleDragLeaveTree:void 0},e.length?e.map(m):Vx(this.$slots.empty,()=>[ze(Zx,{class:`${n}-tree__empty`,theme:this.mergedTheme.peers.Empty,themeOverrides:this.mergedTheme.peerOverrides.Empty})]))}});function Fa(r){"@babel/helpers - typeof";return Fa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fa(r)}function aD(r,e){if(Fa(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e);if(Fa(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function LC(r){var e=aD(r,"string");return Fa(e)=="symbol"?e:e+""}function Pe(r,e,t){return(e=LC(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function tw(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function et(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tw(Object(t),!0).forEach(function(n){Pe(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):tw(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ge(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function nw(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,LC(n.key),n)}}function ve(r,e,t){return e&&nw(r.prototype,e),t&&nw(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function Xy(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function sD(r){if(Array.isArray(r))return Xy(r)}function oD(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function pb(r,e){if(r){if(typeof r=="string")return Xy(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Xy(r,e):void 0}}function lD(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
257
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function It(r){return sD(r)||oD(r)||pb(r)||lD()}function _o(r){return _o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_o(r)}function IC(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(IC=function(){return!!r})()}function cD(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function uD(r,e){if(e&&(Fa(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return cD(r)}function tt(r,e,t){return e=_o(e),uD(r,IC()?Reflect.construct(e,t||[],_o(r).constructor):e.apply(r,t))}function Zy(r,e){return Zy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},Zy(r,e)}function nt(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&Zy(r,e)}function dD(r){if(Array.isArray(r))return r}function hD(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,c=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(u){c=!0,i=u}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}function fD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
258
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xe(r,e){return dD(r)||hD(r,e)||pb(r,e)||fD()}var df={exports:{}},rw;function gD(){return rw||(rw=1,function(r){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(l,c,u){this.fn=l,this.context=c,this.once=u||!1}function a(l,c,u,d,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new i(u,d||l,h),g=t?t+c:c;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function s(l,c){--l._eventsCount===0?l._events=new n:delete l._events[c]}function o(){this._events=new n,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],u,d;if(this._eventsCount===0)return c;for(d in u=this._events)e.call(u,d)&&c.push(t?d.slice(1):d);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},o.prototype.listeners=function(c){var u=t?t+c:c,d=this._events[u];if(!d)return[];if(d.fn)return[d.fn];for(var h=0,f=d.length,g=new Array(f);h<f;h++)g[h]=d[h].fn;return g},o.prototype.listenerCount=function(c){var u=t?t+c:c,d=this._events[u];return d?d.fn?1:d.length:0},o.prototype.emit=function(c,u,d,h,f,g){var p=t?t+c:c;if(!this._events[p])return!1;var v=this._events[p],m=arguments.length,y,b;if(v.fn){switch(v.once&&this.removeListener(c,v.fn,void 0,!0),m){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,u),!0;case 3:return v.fn.call(v.context,u,d),!0;case 4:return v.fn.call(v.context,u,d,h),!0;case 5:return v.fn.call(v.context,u,d,h,f),!0;case 6:return v.fn.call(v.context,u,d,h,f,g),!0}for(b=1,y=new Array(m-1);b<m;b++)y[b-1]=arguments[b];v.fn.apply(v.context,y)}else{var w=v.length,E;for(b=0;b<w;b++)switch(v[b].once&&this.removeListener(c,v[b].fn,void 0,!0),m){case 1:v[b].fn.call(v[b].context);break;case 2:v[b].fn.call(v[b].context,u);break;case 3:v[b].fn.call(v[b].context,u,d);break;case 4:v[b].fn.call(v[b].context,u,d,h);break;default:if(!y)for(E=1,y=new Array(m-1);E<m;E++)y[E-1]=arguments[E];v[b].fn.apply(v[b].context,y)}}return!0},o.prototype.on=function(c,u,d){return a(this,c,u,d,!1)},o.prototype.once=function(c,u,d){return a(this,c,u,d,!0)},o.prototype.removeListener=function(c,u,d,h){var f=t?t+c:c;if(!this._events[f])return this;if(!u)return s(this,f),this;var g=this._events[f];if(g.fn)g.fn===u&&(!h||g.once)&&(!d||g.context===d)&&s(this,f);else{for(var p=0,v=[],m=g.length;p<m;p++)(g[p].fn!==u||h&&!g[p].once||d&&g[p].context!==d)&&v.push(g[p]);v.length?this._events[f]=v.length===1?v[0]:v:s(this,f)}return this},o.prototype.removeAllListeners=function(c){var u;return c?(u=t?t+c:c,this._events[u]&&s(this,u)):(this._events=new n,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o}(df)),df.exports}var vD=gD();const DC=ec(vD);var Ut=1e-6,wn=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var r=0,e=arguments.length;e--;)r+=arguments[e]*arguments[e];return Math.sqrt(r)});function FC(){var r=new wn(9);return wn!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function pD(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function mD(r,e,t,n,i,a,s,o,l){var c=new wn(9);return c[0]=r,c[1]=e,c[2]=t,c[3]=n,c[4]=i,c[5]=a,c[6]=s,c[7]=o,c[8]=l,c}function Pt(){var r=new wn(16);return wn!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function BC(r){var e=new wn(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function ko(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function zC(r,e,t,n,i,a,s,o,l,c,u,d,h,f,g,p){var v=new wn(16);return v[0]=r,v[1]=e,v[2]=t,v[3]=n,v[4]=i,v[5]=a,v[6]=s,v[7]=o,v[8]=l,v[9]=c,v[10]=u,v[11]=d,v[12]=h,v[13]=f,v[14]=g,v[15]=p,v}function Jy(r,e,t,n,i,a,s,o,l,c,u,d,h,f,g,p,v){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=c,r[9]=u,r[10]=d,r[11]=h,r[12]=f,r[13]=g,r[14]=p,r[15]=v,r}function Ba(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function jC(r,e){if(r===e){var t=e[1],n=e[2],i=e[3],a=e[6],s=e[7],o=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=a,r[11]=e[14],r[12]=i,r[13]=s,r[14]=o}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function Ti(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],u=e[8],d=e[9],h=e[10],f=e[11],g=e[12],p=e[13],v=e[14],m=e[15],y=t*o-n*s,b=t*l-i*s,w=t*c-a*s,E=n*l-i*o,_=n*c-a*o,O=i*c-a*l,M=u*p-d*g,N=u*v-h*g,A=u*m-f*g,P=d*v-h*p,L=d*m-f*p,I=h*m-f*v,G=y*I-b*L+w*P+E*A-_*N+O*M;return G?(G=1/G,r[0]=(o*I-l*L+c*P)*G,r[1]=(i*L-n*I-a*P)*G,r[2]=(p*O-v*_+m*E)*G,r[3]=(h*_-d*O-f*E)*G,r[4]=(l*A-s*I-c*N)*G,r[5]=(t*I-i*A+a*N)*G,r[6]=(v*w-g*O-m*b)*G,r[7]=(u*O-h*w+f*b)*G,r[8]=(s*L-o*A+c*M)*G,r[9]=(n*A-t*L-a*M)*G,r[10]=(g*_-p*w+m*y)*G,r[11]=(d*w-u*_-f*y)*G,r[12]=(o*N-s*P-l*M)*G,r[13]=(t*P-n*N+i*M)*G,r[14]=(p*b-g*E-v*y)*G,r[15]=(u*E-d*b+h*y)*G,r):null}function yD(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],u=e[8],d=e[9],h=e[10],f=e[11],g=e[12],p=e[13],v=e[14],m=e[15];return r[0]=o*(h*m-f*v)-d*(l*m-c*v)+p*(l*f-c*h),r[1]=-(n*(h*m-f*v)-d*(i*m-a*v)+p*(i*f-a*h)),r[2]=n*(l*m-c*v)-o*(i*m-a*v)+p*(i*c-a*l),r[3]=-(n*(l*f-c*h)-o*(i*f-a*h)+d*(i*c-a*l)),r[4]=-(s*(h*m-f*v)-u*(l*m-c*v)+g*(l*f-c*h)),r[5]=t*(h*m-f*v)-u*(i*m-a*v)+g*(i*f-a*h),r[6]=-(t*(l*m-c*v)-s*(i*m-a*v)+g*(i*c-a*l)),r[7]=t*(l*f-c*h)-s*(i*f-a*h)+u*(i*c-a*l),r[8]=s*(d*m-f*p)-u*(o*m-c*p)+g*(o*f-c*d),r[9]=-(t*(d*m-f*p)-u*(n*m-a*p)+g*(n*f-a*d)),r[10]=t*(o*m-c*p)-s*(n*m-a*p)+g*(n*c-a*o),r[11]=-(t*(o*f-c*d)-s*(n*f-a*d)+u*(n*c-a*o)),r[12]=-(s*(d*v-h*p)-u*(o*v-l*p)+g*(o*h-l*d)),r[13]=t*(d*v-h*p)-u*(n*v-i*p)+g*(n*h-i*d),r[14]=-(t*(o*v-l*p)-s*(n*v-i*p)+g*(n*l-i*o)),r[15]=t*(o*h-l*d)-s*(n*h-i*d)+u*(n*l-i*o),r}function $C(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],c=r[8],u=r[9],d=r[10],h=r[11],f=r[12],g=r[13],p=r[14],v=r[15],m=e*s-t*a,y=e*o-n*a,b=e*l-i*a,w=t*o-n*s,E=t*l-i*s,_=n*l-i*o,O=c*g-u*f,M=c*p-d*f,N=c*v-h*f,A=u*p-d*g,P=u*v-h*g,L=d*v-h*p;return m*L-y*P+b*A+w*N-E*M+_*O}function rr(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],u=e[7],d=e[8],h=e[9],f=e[10],g=e[11],p=e[12],v=e[13],m=e[14],y=e[15],b=t[0],w=t[1],E=t[2],_=t[3];return r[0]=b*n+w*o+E*d+_*p,r[1]=b*i+w*l+E*h+_*v,r[2]=b*a+w*c+E*f+_*m,r[3]=b*s+w*u+E*g+_*y,b=t[4],w=t[5],E=t[6],_=t[7],r[4]=b*n+w*o+E*d+_*p,r[5]=b*i+w*l+E*h+_*v,r[6]=b*a+w*c+E*f+_*m,r[7]=b*s+w*u+E*g+_*y,b=t[8],w=t[9],E=t[10],_=t[11],r[8]=b*n+w*o+E*d+_*p,r[9]=b*i+w*l+E*h+_*v,r[10]=b*a+w*c+E*f+_*m,r[11]=b*s+w*u+E*g+_*y,b=t[12],w=t[13],E=t[14],_=t[15],r[12]=b*n+w*o+E*d+_*p,r[13]=b*i+w*l+E*h+_*v,r[14]=b*a+w*c+E*f+_*m,r[15]=b*s+w*u+E*g+_*y,r}function yo(r,e,t){var n=t[0],i=t[1],a=t[2],s,o,l,c,u,d,h,f,g,p,v,m;return e===r?(r[12]=e[0]*n+e[4]*i+e[8]*a+e[12],r[13]=e[1]*n+e[5]*i+e[9]*a+e[13],r[14]=e[2]*n+e[6]*i+e[10]*a+e[14],r[15]=e[3]*n+e[7]*i+e[11]*a+e[15]):(s=e[0],o=e[1],l=e[2],c=e[3],u=e[4],d=e[5],h=e[6],f=e[7],g=e[8],p=e[9],v=e[10],m=e[11],r[0]=s,r[1]=o,r[2]=l,r[3]=c,r[4]=u,r[5]=d,r[6]=h,r[7]=f,r[8]=g,r[9]=p,r[10]=v,r[11]=m,r[12]=s*n+u*i+g*a+e[12],r[13]=o*n+d*i+p*a+e[13],r[14]=l*n+h*i+v*a+e[14],r[15]=c*n+f*i+m*a+e[15]),r}function qC(r,e,t){var n=t[0],i=t[1],a=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function bD(r,e,t,n){var i=n[0],a=n[1],s=n[2],o=Math.hypot(i,a,s),l,c,u,d,h,f,g,p,v,m,y,b,w,E,_,O,M,N,A,P,L,I,G,H;return o<Ut?null:(o=1/o,i*=o,a*=o,s*=o,l=Math.sin(t),c=Math.cos(t),u=1-c,d=e[0],h=e[1],f=e[2],g=e[3],p=e[4],v=e[5],m=e[6],y=e[7],b=e[8],w=e[9],E=e[10],_=e[11],O=i*i*u+c,M=a*i*u+s*l,N=s*i*u-a*l,A=i*a*u-s*l,P=a*a*u+c,L=s*a*u+i*l,I=i*s*u+a*l,G=a*s*u-i*l,H=s*s*u+c,r[0]=d*O+p*M+b*N,r[1]=h*O+v*M+w*N,r[2]=f*O+m*M+E*N,r[3]=g*O+y*M+_*N,r[4]=d*A+p*P+b*L,r[5]=h*A+v*P+w*L,r[6]=f*A+m*P+E*L,r[7]=g*A+y*P+_*L,r[8]=d*I+p*G+b*H,r[9]=h*I+v*G+w*H,r[10]=f*I+m*G+E*H,r[11]=g*I+y*G+_*H,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r)}function GC(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[4],s=e[5],o=e[6],l=e[7],c=e[8],u=e[9],d=e[10],h=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=a*i+c*n,r[5]=s*i+u*n,r[6]=o*i+d*n,r[7]=l*i+h*n,r[8]=c*i-a*n,r[9]=u*i-s*n,r[10]=d*i-o*n,r[11]=h*i-l*n,r}function WC(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],c=e[8],u=e[9],d=e[10],h=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i-c*n,r[1]=s*i-u*n,r[2]=o*i-d*n,r[3]=l*i-h*n,r[8]=a*n+c*i,r[9]=s*n+u*i,r[10]=o*n+d*i,r[11]=l*n+h*i,r}function xD(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],c=e[4],u=e[5],d=e[6],h=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i+c*n,r[1]=s*i+u*n,r[2]=o*i+d*n,r[3]=l*i+h*n,r[4]=c*i-a*n,r[5]=u*i-s*n,r[6]=d*i-o*n,r[7]=h*i-l*n,r}function Sa(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function is(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function VC(r,e,t){var n=t[0],i=t[1],a=t[2],s=Math.hypot(n,i,a),o,l,c;return s<Ut?null:(s=1/s,n*=s,i*=s,a*=s,o=Math.sin(e),l=Math.cos(e),c=1-l,r[0]=n*n*c+l,r[1]=i*n*c+a*o,r[2]=a*n*c-i*o,r[3]=0,r[4]=n*i*c-a*o,r[5]=i*i*c+l,r[6]=a*i*c+n*o,r[7]=0,r[8]=n*a*c+i*o,r[9]=i*a*c-n*o,r[10]=a*a*c+l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function UC(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=n,r[6]=t,r[7]=0,r[8]=0,r[9]=-t,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function HC(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=0,r[2]=-t,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=t,r[9]=0,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Qy(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=0,r[4]=-t,r[5]=n,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function YC(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=n+n,l=i+i,c=a+a,u=n*o,d=n*l,h=n*c,f=i*l,g=i*c,p=a*c,v=s*o,m=s*l,y=s*c;return r[0]=1-(f+p),r[1]=d+y,r[2]=h-m,r[3]=0,r[4]=d-y,r[5]=1-(u+p),r[6]=g+v,r[7]=0,r[8]=h+m,r[9]=g-v,r[10]=1-(u+f),r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function wD(r,e){var t=new wn(3),n=-e[0],i=-e[1],a=-e[2],s=e[3],o=e[4],l=e[5],c=e[6],u=e[7],d=n*n+i*i+a*a+s*s;return d>0?(t[0]=(o*s+u*n+l*a-c*i)*2/d,t[1]=(l*s+u*i+c*n-o*a)*2/d,t[2]=(c*s+u*a+o*i-l*n)*2/d):(t[0]=(o*s+u*n+l*a-c*i)*2,t[1]=(l*s+u*i+c*n-o*a)*2,t[2]=(c*s+u*a+o*i-l*n)*2),YC(r,e,t),r}function Fu(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function Mo(r,e){var t=e[0],n=e[1],i=e[2],a=e[4],s=e[5],o=e[6],l=e[8],c=e[9],u=e[10];return r[0]=Math.hypot(t,n,i),r[1]=Math.hypot(a,s,o),r[2]=Math.hypot(l,c,u),r}function Bu(r,e){var t=new wn(3);Mo(t,e);var n=1/t[0],i=1/t[1],a=1/t[2],s=e[0]*n,o=e[1]*i,l=e[2]*a,c=e[4]*n,u=e[5]*i,d=e[6]*a,h=e[8]*n,f=e[9]*i,g=e[10]*a,p=s+u+g,v=0;return p>0?(v=Math.sqrt(p+1)*2,r[3]=.25*v,r[0]=(d-f)/v,r[1]=(h-l)/v,r[2]=(o-c)/v):s>u&&s>g?(v=Math.sqrt(1+s-u-g)*2,r[3]=(d-f)/v,r[0]=.25*v,r[1]=(o+c)/v,r[2]=(h+l)/v):u>g?(v=Math.sqrt(1+u-s-g)*2,r[3]=(h-l)/v,r[0]=(o+c)/v,r[1]=.25*v,r[2]=(d+f)/v):(v=Math.sqrt(1+g-s-u)*2,r[3]=(o-c)/v,r[0]=(h+l)/v,r[1]=(d+f)/v,r[2]=.25*v),r}function ED(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=i+i,c=a+a,u=s+s,d=i*l,h=i*c,f=i*u,g=a*c,p=a*u,v=s*u,m=o*l,y=o*c,b=o*u,w=n[0],E=n[1],_=n[2];return r[0]=(1-(g+v))*w,r[1]=(h+b)*w,r[2]=(f-y)*w,r[3]=0,r[4]=(h-b)*E,r[5]=(1-(d+v))*E,r[6]=(p+m)*E,r[7]=0,r[8]=(f+y)*_,r[9]=(p-m)*_,r[10]=(1-(d+g))*_,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function Sl(r,e,t,n,i){var a=e[0],s=e[1],o=e[2],l=e[3],c=a+a,u=s+s,d=o+o,h=a*c,f=a*u,g=a*d,p=s*u,v=s*d,m=o*d,y=l*c,b=l*u,w=l*d,E=n[0],_=n[1],O=n[2],M=i[0],N=i[1],A=i[2],P=(1-(p+m))*E,L=(f+w)*E,I=(g-b)*E,G=(f-w)*_,H=(1-(h+m))*_,Y=(v+y)*_,W=(g+b)*O,q=(v-y)*O,Q=(1-(h+p))*O;return r[0]=P,r[1]=L,r[2]=I,r[3]=0,r[4]=G,r[5]=H,r[6]=Y,r[7]=0,r[8]=W,r[9]=q,r[10]=Q,r[11]=0,r[12]=t[0]+M-(P*M+G*N+W*A),r[13]=t[1]+N-(L*M+H*N+q*A),r[14]=t[2]+A-(I*M+Y*N+Q*A),r[15]=1,r}function mb(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,c=t*s,u=n*s,d=n*o,h=i*s,f=i*o,g=i*l,p=a*s,v=a*o,m=a*l;return r[0]=1-d-g,r[1]=u+m,r[2]=h-v,r[3]=0,r[4]=u-m,r[5]=1-c-g,r[6]=f+p,r[7]=0,r[8]=h+v,r[9]=f-p,r[10]=1-c-d,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function SD(r,e,t,n,i,a,s){var o=1/(t-e),l=1/(i-n),c=1/(a-s);return r[0]=a*2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(t+e)*o,r[9]=(i+n)*l,r[10]=(s+a)*c,r[11]=-1,r[12]=0,r[13]=0,r[14]=s*a*2*c,r[15]=0,r}function KC(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=(i+n)*s,r[14]=2*i*n*s):(r[10]=-1,r[14]=-2*n),r}var _D=KC;function kD(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=i*s,r[14]=i*n*s):(r[10]=-1,r[14]=-n),r}function MD(r,e,t,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),c=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=c,r[6]=0,r[7]=0,r[8]=-((s-o)*l*.5),r[9]=(i-a)*c*.5,r[10]=n/(t-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*t/(t-n),r[15]=0,r}function XC(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),c=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*c,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=(s+a)*c,r[15]=1,r}var ZC=XC;function JC(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),c=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=c,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=a*c,r[15]=1,r}function QC(r,e,t,n){var i,a,s,o,l,c,u,d,h,f,g=e[0],p=e[1],v=e[2],m=n[0],y=n[1],b=n[2],w=t[0],E=t[1],_=t[2];return Math.abs(g-w)<Ut&&Math.abs(p-E)<Ut&&Math.abs(v-_)<Ut?Ba(r):(u=g-w,d=p-E,h=v-_,f=1/Math.hypot(u,d,h),u*=f,d*=f,h*=f,i=y*h-b*d,a=b*u-m*h,s=m*d-y*u,f=Math.hypot(i,a,s),f?(f=1/f,i*=f,a*=f,s*=f):(i=0,a=0,s=0),o=d*s-h*a,l=h*i-u*s,c=u*a-d*i,f=Math.hypot(o,l,c),f?(f=1/f,o*=f,l*=f,c*=f):(o=0,l=0,c=0),r[0]=i,r[1]=o,r[2]=u,r[3]=0,r[4]=a,r[5]=l,r[6]=d,r[7]=0,r[8]=s,r[9]=c,r[10]=h,r[11]=0,r[12]=-(i*g+a*p+s*v),r[13]=-(o*g+l*p+c*v),r[14]=-(u*g+d*p+h*v),r[15]=1,r)}function TD(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=n[0],l=n[1],c=n[2],u=i-t[0],d=a-t[1],h=s-t[2],f=u*u+d*d+h*h;f>0&&(f=1/Math.sqrt(f),u*=f,d*=f,h*=f);var g=l*h-c*d,p=c*u-o*h,v=o*d-l*u;return f=g*g+p*p+v*v,f>0&&(f=1/Math.sqrt(f),g*=f,p*=f,v*=f),r[0]=g,r[1]=p,r[2]=v,r[3]=0,r[4]=d*v-h*p,r[5]=h*g-u*v,r[6]=u*p-d*g,r[7]=0,r[8]=u,r[9]=d,r[10]=h,r[11]=0,r[12]=i,r[13]=a,r[14]=s,r[15]=1,r}function OD(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function CD(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function ND(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r}function eN(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r}function AD(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r}function PD(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r[9]=e[9]+t[9]*n,r[10]=e[10]+t[10]*n,r[11]=e[11]+t[11]*n,r[12]=e[12]+t[12]*n,r[13]=e[13]+t[13]*n,r[14]=e[14]+t[14]*n,r[15]=e[15]+t[15]*n,r}function e1(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function RD(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],c=r[7],u=r[8],d=r[9],h=r[10],f=r[11],g=r[12],p=r[13],v=r[14],m=r[15],y=e[0],b=e[1],w=e[2],E=e[3],_=e[4],O=e[5],M=e[6],N=e[7],A=e[8],P=e[9],L=e[10],I=e[11],G=e[12],H=e[13],Y=e[14],W=e[15];return Math.abs(t-y)<=Ut*Math.max(1,Math.abs(t),Math.abs(y))&&Math.abs(n-b)<=Ut*Math.max(1,Math.abs(n),Math.abs(b))&&Math.abs(i-w)<=Ut*Math.max(1,Math.abs(i),Math.abs(w))&&Math.abs(a-E)<=Ut*Math.max(1,Math.abs(a),Math.abs(E))&&Math.abs(s-_)<=Ut*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(o-O)<=Ut*Math.max(1,Math.abs(o),Math.abs(O))&&Math.abs(l-M)<=Ut*Math.max(1,Math.abs(l),Math.abs(M))&&Math.abs(c-N)<=Ut*Math.max(1,Math.abs(c),Math.abs(N))&&Math.abs(u-A)<=Ut*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(d-P)<=Ut*Math.max(1,Math.abs(d),Math.abs(P))&&Math.abs(h-L)<=Ut*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(f-I)<=Ut*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(g-G)<=Ut*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(p-H)<=Ut*Math.max(1,Math.abs(p),Math.abs(H))&&Math.abs(v-Y)<=Ut*Math.max(1,Math.abs(v),Math.abs(Y))&&Math.abs(m-W)<=Ut*Math.max(1,Math.abs(m),Math.abs(W))}var tN=rr,LD=eN;const ID=Object.freeze(Object.defineProperty({__proto__:null,add:ND,adjoint:yD,clone:BC,copy:ko,create:Pt,determinant:$C,equals:RD,exactEquals:e1,frob:CD,fromQuat:mb,fromQuat2:wD,fromRotation:VC,fromRotationTranslation:YC,fromRotationTranslationScale:ED,fromRotationTranslationScaleOrigin:Sl,fromScaling:is,fromTranslation:Sa,fromValues:zC,fromXRotation:UC,fromYRotation:HC,fromZRotation:Qy,frustum:SD,getRotation:Bu,getScaling:Mo,getTranslation:Fu,identity:Ba,invert:Ti,lookAt:QC,mul:tN,multiply:rr,multiplyScalar:AD,multiplyScalarAndAdd:PD,ortho:ZC,orthoNO:XC,orthoZO:JC,perspective:_D,perspectiveFromFieldOfView:MD,perspectiveNO:KC,perspectiveZO:kD,rotate:bD,rotateX:GC,rotateY:WC,rotateZ:xD,scale:qC,set:Jy,str:OD,sub:LD,subtract:eN,targetTo:TD,translate:yo,transpose:jC},Symbol.toStringTag,{value:"Module"}));function ct(){var r=new wn(3);return wn!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function Wi(r){var e=new wn(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function Ui(r){var e=r[0],t=r[1],n=r[2];return Math.hypot(e,t,n)}function Bt(r,e,t){var n=new wn(3);return n[0]=r,n[1]=e,n[2]=t,n}function Oi(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function nr(r,e,t,n){return r[0]=e,r[1]=t,r[2]=n,r}function Ra(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r}function t1(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r}function DD(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r}function FD(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r}function BD(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r}function zu(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r}function zD(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return Math.hypot(t,n,i)}function hs(r,e){var t=e[0],n=e[1],i=e[2],a=t*t+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function Ci(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Tu(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2];return r[0]=i*l-a*o,r[1]=a*s-n*l,r[2]=n*o-i*s,r}function n1(r,e,t,n){var i=e[0],a=e[1],s=e[2];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r}function ir(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[3]*n+t[7]*i+t[11]*a+t[15];return s=s||1,r[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/s,r[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/s,r[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/s,r}function jD(r,e,t){var n=e[0],i=e[1],a=e[2];return r[0]=n*t[0]+i*t[3]+a*t[6],r[1]=n*t[1]+i*t[4]+a*t[7],r[2]=n*t[2]+i*t[5]+a*t[8],r}function $D(r,e,t){var n=t[0],i=t[1],a=t[2],s=t[3],o=e[0],l=e[1],c=e[2],u=i*c-a*l,d=a*o-n*c,h=n*l-i*o,f=i*h-a*d,g=a*u-n*h,p=n*d-i*u,v=s*2;return u*=v,d*=v,h*=v,f*=2,g*=2,p*=2,r[0]=o+u+f,r[1]=l+d+g,r[2]=c+h+p,r}function Jo(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2];return Math.abs(t-a)<=Ut*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-s)<=Ut*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-o)<=Ut*Math.max(1,Math.abs(i),Math.abs(o))}var qD=t1,iw=zD,nN=Ui;(function(){var r=ct();return function(e,t,n,i,a,s){var o,l;for(t||(t=3),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2];return e}})();function Ni(){var r=new wn(4);return wn!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function hl(r,e,t,n){var i=new wn(4);return i[0]=r,i[1]=e,i[2]=t,i[3]=n,i}function GD(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function WD(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function VD(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a;return s>0&&(s=1/Math.sqrt(s)),r[0]=t*s,r[1]=n*s,r[2]=i*s,r[3]=a*s,r}function Zi(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3];return r[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*s,r[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*s,r[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*s,r[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*s,r}(function(){var r=Ni();return function(e,t,n,i,a,s){var o,l;for(t||(t=4),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],r[3]=e[o+3],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2],e[o+3]=r[3];return e}})();function Mn(){var r=new wn(4);return wn!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function ka(r,e,t){t=t*.5;var n=Math.sin(t);return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=Math.cos(t),r}function La(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],c=t[2],u=t[3];return r[0]=n*u+s*o+i*c-a*l,r[1]=i*u+s*l+a*o-n*c,r[2]=a*u+s*c+n*l-i*o,r[3]=s*u-n*o-i*l-a*c,r}function hf(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=t[0],c=t[1],u=t[2],d=t[3],h,f,g,p,v;return f=i*l+a*c+s*u+o*d,f<0&&(f=-f,l=-l,c=-c,u=-u,d=-d),1-f>Ut?(h=Math.acos(f),g=Math.sin(h),p=Math.sin((1-n)*h)/g,v=Math.sin(n*h)/g):(p=1-n,v=n),r[0]=p*i+v*l,r[1]=p*a+v*c,r[2]=p*s+v*u,r[3]=p*o+v*d,r}function ff(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a,o=s?1/s:0;return r[0]=-t*o,r[1]=-n*o,r[2]=-i*o,r[3]=a*o,r}function UD(r,e){var t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[a*3+a]-e[s*3+s]+1),r[i]=.5*n,n=.5/n,r[3]=(e[a*3+s]-e[s*3+a])*n,r[a]=(e[a*3+i]+e[i*3+a])*n,r[s]=(e[s*3+i]+e[i*3+s])*n}return r}function Tc(r,e,t,n){var i=.5*Math.PI/180;e*=i,t*=i,n*=i;var a=Math.sin(e),s=Math.cos(e),o=Math.sin(t),l=Math.cos(t),c=Math.sin(n),u=Math.cos(n);return r[0]=a*l*u-s*o*c,r[1]=s*o*u+a*l*c,r[2]=s*l*c-a*o*u,r[3]=s*l*u+a*o*c,r}var HD=hl,Oc=GD,aw=WD,sw=La,ju=VD;(function(){var r=ct(),e=Bt(1,0,0),t=Bt(0,1,0);return function(n,i,a){var s=Ci(i,a);return s<-.999999?(Tu(r,e,i),nN(r)<1e-6&&Tu(r,t,i),hs(r,r),ka(n,r,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Tu(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+s,ju(n,n))}})();(function(){var r=Mn(),e=Mn();return function(t,n,i,a,s,o){return hf(r,n,s,o),hf(e,i,a,o),hf(t,r,e,2*o*(1-o)),t}})();(function(){var r=FC();return function(e,t,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-t[0],r[5]=-t[1],r[8]=-t[2],ju(e,UD(e,r))}})();function yb(){var r=new wn(2);return wn!=Float32Array&&(r[0]=0,r[1]=0),r}function YD(r,e){return r[0]=e[0],r[1]=e[1],r}function KD(r,e,t){return r[0]=e,r[1]=t,r}function XD(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function ZD(r,e){return r[0]*e[0]+r[1]*e[1]}function JD(r,e){return r[0]===e[0]&&r[1]===e[1]}(function(){var r=yb();return function(e,t,n,i,a,s){var o,l;for(t||(t=2),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],a(r,r,s),e[o]=r[0],e[o+1]=r[1];return e}})();var Il=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},QD=function(r,e){return Il(r)?r.indexOf(e)>-1:!1},e6=function(r,e){if(!Il(r))return r;for(var t=[],n=0;n<r.length;n++){var i=r[n];e(i,n)&&t.push(i)}return t},t6=function(r,e){return e===void 0&&(e=[]),e6(r,function(t){return!QD(e,t)})};function Ie(r){return typeof r=="function"}function qe(r){return r==null}function Fr(r){return Array.isArray(r)}const pn=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function rN(r,e){if(r){var t;if(Fr(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(pn(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var r1=function(r){return typeof r=="object"&&r!==null},n6={}.toString,iN=function(r,e){return n6.call(r)==="[object "+e+"]"},To=function(r){if(!r1(r)||!iN(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e};function $u(r){if(!Array.isArray(r))return-1/0;var e=r.length;if(!e)return-1/0;for(var t=r[0],n=1;n<e;n++)t=Math.max(t,r[n]);return t}const qu=function(r){if(Fr(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])};var r6=function(r,e,t){if(!Fr(r)&&!To(r))return r;var n=t;return rN(r,function(i,a){n=e(n,i,a)}),n};function gt(r){return typeof r=="string"}function i6(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var a6=Object.prototype.hasOwnProperty;function wd(r,e){if(!e||!Fr(r))return{};for(var t={},n=Ie(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),a6.call(t,i)?t[i].push(s):t[i]=[s]}return t}var an=function(r,e,t){return r<e?e:r>t?t:r};function Ce(r){return typeof r=="number"}var s6=1e-5;function _l(r,e,t){return t===void 0&&(t=s6),r===e||Math.abs(r-e)<t}const o6=function(r,e){if(Fr(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=Ie(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}},l6=function(r,e){if(Fr(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=Ie(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}};var aN=function(r,e){return(r%e+e)%e};const sN=function(r){return qe(r)?"":r.toString()};var c6=function(r){var e=sN(r);return e.charAt(0).toLowerCase()+e.substring(1)};function u6(r,e){return!r||!e?r:r.replace(/\\?\{([^{}]+)\}/g,function(t,n){return t.charAt(0)==="\\"?t.slice(1):e[n]===void 0?"":e[n]})}var Gu=function(r){var e=sN(r);return e.charAt(0).toUpperCase()+e.substring(1)},d6={}.toString,h6=function(r){return d6.call(r).replace(/^\[object /,"").replace(/]$/,"")},Wu=function(r){return iN(r,"Boolean")};function f6(r){return r instanceof Date}function g6(r){return r===null}var v6=Object.prototype,p6=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||v6;return r===t},Ue=function(r){return r===void 0},za=function(r){if(typeof r!="object"||r===null)return r;var e;if(Fr(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=za(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=za(r[i]):e[i]=r[i]}return e};function nc(r,e,t){var n;return function(){var i=this,a=arguments,s=function(){n=null,t||r.apply(i,a)},o=t&&!n;clearTimeout(n),n=setTimeout(s,e),o&&r.apply(i,a)}}function m6(r){var e,t,n,i=r||1;function a(o,l){++e>i&&(n=t,s(1),++e),t[o]=l}function s(o){e=0,t=Object.create(null),o||(n=Object.create(null))}return s(),{clear:s,has:function(o){return t[o]!==void 0||n[o]!==void 0},get:function(o){var l=t[o];if(l!==void 0)return l;if((l=n[o])!==void 0)return a(o,l),l},set:function(o,l){t[o]!==void 0?t[o]=l:a(o,l)}}}var gf=new Map;function i1(r,e,t){t===void 0&&(t=128);var n=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=e?e.apply(this,i):i[0];gf.has(r)||gf.set(r,m6(t));var o=gf.get(r);if(o.has(s))return o.get(s);var l=r.apply(this,i);return o.set(s,l),l};return n}var y6=5;function b6(r,e){if(Object.hasOwn)return Object.hasOwn(r,e);if(r==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(r),e)}function oN(r,e,t,n){t=t||0,n=n||y6;for(var i in e)if(b6(e,i)){var a=e[i];a!==null&&To(a)?(To(r[i])||(r[i]={}),t<n?oN(r[i],a,t+1,n):r[i]=e[i]):Fr(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var hr=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)oN(r,e[n]);return r},x6=Object.prototype.hasOwnProperty;function ki(r){if(qe(r))return!0;if(Il(r))return!r.length;var e=h6(r);if(e==="Map"||e==="Set")return!r.size;if(p6(r))return!Object.keys(r).length;for(var t in r)if(x6.call(r,t))return!1;return!0}var sn=function(r,e){if(r===e)return!0;if(!r||!e||gt(r)||gt(e))return!1;if(Il(r)||Il(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=sn(r[n],e[n]),!!t);n++);return t}if(r1(r)||r1(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=sn(r[i[n]],e[i[n]]),!!t);n++);return t}return!1};const lr=function(r,e,t){for(var n=0,i=gt(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},Dl=function(r,e,t){var n=r,i=gt(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(pn(n[a])||(n[a]=Ce(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r};var w6=Object.prototype.hasOwnProperty;const xs=function(r,e){if(r===null||!To(r))return{};var t={};return rN(e,function(n){w6.call(r,n)&&(t[n]=r[n])}),t},bb=function(r,e){return r6(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})},lN=function(r,e,t){var n,i,a,s,o=0;t||(t={});var l=function(){o=t.leading===!1?0:Date.now(),n=null,s=r.apply(i,a),n||(i=a=null)},c=function(){var u=Date.now();!o&&t.leading===!1&&(o=u);var d=e-(u-o);return i=this,a=arguments,d<=0||d>e?(n&&(clearTimeout(n),n=null),o=u,s=r.apply(i,a),n||(i=a=null)):!n&&t.trailing!==!1&&(n=setTimeout(l,d)),s};return c.cancel=function(){clearTimeout(n),o=0,n=i=a=null},c};var Cc={};const E6=function(r){return r=r||"g",Cc[r]?Cc[r]+=1:Cc[r]=1,r+Cc[r]},vf=function(){},a1=function(r){return r};var s1=function(r,e){return s1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},s1(r,e)};function it(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");s1(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var fe=function(){return fe=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},fe.apply(this,arguments)};function un(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t}function rt(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})}function rc(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function V(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,a=[],s;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(o){s={error:o}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(s)throw s.error}}return a}function S6(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var n=Array(r),i=0,e=0;e<t;e++)for(var a=arguments[e],s=0,o=a.length;s<o;s++,i++)n[i]=a[s];return n}function Oe(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;n<i;n++)(a||!(n in e))&&(a||(a=Array.prototype.slice.call(e,0,n)),a[n]=e[n]);return r.concat(a||Array.prototype.slice.call(e))}function pf(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}var cN={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function _6(r,e,t){if(r[t].length>7){r[t].shift();for(var n=r[t],i=t;n.length;)e[t]="A",r.splice(i+=1,0,["C"].concat(n.splice(0,6)));r.splice(t,1)}}var kl={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function uN(r){return Array.isArray(r)&&r.every(function(e){var t=e[0].toLowerCase();return kl[t]===e.length-1&&"achlmqstvz".includes(t)})}function dN(r){return uN(r)&&r.every(function(e){var t=e[0];return t===t.toUpperCase()})}function hN(r){return dN(r)&&r.every(function(e){var t=e[0];return"ACLMQZ".includes(t)})}function ow(r){for(var e=r.pathValue[r.segmentStart],t=e.toLowerCase(),n=r.data;n.length>=kl[t]&&(t==="m"&&n.length>2?(r.segments.push([e].concat(n.splice(0,2))),t="l",e=e==="m"?"l":"L"):r.segments.push([e].concat(n.splice(0,kl[t]))),!!kl[t]););}function k6(r){var e=r.index,t=r.pathValue,n=t.charCodeAt(e);if(n===48){r.param=0,r.index+=1;return}if(n===49){r.param=1,r.index+=1;return}r.err='[path-util]: invalid Arc flag "'.concat(t[e],'", expecting 0 or 1 at index ').concat(e)}function M6(r){return r>=48&&r<=57||r===43||r===45||r===46}function Ks(r){return r>=48&&r<=57}function T6(r){var e=r.max,t=r.pathValue,n=r.index,i=n,a=!1,s=!1,o=!1,l=!1,c;if(i>=e){r.err="[path-util]: Invalid path value at index ".concat(i,', "pathValue" is missing param');return}if(c=t.charCodeAt(i),(c===43||c===45)&&(i+=1,c=t.charCodeAt(i)),!Ks(c)&&c!==46){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" is not a number');return}if(c!==46){if(a=c===48,i+=1,c=t.charCodeAt(i),a&&i<e&&c&&Ks(c)){r.err="[path-util]: Invalid path value at index ".concat(n,', "').concat(t[n],'" illegal number');return}for(;i<e&&Ks(t.charCodeAt(i));)i+=1,s=!0;c=t.charCodeAt(i)}if(c===46){for(l=!0,i+=1;Ks(t.charCodeAt(i));)i+=1,o=!0;c=t.charCodeAt(i)}if(c===101||c===69){if(l&&!s&&!o){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid float exponent');return}if(i+=1,c=t.charCodeAt(i),(c===43||c===45)&&(i+=1),i<e&&Ks(t.charCodeAt(i)))for(;i<e&&Ks(t.charCodeAt(i));)i+=1;else{r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid integer exponent');return}}r.index=i,r.param=+r.pathValue.slice(n,i)}function O6(r){var e=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return r===10||r===13||r===8232||r===8233||r===32||r===9||r===11||r===12||r===160||r>=5760&&e.includes(r)}function Ou(r){for(var e=r.pathValue,t=r.max;r.index<t&&O6(e.charCodeAt(r.index));)r.index+=1}function C6(r){switch(r|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}function N6(r){return(r|32)===97}function A6(r){var e=r.max,t=r.pathValue,n=r.index,i=t.charCodeAt(n),a=kl[t[n].toLowerCase()];if(r.segmentStart=n,!C6(i)){r.err='[path-util]: Invalid path value "'.concat(t[n],'" is not a path command');return}if(r.index+=1,Ou(r),r.data=[],!a){ow(r);return}for(;;){for(var s=a;s>0;s-=1){if(N6(i)&&(s===3||s===4)?k6(r):T6(r),r.err.length)return;r.data.push(r.param),Ou(r),r.index<e&&t.charCodeAt(r.index)===44&&(r.index+=1,Ou(r))}if(r.index>=r.max||!M6(t.charCodeAt(r.index)))break}ow(r)}var P6=function(){function r(e){this.pathValue=e,this.segments=[],this.max=e.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return r}();function R6(r){if(uN(r))return[].concat(r);var e=new P6(r);for(Ou(e);e.index<e.max&&!e.err.length;)A6(e);return e.err?e.err:e.segments}function L6(r){if(dN(r))return[].concat(r);var e=R6(r),t=0,n=0,i=0,a=0;return e.map(function(s){var o=s.slice(1).map(Number),l=s[0],c=l.toUpperCase();if(l==="M")return t=o[0],n=o[1],i=t,a=n,["M",t,n];var u;if(l!==c)switch(c){case"A":u=[c,o[0],o[1],o[2],o[3],o[4],o[5]+t,o[6]+n];break;case"V":u=[c,o[0]+n];break;case"H":u=[c,o[0]+t];break;default:{var d=o.map(function(f,g){return f+(g%2?n:t)});u=[c].concat(d)}}else u=[c].concat(o);var h=u.length;switch(c){case"Z":t=i,n=a;break;case"H":t=u[1];break;case"V":n=u[1];break;default:t=u[h-2],n=u[h-1],c==="M"&&(i=t,a=n)}return u})}function I6(r,e){var t=r[0],n=e.x1,i=e.y1,a=e.x2,s=e.y2,o=r.slice(1).map(Number),l=r;if("TQ".includes(t)||(e.qx=null,e.qy=null),t==="H")l=["L",r[1],i];else if(t==="V")l=["L",n,r[1]];else if(t==="S"){var c=n*2-a,u=i*2-s;e.x1=c,e.y1=u,l=["C",c,u].concat(o)}else if(t==="T"){var d=n*2-e.qx,h=i*2-e.qy;e.qx=d,e.qy=h,l=["Q",d,h].concat(o)}else if(t==="Q"){var f=o[0],g=o[1];e.qx=f,e.qy=g}return l}function Vu(r){if(hN(r))return[].concat(r);for(var e=L6(r),t=fe({},cN),n=0;n<e.length;n+=1){e[n]=I6(e[n],t);var i=e[n],a=i.length;t.x1=+i[a-2],t.y1=+i[a-1],t.x2=+i[a-4]||t.x1,t.y2=+i[a-3]||t.y1}return e}function D6(r){return hN(r)&&r.every(function(e){var t=e[0];return"MC".includes(t)})}function Nc(r,e,t){var n=r*Math.cos(t)-e*Math.sin(t),i=r*Math.sin(t)+e*Math.cos(t);return{x:n,y:i}}function xb(r,e,t,n,i,a,s,o,l,c){var u=r,d=e,h=t,f=n,g=o,p=l,v=Math.PI*120/180,m=Math.PI/180*(+i||0),y=[],b,w,E,_,O;if(c)w=c[0],E=c[1],_=c[2],O=c[3];else{b=Nc(u,d,-m),u=b.x,d=b.y,b=Nc(g,p,-m),g=b.x,p=b.y;var M=(u-g)/2,N=(d-p)/2,A=M*M/(h*h)+N*N/(f*f);A>1&&(A=Math.sqrt(A),h*=A,f*=A);var P=h*h,L=f*f,I=(a===s?-1:1)*Math.sqrt(Math.abs((P*L-P*N*N-L*M*M)/(P*N*N+L*M*M)));_=I*h*N/f+(u+g)/2,O=I*-f*M/h+(d+p)/2,w=Math.asin(((d-O)/f*Math.pow(10,9)>>0)/Math.pow(10,9)),E=Math.asin(((p-O)/f*Math.pow(10,9)>>0)/Math.pow(10,9)),w=u<_?Math.PI-w:w,E=g<_?Math.PI-E:E,w<0&&(w=Math.PI*2+w),E<0&&(E=Math.PI*2+E),s&&w>E&&(w-=Math.PI*2),!s&&E>w&&(E-=Math.PI*2)}var G=E-w;if(Math.abs(G)>v){var H=E,Y=g,W=p;E=w+v*(s&&E>w?1:-1),g=_+h*Math.cos(E),p=O+f*Math.sin(E),y=xb(g,p,h,f,i,0,s,Y,W,[E,H,_,O])}G=E-w;var q=Math.cos(w),Q=Math.sin(w),re=Math.cos(E),de=Math.sin(E),oe=Math.tan(G/4),he=4/3*h*oe,X=4/3*f*oe,U=[u,d],ne=[u+he*Q,d-X*q],ue=[g+he*de,p-X*re],Me=[g,p];if(ne[0]=2*U[0]-ne[0],ne[1]=2*U[1]-ne[1],c)return ne.concat(ue,Me,y);y=ne.concat(ue,Me,y);for(var Be=[],Ve=0,Dt=y.length;Ve<Dt;Ve+=1)Be[Ve]=Ve%2?Nc(y[Ve-1],y[Ve],m).y:Nc(y[Ve],y[Ve+1],m).x;return Be}function F6(r,e,t,n,i,a){var s=.3333333333333333,o=2/3;return[s*r+o*t,s*e+o*n,s*i+o*t,s*a+o*n,i,a]}function wa(r,e,t){var n=r[0],i=r[1],a=e[0],s=e[1];return[n+(a-n)*t,i+(s-i)*t]}var lw=function(r,e,t,n){var i=.5,a=wa([r,e],[t,n],i);return Oe(Oe([],a,!0),[t,n,t,n],!1)};function B6(r,e){var t=r[0],n=r.slice(1).map(Number),i=n[0],a=n[1],s,o=e.x1,l=e.y1,c=e.x,u=e.y;switch("TQ".includes(t)||(e.qx=null,e.qy=null),t){case"M":return e.x=i,e.y=a,r;case"A":return s=[o,l].concat(n),["C"].concat(xb(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]));case"Q":return e.qx=i,e.qy=a,s=[o,l].concat(n),["C"].concat(F6(s[0],s[1],s[2],s[3],s[4],s[5]));case"L":return["C"].concat(lw(o,l,i,a));case"Z":return o===c&&l===u?["C",o,l,c,u,c,u]:["C"].concat(lw(o,l,c,u))}return r}function o1(r,e){if(e===void 0&&(e=!1),D6(r)){var t=[].concat(r);return e?[t,[]]:t}for(var n=Vu(r),i=fe({},cN),a=[],s="",o=n.length,l,c,u=[],d=0;d<o;d+=1){n[d]&&(s=n[d][0]),a[d]=s;var h=B6(n[d],i);n[d]=h,_6(n,a,d),o=n.length,s==="Z"&&u.push(d),l=n[d],c=l.length,i.x1=+l[c-2],i.y1=+l[c-1],i.x2=+l[c-4]||i.x1,i.y2=+l[c-3]||i.y1}return e?[n,u]:n}function z6(r){return r.map(function(e){return Array.isArray(e)?[].concat(e):e})}function j6(r){var e=r.slice(1).map(function(t,n,i){return n?i[n-1].slice(-2).concat(t.slice(1)):r[0].slice(1).concat(t.slice(1))}).map(function(t){return t.map(function(n,i){return t[t.length-i-2*(1-i%2)]})}).reverse();return[["M"].concat(e[0].slice(0,2))].concat(e.map(function(t){return["C"].concat(t.slice(2))}))}function yr(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}function l1(r,e,t,n,i){var a=yr([r,e],[t,n]),s={x:0,y:0};if(typeof i=="number")if(i<=0)s={x:r,y:e};else if(i>=a)s={x:t,y:n};else{var o=wa([r,e],[t,n],i/a),l=o[0],c=o[1];s={x:l,y:c}}return{length:a,point:s,min:{x:Math.min(r,t),y:Math.min(e,n)},max:{x:Math.max(r,t),y:Math.max(e,n)}}}function cw(r,e){var t=r.x,n=r.y,i=e.x,a=e.y,s=t*i+n*a,o=Math.sqrt((Math.pow(t,2)+Math.pow(n,2))*(Math.pow(i,2)+Math.pow(a,2))),l=t*a-n*i<0?-1:1,c=l*Math.acos(s/o);return c}function $6(r,e,t,n,i,a,s,o,l,c){var u=Math.abs,d=Math.sin,h=Math.cos,f=Math.sqrt,g=Math.PI,p=u(t),v=u(n),m=(i%360+360)%360,y=m*(g/180);if(r===o&&e===l)return{x:r,y:e};if(p===0||v===0)return l1(r,e,o,l,c).point;var b=(r-o)/2,w=(e-l)/2,E={x:h(y)*b+d(y)*w,y:-d(y)*b+h(y)*w},_=Math.pow(E.x,2)/Math.pow(p,2)+Math.pow(E.y,2)/Math.pow(v,2);_>1&&(p*=f(_),v*=f(_));var O=Math.pow(p,2)*Math.pow(v,2)-Math.pow(p,2)*Math.pow(E.y,2)-Math.pow(v,2)*Math.pow(E.x,2),M=Math.pow(p,2)*Math.pow(E.y,2)+Math.pow(v,2)*Math.pow(E.x,2),N=O/M;N=N<0?0:N;var A=(a!==s?1:-1)*f(N),P={x:A*(p*E.y/v),y:A*(-(v*E.x)/p)},L={x:h(y)*P.x-d(y)*P.y+(r+o)/2,y:d(y)*P.x+h(y)*P.y+(e+l)/2},I={x:(E.x-P.x)/p,y:(E.y-P.y)/v},G=cw({x:1,y:0},I),H={x:(-E.x-P.x)/p,y:(-E.y-P.y)/v},Y=cw(I,H);!s&&Y>0?Y-=2*g:s&&Y<0&&(Y+=2*g),Y%=2*g;var W=G+Y*c,q=p*h(W),Q=v*d(W),re={x:h(y)*q-d(y)*Q+L.x,y:d(y)*q+h(y)*Q+L.y};return re}function q6(r,e,t,n,i,a,s,o,l,c,u){var d,h=u.bbox,f=h===void 0?!0:h,g=u.length,p=g===void 0?!0:g,v=u.sampleSize,m=v===void 0?30:v,y=typeof c=="number",b=r,w=e,E=0,_=[b,w,E],O=[b,w],M=0,N={x:0,y:0},A=[{x:b,y:w}];y&&c<=0&&(N={x:b,y:w});for(var P=0;P<=m;P+=1){if(M=P/m,d=$6(r,e,t,n,i,a,s,o,l,M),b=d.x,w=d.y,f&&A.push({x:b,y:w}),p&&(E+=yr(O,[b,w])),O=[b,w],y&&E>=c&&c>_[2]){var L=(E-c)/(E-_[2]);N={x:O[0]*(1-L)+_[0]*L,y:O[1]*(1-L)+_[1]*L}}_=[b,w,E]}return y&&c>=E&&(N={x:o,y:l}),{length:E,point:N,min:{x:Math.min.apply(null,A.map(function(I){return I.x})),y:Math.min.apply(null,A.map(function(I){return I.y}))},max:{x:Math.max.apply(null,A.map(function(I){return I.x})),y:Math.max.apply(null,A.map(function(I){return I.y}))}}}function G6(r,e,t,n,i,a,s,o,l){var c=1-l;return{x:Math.pow(c,3)*r+3*Math.pow(c,2)*l*t+3*c*Math.pow(l,2)*i+Math.pow(l,3)*s,y:Math.pow(c,3)*e+3*Math.pow(c,2)*l*n+3*c*Math.pow(l,2)*a+Math.pow(l,3)*o}}function fN(r,e,t,n,i,a,s,o,l,c){var u,d=c.bbox,h=d===void 0?!0:d,f=c.length,g=f===void 0?!0:f,p=c.sampleSize,v=p===void 0?10:p,m=typeof l=="number",y=r,b=e,w=0,E=[y,b,w],_=[y,b],O=0,M={x:0,y:0},N=[{x:y,y:b}];m&&l<=0&&(M={x:y,y:b});for(var A=0;A<=v;A+=1){if(O=A/v,u=G6(r,e,t,n,i,a,s,o,O),y=u.x,b=u.y,h&&N.push({x:y,y:b}),g&&(w+=yr(_,[y,b])),_=[y,b],m&&w>=l&&l>E[2]){var P=(w-l)/(w-E[2]);M={x:_[0]*(1-P)+E[0]*P,y:_[1]*(1-P)+E[1]*P}}E=[y,b,w]}return m&&l>=w&&(M={x:s,y:o}),{length:w,point:M,min:{x:Math.min.apply(null,N.map(function(L){return L.x})),y:Math.min.apply(null,N.map(function(L){return L.y}))},max:{x:Math.max.apply(null,N.map(function(L){return L.x})),y:Math.max.apply(null,N.map(function(L){return L.y}))}}}function W6(r,e,t,n,i,a,s){var o=1-s;return{x:Math.pow(o,2)*r+2*o*s*t+Math.pow(s,2)*i,y:Math.pow(o,2)*e+2*o*s*n+Math.pow(s,2)*a}}function V6(r,e,t,n,i,a,s,o){var l,c=o.bbox,u=c===void 0?!0:c,d=o.length,h=d===void 0?!0:d,f=o.sampleSize,g=f===void 0?10:f,p=typeof s=="number",v=r,m=e,y=0,b=[v,m,y],w=[v,m],E=0,_={x:0,y:0},O=[{x:v,y:m}];p&&s<=0&&(_={x:v,y:m});for(var M=0;M<=g;M+=1){if(E=M/g,l=W6(r,e,t,n,i,a,E),v=l.x,m=l.y,u&&O.push({x:v,y:m}),h&&(y+=yr(w,[v,m])),w=[v,m],p&&y>=s&&s>b[2]){var N=(y-s)/(y-b[2]);_={x:w[0]*(1-N)+b[0]*N,y:w[1]*(1-N)+b[1]*N}}b=[v,m,y]}return p&&s>=y&&(_={x:i,y:a}),{length:y,point:_,min:{x:Math.min.apply(null,O.map(function(A){return A.x})),y:Math.min.apply(null,O.map(function(A){return A.y}))},max:{x:Math.max.apply(null,O.map(function(A){return A.x})),y:Math.max.apply(null,O.map(function(A){return A.y}))}}}function gN(r,e,t){for(var n,i,a,s,o,l,c=Vu(r),u=typeof e=="number",d,h=[],f,g=0,p=0,v=0,m=0,y,b=[],w=[],E=0,_={x:0,y:0},O=_,M=_,N=_,A=0,P=0,L=c.length;P<L;P+=1)y=c[P],f=y[0],d=f==="M",h=d?h:[g,p].concat(y.slice(1)),d?(v=y[1],m=y[2],_={x:v,y:m},O=_,E=0,u&&e<.001&&(N=_)):f==="L"?(n=l1(h[0],h[1],h[2],h[3],(e||0)-A),E=n.length,_=n.min,O=n.max,M=n.point):f==="A"?(i=q6(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],(e||0)-A,t||{}),E=i.length,_=i.min,O=i.max,M=i.point):f==="C"?(a=fN(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],(e||0)-A,t||{}),E=a.length,_=a.min,O=a.max,M=a.point):f==="Q"?(s=V6(h[0],h[1],h[2],h[3],h[4],h[5],(e||0)-A,t||{}),E=s.length,_=s.min,O=s.max,M=s.point):f==="Z"&&(h=[g,p,v,m],o=l1(h[0],h[1],h[2],h[3],(e||0)-A),E=o.length,_=o.min,O=o.max,M=o.point),u&&A<e&&A+E>=e&&(N=M),w.push(O),b.push(_),A+=E,l=f!=="Z"?y.slice(-2):[v,m],g=l[0],p=l[1];return u&&e>=A&&(N={x:g,y:p}),{length:A,point:N,min:{x:Math.min.apply(null,b.map(function(I){return I.x})),y:Math.min.apply(null,b.map(function(I){return I.y}))},max:{x:Math.max.apply(null,w.map(function(I){return I.x})),y:Math.max.apply(null,w.map(function(I){return I.y}))}}}function U6(r,e){return gN(r,void 0,fe(fe({},e),{bbox:!1,length:!0})).length}function H6(r){var e=r.length,t=e-1;return r.map(function(n,i){return r.map(function(a,s){var o=i+s,l;return s===0||r[o]&&r[o][0]==="M"?(l=r[o],["M"].concat(l.slice(-2))):(o>=e&&(o-=t),r[o])})})}function Y6(r,e){var t=r.length-1,n=[],i=0,a=0,s=H6(r);return s.forEach(function(o,l){r.slice(1).forEach(function(c,u){a+=yr(r[(l+u)%t].slice(-2),e[u%t].slice(-2))}),n[l]=a,a=0}),i=n.indexOf(Math.min.apply(null,n)),s[i]}function K6(r,e,t,n,i,a,s,o){return 3*((o-e)*(t+i)-(s-r)*(n+a)+n*(r-i)-t*(e-a)+o*(i+r/3)-s*(a+e/3))/20}function X6(r){var e=0,t=0,n=0;return o1(r).map(function(i){var a;switch(i[0]){case"M":return e=i[1],t=i[2],0;default:var s=i.slice(1),o=s[0],l=s[1],c=s[2],u=s[3],d=s[4],h=s[5];return n=K6(e,t,o,l,c,u,d,h),a=i.slice(-2),e=a[0],t=a[1],n}}).reduce(function(i,a){return i+a},0)}function uw(r){return X6(r)>=0}function Z6(r,e,t){return gN(r,e,fe(fe({},t),{bbox:!1,length:!0})).point}function J6(r,e){e===void 0&&(e=.5);var t=r.slice(0,2),n=r.slice(2,4),i=r.slice(4,6),a=r.slice(6,8),s=wa(t,n,e),o=wa(n,i,e),l=wa(i,a,e),c=wa(s,o,e),u=wa(o,l,e),d=wa(c,u,e);return[["C"].concat(s,c,d),["C"].concat(u,l,a)]}function dw(r){return r.map(function(e,t,n){var i=t&&n[t-1].slice(-2).concat(e.slice(1)),a=t?fN(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],{bbox:!1}).length:0,s;return t?s=a?J6(i):[e,e]:s=[e],{s:e,ss:s,l:a}})}function vN(r,e,t){var n=dw(r),i=dw(e),a=n.length,s=i.length,o=n.filter(function(v){return v.l}).length,l=i.filter(function(v){return v.l}).length,c=n.filter(function(v){return v.l}).reduce(function(v,m){var y=m.l;return v+y},0)/o||0,u=i.filter(function(v){return v.l}).reduce(function(v,m){var y=m.l;return v+y},0)/l||0,d=t||Math.max(a,s),h=[c,u],f=[d-a,d-s],g=0,p=[n,i].map(function(v,m){return v.l===d?v.map(function(y){return y.s}):v.map(function(y,b){return g=b&&f[m]&&y.l>=h[m],f[m]-=g?1:0,g?y.ss:[y.s]}).flat()});return p[0].length===p[1].length?p:vN(p[0],p[1],d)}function c1(r){var e=document.createElement("div");e.innerHTML=r;var t=e.childNodes[0];return t&&e.contains(t)&&e.removeChild(t),t}function Q6(r,e){for(;!{}.hasOwnProperty.call(r,e)&&(r=_o(r))!==null;);return r}function u1(){return u1=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(r,e,t){var n=Q6(r,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(arguments.length<3?r:t):i.value}},u1.apply(null,arguments)}function hw(r,e,t,n){var i=u1(_o(r.prototype),e,t);return typeof i=="function"?function(a){return i.apply(t,a)}:i}function Qi(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function pN(r,e){var t=Math.min.apply(Math,Oe([],V(r),!1)),n=Math.min.apply(Math,Oe([],V(e),!1)),i=Math.max.apply(Math,Oe([],V(r),!1)),a=Math.max.apply(Math,Oe([],V(e),!1));return{x:t,y:n,width:i-t,height:a-n}}function eF(r,e,t){return Math.atan(-e/r*Math.tan(t))}function tF(r,e,t){return Math.atan(e/(r*Math.tan(t)))}function nF(r,e,t,n,i,a){return t*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function rF(r,e,t,n,i,a){return t*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+e}function iF(r,e,t,n,i,a,s){for(var o=eF(t,n,i),l=1/0,c=-1/0,u=[a,s],d=-Math.PI*2;d<=Math.PI*2;d+=Math.PI){var h=o+d;a<s?a<h&&h<s&&u.push(h):s<h&&h<a&&u.push(h)}for(var d=0;d<u.length;d++){var f=nF(r,e,t,n,i,u[d]);f<l&&(l=f),f>c&&(c=f)}for(var g=tF(t,n,i),p=1/0,v=-1/0,m=[a,s],d=-Math.PI*2;d<=Math.PI*2;d+=Math.PI){var y=g+d;a<s?a<y&&y<s&&m.push(y):s<y&&y<a&&m.push(y)}for(var d=0;d<m.length;d++){var b=rF(r,e,t,n,i,m[d]);b<p&&(p=b),b>v&&(v=b)}return{x:l,y:p,width:c-l,height:v-p}}var aF=1e-4;function mN(r,e,t,n,i,a){var s=-1,o=1/0,l=[t,n],c=20;a&&a>200&&(c=a/10);for(var u=1/c,d=u/10,h=0;h<=c;h++){var f=h*u,g=[i.apply(void 0,Oe([],V(r.concat([f])),!1)),i.apply(void 0,Oe([],V(e.concat([f])),!1))],p=Qi(l[0],l[1],g[0],g[1]);p<o&&(s=f,o=p)}if(s===0)return{x:r[0],y:e[0]};if(s===1){var v=r.length;return{x:r[v-1],y:e[v-1]}}o=1/0;for(var h=0;h<32&&!(d<aF);h++){var m=s-d,y=s+d,g=[i.apply(void 0,Oe([],V(r.concat([m])),!1)),i.apply(void 0,Oe([],V(e.concat([m])),!1))],p=Qi(l[0],l[1],g[0],g[1]);if(m>=0&&p<o)s=m,o=p;else{var b=[i.apply(void 0,Oe([],V(r.concat([y])),!1)),i.apply(void 0,Oe([],V(e.concat([y])),!1))],w=Qi(l[0],l[1],b[0],b[1]);y<=1&&w<o?(s=y,o=w):d*=.5}}return{x:i.apply(void 0,Oe([],V(r.concat([s])),!1)),y:i.apply(void 0,Oe([],V(e.concat([s])),!1))}}function yN(r,e,t,n){return Qi(r,e,t,n)}function bN(r,e,t,n,i){return{x:(1-i)*r+i*t,y:(1-i)*e+i*n}}function sF(r,e,t,n,i,a){var s=[t-r,n-e];if(JD(s,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-e)*(a-e));var o=[-s[1],s[0]];XD(o,o);var l=[i-r,a-e];return Math.abs(ZD(l,o))}function d1(r,e,t,n,i){var a=1-i;return a*a*a*r+3*e*i*a*a+3*t*i*i*a+n*i*i*i}function fw(r,e,t,n){var i=-3*r+9*e-9*t+3*n,a=6*r-12*e+6*t,s=3*e-3*r,o=[],l,c,u;if(_l(i,0))_l(a,0)||(l=-s/a,l>=0&&l<=1&&o.push(l));else{var d=a*a-4*i*s;_l(d,0)?o.push(-a/(2*i)):d>0&&(u=Math.sqrt(d),l=(-a+u)/(2*i),c=(-a-u)/(2*i),l>=0&&l<=1&&o.push(l),c>=0&&c<=1&&o.push(c))}return o}function oF(r,e,t,n,i,a,s,o){for(var l=[r,s],c=[e,o],u=fw(r,t,i,s),d=fw(e,n,a,o),h=0;h<u.length;h++)l.push(d1(r,t,i,s,u[h]));for(var h=0;h<d.length;h++)c.push(d1(e,n,a,o,d[h]));return pN(l,c)}function lF(r,e,t,n,i,a,s,o,l,c,u){return mN([r,t,i,s],[e,n,a,o],l,c,d1,u)}function gw(r,e,t,n,i,a,s,o,l,c,u){var d=lF(r,e,t,n,i,a,s,o,l,c,u);return Qi(d.x,d.y,l,c)}function cF(r){if(r.length<2)return 0;for(var e=0,t=0;t<r.length-1;t++){var n=r[t],i=r[t+1];e+=Qi(n[0],n[1],i[0],i[1])}return e}function uF(r){return cF(r)}function h1(r,e,t,n){var i=1-n;return i*i*r+2*n*i*e+n*n*t}function vw(r,e,t){var n=r+t-2*e;if(_l(n,0))return[.5];var i=(r-e)/n;return i<=1&&i>=0?[i]:[]}function dF(r,e,t,n,i,a){var s=vw(r,t,i)[0],o=vw(e,n,a)[0],l=[r,i],c=[e,a];return s!==void 0&&l.push(h1(r,t,i,s)),o!==void 0&&c.push(h1(e,n,a,o)),pN(l,c)}function hF(r,e,t,n,i,a,s,o){return mN([r,t,i],[e,n,a],s,o,h1)}function fF(r,e,t,n,i,a,s,o){var l=hF(r,e,t,n,i,a,s,o);return Qi(l.x,l.y,s,o)}function Hn(){Hn=function(){return e};var r,e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(Y,W,q){Y[W]=q.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(Y,W,q){return Object.defineProperty(Y,W,{value:q,enumerable:!0,configurable:!0,writable:!0}),Y[W]}try{c({},"")}catch{c=function(q,Q,re){return q[Q]=re}}function u(Y,W,q,Q){var re=W&&W.prototype instanceof m?W:m,de=Object.create(re.prototype),oe=new G(Q||[]);return i(de,"_invoke",{value:A(Y,q,oe)}),de}function d(Y,W,q){try{return{type:"normal",arg:Y.call(W,q)}}catch(Q){return{type:"throw",arg:Q}}}e.wrap=u;var h="suspendedStart",f="suspendedYield",g="executing",p="completed",v={};function m(){}function y(){}function b(){}var w={};c(w,s,function(){return this});var E=Object.getPrototypeOf,_=E&&E(E(H([])));_&&_!==t&&n.call(_,s)&&(w=_);var O=b.prototype=m.prototype=Object.create(w);function M(Y){["next","throw","return"].forEach(function(W){c(Y,W,function(q){return this._invoke(W,q)})})}function N(Y,W){function q(re,de,oe,he){var X=d(Y[re],Y,de);if(X.type!=="throw"){var U=X.arg,ne=U.value;return ne&&Fa(ne)=="object"&&n.call(ne,"__await")?W.resolve(ne.__await).then(function(ue){q("next",ue,oe,he)},function(ue){q("throw",ue,oe,he)}):W.resolve(ne).then(function(ue){U.value=ue,oe(U)},function(ue){return q("throw",ue,oe,he)})}he(X.arg)}var Q;i(this,"_invoke",{value:function(de,oe){function he(){return new W(function(X,U){q(de,oe,X,U)})}return Q=Q?Q.then(he,he):he()}})}function A(Y,W,q){var Q=h;return function(re,de){if(Q===g)throw Error("Generator is already running");if(Q===p){if(re==="throw")throw de;return{value:r,done:!0}}for(q.method=re,q.arg=de;;){var oe=q.delegate;if(oe){var he=P(oe,q);if(he){if(he===v)continue;return he}}if(q.method==="next")q.sent=q._sent=q.arg;else if(q.method==="throw"){if(Q===h)throw Q=p,q.arg;q.dispatchException(q.arg)}else q.method==="return"&&q.abrupt("return",q.arg);Q=g;var X=d(Y,W,q);if(X.type==="normal"){if(Q=q.done?p:f,X.arg===v)continue;return{value:X.arg,done:q.done}}X.type==="throw"&&(Q=p,q.method="throw",q.arg=X.arg)}}}function P(Y,W){var q=W.method,Q=Y.iterator[q];if(Q===r)return W.delegate=null,q==="throw"&&Y.iterator.return&&(W.method="return",W.arg=r,P(Y,W),W.method==="throw")||q!=="return"&&(W.method="throw",W.arg=new TypeError("The iterator does not provide a '"+q+"' method")),v;var re=d(Q,Y.iterator,W.arg);if(re.type==="throw")return W.method="throw",W.arg=re.arg,W.delegate=null,v;var de=re.arg;return de?de.done?(W[Y.resultName]=de.value,W.next=Y.nextLoc,W.method!=="return"&&(W.method="next",W.arg=r),W.delegate=null,v):de:(W.method="throw",W.arg=new TypeError("iterator result is not an object"),W.delegate=null,v)}function L(Y){var W={tryLoc:Y[0]};1 in Y&&(W.catchLoc=Y[1]),2 in Y&&(W.finallyLoc=Y[2],W.afterLoc=Y[3]),this.tryEntries.push(W)}function I(Y){var W=Y.completion||{};W.type="normal",delete W.arg,Y.completion=W}function G(Y){this.tryEntries=[{tryLoc:"root"}],Y.forEach(L,this),this.reset(!0)}function H(Y){if(Y||Y===""){var W=Y[s];if(W)return W.call(Y);if(typeof Y.next=="function")return Y;if(!isNaN(Y.length)){var q=-1,Q=function re(){for(;++q<Y.length;)if(n.call(Y,q))return re.value=Y[q],re.done=!1,re;return re.value=r,re.done=!0,re};return Q.next=Q}}throw new TypeError(Fa(Y)+" is not iterable")}return y.prototype=b,i(O,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:y,configurable:!0}),y.displayName=c(b,l,"GeneratorFunction"),e.isGeneratorFunction=function(Y){var W=typeof Y=="function"&&Y.constructor;return!!W&&(W===y||(W.displayName||W.name)==="GeneratorFunction")},e.mark=function(Y){return Object.setPrototypeOf?Object.setPrototypeOf(Y,b):(Y.__proto__=b,c(Y,l,"GeneratorFunction")),Y.prototype=Object.create(O),Y},e.awrap=function(Y){return{__await:Y}},M(N.prototype),c(N.prototype,o,function(){return this}),e.AsyncIterator=N,e.async=function(Y,W,q,Q,re){re===void 0&&(re=Promise);var de=new N(u(Y,W,q,Q),re);return e.isGeneratorFunction(W)?de:de.next().then(function(oe){return oe.done?oe.value:de.next()})},M(O),c(O,l,"Generator"),c(O,s,function(){return this}),c(O,"toString",function(){return"[object Generator]"}),e.keys=function(Y){var W=Object(Y),q=[];for(var Q in W)q.push(Q);return q.reverse(),function re(){for(;q.length;){var de=q.pop();if(de in W)return re.value=de,re.done=!1,re}return re.done=!0,re}},e.values=H,G.prototype={constructor:G,reset:function(W){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(I),!W)for(var q in this)q.charAt(0)==="t"&&n.call(this,q)&&!isNaN(+q.slice(1))&&(this[q]=r)},stop:function(){this.done=!0;var W=this.tryEntries[0].completion;if(W.type==="throw")throw W.arg;return this.rval},dispatchException:function(W){if(this.done)throw W;var q=this;function Q(U,ne){return oe.type="throw",oe.arg=W,q.next=U,ne&&(q.method="next",q.arg=r),!!ne}for(var re=this.tryEntries.length-1;re>=0;--re){var de=this.tryEntries[re],oe=de.completion;if(de.tryLoc==="root")return Q("end");if(de.tryLoc<=this.prev){var he=n.call(de,"catchLoc"),X=n.call(de,"finallyLoc");if(he&&X){if(this.prev<de.catchLoc)return Q(de.catchLoc,!0);if(this.prev<de.finallyLoc)return Q(de.finallyLoc)}else if(he){if(this.prev<de.catchLoc)return Q(de.catchLoc,!0)}else{if(!X)throw Error("try statement without catch or finally");if(this.prev<de.finallyLoc)return Q(de.finallyLoc)}}}},abrupt:function(W,q){for(var Q=this.tryEntries.length-1;Q>=0;--Q){var re=this.tryEntries[Q];if(re.tryLoc<=this.prev&&n.call(re,"finallyLoc")&&this.prev<re.finallyLoc){var de=re;break}}de&&(W==="break"||W==="continue")&&de.tryLoc<=q&&q<=de.finallyLoc&&(de=null);var oe=de?de.completion:{};return oe.type=W,oe.arg=q,de?(this.method="next",this.next=de.finallyLoc,v):this.complete(oe)},complete:function(W,q){if(W.type==="throw")throw W.arg;return W.type==="break"||W.type==="continue"?this.next=W.arg:W.type==="return"?(this.rval=this.arg=W.arg,this.method="return",this.next="end"):W.type==="normal"&&q&&(this.next=q),v},finish:function(W){for(var q=this.tryEntries.length-1;q>=0;--q){var Q=this.tryEntries[q];if(Q.finallyLoc===W)return this.complete(Q.completion,Q.afterLoc),I(Q),v}},catch:function(W){for(var q=this.tryEntries.length-1;q>=0;--q){var Q=this.tryEntries[q];if(Q.tryLoc===W){var re=Q.completion;if(re.type==="throw"){var de=re.arg;I(Q)}return de}}throw Error("illegal catch attempt")},delegateYield:function(W,q,Q){return this.delegate={iterator:H(W),resultName:q,nextLoc:Q},this.method==="next"&&(this.arg=r),v}},e}function pw(r,e,t,n,i,a,s){try{var o=r[a](s),l=o.value}catch(c){return void t(c)}o.done?e(l):Promise.resolve(l).then(n,i)}function ja(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function s(l){pw(a,n,i,s,o,"next",l)}function o(l){pw(a,n,i,s,o,"throw",l)}s(void 0)})}}function as(r,e){var t=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=pb(r))||e){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(c){throw c},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
259
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var c=t.next();return s=c.done,c},e:function(c){o=!0,a=c},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw a}}}}function gF(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.indexOf(n)!==-1)continue;t[n]=r[n]}return t}function As(r,e){if(r==null)return{};var t,n,i=gF(r,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n<a.length;n++)t=a[n],e.indexOf(t)===-1&&{}.propertyIsEnumerable.call(r,t)&&(i[t]=r[t])}return i}/*!
|
|
260
|
+
* @antv/g-lite
|
|
261
|
+
* @description A core module for rendering engine implements DOM API.
|
|
262
|
+
* @version 2.2.16
|
|
263
|
+
* @date 1/23/2025, 8:31:51 AM
|
|
264
|
+
* @author AntVis
|
|
265
|
+
* @docs https://g.antv.antgroup.com/
|
|
266
|
+
*/var vF=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},xN={exports:{}};(function(r,e){(function(t,n){r.exports=n()})(vF,function(){function t(E,_,O,M,N){n(E,_,O||0,M||E.length-1,N||a)}function n(E,_,O,M,N){for(;M>O;){if(M-O>600){var A=M-O+1,P=_-O+1,L=Math.log(A),I=.5*Math.exp(2*L/3),G=.5*Math.sqrt(L*I*(A-I)/A)*(P-A/2<0?-1:1),H=Math.max(O,Math.floor(_-P*I/A+G)),Y=Math.min(M,Math.floor(_+(A-P)*I/A+G));n(E,_,H,Y,N)}var W=E[_],q=O,Q=M;for(i(E,O,_),N(E[M],W)>0&&i(E,O,M);q<Q;){for(i(E,q,Q),q++,Q--;N(E[q],W)<0;)q++;for(;N(E[Q],W)>0;)Q--}N(E[O],W)===0?i(E,O,Q):(Q++,i(E,Q,M)),Q<=_&&(O=Q+1),_<=Q&&(M=Q-1)}}function i(E,_,O){var M=E[_];E[_]=E[O],E[O]=M}function a(E,_){return E<_?-1:E>_?1:0}var s=function(_){_===void 0&&(_=9),this._maxEntries=Math.max(4,_),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(_){var O=this.data,M=[];if(!y(_,O))return M;for(var N=this.toBBox,A=[];O;){for(var P=0;P<O.children.length;P++){var L=O.children[P],I=O.leaf?N(L):L;y(_,I)&&(O.leaf?M.push(L):m(_,I)?this._all(L,M):A.push(L))}O=A.pop()}return M},s.prototype.collides=function(_){var O=this.data;if(!y(_,O))return!1;for(var M=[];O;){for(var N=0;N<O.children.length;N++){var A=O.children[N],P=O.leaf?this.toBBox(A):A;if(y(_,P)){if(O.leaf||m(_,P))return!0;M.push(A)}}O=M.pop()}return!1},s.prototype.load=function(_){if(!(_&&_.length))return this;if(_.length<this._minEntries){for(var O=0;O<_.length;O++)this.insert(_[O]);return this}var M=this._build(_.slice(),0,_.length-1,0);if(!this.data.children.length)this.data=M;else if(this.data.height===M.height)this._splitRoot(this.data,M);else{if(this.data.height<M.height){var N=this.data;this.data=M,M=N}this._insert(M,this.data.height-M.height-1,!0)}return this},s.prototype.insert=function(_){return _&&this._insert(_,this.data.height-1),this},s.prototype.clear=function(){return this.data=b([]),this},s.prototype.remove=function(_,O){if(!_)return this;for(var M=this.data,N=this.toBBox(_),A=[],P=[],L,I,G;M||A.length;){if(M||(M=A.pop(),I=A[A.length-1],L=P.pop(),G=!0),M.leaf){var H=o(_,M.children,O);if(H!==-1)return M.children.splice(H,1),A.push(M),this._condense(A),this}!G&&!M.leaf&&m(M,N)?(A.push(M),P.push(L),L=0,I=M,M=M.children[0]):I?(L++,M=I.children[L],G=!1):M=null}return this},s.prototype.toBBox=function(_){return _},s.prototype.compareMinX=function(_,O){return _.minX-O.minX},s.prototype.compareMinY=function(_,O){return _.minY-O.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(_){return this.data=_,this},s.prototype._all=function(_,O){for(var M=[];_;)_.leaf?O.push.apply(O,_.children):M.push.apply(M,_.children),_=M.pop();return O},s.prototype._build=function(_,O,M,N){var A=M-O+1,P=this._maxEntries,L;if(A<=P)return L=b(_.slice(O,M+1)),l(L,this.toBBox),L;N||(N=Math.ceil(Math.log(A)/Math.log(P)),P=Math.ceil(A/Math.pow(P,N-1))),L=b([]),L.leaf=!1,L.height=N;var I=Math.ceil(A/P),G=I*Math.ceil(Math.sqrt(P));w(_,O,M,G,this.compareMinX);for(var H=O;H<=M;H+=G){var Y=Math.min(H+G-1,M);w(_,H,Y,I,this.compareMinY);for(var W=H;W<=Y;W+=I){var q=Math.min(W+I-1,Y);L.children.push(this._build(_,W,q,N-1))}}return l(L,this.toBBox),L},s.prototype._chooseSubtree=function(_,O,M,N){for(;N.push(O),!(O.leaf||N.length-1===M);){for(var A=1/0,P=1/0,L=void 0,I=0;I<O.children.length;I++){var G=O.children[I],H=f(G),Y=p(_,G)-H;Y<P?(P=Y,A=H<A?H:A,L=G):Y===P&&H<A&&(A=H,L=G)}O=L||O.children[0]}return O},s.prototype._insert=function(_,O,M){var N=M?_:this.toBBox(_),A=[],P=this._chooseSubtree(N,this.data,O,A);for(P.children.push(_),u(P,N);O>=0&&A[O].children.length>this._maxEntries;)this._split(A,O),O--;this._adjustParentBBoxes(N,A,O)},s.prototype._split=function(_,O){var M=_[O],N=M.children.length,A=this._minEntries;this._chooseSplitAxis(M,A,N);var P=this._chooseSplitIndex(M,A,N),L=b(M.children.splice(P,M.children.length-P));L.height=M.height,L.leaf=M.leaf,l(M,this.toBBox),l(L,this.toBBox),O?_[O-1].children.push(L):this._splitRoot(M,L)},s.prototype._splitRoot=function(_,O){this.data=b([_,O]),this.data.height=_.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(_,O,M){for(var N,A=1/0,P=1/0,L=O;L<=M-O;L++){var I=c(_,0,L,this.toBBox),G=c(_,L,M,this.toBBox),H=v(I,G),Y=f(I)+f(G);H<A?(A=H,N=L,P=Y<P?Y:P):H===A&&Y<P&&(P=Y,N=L)}return N||M-O},s.prototype._chooseSplitAxis=function(_,O,M){var N=_.leaf?this.compareMinX:d,A=_.leaf?this.compareMinY:h,P=this._allDistMargin(_,O,M,N),L=this._allDistMargin(_,O,M,A);P<L&&_.children.sort(N)},s.prototype._allDistMargin=function(_,O,M,N){_.children.sort(N);for(var A=this.toBBox,P=c(_,0,O,A),L=c(_,M-O,M,A),I=g(P)+g(L),G=O;G<M-O;G++){var H=_.children[G];u(P,_.leaf?A(H):H),I+=g(P)}for(var Y=M-O-1;Y>=O;Y--){var W=_.children[Y];u(L,_.leaf?A(W):W),I+=g(L)}return I},s.prototype._adjustParentBBoxes=function(_,O,M){for(var N=M;N>=0;N--)u(O[N],_)},s.prototype._condense=function(_){for(var O=_.length-1,M=void 0;O>=0;O--)_[O].children.length===0?O>0?(M=_[O-1].children,M.splice(M.indexOf(_[O]),1)):this.clear():l(_[O],this.toBBox)};function o(E,_,O){if(!O)return _.indexOf(E);for(var M=0;M<_.length;M++)if(O(E,_[M]))return M;return-1}function l(E,_){c(E,0,E.children.length,_,E)}function c(E,_,O,M,N){N||(N=b(null)),N.minX=1/0,N.minY=1/0,N.maxX=-1/0,N.maxY=-1/0;for(var A=_;A<O;A++){var P=E.children[A];u(N,E.leaf?M(P):P)}return N}function u(E,_){return E.minX=Math.min(E.minX,_.minX),E.minY=Math.min(E.minY,_.minY),E.maxX=Math.max(E.maxX,_.maxX),E.maxY=Math.max(E.maxY,_.maxY),E}function d(E,_){return E.minX-_.minX}function h(E,_){return E.minY-_.minY}function f(E){return(E.maxX-E.minX)*(E.maxY-E.minY)}function g(E){return E.maxX-E.minX+(E.maxY-E.minY)}function p(E,_){return(Math.max(_.maxX,E.maxX)-Math.min(_.minX,E.minX))*(Math.max(_.maxY,E.maxY)-Math.min(_.minY,E.minY))}function v(E,_){var O=Math.max(E.minX,_.minX),M=Math.max(E.minY,_.minY),N=Math.min(E.maxX,_.maxX),A=Math.min(E.maxY,_.maxY);return Math.max(0,N-O)*Math.max(0,A-M)}function m(E,_){return E.minX<=_.minX&&E.minY<=_.minY&&_.maxX<=E.maxX&&_.maxY<=E.maxY}function y(E,_){return _.minX<=E.maxX&&_.minY<=E.maxY&&_.maxX>=E.minX&&_.maxY>=E.minY}function b(E){return{children:E,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function w(E,_,O,M,N){for(var A=[_,O];A.length;)if(O=A.pop(),_=A.pop(),!(O-_<=M)){var P=_+Math.ceil((O-_)/M/2)*M;t(E,P,_,O,N),A.push(_,P,P,O)}}return s})})(xN);var pF=xN.exports,le=function(r){return r.GROUP="g",r.FRAGMENT="fragment",r.CIRCLE="circle",r.ELLIPSE="ellipse",r.IMAGE="image",r.RECT="rect",r.LINE="line",r.POLYLINE="polyline",r.POLYGON="polygon",r.TEXT="text",r.PATH="path",r.HTML="html",r.MESH="mesh",r}({}),Cu=function(r){return r[r.ZERO=0]="ZERO",r[r.NEGATIVE_ONE=1]="NEGATIVE_ONE",r}({}),Ga=function(){function r(){ge(this,r),this.plugins=[]}return ve(r,[{key:"addRenderingPlugin",value:function(t){this.plugins.push(t),this.context.renderingPlugins.push(t)}},{key:"removeAllRenderingPlugins",value:function(){var t=this;this.plugins.forEach(function(n){var i=t.context.renderingPlugins.indexOf(n);i>=0&&t.context.renderingPlugins.splice(i,1)})}}])}(),mF=function(){function r(e){ge(this,r),this.clipSpaceNearZ=Cu.NEGATIVE_ONE,this.plugins=[],this.config=et({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},e)}return ve(r,[{key:"registerPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n===-1&&this.plugins.push(t)}},{key:"unregisterPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n>-1&&this.plugins.splice(n,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(t){return this.plugins.find(function(n){return n.name===t})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(t){Object.assign(this.config,t)}}])}(),mf=Ra,Xs=Oi,yF=BD,bF=FD,mw=zu,yf=qD,Rt=function(){function r(){ge(this,r),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return ve(r,[{key:"update",value:function(t,n){Xs(this.center,t),Xs(this.halfExtents,n),yf(this.min,this.center,this.halfExtents),mf(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(t,n){mf(this.center,n,t),mw(this.center,this.center,.5),yf(this.halfExtents,n,t),mw(this.halfExtents,this.halfExtents,.5),Xs(this.min,t),Xs(this.max,n)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(t){if(!r.isEmpty(t)){if(r.isEmpty(this)){this.setMinMax(t.getMin(),t.getMax());return}var n=this.center,i=n[0],a=n[1],s=n[2],o=this.halfExtents,l=o[0],c=o[1],u=o[2],d=i-l,h=i+l,f=a-c,g=a+c,p=s-u,v=s+u,m=t.center,y=m[0],b=m[1],w=m[2],E=t.halfExtents,_=E[0],O=E[1],M=E[2],N=y-_,A=y+_,P=b-O,L=b+O,I=w-M,G=w+M;N<d&&(d=N),A>h&&(h=A),P<f&&(f=P),L>g&&(g=L),I<p&&(p=I),G>v&&(v=G),n[0]=(d+h)*.5,n[1]=(f+g)*.5,n[2]=(p+v)*.5,o[0]=(h-d)*.5,o[1]=(g-f)*.5,o[2]=(v-p)*.5,this.min[0]=d,this.min[1]=f,this.min[2]=p,this.max[0]=h,this.max[1]=g,this.max[2]=v}}},{key:"setFromTransformedAABB",value:function(t,n){var i=this.center,a=this.halfExtents,s=t.center,o=t.halfExtents,l=n[0],c=n[4],u=n[8],d=n[1],h=n[5],f=n[9],g=n[2],p=n[6],v=n[10],m=Math.abs(l),y=Math.abs(c),b=Math.abs(u),w=Math.abs(d),E=Math.abs(h),_=Math.abs(f),O=Math.abs(g),M=Math.abs(p),N=Math.abs(v);i[0]=n[12]+l*s[0]+c*s[1]+u*s[2],i[1]=n[13]+d*s[0]+h*s[1]+f*s[2],i[2]=n[14]+g*s[0]+p*s[1]+v*s[2],a[0]=m*o[0]+y*o[1]+b*o[2],a[1]=w*o[0]+E*o[1]+_*o[2],a[2]=O*o[0]+M*o[1]+N*o[2],yf(this.min,i,a),mf(this.max,i,a)}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),s=t.getMin();return i[0]<=a[0]&&n[0]>=s[0]&&i[1]<=a[1]&&n[1]>=s[1]&&i[2]<=a[2]&&n[2]>=s[2]}},{key:"intersection",value:function(t){if(!this.intersects(t))return null;var n=new r,i=yF([0,0,0],this.getMin(),t.getMin()),a=bF([0,0,0],this.getMax(),t.getMax());return n.setMinMax(i,a),n}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?Xs([0,0,0],this.min):t.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:t.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?Xs([0,0,0],this.max):t.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:t.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(t){return!t||t.halfExtents[0]===0&&t.halfExtents[1]===0&&t.halfExtents[2]===0}}])}(),xF=function(){function r(e,t){ge(this,r),this.distance=e||0,this.normal=t||Bt(0,1,0),this.updatePNVertexFlag()}return ve(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return Ci(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/nN(this.normal);zu(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),s=this.distanceToPoint(n),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&n1(i,t,n,o),l}}])}(),Zs=function(r){return r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE",r}({}),wF=function(){function r(e){if(ge(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new xF)}return ve(r,[{key:"extractFromVPMatrix",value:function(t){var n=Xe(t,16),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],c=n[5],u=n[6],d=n[7],h=n[8],f=n[9],g=n[10],p=n[11],v=n[12],m=n[13],y=n[14],b=n[15];nr(this.planes[0].normal,o-i,d-l,p-h),this.planes[0].distance=b-v,nr(this.planes[1].normal,o+i,d+l,p+h),this.planes[1].distance=b+v,nr(this.planes[2].normal,o+a,d+c,p+f),this.planes[2].distance=b+m,nr(this.planes[3].normal,o-a,d-c,p-f),this.planes[3].distance=b-m,nr(this.planes[4].normal,o-s,d-u,p-g),this.planes[4].distance=b-y,nr(this.planes[5].normal,o+s,d+u,p+g),this.planes[5].distance=b+y,this.planes.forEach(function(w){w.normalize(),w.updatePNVertexFlag()})}}])}(),Vn=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;ge(this,r),this.x=0,this.y=0,this.x=e,this.y=t}return ve(r,[{key:"clone",value:function(){return new r(this.x,this.y)}},{key:"copyFrom",value:function(t){this.x=t.x,this.y=t.y}}])}(),Oo=function(){function r(e,t,n,i){ge(this,r),this.x=e,this.y=t,this.width=n,this.height=i,this.left=e,this.right=e+n,this.top=t,this.bottom=t+i}return ve(r,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(t){return new r(t.x,t.y,t.width,t.height)}},{key:"applyTransform",value:function(t,n){var i=hl(t.x,t.y,0,1),a=hl(t.x+t.width,t.y,0,1),s=hl(t.x,t.y+t.height,0,1),o=hl(t.x+t.width,t.y+t.height,0,1),l=Ni(),c=Ni(),u=Ni(),d=Ni();Zi(l,i,n),Zi(c,a,n),Zi(u,s,n),Zi(d,o,n);var h=Math.min(l[0],c[0],u[0],d[0]),f=Math.min(l[1],c[1],u[1],d[1]),g=Math.max(l[0],c[0],u[0],d[0]),p=Math.max(l[1],c[1],u[1],d[1]);return r.fromRect({x:h,y:f,width:g-h,height:p-f})}}])}(),xt="Method not implemented.",Js="Use document.documentElement instead.",EF="Cannot append a destroyed element.";function bo(r){return r===void 0?0:r>360||r<-360?r%360:r}var bf=ct();function or(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(r)&&r.length===3?n?Wi(r):Oi(bf,r):Ce(r)?n?Bt(r,e,t):nr(bf,r,e,t):n?Bt(r[0],r[1]||e,r[2]||t):nr(bf,r[0],r[1]||e,r[2]||t)}var SF=Math.PI/180;function wt(r){return r*SF}var _F=180/Math.PI;function br(r){return r*_F}function kF(r){return 360*r}var Uu=Math.PI/2;function MF(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t,o=n*n,l=i*i,c=a*a,u=s+o+l+c,d=t*a-n*i;return d>.499995*u?(r[0]=Uu,r[1]=2*Math.atan2(n,t),r[2]=0):d<-.499995*u?(r[0]=-Uu,r[1]=2*Math.atan2(n,t),r[2]=0):(r[0]=Math.asin(2*(t*i-a*n)),r[1]=Math.atan2(2*(t*a+n*i),1-2*(l+c)),r[2]=Math.atan2(2*(t*n+i*a),1-2*(o+l))),r}function TF(r,e){var t,n,i=Mo(ct(),e),a=Xe(i,3),s=a[0],o=a[1],l=a[2],c=Math.asin(-e[2]/s);return c<Uu?c>-Uu?(t=Math.atan2(e[6]/o,e[10]/l),n=Math.atan2(e[1]/s,e[0]/s)):(n=0,t=-Math.atan2(e[4]/o,e[5]/o)):(n=0,t=Math.atan2(e[4]/o,e[5]/o)),r[0]=t,r[1]=c,r[2]=n,r}function xf(r,e){return e.length===16?TF(r,e):MF(r,e)}function OF(r,e,t,n,i){var a=Math.cos(r),s=Math.sin(r);return mD(n*a,i*s,0,-n*s,i*a,0,e,t,1)}function CF(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,c=t-e,u=n-i,d=l/c,h=l/u,f=(t+e)/c,g=(n+i)/u,p,v,m=s-a,y=s*a;return o?(p=-s/m,v=-y/m):(p=-(s+a)/m,v=-2*y/m),r[0]=d,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=h,r[6]=0,r[7]=0,r[8]=f,r[9]=g,r[10]=p,r[11]=-1,r[12]=0,r[13]=0,r[14]=v,r[15]=0,r}function yw(r){var e=r[0],t=r[1],n=r[3],i=r[4],a=Math.sqrt(e*e+t*t),s=Math.sqrt(n*n+i*i),o=e*i-t*n;if(o<0&&(e<i?a=-a:s=-s),a){var l=1/a;e*=l,t*=l}if(s){var c=1/s;n*=c,i*=c}var u=Math.atan2(t,e),d=br(u);return[r[6],r[7],a,s,d]}var yi=Pt(),ei=Pt(),Qo=Ni(),Ge=[ct(),ct(),ct()],bw=ct();function NF(r,e,t,n,i,a){if(!AF(yi,r)||(ko(ei,yi),ei[3]=0,ei[7]=0,ei[11]=0,ei[15]=1,Math.abs($C(ei))<1e-8))return!1;var s=yi[3],o=yi[7],l=yi[11],c=yi[12],u=yi[13],d=yi[14],h=yi[15];if(s!==0||o!==0||l!==0){Qo[0]=s,Qo[1]=o,Qo[2]=l,Qo[3]=h;var f=Ti(ei,ei);if(!f)return!1;jC(ei,ei),Zi(i,Qo,ei)}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=c,e[1]=u,e[2]=d,PF(Ge,yi),t[0]=Ui(Ge[0]),hs(Ge[0],Ge[0]),n[0]=Ci(Ge[0],Ge[1]),wf(Ge[1],Ge[1],Ge[0],1,-n[0]),t[1]=Ui(Ge[1]),hs(Ge[1],Ge[1]),n[0]/=t[1],n[1]=Ci(Ge[0],Ge[2]),wf(Ge[2],Ge[2],Ge[0],1,-n[1]),n[2]=Ci(Ge[1],Ge[2]),wf(Ge[2],Ge[2],Ge[1],1,-n[2]),t[2]=Ui(Ge[2]),hs(Ge[2],Ge[2]),n[1]/=t[2],n[2]/=t[2],Tu(bw,Ge[1],Ge[2]),Ci(Ge[0],bw)<0)for(var g=0;g<3;g++)t[g]*=-1,Ge[g][0]*=-1,Ge[g][1]*=-1,Ge[g][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Ge[0][0]-Ge[1][1]-Ge[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Ge[0][0]+Ge[1][1]-Ge[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Ge[0][0]-Ge[1][1]+Ge[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Ge[0][0]+Ge[1][1]+Ge[2][2],0)),Ge[2][1]>Ge[1][2]&&(a[0]=-a[0]),Ge[0][2]>Ge[2][0]&&(a[1]=-a[1]),Ge[1][0]>Ge[0][1]&&(a[2]=-a[2]),!0}function AF(r,e){var t=e[15];if(t===0)return!1;for(var n=1/t,i=0;i<16;i++)r[i]=e[i]*n;return!0}function PF(r,e){r[0][0]=e[0],r[0][1]=e[1],r[0][2]=e[2],r[1][0]=e[4],r[1][1]=e[5],r[1][2]=e[6],r[2][0]=e[8],r[2][1]=e[9],r[2][2]=e[10]}function wf(r,e,t,n,i){r[0]=e[0]*n+t[0]*i,r[1]=e[1]*n+t[1]*i,r[2]=e[2]*n+t[2]*i}var bt=function(r){return r[r.ORBITING=0]="ORBITING",r[r.EXPLORING=1]="EXPLORING",r[r.TRACKING=2]="TRACKING",r}({}),f1=function(r){return r[r.DEFAULT=0]="DEFAULT",r[r.ROTATIONAL=1]="ROTATIONAL",r[r.TRANSLATIONAL=2]="TRANSLATIONAL",r[r.CINEMATIC=3]="CINEMATIC",r}({}),Vr=function(r){return r[r.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",r[r.PERSPECTIVE=1]="PERSPECTIVE",r}({}),wN={UPDATED:"updated"},xw=2e-4,EN=function(){function r(){ge(this,r),this.clipSpaceNearZ=Cu.NEGATIVE_ONE,this.eventEmitter=new DC,this.matrix=Pt(),this.right=Bt(1,0,0),this.up=Bt(0,1,0),this.forward=Bt(0,0,1),this.position=Bt(0,0,1),this.focalPoint=Bt(0,0,0),this.distanceVector=Bt(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=Pt(),this.projectionMatrixInverse=Pt(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=bt.EXPLORING,this.trackingMode=f1.DEFAULT,this.projectionMode=Vr.PERSPECTIVE,this.frustum=new wF,this.orthoMatrix=Pt()}return ve(r,[{key:"isOrtho",value:function(){return this.projectionMode===Vr.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(t){this.enableUpdate=t}},{key:"setType",value:function(t,n){return this.type=t,this.type===bt.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===bt.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==bt.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){return this.rotateWorld=t,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Ti(Pt(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(t,n){var i=Sa(Pt(),[t,n,0]);this.jitteredProjectionMatrix=rr(Pt(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setProjectionMatrix",value:function(t){this.projectionMatrix=t}},{key:"setFov",value:function(t){return this.setPerspective(this.near,this.far,t,this.aspect),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setNear",value:function(t){return this.projectionMode===Vr.PERSPECTIVE?this.setPerspective(t,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,t,this.far),this}},{key:"setFar",value:function(t){return this.projectionMode===Vr.PERSPECTIVE?this.setPerspective(this.near,t,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,t),this}},{key:"setViewOffset",value:function(t,n,i,a,s,o){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===Vr.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===Vr.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(t){return this.zoom=t,this.projectionMode===Vr.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Vr.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(t,n){var i=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),a=i.x,s=i.y,o=this.roll;this.rotate(0,0,-o),this.setPosition(a,s),this.setFocalPoint(a,s),this.setZoom(t),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),c=l.x,u=l.y,d=Bt(c-a,u-s,0),h=Ci(d,this.right)/Ui(this.right),f=Ci(d,this.up)/Ui(this.up),g=this.getPosition(),p=Xe(g,2),v=p[0],m=p[1],y=this.getFocalPoint(),b=Xe(y,2),w=b[0],E=b[1];return this.setPosition(v-h,m-f),this.setFocalPoint(w-h,E-f),this}},{key:"setPerspective",value:function(t,n,i,a){var s;this.projectionMode=Vr.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a;var o=this.near*Math.tan(wt(.5*this.fov))/this.zoom,l=2*o,c=this.aspect*l,u=-.5*c;if((s=this.view)!==null&&s!==void 0&&s.enabled){var d=this.view.fullWidth,h=this.view.fullHeight;u+=this.view.offsetX*c/d,o-=this.view.offsetY*l/h,c*=this.view.width/d,l*=this.view.height/h}return CF(this.projectionMatrix,u,u+c,o-l,o,t,this.far,this.clipSpaceNearZ===Cu.ZERO),Ti(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(t,n,i,a,s,o){var l;this.projectionMode=Vr.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=s,this.far=o;var c=(this.rright-this.left)/(2*this.zoom),u=(this.top-this.bottom)/(2*this.zoom),d=(this.rright+this.left)/2,h=(this.top+this.bottom)/2,f=d-c,g=d+c,p=h+u,v=h-u;if((l=this.view)!==null&&l!==void 0&&l.enabled){var m=(this.rright-this.left)/this.view.fullWidth/this.zoom,y=(this.top-this.bottom)/this.view.fullHeight/this.zoom;f+=m*this.view.offsetX,g=f+m*this.view.width,p-=y*this.view.offsetY,v=p-y*this.view.height}return this.clipSpaceNearZ===Cu.NEGATIVE_ONE?ZC(this.projectionMatrix,f,g,p,v,s,o):JC(this.projectionMatrix,f,g,p,v,s,o),Ti(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],a=or(t,n,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],a=Bt(0,1,0);if(this.focalPoint=or(t,n,i),this.trackingMode===f1.CINEMATIC){var s=t1(ct(),this.focalPoint,this.position);t=s[0],n=s[1],i=s[2];var o=Ui(s),l=br(Math.asin(n/o)),c=90+br(Math.atan2(i,t)),u=Pt();WC(u,u,wt(c)),GC(u,u,wt(l)),a=ir(ct(),[0,1,0],u)}return Ti(this.matrix,QC(Pt(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(t){if(this.distance===t||t<0)return this;this.distance=t,this.distance<xw&&(this.distance=xw),this.dollyingStep=this.distance/100;var n=ct();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"setAzimuth",value:function(t){return this.azimuth=bo(t),this.computeMatrix(),this._getAxes(),this.type===bt.ORBITING||this.type===bt.EXPLORING?this._getPosition():this.type===bt.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=bo(t),this.computeMatrix(),this._getAxes(),this.type===bt.ORBITING||this.type===bt.EXPLORING?this._getPosition():this.type===bt.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(t){return this.roll=bo(t),this.computeMatrix(),this._getAxes(),this.type===bt.ORBITING||this.type===bt.EXPLORING?this._getPosition():this.type===bt.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var t=ka(Mn(),[0,0,1],wt(this.roll));Ba(this.matrix);var n=ka(Mn(),[1,0,0],wt((this.rotateWorld&&this.type!==bt.TRACKING||this.type===bt.TRACKING?1:-1)*this.elevation)),i=ka(Mn(),[0,1,0],wt((this.rotateWorld&&this.type!==bt.TRACKING||this.type===bt.TRACKING?1:-1)*this.azimuth)),a=La(Mn(),i,n);a=La(Mn(),a,t);var s=mb(Pt(),a);this.type===bt.ORBITING||this.type===bt.EXPLORING?(yo(this.matrix,this.matrix,this.focalPoint),rr(this.matrix,this.matrix,s),yo(this.matrix,this.matrix,[0,0,this.distance])):this.type===bt.TRACKING&&(yo(this.matrix,this.matrix,this.position),rr(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(t,n,i){this.position=or(t,n,i);var a=this.matrix;a[12]=this.position[0],a[13]=this.position[1],a[14]=this.position[2],a[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){Oi(this.right,or(Zi(Ni(),[1,0,0,0],this.matrix))),Oi(this.up,or(Zi(Ni(),[0,1,0,0],this.matrix))),Oi(this.forward,or(Zi(Ni(),[0,0,1,0],this.matrix))),hs(this.right,this.right),hs(this.up,this.up),hs(this.forward,this.forward)}},{key:"_getAngles",value:function(){var t=this.distanceVector[0],n=this.distanceVector[1],i=this.distanceVector[2],a=Ui(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===bt.TRACKING?(this.elevation=br(Math.asin(n/a)),this.azimuth=br(Math.atan2(-t,-i))):this.rotateWorld?(this.elevation=br(Math.asin(n/a)),this.azimuth=br(Math.atan2(-t,-i))):(this.elevation=-br(Math.asin(n/a)),this.azimuth=-br(Math.atan2(-t,-i)))}},{key:"_getPosition",value:function(){Oi(this.position,or(Zi(Ni(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){jD(this.distanceVector,[0,0,-this.distance],pD(FC(),this.matrix)),Ra(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=t1(ct(),this.focalPoint,this.position),this.distance=Ui(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===Vr.ORTHOGRAPHIC){var t=this.position,n=ka(Mn(),[0,0,1],-this.roll*Math.PI/180);Sl(this.orthoMatrix,n,Bt((this.rright-this.left)/2-t[0],(this.top-this.bottom)/2-t[1],0),Bt(this.zoom,this.zoom,1),t)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var t=this.getViewTransform(),n=rr(Pt(),this.getPerspective(),t);this.getFrustum().extractFromVPMatrix(n),this.eventEmitter.emit(wN.UPDATED)}}},{key:"rotate",value:function(t,n,i){throw new Error(xt)}},{key:"pan",value:function(t,n){throw new Error(xt)}},{key:"dolly",value:function(t){throw new Error(xt)}},{key:"createLandmark",value:function(t,n){throw new Error(xt)}},{key:"gotoLandmark",value:function(t,n){throw new Error(xt)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(xt)}}])}(),RF=function(r){return r[r.Standard=0]="Standard",r}({}),Hu=function(r){return r[r.ADDED=0]="ADDED",r[r.REMOVED=1]="REMOVED",r[r.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",r}({}),SN={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Oo(0,0,0,0)},_e=function(r){return r.COORDINATE="<coordinate>",r.COLOR="<color>",r.PAINT="<paint>",r.NUMBER="<number>",r.ANGLE="<angle>",r.OPACITY_VALUE="<opacity-value>",r.SHADOW_BLUR="<shadow-blur>",r.LENGTH="<length>",r.PERCENTAGE="<percentage>",r.LENGTH_PERCENTAGE="<length> | <percentage>",r.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",r.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",r.LIST_OF_POINTS="<list-of-points>",r.PATH="<path>",r.FILTER="<filter>",r.Z_INDEX="<z-index>",r.OFFSET_DISTANCE="<offset-distance>",r.DEFINED_PATH="<defined-path>",r.MARKER="<marker>",r.TRANSFORM="<transform>",r.TRANSFORM_ORIGIN="<transform-origin>",r.TEXT="<text>",r.TEXT_TRANSFORM="<text-transform>",r}({});function wb(r,e,t){r.prototype=e.prototype=t,t.constructor=r}function _N(r,e){var t=Object.create(r.prototype);for(var n in e)t[n]=e[n];return t}function ic(){}var Fl=.7,Yu=1/Fl,xo="\\s*([+-]?\\d+)\\s*",Bl="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ai="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",LF=/^#([0-9a-f]{3,8})$/,IF=new RegExp(`^rgb\\(${xo},${xo},${xo}\\)$`),DF=new RegExp(`^rgb\\(${Ai},${Ai},${Ai}\\)$`),FF=new RegExp(`^rgba\\(${xo},${xo},${xo},${Bl}\\)$`),BF=new RegExp(`^rgba\\(${Ai},${Ai},${Ai},${Bl}\\)$`),zF=new RegExp(`^hsl\\(${Bl},${Ai},${Ai}\\)$`),jF=new RegExp(`^hsla\\(${Bl},${Ai},${Ai},${Bl}\\)$`),ww={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};wb(ic,Ed,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:Ew,formatHex:Ew,formatHex8:$F,formatHsl:qF,formatRgb:Sw,toString:Sw});function Ew(){return this.rgb().formatHex()}function $F(){return this.rgb().formatHex8()}function qF(){return kN(this).formatHsl()}function Sw(){return this.rgb().formatRgb()}function Ed(r){var e,t;return r=(r+"").trim().toLowerCase(),(e=LF.exec(r))?(t=e[1].length,e=parseInt(e[1],16),t===6?_w(e):t===3?new Er(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?Ac(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?Ac(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=IF.exec(r))?new Er(e[1],e[2],e[3],1):(e=DF.exec(r))?new Er(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=FF.exec(r))?Ac(e[1],e[2],e[3],e[4]):(e=BF.exec(r))?Ac(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=zF.exec(r))?Tw(e[1],e[2]/100,e[3]/100,1):(e=jF.exec(r))?Tw(e[1],e[2]/100,e[3]/100,e[4]):ww.hasOwnProperty(r)?_w(ww[r]):r==="transparent"?new Er(NaN,NaN,NaN,0):null}function _w(r){return new Er(r>>16&255,r>>8&255,r&255,1)}function Ac(r,e,t,n){return n<=0&&(r=e=t=NaN),new Er(r,e,t,n)}function GF(r){return r instanceof ic||(r=Ed(r)),r?(r=r.rgb(),new Er(r.r,r.g,r.b,r.opacity)):new Er}function WF(r,e,t,n){return arguments.length===1?GF(r):new Er(r,e,t,n==null?1:n)}function Er(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}wb(Er,WF,_N(ic,{brighter(r){return r=r==null?Yu:Math.pow(Yu,r),new Er(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?Fl:Math.pow(Fl,r),new Er(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new Er(fs(this.r),fs(this.g),fs(this.b),Ku(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kw,formatHex:kw,formatHex8:VF,formatRgb:Mw,toString:Mw}));function kw(){return`#${os(this.r)}${os(this.g)}${os(this.b)}`}function VF(){return`#${os(this.r)}${os(this.g)}${os(this.b)}${os((isNaN(this.opacity)?1:this.opacity)*255)}`}function Mw(){const r=Ku(this.opacity);return`${r===1?"rgb(":"rgba("}${fs(this.r)}, ${fs(this.g)}, ${fs(this.b)}${r===1?")":`, ${r})`}`}function Ku(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function fs(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function os(r){return r=fs(r),(r<16?"0":"")+r.toString(16)}function Tw(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new ai(r,e,t,n)}function kN(r){if(r instanceof ai)return new ai(r.h,r.s,r.l,r.opacity);if(r instanceof ic||(r=Ed(r)),!r)return new ai;if(r instanceof ai)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(t-n)/o+(t<n)*6:t===a?s=(n-e)/o+2:s=(e-t)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new ai(s,o,l,r.opacity)}function UF(r,e,t,n){return arguments.length===1?kN(r):new ai(r,e,t,n==null?1:n)}function ai(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}wb(ai,UF,_N(ic,{brighter(r){return r=r==null?Yu:Math.pow(Yu,r),new ai(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?Fl:Math.pow(Fl,r),new ai(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new Er(Ef(r>=240?r-240:r+120,i,n),Ef(r,i,n),Ef(r<120?r+240:r-120,i,n),this.opacity)},clamp(){return new ai(Ow(this.h),Pc(this.s),Pc(this.l),Ku(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=Ku(this.opacity);return`${r===1?"hsl(":"hsla("}${Ow(this.h)}, ${Pc(this.s)*100}%, ${Pc(this.l)*100}%${r===1?")":`, ${r})`}`}}));function Ow(r){return r=(r||0)%360,r<0?r+360:r}function Pc(r){return Math.max(0,Math.min(1,r||0))}function Ef(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function En(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError("Expected a function");var t=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=e?e.apply(this,a):a[0],l=t.cache;if(l.has(o))return l.get(o);var c=r.apply(this,a);return t.cache=l.set(o,c)||l,c};return t.cache=new(En.Cache||Map),En.cacheList.push(t.cache),t}En.Cache=Map;En.cacheList=[];En.clearCache=function(){En.cacheList.forEach(function(r){return r.clear()})};var ke=function(r){return r[r.kUnknown=0]="kUnknown",r[r.kNumber=1]="kNumber",r[r.kPercentage=2]="kPercentage",r[r.kEms=3]="kEms",r[r.kPixels=4]="kPixels",r[r.kRems=5]="kRems",r[r.kDegrees=6]="kDegrees",r[r.kRadians=7]="kRadians",r[r.kGradians=8]="kGradians",r[r.kTurns=9]="kTurns",r[r.kMilliseconds=10]="kMilliseconds",r[r.kSeconds=11]="kSeconds",r[r.kInteger=12]="kInteger",r}({}),ri=function(r){return r[r.kUNumber=0]="kUNumber",r[r.kUPercent=1]="kUPercent",r[r.kULength=2]="kULength",r[r.kUAngle=3]="kUAngle",r[r.kUTime=4]="kUTime",r[r.kUOther=5]="kUOther",r}({}),HF=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),YF=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),KF=[{name:"em",unit_type:ke.kEms},{name:"px",unit_type:ke.kPixels},{name:"deg",unit_type:ke.kDegrees},{name:"rad",unit_type:ke.kRadians},{name:"grad",unit_type:ke.kGradians},{name:"ms",unit_type:ke.kMilliseconds},{name:"s",unit_type:ke.kSeconds},{name:"rem",unit_type:ke.kRems},{name:"turn",unit_type:ke.kTurns}],Co=function(r){return r[r.kUnknownType=0]="kUnknownType",r[r.kUnparsedType=1]="kUnparsedType",r[r.kKeywordType=2]="kKeywordType",r[r.kUnitType=3]="kUnitType",r[r.kSumType=4]="kSumType",r[r.kProductType=5]="kProductType",r[r.kNegateType=6]="kNegateType",r[r.kInvertType=7]="kInvertType",r[r.kMinType=8]="kMinType",r[r.kMaxType=9]="kMaxType",r[r.kClampType=10]="kClampType",r[r.kTransformType=11]="kTransformType",r[r.kPositionType=12]="kPositionType",r[r.kURLImageType=13]="kURLImageType",r[r.kColorType=14]="kColorType",r[r.kUnsupportedColorType=15]="kUnsupportedColorType",r}({}),XF=function(e){return KF.find(function(t){return t.name===e}).unit_type},ZF=function(e){return e?e==="number"?ke.kNumber:e==="percent"||e==="%"?ke.kPercentage:XF(e):ke.kUnknown},JF=function(e){switch(e){case ke.kNumber:case ke.kInteger:return ri.kUNumber;case ke.kPercentage:return ri.kUPercent;case ke.kPixels:return ri.kULength;case ke.kMilliseconds:case ke.kSeconds:return ri.kUTime;case ke.kDegrees:case ke.kRadians:case ke.kGradians:case ke.kTurns:return ri.kUAngle;default:return ri.kUOther}},QF=function(e){switch(e){case ri.kUNumber:return ke.kNumber;case ri.kULength:return ke.kPixels;case ri.kUPercent:return ke.kPercentage;case ri.kUTime:return ke.kSeconds;case ri.kUAngle:return ke.kDegrees;default:return ke.kUnknown}},Cw=function(e){var t=1;switch(e){case ke.kPixels:case ke.kDegrees:case ke.kSeconds:break;case ke.kMilliseconds:t=.001;break;case ke.kRadians:t=180/Math.PI;break;case ke.kGradians:t=.9;break;case ke.kTurns:t=360;break}return t},g1=function(e){switch(e){case ke.kNumber:case ke.kInteger:return"";case ke.kPercentage:return"%";case ke.kEms:return"em";case ke.kRems:return"rem";case ke.kPixels:return"px";case ke.kDegrees:return"deg";case ke.kRadians:return"rad";case ke.kGradians:return"grad";case ke.kMilliseconds:return"ms";case ke.kSeconds:return"s";case ke.kTurns:return"turn"}return""},Sd=function(){function r(){ge(this,r)}return ve(r,[{key:"toString",value:function(){return this.buildCSSText(HF.kNo,YF.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=Co.kUnitType&&this.getType()<=Co.kClampType}}],[{key:"isAngle",value:function(t){return t===ke.kDegrees||t===ke.kRadians||t===ke.kGradians||t===ke.kTurns}},{key:"isLength",value:function(t){return t>=ke.kEms&&t<ke.kDegrees}},{key:"isRelativeUnit",value:function(t){return t===ke.kPercentage||t===ke.kEms||t===ke.kRems}},{key:"isTime",value:function(t){return t===ke.kSeconds||t===ke.kMilliseconds}}])}(),eB=function(r){function e(t){var n;return ge(this,e),n=tt(this,e),n.colorSpace=t,n}return nt(e,r),ve(e,[{key:"getType",value:function(){return Co.kColorType}},{key:"to",value:function(n){return this}}])}(Sd),Ma=function(r){return r[r.Constant=0]="Constant",r[r.LinearGradient=1]="LinearGradient",r[r.RadialGradient=2]="RadialGradient",r}({}),Rc=function(r){function e(t,n){var i;return ge(this,e),i=tt(this,e),i.type=t,i.value=n,i}return nt(e,r),ve(e,[{key:"clone",value:function(){return new e(this.type,this.value)}},{key:"buildCSSText",value:function(n,i,a){return a}},{key:"getType",value:function(){return Co.kColorType}}])}(Sd),Kr=function(r){function e(t){var n;return ge(this,e),n=tt(this,e),n.value=t,n}return nt(e,r),ve(e,[{key:"clone",value:function(){return new e(this.value)}},{key:"getType",value:function(){return Co.kKeywordType}},{key:"buildCSSText",value:function(n,i,a){return a+this.value}}])}(Sd),tB=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n="";return Number.isFinite(e)?n="NaN":e>0?n="infinity":n="-infinity",n+=t},v1=function(e){return QF(JF(e))},Dn=function(r){function e(t){var n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ke.kNumber;ge(this,e),n=tt(this,e);var a;return typeof i=="string"?a=ZF(i):a=i,n.unit=a,n.value=t,n}return nt(e,r),ve(e,[{key:"clone",value:function(){return new e(this.value,this.unit)}},{key:"equals",value:function(n){var i=n;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return Co.kUnitType}},{key:"convertTo",value:function(n){if(this.unit===n)return new e(this.value,this.unit);var i=v1(this.unit);if(i!==v1(n)||i===ke.kUnknown)return null;var a=Cw(this.unit)/Cw(n);return new e(this.value*a,n)}},{key:"buildCSSText",value:function(n,i,a){var s;switch(this.unit){case ke.kUnknown:break;case ke.kInteger:s=Number(this.value).toFixed(0);break;case ke.kNumber:case ke.kPercentage:case ke.kEms:case ke.kRems:case ke.kPixels:case ke.kDegrees:case ke.kRadians:case ke.kGradians:case ke.kMilliseconds:case ke.kSeconds:case ke.kTurns:{var o=-999999,l=999999,c=this.value,u=g1(this.unit);if(c<o||c>l){var d=g1(this.unit);!Number.isFinite(c)||Number.isNaN(c)?s=tB(c,d):s=c+(d||"")}else s="".concat(c).concat(u)}}return a+=s,a}}])}(Sd),ti=new Dn(0,"px");new Dn(1,"px");var ws=new Dn(0,"deg"),Eb=function(r){function e(t,n,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return ge(this,e),a=tt(this,e,["rgb"]),a.r=t,a.g=n,a.b=i,a.alpha=s,a.isNone=o,a}return nt(e,r),ve(e,[{key:"clone",value:function(){return new e(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(n,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(eB),Nw=new Kr("unset"),nB=new Kr("initial"),rB=new Kr("inherit"),Sf={"":Nw,unset:Nw,initial:nB,inherit:rB},iB=function(e){return Sf[e]||(Sf[e]=new Kr(e)),Sf[e]},MN=new Eb(0,0,0,0,!0),TN=new Eb(0,0,0,0),aB=En(function(r,e,t,n){return new Eb(r,e,t,n)},function(r,e,t,n){return"rgba(".concat(r,",").concat(e,",").concat(t,",").concat(n,")")}),Ht=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ke.kNumber;return new Dn(e,t)};new Dn(50,"%");function sB(r){var e=r.type,t=r.value;return e==="hex"?"#".concat(t):e==="literal"?t:e==="rgb"?"rgb(".concat(t.join(","),")"):"rgba(".concat(t.join(","),")")}var oB=function(){var r={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},e="";function t(W){throw new Error("".concat(e,": ").concat(W))}function n(){var W=i();return e.length>0&&t("Invalid input not EOF"),W}function i(){return b(a)}function a(){return s("linear-gradient",r.linearGradient,l)||s("repeating-linear-gradient",r.repeatingLinearGradient,l)||s("radial-gradient",r.radialGradient,d)||s("repeating-radial-gradient",r.repeatingRadialGradient,d)||s("conic-gradient",r.conicGradient,d)}function s(W,q,Q){return o(q,function(re){var de=Q();return de&&(H(r.comma)||t("Missing comma before color stops")),{type:W,orientation:de,colorStops:b(w)}})}function o(W,q){var Q=H(W);if(Q){H(r.startCall)||t("Missing (");var re=q(Q);return H(r.endCall)||t("Missing )"),re}}function l(){return c()||u()}function c(){return G("directional",r.sideOrCorner,1)}function u(){return G("angular",r.angleValue,1)}function d(){var W,q=h(),Q;return q&&(W=[],W.push(q),Q=e,H(r.comma)&&(q=h(),q?W.push(q):e=Q)),W}function h(){var W=f()||g();if(W)W.at=v();else{var q=p();if(q){W=q;var Q=v();Q&&(W.at=Q)}else{var re=m();re&&(W={type:"default-radial",at:re})}}return W}function f(){var W=G("shape",/^(circle)/i,0);return W&&(W.style=I()||p()),W}function g(){var W=G("shape",/^(ellipse)/i,0);return W&&(W.style=P()||p()),W}function p(){return G("extent-keyword",r.extentKeywords,1)}function v(){if(G("position",/^at/,0)){var W=m();return W||t("Missing positioning value"),W}}function m(){var W=y();if(W.x||W.y)return{type:"position",value:W}}function y(){return{x:P(),y:P()}}function b(W){var q=W(),Q=[];if(q)for(Q.push(q);H(r.comma);)q=W(),q?Q.push(q):t("One extra comma");return Q}function w(){var W=E();return W||t("Expected color definition"),W.length=P(),W}function E(){return O()||N()||M()||_()}function _(){return G("literal",r.literalColor,0)}function O(){return G("hex",r.hexColor,1)}function M(){return o(r.rgbColor,function(){return{type:"rgb",value:b(A)}})}function N(){return o(r.rgbaColor,function(){return{type:"rgba",value:b(A)}})}function A(){return H(r.number)[1]}function P(){return G("%",r.percentageValue,1)||L()||I()}function L(){return G("position-keyword",r.positionKeywords,1)}function I(){return G("px",r.pixelValue,1)||G("em",r.emValue,1)}function G(W,q,Q){var re=H(q);if(re)return{type:W,value:re[Q]}}function H(W){var q=/^[\n\r\t\s]+/.exec(e);q&&Y(q[0].length);var Q=W.exec(e);return Q&&Y(Q[0].length),Q}function Y(W){e=e.substring(W)}return function(W){return e=W,n()}}();function lB(r,e,t,n){var i=wt(n.value),a=0,s=0,o=a+e/2,l=s+t/2,c=Math.abs(e*Math.cos(i))+Math.abs(t*Math.sin(i)),u=r[0]+o-Math.cos(i)*c/2,d=r[1]+l-Math.sin(i)*c/2,h=r[0]+o+Math.cos(i)*c/2,f=r[1]+l+Math.sin(i)*c/2;return{x1:u,y1:d,x2:h,y2:f}}function cB(r,e,t,n,i,a){var s=n.value,o=i.value;n.unit===ke.kPercentage&&(s=n.value/100*e),i.unit===ke.kPercentage&&(o=i.value/100*t);var l=Math.max(yr([0,0],[s,o]),yr([0,t],[s,o]),yr([e,t],[s,o]),yr([e,0],[s,o]));return a&&(a instanceof Dn?l=a.value:a instanceof Kr&&(a.value==="closest-side"?l=Math.min(s,e-s,o,t-o):a.value==="farthest-side"?l=Math.max(s,e-s,o,t-o):a.value==="closest-corner"&&(l=Math.min(yr([0,0],[s,o]),yr([0,t],[s,o]),yr([e,t],[s,o]),yr([e,0],[s,o]))))),{x:s+r[0],y:o+r[1],r:l}}var uB=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,dB=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,hB=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,ON=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function fB(r){var e,t=r.length;if(r[t-1].length=(e=r[t-1].length)!==null&&e!==void 0?e:{type:"%",value:"100"},t>1){var n;r[0].length=(n=r[0].length)!==null&&n!==void 0?n:{type:"%",value:"0"}}for(var i=0,a=Number(r[0].length.value),s=1;s<t;s++){var o,l=(o=r[s].length)===null||o===void 0?void 0:o.value;if(!qe(l)&&!qe(a)){for(var c=1;c<s-i;c++)r[i+c].length={type:"%",value:"".concat(a+(Number(l)-a)*c/(s-i))};i=s,a=Number(l)}}}var gB={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},vB=En(function(r){var e;return r.type==="angular"?e=Number(r.value):e=gB[r.value]||0,Ht(e,"deg")}),pB=En(function(r){var e=50,t=50,n="%",i="%";if((r==null?void 0:r.type)==="position"){var a=r.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?e=0:s.value==="center"?e=50:s.value==="right"?e=100:s.value==="top"?t=0:s.value==="bottom"&&(t=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?e=0:o.value==="center"?t=50:o.value==="right"?e=100:o.value==="top"?t=0:o.value==="bottom"&&(t=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(n=s==null?void 0:s.type,e=Number(s.value)),((o==null?void 0:o.type)==="px"||(o==null?void 0:o.type)==="%"||(o==null?void 0:o.type)==="em")&&(i=o==null?void 0:o.type,t=Number(o.value))}return{cx:Ht(e,n),cy:Ht(t,i)}}),mB=En(function(r){if(r.indexOf("linear")>-1||r.indexOf("radial")>-1){var e=oB(r);return e.map(function(o){var l=o.type,c=o.orientation,u=o.colorStops;fB(u);var d=u.map(function(b){return{offset:Ht(Number(b.length.value),"%"),color:sB(b)}});if(l==="linear-gradient")return new Rc(Ma.LinearGradient,{angle:c?vB(c):ws,steps:d});if(l==="radial-gradient"&&(c||(c=[{type:"shape",value:"circle"}]),c[0].type==="shape"&&c[0].value==="circle")){var h=pB(c[0].at),f=h.cx,g=h.cy,p;if(c[0].style){var v=c[0].style,m=v.type,y=v.value;m==="extent-keyword"?p=iB(y):p=Ht(y,m)}return new Rc(Ma.RadialGradient,{cx:f,cy:g,size:p,steps:d})}})}var t=r[0];if(r[1]==="("||r[2]==="("){if(t==="l"){var n=uB.exec(r);if(n){var i,a=((i=n[2].match(ON))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new Rc(Ma.LinearGradient,{angle:Ht(parseFloat(n[1]),"deg"),steps:a.map(function(o){var l=Xe(o,2),c=l[0],u=l[1];return{offset:Ht(Number(c)*100,"%"),color:u}})})]}}else if(t==="r"){var s=yB(r);if(s)if(gt(s))r=s;else return[new Rc(Ma.RadialGradient,s)]}else if(t==="p")return bB(r)}});function yB(r){var e=dB.exec(r);if(e){var t,n=((t=e[4].match(ON))===null||t===void 0?void 0:t.map(function(i){return i.split(":")}))||[];return{cx:Ht(50,"%"),cy:Ht(50,"%"),steps:n.map(function(i){var a=Xe(i,2),s=a[0],o=a[1];return{offset:Ht(Number(s)*100,"%"),color:o}})}}return null}function bB(r){var e=hB.exec(r);if(e){var t=e[1],n=e[2];switch(t){case"a":t="repeat";break;case"x":t="repeat-x";break;case"y":t="repeat-y";break;case"n":t="no-repeat";break;default:t="no-repeat"}return{image:n,repetition:t}}return null}function Es(r){return r&&!!r.image}function Xu(r){return r&&!qe(r.r)&&!qe(r.g)&&!qe(r.b)}var Ml=En(function(r){if(Es(r))return et({repetition:"repeat"},r);if(qe(r)&&(r=""),r==="transparent")return TN;if(r==="currentColor")r="black";else if(r==="none")return MN;var e=mB(r);if(e)return e;var t=Ed(r),n=[0,0,0,0];return t!==null&&(n[0]=t.r||0,n[1]=t.g||0,n[2]=t.b||0,n[3]=t.opacity),aB.apply(void 0,n)});function xB(r,e){if(!(!Xu(r)||!Xu(e)))return[[Number(r.r),Number(r.g),Number(r.b),Number(r.alpha)],[Number(e.r),Number(e.g),Number(e.b),Number(e.alpha)],function(t){var n=t.slice();if(n[3])for(var i=0;i<3;i++)n[i]=Math.round(an(n[i],0,255));return n[3]=an(n[3],0,1),"rgba(".concat(n.join(","),")")}]}function ac(r,e){if(qe(e))return Ht(0,"px");if(e="".concat(e).trim().toLowerCase(),isFinite(Number(e))){if("px".search(r)>=0)return Ht(Number(e),"px");if("deg".search(r)>=0)return Ht(Number(e),"deg")}var t=[];e=e.replace(r,function(i){return t.push(i),"U".concat(i)});var n="U(".concat(r.source,")");return t.map(function(i){return Ht(Number(e.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(n,"g"),"*0")),i)})[0]}var CN=function(e){return ac(new RegExp("px","g"),e)},wB=En(CN),EB=function(e){return ac(new RegExp("%","g"),e)};En(EB);var NN=function(e){return Ce(e)||isFinite(Number(e))?Ht(Number(e)||0,"px"):ac(new RegExp("px|%|em|rem","g"),e)},p1=En(NN),AN=function(e){return ac(new RegExp("deg|rad|grad|turn","g"),e)},SB=En(AN);function _B(r,e,t,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=r.value||0,o=e.value||0,l=v1(r.unit),c=r.convertTo(l),u=e.convertTo(l);return c&&u?(s=c.value,o=u.value,a=g1(r.unit)):(Dn.isLength(r.unit)||Dn.isLength(e.unit))&&(s=Cr(r,i,t),o=Cr(e,i,t),a="px"),[s,o,function(d){return d+a}]}function xr(r){var e=0;return r.unit===ke.kDegrees?e=r.value:r.unit===ke.kRadians?e=br(Number(r.value)):r.unit===ke.kTurns?e=kF(Number(r.value)):r.value&&(e=r.value),e}function Aw(r,e){var t;return Array.isArray(r)?t=r.map(function(n){return Number(n)}):gt(r)?t=r.split(" ").map(function(n){return Number(n)}):Ce(r)&&(t=[r]),e===2?t.length===1?[t[0],t[0]]:[t[0],t[1]]:e===4?t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:[t[0],t[1],t[2],t[3]]:e==="even"&&t.length%2===1?[].concat(It(t),It(t)):t}function Cr(r,e,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r.unit===ke.kPixels)return Number(r.value);if(r.unit===ke.kPercentage&&t){var i=t.nodeName===le.GROUP?t.getLocalBounds():t.getGeometryBounds();return(n?i.min[e]:0)+r.value/100*i.halfExtents[e]*2}return 0}var kB=function(e){return ac(/deg|rad|grad|turn|px|%/g,e)},MB=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function TB(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(r=r.toLowerCase().trim(),r==="none")return[];for(var e=/\s*([\w-]+)\(([^)]*)\)/g,t=[],n,i=0;n=e.exec(r);){if(n.index!==i)return[];if(i=n.index+n[0].length,MB.indexOf(n[1])>-1&&t.push({name:n[1],params:n[2].split(" ").map(function(a){return kB(a)||Ml(a)})}),e.lastIndex===r.length)return t}return[]}function PN(r){return r.toString()}var RN=function(e){return typeof e=="number"?Ht(e):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e)?Ht(Number(e)):Ht(0)},m1=En(RN);En(function(r){return gt(r)?r.split(" ").map(m1):r.map(m1)});function Sb(r,e){return[r,e,PN]}function _b(r,e){return function(t,n){return[t,n,function(i){return PN(an(i,r,e))}]}}function LN(r,e){if(r.length===e.length)return[r,e,function(t){return t}]}function y1(r){return r.parsedStyle.d.totalLength===0&&(r.parsedStyle.d.totalLength=U6(r.parsedStyle.d.absolutePath)),r.parsedStyle.d.totalLength}function OB(r){return r.parsedStyle.points.totalLength===0&&(r.parsedStyle.points.totalLength=uF(r.parsedStyle.points.points)),r.parsedStyle.points.totalLength}function CB(r){for(var e=0;e<r.length;e++){var t=r[e-1],n=r[e],i=n[0];if(i==="M"&&t){var a=t[0],s=[n[1],n[2]],o=void 0;a==="L"||a==="M"?o=[t[1],t[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[t[t.length-2],t[t.length-1]]),o&&Zu(s,o)&&(r.splice(e,1),e--)}}}function NB(r){for(var e=!1,t=r.length,n=0;n<t;n++){var i=r[n],a=i[0];if(a==="C"||a==="A"||a==="Q"){e=!0;break}}return e}function AB(r){for(var e=[],t=[],n=[],i=0;i<r.length;i++){var a=r[i],s=a[0];s==="M"?(n.length&&(t.push(n),n=[]),n.push([a[1],a[2]])):s==="Z"?n.length&&(e.push(n),n=[]):n.push([a[1],a[2]])}return n.length>0&&t.push(n),{polygons:e,polylines:t}}function Zu(r,e){return r[0]===e[0]&&r[1]===e[1]}function PB(r,e){for(var t=[],n=[],i=[],a=0;a<r.length;a++){var s=r[a],o=s.currentPoint,l=s.params,c=s.prePoint,u=void 0;switch(s.command){case"Q":u=dF(c[0],c[1],l[1],l[2],l[3],l[4]);break;case"C":u=oF(c[0],c[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var d=s.arcParams;u=iF(d.cx,d.cy,d.rx,d.ry,d.xRotation,d.startAngle,d.endAngle);break;default:t.push(o[0]),n.push(o[1]);break}u&&(s.box=u,t.push(u.x,u.x+u.width),n.push(u.y,u.y+u.height))}t=t.filter(function(w){return!Number.isNaN(w)&&w!==1/0&&w!==-1/0}),n=n.filter(function(w){return!Number.isNaN(w)&&w!==1/0&&w!==-1/0});var h=qu(t),f=qu(n),g=$u(t),p=$u(n);if(i.length===0)return{x:h,y:f,width:g-h,height:p-f};for(var v=0;v<i.length;v++){var m=i[v],y=m.currentPoint,b=void 0;y[0]===h?(b=Lc(m,e),h-=b.xExtra):y[0]===g&&(b=Lc(m,e),g+=b.xExtra),y[1]===f?(b=Lc(m,e),f-=b.yExtra):y[1]===p&&(b=Lc(m,e),p+=b.yExtra)}return{x:h,y:f,width:g-h,height:p-f}}function Lc(r,e){var t=r.prePoint,n=r.currentPoint,i=r.nextPoint,a=Math.pow(n[0]-t[0],2)+Math.pow(n[1]-t[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),o=Math.pow(t[0]-i[0],2)+Math.pow(t[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||_l(l,0))return{xExtra:0,yExtra:0};var c=Math.abs(Math.atan2(i[1]-n[1],i[0]-n[0])),u=Math.abs(Math.atan2(i[0]-n[0],i[1]-n[1]));c=c>Math.PI/2?Math.PI-c:c,u=u>Math.PI/2?Math.PI-u:u;var d={xExtra:Math.cos(l/2-c)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(u-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return d}function Pw(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}var Rw=function(e,t){var n=e.x*t.x+e.y*t.y,i=Math.sqrt((Math.pow(e.x,2)+Math.pow(e.y,2))*(Math.pow(t.x,2)+Math.pow(t.y,2))),a=e.x*t.y-e.y*t.x<0?-1:1,s=a*Math.acos(n/i);return s},Lw=function(e,t,n,i,a,s,o,l){t=Math.abs(t),n=Math.abs(n),i=aN(i,360);var c=wt(i);if(e.x===o.x&&e.y===o.y)return{x:e.x,y:e.y,ellipticalArcAngle:0};if(t===0||n===0)return{x:0,y:0,ellipticalArcAngle:0};var u=(e.x-o.x)/2,d=(e.y-o.y)/2,h={x:Math.cos(c)*u+Math.sin(c)*d,y:-Math.sin(c)*u+Math.cos(c)*d},f=Math.pow(h.x,2)/Math.pow(t,2)+Math.pow(h.y,2)/Math.pow(n,2);f>1&&(t*=Math.sqrt(f),n*=Math.sqrt(f));var g=Math.pow(t,2)*Math.pow(n,2)-Math.pow(t,2)*Math.pow(h.y,2)-Math.pow(n,2)*Math.pow(h.x,2),p=Math.pow(t,2)*Math.pow(h.y,2)+Math.pow(n,2)*Math.pow(h.x,2),v=g/p;v=v<0?0:v;var m=(a!==s?1:-1)*Math.sqrt(v),y={x:m*(t*h.y/n),y:m*(-(n*h.x)/t)},b={x:Math.cos(c)*y.x-Math.sin(c)*y.y+(e.x+o.x)/2,y:Math.sin(c)*y.x+Math.cos(c)*y.y+(e.y+o.y)/2},w={x:(h.x-y.x)/t,y:(h.y-y.y)/n},E=Rw({x:1,y:0},w),_={x:(-h.x-y.x)/t,y:(-h.y-y.y)/n},O=Rw(w,_);!s&&O>0?O-=2*Math.PI:s&&O<0&&(O+=2*Math.PI),O%=2*Math.PI;var M=E+O*l,N=t*Math.cos(M),A=n*Math.sin(M),P={x:Math.cos(c)*N-Math.sin(c)*A+b.x,y:Math.sin(c)*N+Math.cos(c)*A+b.y,ellipticalArcStartAngle:E,ellipticalArcEndAngle:E+O,ellipticalArcAngle:M,ellipticalArcCenter:b,resultantRx:t,resultantRy:n};return P};function RB(r){for(var e=[],t=null,n=null,i=null,a=0,s=r.length,o=0;o<s;o++){var l=r[o];n=r[o+1];var c=l[0],u={command:c,prePoint:t,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(c){case"M":i=[l[1],l[2]],a=o;break;case"A":var d=LB(t,l);u.arcParams=d;break}if(c==="Z")t=i,n=r[a+1];else{var h=l.length;t=[l[h-2],l[h-1]]}n&&n[0]==="Z"&&(n=r[a],e[a]&&(e[a].prePoint=t)),u.currentPoint=t,e[a]&&Zu(t,e[a].currentPoint)&&(e[a].prePoint=u.prePoint);var f=n?[n[n.length-2],n[n.length-1]]:null;u.nextPoint=f;var g=u.prePoint;if(["L","H","V"].includes(c))u.startTangent=[g[0]-t[0],g[1]-t[1]],u.endTangent=[t[0]-g[0],t[1]-g[1]];else if(c==="Q"){var p=[l[1],l[2]];u.startTangent=[g[0]-p[0],g[1]-p[1]],u.endTangent=[t[0]-p[0],t[1]-p[1]]}else if(c==="T"){var v=e[o-1],m=Pw(v.currentPoint,g);v.command==="Q"?(u.command="Q",u.startTangent=[g[0]-m[0],g[1]-m[1]],u.endTangent=[t[0]-m[0],t[1]-m[1]]):(u.command="TL",u.startTangent=[g[0]-t[0],g[1]-t[1]],u.endTangent=[t[0]-g[0],t[1]-g[1]])}else if(c==="C"){var y=[l[1],l[2]],b=[l[3],l[4]];u.startTangent=[g[0]-y[0],g[1]-y[1]],u.endTangent=[t[0]-b[0],t[1]-b[1]],u.startTangent[0]===0&&u.startTangent[1]===0&&(u.startTangent=[y[0]-b[0],y[1]-b[1]]),u.endTangent[0]===0&&u.endTangent[1]===0&&(u.endTangent=[b[0]-y[0],b[1]-y[1]])}else if(c==="S"){var w=e[o-1],E=Pw(w.currentPoint,g),_=[l[1],l[2]];w.command==="C"?(u.command="C",u.startTangent=[g[0]-E[0],g[1]-E[1]],u.endTangent=[t[0]-_[0],t[1]-_[1]]):(u.command="SQ",u.startTangent=[g[0]-_[0],g[1]-_[1]],u.endTangent=[t[0]-_[0],t[1]-_[1]])}else if(c==="A"){var O=Iw(u,0),M=O.x,N=O.y,A=Iw(u,1,!1),P=A.x,L=A.y;u.startTangent=[M,N],u.endTangent=[P,L]}e.push(u)}return e}function Iw(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=r.arcParams,i=n.rx,a=i===void 0?0:i,s=n.ry,o=s===void 0?0:s,l=n.xRotation,c=n.arcFlag,u=n.sweepFlag,d=Lw({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!c,!!u,{x:r.currentPoint[0],y:r.currentPoint[1]},e),h=Lw({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!c,!!u,{x:r.currentPoint[0],y:r.currentPoint[1]},t?e+.005:e-.005),f=h.x-d.x,g=h.y-d.y,p=Math.sqrt(f*f+g*g);return{x:-f/p,y:-g/p}}function Ic(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function b1(r,e){return Ic(r)*Ic(e)?(r[0]*e[0]+r[1]*e[1])/(Ic(r)*Ic(e)):1}function Dw(r,e){return(r[0]*e[1]<r[1]*e[0]?-1:1)*Math.acos(b1(r,e))}function LB(r,e){var t=e[1],n=e[2],i=aN(wt(e[3]),Math.PI*2),a=e[4],s=e[5],o=r[0],l=r[1],c=e[6],u=e[7],d=Math.cos(i)*(o-c)/2+Math.sin(i)*(l-u)/2,h=-1*Math.sin(i)*(o-c)/2+Math.cos(i)*(l-u)/2,f=d*d/(t*t)+h*h/(n*n);f>1&&(t*=Math.sqrt(f),n*=Math.sqrt(f));var g=t*t*(h*h)+n*n*(d*d),p=g?Math.sqrt((t*t*(n*n)-g)/g):1;a===s&&(p*=-1),isNaN(p)&&(p=0);var v=n?p*t*h/n:0,m=t?p*-n*d/t:0,y=(o+c)/2+Math.cos(i)*v-Math.sin(i)*m,b=(l+u)/2+Math.sin(i)*v+Math.cos(i)*m,w=[(d-v)/t,(h-m)/n],E=[(-1*d-v)/t,(-1*h-m)/n],_=Dw([1,0],w),O=Dw(w,E);return b1(w,E)<=-1&&(O=Math.PI),b1(w,E)>=1&&(O=0),s===0&&O>0&&(O-=2*Math.PI),s===1&&O<0&&(O+=2*Math.PI),{cx:y,cy:b,rx:Zu(r,[c,u])?0:t,ry:Zu(r,[c,u])?0:n,startAngle:_,endAngle:_+O,xRotation:i,arcFlag:a,sweepFlag:s}}var IN=function(e){if(e===""||Array.isArray(e)&&e.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var t;try{t=Vu(e)}catch{t=Vu(""),console.error("[g]: Invalid SVG Path definition: ".concat(e))}CB(t);var n=NB(t),i=AB(t),a=i.polygons,s=i.polylines,o=RB(t),l=PB(o,0),c=l.x,u=l.y,d=l.width,h=l.height;return{absolutePath:t,hasArc:n,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(c)?c:0,y:Number.isFinite(u)?u:0,width:Number.isFinite(d)?d:0,height:Number.isFinite(h)?h:0}}},IB=En(IN);function DN(r){return gt(r)?IB(r):IN(r)}function DB(r,e,t){var n=r.curve,i=e.curve;(!n||n.length===0)&&(n=o1(r.absolutePath,!1),r.curve=n),(!i||i.length===0)&&(i=o1(e.absolutePath,!1),e.curve=i);var a=[n,i];n.length!==i.length&&(a=vN(n,i));var s=uw(a[0])!==uw(a[1])?j6(a[0]):z6(a[0]);return[s,Y6(a[1],s),function(o){return o}]}function FB(r,e){var t;return gt(r)?t=r.split(" ").map(function(n){var i=n.split(","),a=Xe(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):t=r,{points:t,totalLength:0,segments:[]}}function BB(r,e){return[r.points,e.points,function(t){return t}]}var tn=null,wo=/\s*(\w+)\(([^)]*)\)/g;function vr(r){return function(e){var t=0;return r.map(function(n){return n===tn?e[t++]:n})}}function Ja(r){return r}var zl={matrix:["NNNNNN",[tn,tn,0,0,tn,tn,0,0,0,0,1,0,tn,tn,0,1],Ja],matrix3d:["NNNNNNNNNNNNNNNN",Ja],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",vr([tn,tn,new Dn(1)]),Ja],scaleX:["N",vr([tn,new Dn(1),new Dn(1)]),vr([tn,new Dn(1)])],scaleY:["N",vr([new Dn(1),tn,new Dn(1)]),vr([new Dn(1),tn])],scaleZ:["N",vr([new Dn(1),new Dn(1),tn])],scale3d:["NNN",Ja],skew:["Aa",null,Ja],skewX:["A",null,vr([tn,ws])],skewY:["A",null,vr([ws,tn])],translate:["Tt",vr([tn,tn,ti]),Ja],translateX:["T",vr([tn,ti,ti]),vr([tn,ti])],translateY:["T",vr([ti,tn,ti]),vr([ti,tn])],translateZ:["L",vr([ti,ti,tn])],translate3d:["TTL",Ja]};function FN(r){for(var e=[],t=r.length,n=0;n<t;n++){var i=r[n],a=i[0],s=i.slice(1);a==="translate"||a==="skew"?s.length===1&&s.push(0):a==="scale"&&s.length===1&&s.push(s[0]);var o=zl[a];if(!o)return[];var l=s.map(function(c){return Ht(c)});e.push({t:a,d:l})}return e}function BN(r){if(Array.isArray(r))return FN(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(wo.lastIndex=0;t=wo.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=zl[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],c=0;c<o.length;c++){var u=s[c],d=o[c],h=void 0;if(u?h={A:function(g){return g.trim()==="0"?ws:SB(g)},N:m1,T:p1,L:wB}[d.toUpperCase()](u):h={a:ws,n:l[0],t:ti}[d],h===void 0)return[];l.push(h)}if(e.push({t:i,d:l}),wo.lastIndex===r.length)return e}return[]}function zB(r){if(Array.isArray(r))return FN(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(wo.lastIndex=0;t=wo.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=zl[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],c=0;c<o.length;c++){var u=s[c],d=o[c],h=void 0;if(u?h={A:function(g){return g.trim()==="0"?ws:AN(g)},N:RN,T:NN,L:CN}[d.toUpperCase()](u):h={a:ws,n:l[0],t:ti}[d],h===void 0)return[];l.push(h)}if(e.push({t:i,d:l}),wo.lastIndex===r.length)return e}return[]}function jB(r){var e,t,n,i;switch(r.t){case"rotateX":return i=wt(xr(r.d[0])),[1,0,0,0,0,Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1];case"rotateY":return i=wt(xr(r.d[0])),[Math.cos(i),0,-Math.sin(i),0,0,1,0,0,Math.sin(i),0,Math.cos(i),0,0,0,0,1];case"rotate":case"rotateZ":return i=wt(xr(r.d[0])),[Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1,0,0,0,0,1];case"rotate3d":e=r.d[0].value,t=r.d[1].value,n=r.d[2].value,i=wt(xr(r.d[3]));var a=e*e+t*t+n*n;if(a===0)e=1,t=0,n=0;else if(a!==1){var s=Math.sqrt(a);e/=s,t/=s,n/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),c=o*o;return[1-2*(t*t+n*n)*c,2*(e*t*c+n*l),2*(e*n*c-t*l),0,2*(e*t*c-n*l),1-2*(e*e+n*n)*c,2*(t*n*c+e*l),0,2*(e*n*c+t*l),2*(t*n*c-e*l),1-2*(e*e+t*t)*c,0,0,0,0,1];case"scale":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[r.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,r.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,r.d[0].value,0,0,0,0,1];case"scale3d":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,r.d[2].value,0,0,0,0,1];case"skew":var u=wt(xr(r.d[0])),d=wt(xr(r.d[1]));return[1,Math.tan(d),0,0,Math.tan(u),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=wt(xr(r.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=wt(xr(r.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return e=Cr(r.d[0],0,null)||0,t=Cr(r.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,0,1];case"translateX":return e=Cr(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translateY":return t=Cr(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,t,0,1];case"translateZ":return n=Cr(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,n,1];case"translate3d":return e=Cr(r.d[0],0,null)||0,t=Cr(r.d[1],0,null)||0,n=Cr(r.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1];case"perspective":var h=Cr(r.d[0],0,null)||0,f=h?-1/h:0;return[1,0,0,0,0,1,0,0,0,0,1,f,0,0,0,1];case"matrix":return[r.d[0].value,r.d[1].value,0,0,r.d[2].value,r.d[3].value,0,0,0,0,1,0,r.d[4].value,r.d[5].value,0,1];case"matrix3d":return r.d.map(function(g){return g.value})}}function $B(r,e){return[r[0]*e[0]+r[4]*e[1]+r[8]*e[2]+r[12]*e[3],r[1]*e[0]+r[5]*e[1]+r[9]*e[2]+r[13]*e[3],r[2]*e[0]+r[6]*e[1]+r[10]*e[2]+r[14]*e[3],r[3]*e[0]+r[7]*e[1]+r[11]*e[2]+r[15]*e[3],r[0]*e[4]+r[4]*e[5]+r[8]*e[6]+r[12]*e[7],r[1]*e[4]+r[5]*e[5]+r[9]*e[6]+r[13]*e[7],r[2]*e[4]+r[6]*e[5]+r[10]*e[6]+r[14]*e[7],r[3]*e[4]+r[7]*e[5]+r[11]*e[6]+r[15]*e[7],r[0]*e[8]+r[4]*e[9]+r[8]*e[10]+r[12]*e[11],r[1]*e[8]+r[5]*e[9]+r[9]*e[10]+r[13]*e[11],r[2]*e[8]+r[6]*e[9]+r[10]*e[10]+r[14]*e[11],r[3]*e[8]+r[7]*e[9]+r[11]*e[10]+r[15]*e[11],r[0]*e[12]+r[4]*e[13]+r[8]*e[14]+r[12]*e[15],r[1]*e[12]+r[5]*e[13]+r[9]*e[14]+r[13]*e[15],r[2]*e[12]+r[6]*e[13]+r[10]*e[14]+r[14]*e[15],r[3]*e[12]+r[7]*e[13]+r[11]*e[14]+r[15]*e[15]]}function qB(r){return r.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:r.map(jB).reduce($B)}function Fw(r){var e=[0,0,0],t=[1,1,1],n=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return NF(qB(r),e,t,n,i,a),[[e,t,n,a,i]]}var GB=function(){function r(n,i){for(var a=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],s=0;s<4;s++)for(var o=0;o<4;o++)for(var l=0;l<4;l++)a[s][o]+=i[s][l]*n[l][o];return a}function e(n){return n[0][2]===0&&n[0][3]===0&&n[1][2]===0&&n[1][3]===0&&n[2][0]===0&&n[2][1]===0&&n[2][2]===1&&n[2][3]===0&&n[3][2]===0&&n[3][3]===1}function t(n,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],c=0;c<4;c++)l[c][3]=o[c];for(var u=0;u<3;u++)for(var d=0;d<3;d++)l[3][u]+=n[d]*l[d][u];var h=s[0],f=s[1],g=s[2],p=s[3],v=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];v[0][0]=1-2*(f*f+g*g),v[0][1]=2*(h*f-g*p),v[0][2]=2*(h*g+f*p),v[1][0]=2*(h*f+g*p),v[1][1]=1-2*(h*h+g*g),v[1][2]=2*(f*g-h*p),v[2][0]=2*(h*g-f*p),v[2][1]=2*(f*g+h*p),v[2][2]=1-2*(h*h+f*f),l=r(l,v);var m=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(m[2][1]=a[2],l=r(l,m)),a[1]&&(m[2][1]=0,m[2][0]=a[0],l=r(l,m)),a[0]&&(m[2][0]=0,m[1][0]=a[0],l=r(l,m));for(var y=0;y<3;y++)for(var b=0;b<3;b++)l[y][b]*=i[y];return e(l)?[l[0][0],l[0][1],l[1][0],l[1][1],l[3][0],l[3][1]]:l[0].concat(l[1],l[2],l[3])}return t}();function WB(r){return r.toFixed(6).replace(".000000","")}function _f(r,e){var t,n;return r.decompositionPair!==e&&(r.decompositionPair=e,t=Fw(r)),e.decompositionPair!==r&&(e.decompositionPair=r,n=Fw(e)),t[0]===null||n[0]===null?[[!1],[!0],function(i){return i?e[0].d:r[0].d}]:(t[0].push(0),n[0].push(1),[t,n,function(i){var a=UB(t[0][3],n[0][3],i[5]),s=GB(i[0],i[1],i[2],a,i[4]),o=s.map(WB).join(",");return o}])}function VB(r,e){for(var t=0,n=0;n<r.length;n++)t+=r[n]*e[n];return t}function UB(r,e,t){var n=VB(r,e);n=an(n,-1,1);var i=[];if(n===1)i=r;else for(var a=Math.acos(n),s=Math.sin(t*a)*1/Math.sqrt(1-n*n),o=0;o<4;o++)i.push(r[o]*(Math.cos(t*a)-n*s)+e[o]*s);return i}function kf(r){return r.replace(/[XY]/,"")}function Mf(r){return r.replace(/(X|Y|Z|3d)?$/,"3d")}var HB=function(e,t){return e==="perspective"&&t==="perspective"||(e==="matrix"||e==="matrix3d")&&(t==="matrix"||t==="matrix3d")};function YB(r,e,t){var n=!1;if(!r.length||!e.length){r.length||(n=!0,r=e,e=[]);for(var i=function(){var P=r[a],L=P.t,I=P.d,G=L.substring(0,5)==="scale"?1:0;e.push({t:L,d:I.map(function(H){return typeof H=="number"?Ht(G):Ht(G,H.unit)})})},a=0;a<r.length;a++)i()}var s=[],o=[],l=[];if(r.length!==e.length){var c=_f(r,e);s=[c[0]],o=[c[1]],l=[["matrix",[c[2]]]]}else for(var u=0;u<r.length;u++){var d=r[u].t,h=e[u].t,f=r[u].d,g=e[u].d,p=zl[d],v=zl[h],m=void 0;if(HB(d,h)){var y=_f([r[u]],[e[u]]);s.push(y[0]),o.push(y[1]),l.push(["matrix",[y[2]]]);continue}else if(d===h)m=d;else if(p[2]&&v[2]&&kf(d)===kf(h))m=kf(d),f=p[2](f),g=v[2](g);else if(p[1]&&v[1]&&Mf(d)===Mf(h))m=Mf(d),f=p[1](f),g=v[1](g);else{var b=_f(r,e);s=[b[0]],o=[b[1]],l=[["matrix",[b[2]]]];break}for(var w=[],E=[],_=[],O=0;O<f.length;O++){var M=_B(f[O],g[O],t,!1,O);w[O]=M[0],E[O]=M[1],_.push(M[2])}s.push(w),o.push(E),l.push([m,_])}if(n){var N=s;s=o,o=N}return[s,o,function(A){return A.map(function(P,L){var I=P.map(function(G,H){return l[L][1][H](G)}).join(",");return l[L][0]==="matrix"&&I.split(",").length===16&&(l[L][0]="matrix3d"),l[L][0]==="matrix3d"&&I.split(",").length===6&&(l[L][0]="matrix"),"".concat(l[L][0],"(").concat(I,")")}).join(" ")}]}var KB=En(function(r){if(gt(r)){if(r==="text-anchor")return[Ht(0,"px"),Ht(0,"px")];var e=r.split(" ");return e.length===1&&(e[0]==="top"||e[0]==="bottom"?(e[1]=e[0],e[0]="center"):e[1]="center"),e.length!==2?null:[p1(Bw(e[0])),p1(Bw(e[1]))]}return[Ht(r[0]||0,"px"),Ht(r[1]||0,"px")]});function Bw(r){return r==="center"?"50%":r==="left"||r==="top"?"0%":r==="right"||r==="bottom"?"100%":r}var kb=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:_e.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:_e.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:_e.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:_e.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:_e.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:_e.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:_e.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:_e.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:_e.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:_e.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:_e.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:_e.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:_e.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:_e.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:_e.FILTER},{n:"clipPath",syntax:_e.DEFINED_PATH},{n:"textPath",syntax:_e.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:_e.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:_e.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:_e.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:_e.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:_e.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:_e.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:_e.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:_e.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:_e.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:_e.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:_e.COORDINATE},{n:"y1",int:!0,l:!0,syntax:_e.COORDINATE},{n:"z1",int:!0,l:!0,syntax:_e.COORDINATE},{n:"x2",int:!0,l:!0,syntax:_e.COORDINATE},{n:"y2",int:!0,l:!0,syntax:_e.COORDINATE},{n:"z2",int:!0,l:!0,syntax:_e.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:_e.PATH,p:50},{n:"points",int:!0,l:!0,syntax:_e.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:_e.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:_e.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:_e.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:_e.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:_e.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:_e.NUMBER,d:function(e){return e===le.PATH||e===le.POLYGON||e===le.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:_e.MARKER},{n:"markerEnd",syntax:_e.MARKER},{n:"markerMid",syntax:_e.MARKER},{n:"markerStartOffset",syntax:_e.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:_e.LENGTH,l:!0,int:!0,d:"0"}],XB=new Set(kb.filter(function(r){return!!r.l}).map(function(r){return r.n})),zN={},ZB=function(){function r(e){var t=this;ge(this,r),this.runtime=e,kb.forEach(function(n){t.registerMetadata(n)})}return ve(r,[{key:"registerMetadata",value:function(t){[t.n].concat(It(t.a||[])).forEach(function(n){zN[n]=t})}},{key:"getPropertySyntax",value:function(t){return this.runtime.CSSPropertySyntaxFactory[t]}},{key:"processProperties",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{forceUpdateGeometry:!1};Object.assign(t.attributes,n);var a=t.parsedStyle.clipPath,s=t.parsedStyle.offsetPath;JB(t,n);var o=!!i.forceUpdateGeometry;if(!o){for(var l in n)if(XB.has(l)){o=!0;break}}var c=jN(t);c.has("fill")&&n.fill&&(t.parsedStyle.fill=Ml(n.fill)),c.has("stroke")&&n.stroke&&(t.parsedStyle.stroke=Ml(n.stroke)),c.has("shadowColor")&&n.shadowColor&&(t.parsedStyle.shadowColor=Ml(n.shadowColor)),c.has("filter")&&n.filter&&(t.parsedStyle.filter=TB(n.filter)),c.has("radius")&&!qe(n.radius)&&(t.parsedStyle.radius=Aw(n.radius,4)),c.has("lineDash")&&!qe(n.lineDash)&&(t.parsedStyle.lineDash=Aw(n.lineDash,"even")),c.has("points")&&n.points&&(t.parsedStyle.points=FB(n.points)),c.has("d")&&n.d===""&&(t.parsedStyle.d=et({},SN)),c.has("d")&&n.d&&(t.parsedStyle.d=DN(n.d)),c.has("textTransform")&&n.textTransform&&this.runtime.CSSPropertySyntaxFactory[_e.TEXT_TRANSFORM].calculator(null,null,{value:n.textTransform},t,null),c.has("clipPath")&&!Ue(n.clipPath)&&this.runtime.CSSPropertySyntaxFactory[_e.DEFINED_PATH].calculator("clipPath",a,n.clipPath,t,this.runtime),c.has("offsetPath")&&n.offsetPath&&this.runtime.CSSPropertySyntaxFactory[_e.DEFINED_PATH].calculator("offsetPath",s,n.offsetPath,t,this.runtime),c.has("transform")&&n.transform&&(t.parsedStyle.transform=BN(n.transform)),c.has("transformOrigin")&&n.transformOrigin&&(t.parsedStyle.transformOrigin=KB(n.transformOrigin)),c.has("markerStart")&&n.markerStart&&(t.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[_e.MARKER].calculator(null,n.markerStart,n.markerStart,null,null)),c.has("markerEnd")&&n.markerEnd&&(t.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[_e.MARKER].calculator(null,n.markerEnd,n.markerEnd,null,null)),c.has("markerMid")&&n.markerMid&&(t.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[_e.MARKER].calculator("",n.markerMid,n.markerMid,null,null)),c.has("zIndex")&&!qe(n.zIndex)&&this.runtime.CSSPropertySyntaxFactory[_e.Z_INDEX].postProcessor(t),c.has("offsetDistance")&&!qe(n.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[_e.OFFSET_DISTANCE].postProcessor(t),c.has("transform")&&n.transform&&this.runtime.CSSPropertySyntaxFactory[_e.TRANSFORM].postProcessor(t),c.has("transformOrigin")&&n.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[_e.TRANSFORM_ORIGIN].postProcessor(t),o&&(t.geometry.dirty=!0,t.renderable.boundsDirty=!0,t.renderable.renderBoundsDirty=!0,i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(t))}},{key:"updateGeometry",value:function(t){var n=t.nodeName,i=this.runtime.geometryUpdaterFactory[n];if(i){var a=t.geometry;a.contentBounds||(a.contentBounds=new Rt),a.renderBounds||(a.renderBounds=new Rt);var s=t.parsedStyle,o=i.update(s,t),l=o.cx,c=l===void 0?0:l,u=o.cy,d=u===void 0?0:u,h=o.cz,f=h===void 0?0:h,g=o.hwidth,p=g===void 0?0:g,v=o.hheight,m=v===void 0?0:v,y=o.hdepth,b=y===void 0?0:y,w=[Math.abs(p),Math.abs(m),b],E=s.stroke,_=s.lineWidth,O=_===void 0?1:_,M=s.increasedLineWidthForHitTesting,N=M===void 0?0:M,A=s.shadowType,P=A===void 0?"outer":A,L=s.shadowColor,I=s.filter,G=I===void 0?[]:I,H=s.transformOrigin,Y=[c,d,f];a.contentBounds.update(Y,w);var W=n===le.POLYLINE||n===le.POLYGON||n===le.PATH?Math.SQRT2:.5,q=E&&!E.isNone;if(q){var Q=((O||0)+(N||0))*W;w[0]+=Q,w[1]+=Q}if(a.renderBounds.update(Y,w),L&&P&&P!=="inner"){var re=a.renderBounds,de=re.min,oe=re.max,he=s.shadowBlur,X=s.shadowOffsetX,U=s.shadowOffsetY,ne=he||0,ue=X||0,Me=U||0,Be=de[0]-ne+ue,Ve=oe[0]+ne+ue,Dt=de[1]-ne+Me,on=oe[1]+ne+Me;de[0]=Math.min(de[0],Be),oe[0]=Math.max(oe[0],Ve),de[1]=Math.min(de[1],Dt),oe[1]=Math.max(oe[1],on),a.renderBounds.setMinMax(de,oe)}G.forEach(function(Je){var hn=Je.name,Ct=Je.params;if(hn==="blur"){var ca=Ct[0].value;a.renderBounds.update(a.renderBounds.center,Ra(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[ca,ca,0]))}else if(hn==="drop-shadow"){var jn=Ct[0].value,Qt=Ct[1].value,ut=Ct[2].value,fn=a.renderBounds,$n=fn.min,gr=fn.max,_r=$n[0]-ut+jn,zr=gr[0]+ut+jn,ua=$n[1]-ut+Qt,da=gr[1]+ut+Qt;$n[0]=Math.min($n[0],_r),gr[0]=Math.max(gr[0],zr),$n[1]=Math.min($n[1],ua),gr[1]=Math.max(gr[1],da),a.renderBounds.setMinMax($n,gr)}}),t.geometry.dirty=!1;var _t=p<0,Yt=m<0,He=(_t?-1:1)*(H?Cr(H[0],0,t,!0):0),ar=(Yt?-1:1)*(H?Cr(H[1],1,t,!0):0);(He||ar)&&t.setOrigin(He,ar)}}},{key:"updateSizeAttenuation",value:function(t,n){t.style.isSizeAttenuation?(t.style.rawLineWidth||(t.style.rawLineWidth=t.style.lineWidth),t.style.lineWidth=(t.style.rawLineWidth||1)/n,t.nodeName===le.CIRCLE&&(t.style.rawR||(t.style.rawR=t.style.r),t.style.r=(t.style.rawR||1)/n)):(t.style.rawLineWidth&&(t.style.lineWidth=t.style.rawLineWidth,delete t.style.rawLineWidth),t.nodeName===le.CIRCLE&&t.style.rawR&&(t.style.r=t.style.rawR,delete t.style.rawR))}}])}();function JB(r,e){var t=jN(r);for(var n in e)t.has(n)&&(r.parsedStyle[n]=e[n])}function jN(r){return r.constructor.PARSED_STYLE_LIST}var QB=function(){function r(){ge(this,r),this.mixer=Sb}return ve(r,[{key:"calculator",value:function(t,n,i,a){return xr(i)}}])}(),e5=function(){function r(){ge(this,r)}return ve(r,[{key:"calculator",value:function(t,n,i,a,s){return i instanceof Kr&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(t,n,i,a),t==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtifyToRoot(o)}),i}}])}(),t5=function(){function r(){ge(this,r),this.parser=Ml,this.mixer=xB}return ve(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Kr?i.value==="none"?MN:TN:i}}])}(),n5=function(){function r(){ge(this,r)}return ve(r,[{key:"calculator",value:function(t,n,i){return i instanceof Kr?[]:i}}])}();function zw(r){var e=r.parsedStyle,t=e.fontSize;return qe(t)?null:t}var x1=function(){function r(){ge(this,r),this.mixer=Sb}return ve(r,[{key:"calculator",value:function(t,n,i,a,s){if(Ce(i))return i;if(Dn.isRelativeUnit(i.unit)){if(i.unit===ke.kPercentage)return 0;if(i.unit===ke.kEms){if(a.parentNode){var o=zw(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===ke.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var c=zw(a.ownerDocument.documentElement);if(c)return c*=i.value,c}return 0}}else return i.value}}])}(),r5=function(){function r(){ge(this,r),this.mixer=LN}return ve(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),i5=function(){function r(){ge(this,r),this.mixer=LN}return ve(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),a5=function(){function r(){ge(this,r)}return ve(r,[{key:"calculator",value:function(t,n,i,a){var s;i instanceof Kr&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),s5=function(){function r(){ge(this,r),this.mixer=Sb}return ve(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),o5=function(){function r(){ge(this,r),this.mixer=_b(0,1)}return ve(r,[{key:"calculator",value:function(t,n,i){return i.value}},{key:"postProcessor",value:function(t){var n=t.parsedStyle,i=n.offsetPath,a=n.offsetDistance;if(i){var s=i.nodeName;if(s===le.LINE||s===le.PATH||s===le.POLYLINE){var o=i.getPoint(a);o&&t.setLocalPosition(o.x,o.y)}}}}])}(),l5=function(){function r(){ge(this,r),this.mixer=_b(0,1)}return ve(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),c5=function(){function r(){ge(this,r),this.parser=DN,this.mixer=DB}return ve(r,[{key:"calculator",value:function(t,n,i){return i instanceof Kr&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Oo(0,0,0,0)}:i}}])}(),u5=ve(function r(){ge(this,r),this.mixer=BB}),d5=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.mixer=_b(0,1/0),t}return nt(e,r),ve(e)}(x1),h5=function(){function r(){ge(this,r)}return ve(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Kr?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(t){t.nodeValue="".concat(t.parsedStyle.text)||""}}])}(),f5=function(){function r(){ge(this,r)}return ve(r,[{key:"calculator",value:function(t,n,i,a){var s=a.getAttribute("text");if(s){var o=s;i.value==="capitalize"?o=s.charAt(0).toUpperCase()+s.slice(1):i.value==="lowercase"?o=s.toLowerCase():i.value==="uppercase"&&(o=s.toUpperCase()),a.parsedStyle.text=o}return i.value}}])}(),Tf=new WeakMap;function g5(r,e,t){if(r){var n=typeof r=="string"?document.getElementById(r):r;Tf.has(n)&&Tf.get(n).destroy(t),Tf.set(n,e)}}var Mb=typeof window<"u"&&typeof window.document<"u";function v5(r){return!!r.getAttribute}function p5(r,e){for(var t=0,n=r.length;t<n;){var i=t+n>>>1;$N(r[i],e)<0?t=i+1:n=i}return t}function $N(r,e){var t=Number(r.parsedStyle.zIndex||0),n=Number(e.parsedStyle.zIndex||0);if(t===n){var i=r.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(r)-a.indexOf(e)}}return t-n}function qN(r){var e=r;do{var t,n=(t=e.parsedStyle)===null||t===void 0?void 0:t.clipPath;if(n)return e;e=e.parentElement}while(e!==null);return null}var jw="px";function m5(r,e,t){Mb&&r.style&&(r.style.width=e+jw,r.style.height=t+jw)}function GN(r,e){if(Mb)return document.defaultView.getComputedStyle(r,null).getPropertyValue(e)}function y5(r){var e=GN(r,"width");return e==="auto"?r.offsetWidth:parseFloat(e)}function b5(r){var e=GN(r,"height");return e==="auto"?r.offsetHeight:parseFloat(e)}var x5=1,w5={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},w1=typeof performance=="object"&&performance.now?performance:Date;function Ju(r){return r.nodeName===le.FRAGMENT?!0:r.getRootNode().nodeName===le.FRAGMENT}function Ps(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,n=!1,i=!1,a=!!e&&!e.isNone,s=!!t&&!t.isNone;return r==="visiblepainted"||r==="painted"||r==="auto"?(n=a,i=s):r==="visiblefill"||r==="fill"?n=!0:r==="visiblestroke"||r==="stroke"?i=!0:(r==="visible"||r==="all")&&(n=!0,i=!0),[n,i]}var E5=1,S5=function(){return E5++},Pi=typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:{},_5=Date.now(),k5=function(){return Pi.performance&&typeof Pi.performance.now=="function"?Pi.performance.now():Date.now()-_5},fl={},$w=Date.now(),M5=function(e){if(typeof e!="function")throw new TypeError("".concat(e," is not a function"));var t=Date.now(),n=t-$w,i=n>16?0:16-n,a=S5();return fl[a]=e,Object.keys(fl).length>1||setTimeout(function(){$w=t;var s=fl;fl={},Object.keys(s).forEach(function(o){return s[o](k5())})},i),a},T5=function(e){delete fl[e]},O5=["","webkit","moz","ms","o"],WN=function(e){return typeof e!="string"?M5:e===""?Pi.requestAnimationFrame:Pi["".concat(e,"RequestAnimationFrame")]},C5=function(e){return typeof e!="string"?T5:e===""?Pi.cancelAnimationFrame:Pi["".concat(e,"CancelAnimationFrame")]||Pi["".concat(e,"CancelRequestAnimationFrame")]},N5=function(e,t){for(var n=0;e[n]!==void 0;){if(t(e[n]))return e[n];n+=1}},VN=N5(O5,function(r){return!!WN(r)}),Tb=WN(VN),UN=C5(VN);Pi.requestAnimationFrame=Tb;Pi.cancelAnimationFrame=UN;var A5=function(){function r(){ge(this,r),this.callbacks=[]}return ve(r,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Promise.all(this.callbacks.map(function(a){return a.apply(void 0,n)}))}}])}(),P5=function(){function r(){ge(this,r),this.callbacks=[]}return ve(r,[{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){var e=ja(Hn().mark(function n(){var i,a,s,o,l=arguments;return Hn().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(!this.callbacks.length){u.next=14;break}return u.next=3,(i=this.callbacks)[0].apply(i,l);case 3:a=u.sent,s=0;case 5:if(!(s<this.callbacks.length-1)){u.next=13;break}return o=this.callbacks[s],u.next=9,o(a);case 9:a=u.sent;case 10:s++,u.next=5;break;case 13:return u.abrupt("return",a);case 14:return u.abrupt("return",null);case 15:case"end":return u.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),sr=function(){function r(){ge(this,r),this.callbacks=[]}return ve(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var a=arguments;this.callbacks.forEach(function(s){s.apply(void 0,a)})}}])}(),Of=function(){function r(){ge(this,r),this.callbacks=[]}return ve(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];if(this.callbacks.length){for(var a=arguments,s=this.callbacks[0].apply(void 0,a),o=0;o<this.callbacks.length-1;o++){var l=this.callbacks[o];s=l(s)}return s}return null}}])}(),R5=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],L5=/([\"\'])[^\'\"]+\1/;function I5(r){for(var e=r.fontSize,t=e===void 0?16:e,n=r.fontFamily,i=n===void 0?"sans-serif":n,a=r.fontStyle,s=a===void 0?"normal":a,o=r.fontVariant,l=o===void 0?"normal":o,c=r.fontWeight,u=c===void 0?"normal":c,d=Ce(t)&&"".concat(t,"px")||"16px",h=i.split(","),f=h.length-1;f>=0;f--){var g=h[f].trim();!L5.test(g)&&R5.indexOf(g)<0&&(g='"'.concat(g,'"')),h[f]=g}return"".concat(s," ").concat(l," ").concat(u," ").concat(d," ").concat(h.join(","))}function Cf(r,e,t){return Ba(r),r[4]=Math.tan(e),r[1]=Math.tan(t),r}var vn=Pt(),D5=Pt(),F5={scale:function(e){is(vn,[e[0].value,e[1].value,1])},scaleX:function(e){is(vn,[e[0].value,1,1])},scaleY:function(e){is(vn,[1,e[0].value,1])},scaleZ:function(e){is(vn,[1,1,e[0].value])},scale3d:function(e){is(vn,[e[0].value,e[1].value,e[2].value])},translate:function(e){Sa(vn,[e[0].value,e[1].value,0])},translateX:function(e){Sa(vn,[e[0].value,0,0])},translateY:function(e){Sa(vn,[0,e[0].value,0])},translateZ:function(e){Sa(vn,[0,0,e[0].value])},translate3d:function(e){Sa(vn,[e[0].value,e[1].value,e[2].value])},rotate:function(e){Qy(vn,wt(xr(e[0])))},rotateX:function(e){UC(vn,wt(xr(e[0])))},rotateY:function(e){HC(vn,wt(xr(e[0])))},rotateZ:function(e){Qy(vn,wt(xr(e[0])))},rotate3d:function(e){VC(vn,wt(xr(e[3])),[e[0].value,e[1].value,e[2].value])},skew:function(e){Cf(vn,wt(e[0].value),wt(e[1].value))},skewX:function(e){Cf(vn,wt(e[0].value),0)},skewY:function(e){Cf(vn,0,wt(e[0].value))},matrix:function(e){Jy(vn,e[0].value,e[1].value,0,0,e[2].value,e[3].value,0,0,0,0,1,0,e[4].value,e[5].value,0,1)},matrix3d:function(e){Jy.apply(ID,[vn].concat(It(e.map(function(t){return t.value}))))}},B5=Bt(1,1,1),z5=ct(),qw={translate:function(e,t){me.sceneGraphService.setLocalScale(e,B5,!1),me.sceneGraphService.setLocalEulerAngles(e,z5,void 0,void 0,!1),me.sceneGraphService.setLocalPosition(e,[t[0].value,t[1].value,0],!1),me.sceneGraphService.dirtifyLocal(e,e.transformable)}};function HN(r,e){if(r.length){if(r.length===1&&qw[r[0].t]){qw[r[0].t](e,r[0].d);return}for(var t=Ba(D5),n=0;n<r.length;n++){var i=r[n],a=i.t,s=i.d,o=F5[a];o&&(o(s),tN(t,t,vn))}e.setLocalTransform(t)}else e.resetLocalTransform();return e.getLocalTransform()}var j5=function(){function r(){ge(this,r),this.parser=zB,this.mixer=YB}return ve(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Kr?[]:i}},{key:"postProcessor",value:function(t){HN(t.parsedStyle.transform,t)}}])}(),$5=function(){function r(){ge(this,r)}return ve(r,[{key:"postProcessor",value:function(t){var n=t.parsedStyle.transformOrigin;n[0].unit===ke.kPixels&&n[1].unit===ke.kPixels?t.setOrigin(n[0].value,n[1].value):t.getGeometryBounds()}}])}(),q5=function(){function r(){ge(this,r)}return ve(r,[{key:"calculator",value:function(t,n,i,a){return i.value}},{key:"postProcessor",value:function(t){if(t.parentNode){var n=t.parentNode,i=n.renderable,a=n.sortable;i&&(i.dirty=!0),a&&(a.dirty=!0,a.dirtyReason=Hu.Z_INDEX_CHANGED)}}}])}(),G5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.r,c=l===void 0?0:l;return{cx:a,cy:o,hwidth:c,hheight:c}}}])}(),W5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.rx,c=l===void 0?0:l,u=t.ry,d=u===void 0?0:u;return{cx:a,cy:o,hwidth:c,hheight:d}}}])}(),V5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t){var n=t.x1,i=t.y1,a=t.x2,s=t.y2,o=Math.min(n,a),l=Math.max(n,a),c=Math.min(i,s),u=Math.max(i,s),d=l-o,h=u-c,f=d/2,g=h/2;return{cx:o+f,cy:c+g,hwidth:f,hheight:g}}}])}(),U5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t){var n=t.d,i=n.rect,a=i.x,s=i.y,o=i.width,l=i.height,c=o/2,u=l/2;return{cx:a+c,cy:s+u,hwidth:c,hheight:u}}}])}(),H5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t){if(t.points&&Fr(t.points.points)){var n=t.points.points,i=Math.min.apply(Math,It(n.map(function(h){return h[0]}))),a=Math.max.apply(Math,It(n.map(function(h){return h[0]}))),s=Math.min.apply(Math,It(n.map(function(h){return h[1]}))),o=Math.max.apply(Math,It(n.map(function(h){return h[1]}))),l=a-i,c=o-s,u=l/2,d=c/2;return{cx:i+u,cy:s+d,hwidth:u,hheight:d}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),Y5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.src,c=t.width,u=c===void 0?0:c,d=t.height,h=d===void 0?0:d,f=u,g=h;return l&&!gt(l)&&(f||(f=l.width,t.width=f),g||(g=l.height,t.height=g)),{cx:a+f/2,cy:o+g/2,hwidth:f/2,hheight:g/2}}}])}(),K5=function(){function r(e){ge(this,r),this.globalRuntime=e}return ve(r,[{key:"isReadyToMeasure",value:function(t,n){var i=t.text;return i}},{key:"update",value:function(t,n){var i,a=t.text,s=t.textAlign,o=s===void 0?"start":s,l=t.lineWidth,c=l===void 0?1:l,u=t.textBaseline,d=u===void 0?"alphabetic":u,h=t.dx,f=h===void 0?0:h,g=t.dy,p=g===void 0?0:g,v=t.x,m=v===void 0?0:v,y=t.y,b=y===void 0?0:y;if(!this.isReadyToMeasure(t,n))return t.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var w=(n==null||(i=n.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},E=w.offscreenCanvas,_=this.globalRuntime.textService.measureText(a,t,E);t.metrics=_;var O=_.width,M=_.height,N=O/2,A=M/2,P=m+N;o==="center"||o==="middle"?P+=c/2-N:(o==="right"||o==="end")&&(P+=c-N*2);var L=b-A;return d==="middle"?L+=A:d==="top"||d==="hanging"?L+=A*2:d==="alphabetic"||(d==="bottom"||d==="ideographic")&&(L+=0),f&&(P+=f),p&&(L+=p),{cx:P,cy:L,hwidth:N,hheight:A}}}])}(),X5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t,n){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),Z5=function(){function r(){ge(this,r)}return ve(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.width,c=l===void 0?0:l,u=t.height,d=u===void 0?0:u;return{cx:a+c/2,cy:o+d/2,hwidth:c/2,hheight:d/2}}}])}(),_d=function(){function r(e){ge(this,r),this.eventPhase=r.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new Vn,this.page=new Vn,this.canvas=new Vn,this.viewport=new Vn,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}return ve(r,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(xt)}}])}(),YN=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.client=new Vn,t.movement=new Vn,t.offset=new Vn,t.global=new Vn,t.screen=new Vn,t}return nt(e,r),ve(e,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(n){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(n)}},{key:"initMouseEvent",value:function(){throw new Error(xt)}}])}(_d),Qu=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.width=0,t.height=0,t.isPrimary=!1,t}return nt(e,r),ve(e,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(YN),E1=function(r){function e(){return ge(this,e),tt(this,e,arguments)}return nt(e,r),ve(e,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(YN),yn=function(r){function e(t,n){var i;return ge(this,e),i=tt(this,e,[null]),i.type=t,i.detail=n,Object.assign(i,n),i}return nt(e,r),ve(e)}(_d),Gw=new WeakMap,KN=function(){function r(){ge(this,r),this.emitter=new DC}return ve(r,[{key:"on",value:function(t,n,i){return this.addEventListener(t,n,i),this}},{key:"addEventListener",value:function(t,n,i){var a=!1,s=!1;if(Wu(i))a=i;else if(i){var o=i.capture;a=o===void 0?!1:o;var l=i.once;s=l===void 0?!1:l}a&&(t+="capture"),n=Ie(n)?n:n.handleEvent;var c=Ie(n)?void 0:n;return s?this.emitter.once(t,n,c):this.emitter.on(t,n,c),this}},{key:"off",value:function(t,n,i){return t?this.removeEventListener(t,n,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var t;(t=this.emitter)===null||t===void 0||t.removeAllListeners()}},{key:"removeEventListener",value:function(t,n,i){var a;if(!this.emitter)return this;var s=Wu(i)?i:i==null?void 0:i.capture;s&&(t+="capture"),n=Ie(n)?n:(a=n)===null||a===void 0?void 0:a.handleEvent;var o=Ie(n)?void 0:n;return this.emitter.off(t,n,o),this}},{key:"emit",value:function(t,n){this.dispatchEvent(new yn(t,n))}},{key:"dispatchEvent",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=Gw.get(this);if(!i){var a;this.document?i=this:this.defaultView?i=this.defaultView:i=(a=this.ownerDocument)===null||a===void 0?void 0:a.defaultView,i&&Gw.set(this,i)}if(i){if(t.manager=i.getEventService(),!t.manager)return!1;t.defaultPrevented=!1,t.path?t.path.length=0:t.page=[],n||(t.target=this),t.manager.dispatchEvent(t,t.type,n)}else this.emitter.emit(t.type,t);return!t.defaultPrevented}}])}(),Zt=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.shadow=!1,t.ownerDocument=null,t.isConnected=!1,t.baseURI="",t.childNodes=[],t.nodeType=0,t.nodeName="",t.nodeValue=null,t.parentNode=null,t}return nt(e,r),ve(e,[{key:"textContent",get:function(){var n="";this.nodeName===le.TEXT&&(n+=this.style.text);var i=as(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===le.TEXT?n+=s.nodeValue:n+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return n},set:function(n){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===le.TEXT&&(this.style.text="".concat(n))}},{key:"getRootNode",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(n):n.composed&&this.host?this.host.getRootNode(n):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(n){throw new Error(xt)}},{key:"lookupNamespaceURI",value:function(n){throw new Error(xt)}},{key:"lookupPrefix",value:function(n){throw new Error(xt)}},{key:"normalize",value:function(){throw new Error(xt)}},{key:"isEqualNode",value:function(n){return this===n}},{key:"isSameNode",value:function(n){return this.isEqualNode(n)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(n){if(n===this)return 0;for(var i=n,a=this,s=[i],o=[a];(l=i.parentNode)!==null&&l!==void 0?l:a.parentNode;){var l;i=i.parentNode?(s.push(i.parentNode),i.parentNode):i,a=a.parentNode?(o.push(a.parentNode),a.parentNode):a}if(i!==a)return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;var c=s.length>o.length?s:o,u=c===s?o:s;if(c[c.length-u.length]===u[0])return c===s?e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING:e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;for(var d=c.length-u.length,h=u.length-1;h>=0;h--){var f=u[h],g=c[d+h];if(g!==f){var p=f.parentNode.childNodes;return p.indexOf(f)<p.indexOf(g)?u===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING:c===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}}return e.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(n){return this.contains(n)}},{key:"contains",value:function(n){for(var i=n;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(n){for(var i=this;n>0&&i;)i=i.parentNode,n--;return i}},{key:"forEach",value:function(n){for(var i=[this];i.length>0;){var a=i.pop(),s=n(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(n){return!!n.childNodes}}])}(KN);Zt.DOCUMENT_POSITION_DISCONNECTED=1;Zt.DOCUMENT_POSITION_PRECEDING=2;Zt.DOCUMENT_POSITION_FOLLOWING=4;Zt.DOCUMENT_POSITION_CONTAINS=8;Zt.DOCUMENT_POSITION_CONTAINED_BY=16;Zt.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var J5=2048,Q5=function(){function r(e,t){var n=this;ge(this,r),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=Pt(),this.tmpVec3=ct(),this.onPointerDown=function(i){var a=n.createPointerEvent(i);if(n.dispatchEvent(a,"pointerdown"),a.pointerType==="touch")n.dispatchEvent(a,"touchstart");else if(a.pointerType==="mouse"||a.pointerType==="pen"){var s=a.button===2;n.dispatchEvent(a,s?"rightdown":"mousedown")}var o=n.trackingData(i.pointerId);o.pressTargetsByButton[i.button]=a.composedPath(),n.freeEvent(a)},this.onPointerUp=function(i){var a=w1.now(),s=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);if(n.dispatchEvent(s,"pointerup"),s.pointerType==="touch")n.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var o=s.button===2;n.dispatchEvent(s,o?"rightup":"mouseup")}var l=n.trackingData(i.pointerId),c=n.findMountedTarget(l.pressTargetsByButton[i.button]),u=c;if(c&&!s.composedPath().includes(c)){for(var d=c;d&&!s.composedPath().includes(d);){if(s.currentTarget=d,n.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")n.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var h=s.button===2;n.notifyTarget(s,h?"rightupoutside":"mouseupoutside")}Zt.isNode(d)&&(d=d.parentNode)}delete l.pressTargetsByButton[i.button],u=d}if(u){var f,g=n.clonePointerEvent(s,"click");g.target=u,g.path=[],l.clicksByButton[i.button]||(l.clicksByButton[i.button]={clickCount:0,target:g.target,timeStamp:a});var p=n.context.renderingContext.root.ownerDocument.defaultView,v=l.clicksByButton[i.button];v.target===g.target&&a-v.timeStamp<p.getConfig().dblClickSpeed?++v.clickCount:v.clickCount=1,v.target=g.target,v.timeStamp=a,g.detail=v.clickCount,(f=s.detail)!==null&&f!==void 0&&f.preventClick||(!n.context.config.useNativeClickEvent&&(g.pointerType==="mouse"||g.pointerType==="touch")&&n.dispatchEvent(g,"click"),n.dispatchEvent(g,"pointertap")),n.freeEvent(g)}n.freeEvent(s)},this.onPointerMove=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0),s=a.pointerType==="mouse"||a.pointerType==="pen",o=n.trackingData(i.pointerId),l=n.findMountedTarget(o.overTargets);if(o.overTargets&&l!==a.target){var c=i.type==="mousemove"?"mouseout":"pointerout",u=n.createPointerEvent(i,c,l||void 0);if(n.dispatchEvent(u,"pointerout"),s&&n.dispatchEvent(u,"mouseout"),!a.composedPath().includes(l)){var d=n.createPointerEvent(i,"pointerleave",l||void 0);for(d.eventPhase=d.AT_TARGET;d.target&&!a.composedPath().includes(d.target);)d.currentTarget=d.target,n.notifyTarget(d),s&&n.notifyTarget(d,"mouseleave"),Zt.isNode(d.target)&&(d.target=d.target.parentNode);n.freeEvent(d)}n.freeEvent(u)}if(l!==a.target){var h=i.type==="mousemove"?"mouseover":"pointerover",f=n.clonePointerEvent(a,h);n.dispatchEvent(f,"pointerover"),s&&n.dispatchEvent(f,"mouseover");for(var g=l&&Zt.isNode(l)&&l.parentNode;g&&g!==(Zt.isNode(n.rootTarget)&&n.rootTarget.parentNode)&&g!==a.target;)g=g.parentNode;var p=!g||g===(Zt.isNode(n.rootTarget)&&n.rootTarget.parentNode);if(p){var v=n.clonePointerEvent(a,"pointerenter");for(v.eventPhase=v.AT_TARGET;v.target&&v.target!==l&&v.target!==(Zt.isNode(n.rootTarget)&&n.rootTarget.parentNode);)v.currentTarget=v.target,n.notifyTarget(v),s&&n.notifyTarget(v,"mouseenter"),Zt.isNode(v.target)&&(v.target=v.target.parentNode);n.freeEvent(v)}n.freeEvent(f)}n.dispatchEvent(a,"pointermove"),a.pointerType==="touch"&&n.dispatchEvent(a,"touchmove"),s&&(n.dispatchEvent(a,"mousemove"),n.cursor=n.getCursor(a.target)),o.overTargets=a.composedPath(),n.freeEvent(a)},this.onPointerOut=function(i){var a=n.trackingData(i.pointerId);if(a.overTargets){var s=i.pointerType==="mouse"||i.pointerType==="pen",o=n.findMountedTarget(a.overTargets),l=n.createPointerEvent(i,"pointerout",o||void 0);n.dispatchEvent(l),s&&n.dispatchEvent(l,"mouseout");var c=n.createPointerEvent(i,"pointerleave",o||void 0);for(c.eventPhase=c.AT_TARGET;c.target&&c.target!==(Zt.isNode(n.rootTarget)&&n.rootTarget.parentNode);)c.currentTarget=c.target,n.notifyTarget(c),s&&n.notifyTarget(c,"mouseleave"),Zt.isNode(c.target)&&(c.target=c.target.parentNode);a.overTargets=null,n.freeEvent(l),n.freeEvent(c)}n.cursor=null},this.onPointerOver=function(i){var a=n.trackingData(i.pointerId),s=n.createPointerEvent(i),o=s.pointerType==="mouse"||s.pointerType==="pen";n.dispatchEvent(s,"pointerover"),o&&n.dispatchEvent(s,"mouseover"),s.pointerType==="mouse"&&(n.cursor=n.getCursor(s.target));var l=n.clonePointerEvent(s,"pointerenter");for(l.eventPhase=l.AT_TARGET;l.target&&l.target!==(Zt.isNode(n.rootTarget)&&n.rootTarget.parentNode);)l.currentTarget=l.target,n.notifyTarget(l),o&&n.notifyTarget(l,"mouseenter"),Zt.isNode(l.target)&&(l.target=l.target.parentNode);a.overTargets=s.composedPath(),n.freeEvent(s),n.freeEvent(l)},this.onPointerUpOutside=function(i){var a=n.trackingData(i.pointerId),s=n.findMountedTarget(a.pressTargetsByButton[i.button]),o=n.createPointerEvent(i);if(s){for(var l=s;l;)o.currentTarget=l,n.notifyTarget(o,"pointerupoutside"),o.pointerType==="touch"||(o.pointerType==="mouse"||o.pointerType==="pen")&&n.notifyTarget(o,o.button===2?"rightupoutside":"mouseupoutside"),Zt.isNode(l)&&(l=l.parentNode);delete a.pressTargetsByButton[i.button]}n.freeEvent(o)},this.onWheel=function(i){var a=n.createWheelEvent(i);n.dispatchEvent(a),n.freeEvent(a)},this.onClick=function(i){if(n.context.config.useNativeClickEvent){var a=n.createPointerEvent(i);n.dispatchEvent(a),n.freeEvent(a)}},this.onPointerCancel=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);n.dispatchEvent(a),n.freeEvent(a)},this.globalRuntime=e,this.context=t}return ve(r,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var t=this.context.contextService.getBoundingClientRect(),n=1,i=1,a=this.context.contextService.getDomElement();if(a&&t){var s=a.offsetWidth,o=a.offsetHeight;s&&o&&(n=t.width/s,i=t.height/o)}return{scaleX:n,scaleY:i,bbox:t}}},{key:"client2Viewport",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Vn((t.x-((s==null?void 0:s.left)||0))/i,(t.y-((s==null?void 0:s.top)||0))/a)}},{key:"viewport2Client",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Vn((t.x+((s==null?void 0:s.left)||0))*i,(t.y+((s==null?void 0:s.top)||0))*a)}},{key:"viewport2Canvas",value:function(t){var n=t.x,i=t.y,a=this.rootTarget.defaultView,s=a.getCamera(),o=this.context.config,l=o.width,c=o.height,u=s.getPerspectiveInverse(),d=s.getWorldTransform(),h=rr(this.tmpMatrix,d,u),f=nr(this.tmpVec3,n/l*2-1,(1-i/c)*2-1,0);return ir(f,f,h),new Vn(f[0],f[1])}},{key:"canvas2Viewport",value:function(t){var n=this.rootTarget.defaultView,i=n.getCamera(),a=i.getPerspective(),s=i.getViewTransform(),o=rr(this.tmpMatrix,a,s),l=nr(this.tmpVec3,t.x,t.y,0);ir(this.tmpVec3,this.tmpVec3,o);var c=this.context.config,u=c.width,d=c.height;return new Vn((l[0]+1)/2*u,(1-(l[1]+1)/2)*d)}},{key:"setPickHandler",value:function(t){this.pickHandler=t}},{key:"addEventMapping",value:function(t,n){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:n,priority:0}),this.mappingTable[t].sort(function(i,a){return i.priority-a.priority})}},{key:"mapEvent",value:function(t){if(this.rootTarget){var n=this.mappingTable[t.type];if(n)for(var i=0,a=n.length;i<a;i++)n[i].fn(t);else console.warn("[EventService]: Event mapping not defined for ".concat(t.type))}}},{key:"dispatchEvent",value:function(t,n,i){if(!i)t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.propagate(t,n);else{t.eventPhase=t.AT_TARGET;var a=this.rootTarget.defaultView||null;t.currentTarget=a,this.notifyListeners(t,n)}}},{key:"propagate",value:function(t,n){if(t.target){var i=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(var a=i.length-1;a>=1;a--)if(t.currentTarget=i[a],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,n),!(t.propagationStopped||t.propagationImmediatelyStopped)){var s=i.indexOf(t.currentTarget);t.eventPhase=t.BUBBLING_PHASE;for(var o=s+1;o<i.length;o++)if(t.currentTarget=i[o],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(t){var n=[t],i=this.rootTarget.defaultView||null;if(i&&i===t)return n.unshift(i.document),n;for(var a=0;a<J5&&t!==this.rootTarget;a++)Zt.isNode(t)&&t.parentNode&&(n.push(t.parentNode),t=t.parentNode);return i&&n.push(i),n}},{key:"hitTest",value:function(t){var n=t.viewportX,i=t.viewportY,a=this.context.config,s=a.width,o=a.height,l=a.disableHitTesting;return n<0||i<0||n>s||i>o?null:!l&&this.pickHandler(t)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(t,n){var i,a=n==null?void 0:n.target;if((i=a)!==null&&i!==void 0&&i.shadowRoot&&(a=n.composedPath()[0]),a){if(a===t)return!0;if(t&&t.contains)return t.contains(a)}return n!=null&&n.composedPath?n.composedPath().indexOf(t)>-1:!1}},{key:"getExistedHTML",value:function(t){if(t.nativeEvent.composedPath)for(var n=0,i=t.nativeEvent.composedPath();n<i.length;n++){var a=i[n],s=this.nativeHTMLMap.get(a);if(s)return s}return null}},{key:"pickTarget",value:function(t){return this.hitTest({clientX:t.clientX,clientY:t.clientY,viewportX:t.viewportX,viewportY:t.viewportY,x:t.canvasX,y:t.canvasY})}},{key:"createPointerEvent",value:function(t,n,i,a){var s=this.allocateEvent(Qu);this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t;var o=this.getExistedHTML(s),l=this.context.contextService.getDomElement();return s.target=i!=null?i:o||this.isNativeEventFromCanvas(l,s.nativeEvent)&&this.pickTarget(s)||a,typeof n=="string"&&(s.type=n),s}},{key:"createWheelEvent",value:function(t){var n=this.allocateEvent(E1);this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.nativeEvent=t.nativeEvent,n.originalEvent=t;var i=this.getExistedHTML(n),a=this.context.contextService.getDomElement();return n.target=i||this.isNativeEventFromCanvas(a,n.nativeEvent)&&this.pickTarget(n),n}},{key:"trackingData",value:function(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}},{key:"cloneWheelEvent",value:function(t){var n=this.allocateEvent(E1);return n.nativeEvent=t.nativeEvent,n.originalEvent=t.originalEvent,this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.target=t.target,n.path=t.composedPath().slice(),n.type=t.type,n}},{key:"clonePointerEvent",value:function(t,n){var i=this.allocateEvent(Qu);return i.nativeEvent=t.nativeEvent,i.originalEvent=t.originalEvent,this.copyPointerData(t,i),this.copyMouseData(t,i),this.copyData(t,i),i.target=t.target,i.path=t.composedPath().slice(),i.type=n!=null?n:i.type,i}},{key:"copyPointerData",value:function(t,n){n.pointerId=t.pointerId,n.width=t.width,n.height=t.height,n.isPrimary=t.isPrimary,n.pointerType=t.pointerType,n.pressure=t.pressure,n.tangentialPressure=t.tangentialPressure,n.tiltX=t.tiltX,n.tiltY=t.tiltY,n.twist=t.twist}},{key:"copyMouseData",value:function(t,n){n.altKey=t.altKey,n.button=t.button,n.buttons=t.buttons,n.ctrlKey=t.ctrlKey,n.metaKey=t.metaKey,n.shiftKey=t.shiftKey,n.client.copyFrom(t.client),n.movement.copyFrom(t.movement),n.canvas.copyFrom(t.canvas),n.screen.copyFrom(t.screen),n.global.copyFrom(t.global),n.offset.copyFrom(t.offset)}},{key:"copyWheelData",value:function(t,n){n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ}},{key:"copyData",value:function(t,n){n.isTrusted=t.isTrusted,n.timeStamp=w1.now(),n.type=t.type,n.detail=t.detail,n.view=t.view,n.page.copyFrom(t.page),n.viewport.copyFrom(t.viewport)}},{key:"allocateEvent",value:function(t){this.eventPool.has(t)||this.eventPool.set(t,[]);var n=this.eventPool.get(t).pop()||new t(this);return n.eventPhase=n.NONE,n.currentTarget=null,n.path=[],n.target=null,n}},{key:"freeEvent",value:function(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var n=t.constructor;this.eventPool.has(n)||this.eventPool.set(n,[]),this.eventPool.get(n).push(t)}},{key:"notifyTarget",value:function(t,n){n=n!=null?n:t.type;var i=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?"".concat(n,"capture"):n;this.notifyListeners(t,i),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,n)}},{key:"notifyListeners",value:function(t,n){var i=t.currentTarget.emitter,a=i._events[n];if(a)if("fn"in a)a.once&&i.removeListener(n,a.fn,void 0,!0),a.fn.call(t.currentTarget||a.context,t);else for(var s=0;s<a.length&&!t.propagationImmediatelyStopped;s++)a[s].once&&i.removeListener(n,a[s].fn,void 0,!0),a[s].fn.call(t.currentTarget||a[s].context,t)}},{key:"findMountedTarget",value:function(t){if(!t)return null;for(var n=t[t.length-1],i=t.length-2;i>=0;i--){var a=t[i];if(a===this.rootTarget||Zt.isNode(a)&&a.parentNode===n)n=t[i];else break}return n}},{key:"getCursor",value:function(t){for(var n=t;n;){var i=v5(n)&&n.getAttribute("cursor");if(i)return i;n=Zt.isNode(n)&&n.parentNode}}}])}(),Ob=function(){function r(){ge(this,r)}return ve(r,[{key:"getOrCreateCanvas",value:function(t,n){if(this.canvas)return this.canvas;if(t||me.offscreenCanvas)this.canvas=t||me.offscreenCanvas,this.context=this.canvas.getContext("2d",et({willReadFrequently:!0},n));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",et({willReadFrequently:!0},n)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch{this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",et({willReadFrequently:!0},n))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(t,n){return this.context?this.context:(this.getOrCreateCanvas(t,n),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch{}try{return document.createElement("canvas")}catch{}return null}}])}(),Eo=function(r){return r[r.CAMERA_CHANGED=0]="CAMERA_CHANGED",r[r.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",r[r.NONE=2]="NONE",r}({}),e4=function(){function r(e,t){ge(this,r),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new sr,initAsync:new A5,dirtycheck:new Of,cull:new Of,beginFrame:new sr,beforeRender:new sr,render:new sr,afterRender:new sr,endFrame:new sr,destroy:new sr,pick:new P5,pickSync:new Of,pointerDown:new sr,pointerUp:new sr,pointerMove:new sr,pointerOut:new sr,pointerOver:new sr,pointerWheel:new sr,pointerCancel:new sr,click:new sr},this.globalRuntime=e,this.context=t}return ve(r,[{key:"init",value:function(t){var n=this,i=et(et({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(a){a.apply(i,n.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,t()):this.hooks.initAsync.promise().then(function(){n.inited=!0,t()}).catch(function(a){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var t=this.context.config.renderer,n=t.getConfig(),i=n.enableDirtyRectangleRendering;return!i||this.context.renderingContext.renderReasons.has(Eo.CAMERA_CHANGED)}},{key:"render",value:function(t,n,i){var a=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var s=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(s.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),s.renderReasons.size&&this.inited){s.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var o=s.renderReasons.size===1&&s.renderReasons.has(Eo.CAMERA_CHANGED),l=!t.disableRenderHooks||!(t.disableRenderHooks&&o);l&&this.renderDisplayObject(s.root,t,s),this.hooks.beginFrame.call(n),l&&s.renderListCurrentFrame.forEach(function(c){a.hooks.beforeRender.call(c),a.hooks.render.call(c),a.hooks.afterRender.call(c)}),this.hooks.endFrame.call(n),s.renderListCurrentFrame=[],s.renderReasons.clear(),i()}}},{key:"renderDisplayObject",value:function(t,n,i){var a=this,s=n.renderer.getConfig(),o=s.enableDirtyCheck,l=s.enableCulling;function c(g){var p=g.renderable,v=g.sortable,m=o?p.dirty||i.dirtyRectangleRenderingDisabled?g:null:g;if(m){var y=l?a.hooks.cull.call(m,a.context.camera):m;y&&(a.stats.rendered+=1,i.renderListCurrentFrame.push(y))}p.dirty=!1,v.renderOrder=a.zIndexCounter,a.zIndexCounter+=1,a.stats.total+=1,v.dirty&&(a.sort(g,v),v.dirty=!1,v.dirtyChildren=[],v.dirtyReason=void 0)}for(var u=[t];u.length>0;){var d=u.pop();c(d);for(var h=d.sortable.sorted||d.childNodes,f=h.length-1;f>=0;f--)u.push(h[f])}}},{key:"sort",value:function(t,n){n.sorted&&n.dirtyReason!==Hu.Z_INDEX_CHANGED?n.dirtyChildren.forEach(function(i){var a=t.childNodes.indexOf(i);if(a===-1){var s=n.sorted.indexOf(i);s>=0&&n.sorted.splice(s,1)}else if(n.sorted.length===0)n.sorted.push(i);else{var o=p5(n.sorted,i);n.sorted.splice(o,0,i)}}):n.sorted=t.childNodes.slice().sort($N)}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(Eo.DISPLAY_OBJECT_CHANGED)}}])}(),t4=/\[\s*(.*)=(.*)\s*\]/,n4=function(){function r(){ge(this,r)}return ve(r,[{key:"selectOne",value:function(t,n){var i=this;if(t.startsWith("."))return n.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.find(function(l){return l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.find(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return n.find(function(l){return n!==l&&l.nodeName===t})}},{key:"selectAll",value:function(t,n){var i=this;if(t.startsWith("."))return n.findAll(function(l){return n!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.findAll(function(l){return n!==l&&l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.findAll(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return n.findAll(function(l){return n!==l&&l.nodeName===t})}},{key:"is",value:function(t,n){if(t.startsWith("."))return n.className===this.getIdOrClassname(t);if(t.startsWith("#"))return n.id===this.getIdOrClassname(t);if(t.startsWith("[")){var i=this.getAttribute(t),a=i.name,s=i.value;return a==="name"?n.name===s:this.attributeToString(n,a)===s}return n.nodeName===t}},{key:"getIdOrClassname",value:function(t){return t.substring(1)}},{key:"getAttribute",value:function(t){var n=t.match(t4),i="",a="";return n&&n.length>2&&(i=n[1].replace(/"/g,""),a=n[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(t,n){if(!t.getAttribute)return"";var i=t.getAttribute(n);return qe(i)?"":i.toString?i.toString():""}}])}(),st=function(r){return r.ATTR_MODIFIED="DOMAttrModified",r.INSERTED="DOMNodeInserted",r.MOUNTED="DOMNodeInsertedIntoDocument",r.REMOVED="removed",r.UNMOUNTED="DOMNodeRemovedFromDocument",r.REPARENT="reparent",r.DESTROY="destroy",r.BOUNDS_CHANGED="bounds-changed",r.CULLED="culled",r}({}),Li=function(r){function e(t,n,i,a,s,o,l,c){var u;return ge(this,e),u=tt(this,e,[null]),u.relatedNode=n,u.prevValue=i,u.newValue=a,u.attrName=s,u.attrChange=o,u.prevParsedValue=l,u.newParsedValue=c,u.type=t,u}return nt(e,r),ve(e)}(_d);Li.ADDITION=2;Li.MODIFICATION=1;Li.REMOVAL=3;function Ww(r){var e=r.renderable;e&&(e.renderBoundsDirty=!0,e.boundsDirty=!0)}var r4=new Li(st.REPARENT,null,"","","",0,"",""),i4=yb(),Dc=ct(),a4=Bt(1,1,1),s4=Pt(),o4=yb(),fa=ct(),Qs=Pt(),ga=Mn(),l4=ct(),c4=Mn(),u4=ct(),el=ct(),Qa=ct(),Fc=Pt(),Vw=Mn(),Uw=Mn(),Bc=Mn(),Nf={affectChildren:!0},d4=function(){function r(e){ge(this,r),this.pendingEvents=new Map,this.boundsChangedEvent=new yn(st.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=e}return ve(r,[{key:"matches",value:function(t,n){return this.runtime.sceneGraphSelector.is(t,n)}},{key:"querySelector",value:function(t,n){return this.runtime.sceneGraphSelector.selectOne(t,n)}},{key:"querySelectorAll",value:function(t,n){return this.runtime.sceneGraphSelector.selectAll(t,n)}},{key:"attach",value:function(t,n,i){var a,s=!1;t.parentNode&&(s=t.parentNode!==n,this.detach(t));var o=t.nodeName===le.FRAGMENT,l=Ju(n);t.parentNode=n;var c=o?t.childNodes:[t];Ce(i)?c.forEach(function(f){n.childNodes.splice(i,0,f),f.parentNode=n}):c.forEach(function(f){n.childNodes.push(f),f.parentNode=n});var u=n,d=u.sortable;if((d!=null&&(a=d.sorted)!==null&&a!==void 0&&a.length||t.parsedStyle.zIndex)&&(d.dirtyChildren.indexOf(t)===-1&&d.dirtyChildren.push(t),d.dirty=!0,d.dirtyReason=Hu.ADDED),!l){if(o)this.dirtifyFragment(t);else{var h=t.transformable;h&&this.dirtifyWorld(t,h)}s&&t.dispatchEvent(r4)}}},{key:"detach",value:function(t){if(t.parentNode){var n,i,a=t.transformable,s=t.parentNode,o=s.sortable;(o!=null&&(n=o.sorted)!==null&&n!==void 0&&n.length||(i=t.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(t)===-1&&o.dirtyChildren.push(t),o.dirty=!0,o.dirtyReason=Hu.REMOVED);var l=t.parentNode.childNodes.indexOf(t);l>-1&&t.parentNode.childNodes.splice(l,1),a&&this.dirtifyWorld(t,a),t.parentNode=null}}},{key:"getOrigin",value:function(t){return t.getGeometryBounds(),t.transformable.origin}},{key:"setOrigin",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=[n,i,a]);var s=t.transformable;if(!(n[0]===s.origin[0]&&n[1]===s.origin[1]&&n[2]===s.origin[2])){var o=s.origin;o[0]=n[0],o[1]=n[1],o[2]=n[2]||0,this.dirtifyLocal(t,s)}}},{key:"rotate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=Bt(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.rotateLocal(t,n);else{var o=ga;Tc(o,n[0],n[1],n[2]);var l=this.getRotation(t),c=this.getRotation(t.parentNode);Oc(Bc,c),ff(Bc,Bc),La(o,Bc,o),La(s.localRotation,o,l),ju(s.localRotation,s.localRotation),this.dirtifyLocal(t,s)}}},{key:"rotateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=Bt(n,i,a));var s=t.transformable;Tc(Uw,n[0],n[1],n[2]),sw(s.localRotation,s.localRotation,Uw),this.dirtifyLocal(t,s)}},{key:"setEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=Bt(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.setLocalEulerAngles(t,n);else{Tc(s.localRotation,n[0],n[1],n[2]);var o=this.getRotation(t.parentNode);Oc(Vw,ff(ga,o)),sw(s.localRotation,s.localRotation,Vw),this.dirtifyLocal(t,s)}}},{key:"setLocalEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof n=="number"&&(n=Bt(n,i,a));var o=t.transformable;Tc(o.localRotation,n[0],n[1],n[2]),s&&this.dirtifyLocal(t,o)}},{key:"translateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=Bt(n,i,a));var s=t.transformable;Jo(n,Dc)||($D(n,n,s.localRotation),Ra(s.localPosition,s.localPosition,n),this.dirtifyLocal(t,s))}},{key:"setPosition",value:function(t,n){var i,a=t.transformable;if(Qa[0]=n[0],Qa[1]=n[1],Qa[2]=(i=n[2])!==null&&i!==void 0?i:0,!Jo(this.getPosition(t),Qa)){if(Oi(a.position,Qa),t.parentNode===null||!t.parentNode.transformable)Oi(a.localPosition,Qa);else{var s=t.parentNode.transformable;ko(Fc,s.worldTransform),Ti(Fc,Fc),ir(a.localPosition,Qa,Fc)}this.dirtifyLocal(t,a)}}},{key:"setLocalPosition",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;el[0]=n[0],el[1]=n[1],el[2]=(i=n[2])!==null&&i!==void 0?i:0,!Jo(s.localPosition,el)&&(Oi(s.localPosition,el),a&&this.dirtifyLocal(t,s))}},{key:"scaleLocal",value:function(t,n){var i,a=t.transformable;DD(a.localScale,a.localScale,nr(fa,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:1)),this.dirtifyLocal(t,a)}},{key:"setLocalScale",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;nr(fa,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:s.localScale[2]),!Jo(fa,s.localScale)&&(Oi(s.localScale,fa),a&&this.dirtifyLocal(t,s))}},{key:"translate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=nr(fa,n,i,a)),!Jo(n,Dc)&&(Ra(fa,this.getPosition(t),n),this.setPosition(t,fa))}},{key:"setRotation",value:function(t,n,i,a,s){var o=t.transformable;if(typeof n=="number"&&(n=HD(n,i,a,s)),t.parentNode===null||!t.parentNode.transformable)this.setLocalRotation(t,n);else{var l=this.getRotation(t.parentNode);Oc(ga,l),ff(ga,ga),La(o.localRotation,ga,n),ju(o.localRotation,o.localRotation),this.dirtifyLocal(t,o)}}},{key:"setLocalRotation",value:function(t,n,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof n=="number"&&(n=aw(ga,n,i,a,s));var l=t.transformable;Oc(l.localRotation,n),o&&this.dirtifyLocal(t,l)}},{key:"setLocalSkew",value:function(t,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof n=="number"&&(n=KD(o4,n,i));var s=t.transformable;YD(s.localSkew,n),a&&this.dirtifyLocal(t,s)}},{key:"dirtifyLocal",value:function(t,n){Ju(t)||n.localDirtyFlag||(n.localDirtyFlag=!0,n.dirtyFlag||this.dirtifyWorld(t,n))}},{key:"dirtifyWorld",value:function(t,n){n.dirtyFlag||this.unfreezeParentToRoot(t),this.dirtifyWorldInternal(t,n),this.dirtifyToRoot(t,!0)}},{key:"dirtifyFragment",value:function(t){var n=t.transformable;n&&(n.frozen=!1,n.dirtyFlag=!0,n.localDirtyFlag=!0);var i=t.renderable;i&&(i.renderBoundsDirty=!0,i.boundsDirty=!0,i.dirty=!0);for(var a=t.childNodes.length,s=0;s<a;s++)this.dirtifyFragment(t.childNodes[s]);t.nodeName===le.FRAGMENT&&this.pendingEvents.set(t,!1)}},{key:"triggerPendingEvents",value:function(){var t=this,n=new Set,i=function(s,o){!s.isConnected||n.has(s)||s.nodeName===le.FRAGMENT||(t.boundsChangedEvent.detail=o,t.boundsChangedEvent.target=s,s.isMutationObserved?s.dispatchEvent(t.boundsChangedEvent):s.ownerDocument.defaultView.dispatchEvent(t.boundsChangedEvent,!0),n.add(s))};this.pendingEvents.forEach(function(a,s){s.nodeName!==le.FRAGMENT&&(Nf.affectChildren=a,a?s.forEach(function(o){i(o,Nf)}):i(s,Nf))}),n.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t;for(i.renderable&&(i.renderable.dirty=!0);i;)Ww(i),i=i.parentNode;n&&t.forEach(function(a){Ww(a)}),this.informDependentDisplayObjects(t),this.pendingEvents.set(t,n)}},{key:"updateDisplayObjectDependency",value:function(t,n,i,a){if(n&&n!==i){var s=this.displayObjectDependencyMap.get(n);if(s&&s[t]){var o=s[t].indexOf(a);s[t].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[t]||(l[t]=[]),l[t].push(a)}}},{key:"informDependentDisplayObjects",value:function(t){var n=this,i=this.displayObjectDependencyMap.get(t);i&&Object.keys(i).forEach(function(a){i[a].forEach(function(s){n.dirtifyToRoot(s,!0),s.dispatchEvent(new Li(st.ATTR_MODIFIED,s,n,n,a,Li.MODIFICATION,n,n)),s.isCustomElement&&s.isConnected&&s.attributeChangedCallback&&s.attributeChangedCallback(a,n,n)})})}},{key:"getPosition",value:function(t){var n=t.transformable;return Fu(n.position,this.getWorldTransform(t,n))}},{key:"getRotation",value:function(t){var n=t.transformable;return Bu(n.rotation,this.getWorldTransform(t,n))}},{key:"getScale",value:function(t){var n=t.transformable;return Mo(n.scaling,this.getWorldTransform(t,n))}},{key:"getWorldTransform",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.transformable;return!n.localDirtyFlag&&!n.dirtyFlag||(t.parentNode&&t.parentNode.transformable&&this.getWorldTransform(t.parentNode),this.sync(t,n)),n.worldTransform}},{key:"getLocalPosition",value:function(t){return t.transformable.localPosition}},{key:"getLocalRotation",value:function(t){return t.transformable.localRotation}},{key:"getLocalScale",value:function(t){return t.transformable.localScale}},{key:"getLocalSkew",value:function(t){return t.transformable.localSkew}},{key:"calcLocalTransform",value:function(t){var n=t.localSkew[0]!==0||t.localSkew[1]!==0;if(n){Sl(t.localTransform,t.localRotation,t.localPosition,Bt(1,1,1),t.origin),(t.localSkew[0]!==0||t.localSkew[1]!==0)&&(Ba(Qs),Qs[4]=Math.tan(t.localSkew[0]),Qs[1]=Math.tan(t.localSkew[1]),rr(t.localTransform,t.localTransform,Qs));var i=Sl(Qs,aw(ga,0,0,0,1),nr(fa,1,1,1),t.localScale,t.origin);rr(t.localTransform,t.localTransform,i)}else{var a=t.localTransform,s=t.localPosition,o=t.localRotation,l=t.localScale,c=t.origin,u=s[0]!==0||s[1]!==0||s[2]!==0,d=o[3]!==1||o[0]!==0||o[1]!==0||o[2]!==0,h=l[0]!==1||l[1]!==1||l[2]!==1,f=c[0]!==0||c[1]!==0||c[2]!==0;!d&&!h&&!f?u?Sa(a,s):Ba(a):Sl(a,o,s,l,c)}}},{key:"getLocalTransform",value:function(t){var n=t.transformable;return n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.localTransform}},{key:"setLocalTransform",value:function(t,n){var i=Fu(l4,n),a=Bu(c4,n),s=Mo(u4,n);this.setLocalScale(t,s,!1),this.setLocalPosition(t,i,!1),this.setLocalRotation(t,a,void 0,void 0,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"resetLocalTransform",value:function(t){this.setLocalScale(t,a4,!1),this.setLocalPosition(t,Dc,!1),this.setLocalEulerAngles(t,Dc,void 0,void 0,!1),this.setLocalSkew(t,i4,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"getTransformedGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(t,n);if(!Rt.isEmpty(a)){var s=i||new Rt;return s.setFromTransformedAABB(a,this.getWorldTransform(t)),s}return null}},{key:"getGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t,a=i.geometry;a.dirty&&me.styleValueRegistry.updateGeometry(t);var s=n?a.renderBounds:a.contentBounds||null;return s||new Rt}},{key:"getBounds",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=t,s=a.renderable;if(!s.boundsDirty&&!i&&s.bounds)return s.bounds;if(!s.renderBoundsDirty&&i&&s.renderBounds)return s.renderBounds;var o=i?s.renderBounds:s.bounds,l=this.getTransformedGeometryBounds(t,i,o),c=t.childNodes;if(c.forEach(function(h){var f=n.getBounds(h,i);f&&(l?l.add(f):(l=o||new Rt,l.update(f.center,f.halfExtents)))}),l||(l=new Rt),i){var u=qN(t);if(u){var d=u.parsedStyle.clipPath.getBounds(i);l?d&&(l=d.intersection(l)):l.update(d.center,d.halfExtents)}}return i?(s.renderBounds=l,s.renderBoundsDirty=!1):(s.bounds=l,s.boundsDirty=!1),l}},{key:"getLocalBounds",value:function(t){if(t.parentNode){var n=s4;t.parentNode.transformable&&(n=Ti(Qs,this.getWorldTransform(t.parentNode)));var i=this.getBounds(t);if(!Rt.isEmpty(i)){var a=new Rt;return a.setFromTransformedAABB(i,n),a}}return this.getBounds(t)}},{key:"getBoundingClientRect",value:function(t){var n,i,a=this.getGeometryBounds(t);Rt.isEmpty(a)||(i=new Rt,i.setFromTransformedAABB(a,this.getWorldTransform(t)));var s=(n=t.ownerDocument)===null||n===void 0||(n=n.defaultView)===null||n===void 0?void 0:n.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=Xe(o,2),c=l[0],u=l[1],d=i.getMax(),h=Xe(d,2),f=h[0],g=h[1];return new Oo(c+((s==null?void 0:s.left)||0),u+((s==null?void 0:s.top)||0),f-c,g-u)}return new Oo((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(t,n){var i=this;if(!n.dirtyFlag){n.dirtyFlag=!0,n.frozen=!1,t.childNodes.forEach(function(o){var l=o.transformable;l.dirtyFlag||i.dirtifyWorldInternal(o,l)});var a=t,s=a.renderable;s&&(s.renderBoundsDirty=!0,s.boundsDirty=!0,s.dirty=!0)}}},{key:"syncHierarchy",value:function(t){var n=t.transformable;if(!n.frozen){n.frozen=!0,(n.localDirtyFlag||n.dirtyFlag)&&this.sync(t,n);for(var i=t.childNodes,a=0;a<i.length;a++)this.syncHierarchy(i[a])}}},{key:"sync",value:function(t,n){if(n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.dirtyFlag){var i=t.parentNode,a=i&&i.transformable;i===null||!a?ko(n.worldTransform,n.localTransform):rr(n.worldTransform,a.worldTransform,n.localTransform),n.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(t){for(var n=t.parentNode;n;){var i=n.transformable;i&&(i.frozen=!1),n=n.parentNode}}}])}(),es={MetricsString:"|ÉqÅ",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},Hw=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,h4=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,f4=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,g4=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,v4=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,p4=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,m4=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,y4=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,b4=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,x4=new RegExp("".concat(h4.source,"|").concat(g4.source,"|").concat(p4.source,"|").concat(y4.source)),w4=new RegExp("".concat(f4.source,"|").concat(v4.source,"|").concat(m4.source,"|").concat(b4.source)),E4=function(){function r(e){var t=this;ge(this,r),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(n,i){return t.isBreakingSpace(i)?!1:!!(n&&(w4.exec(i)||x4.exec(n)))},this.trimByKinsokuShorui=function(n){var i=It(n),a=i[i.length-2];if(!a)return n;var s=a[a.length-1];return i[i.length-2]=a.slice(0,-1),i[i.length-1]=s+i[i.length-1],i},this.runtime=e}return ve(r,[{key:"measureFont",value:function(t,n){if(this.fontMetricsCache[t])return this.fontMetricsCache[t];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(n),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(n,{willReadFrequently:!0});s.font=t;var o=es.MetricsString+es.BaselineSymbol,l=Math.ceil(s.measureText(o).width),c=Math.ceil(s.measureText(es.BaselineSymbol).width),u=es.HeightMultiplier*c;c=c*es.BaselineMultiplier|0,a.width=l,a.height=u,s.fillStyle="#f00",s.fillRect(0,0,l,u),s.font=t,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,c);var d=s.getImageData(0,0,l||1,u||1).data,h=d.length,f=l*4,g=0,p=0,v=!1;for(g=0;g<c;++g){for(var m=0;m<f;m+=4)if(d[p+m]!==255){v=!0;break}if(!v)p+=f;else break}for(i.ascent=c-g,p=h-f,v=!1,g=u;g>c;--g){for(var y=0;y<f;y+=4)if(d[p+y]!==255){v=!0;break}if(!v)p-=f;else break}return i.descent=g-c,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[t]=i,i}},{key:"measureText",value:function(t,n,i){var a=n.fontSize,s=a===void 0?16:a,o=n.wordWrap,l=o===void 0?!1:o,c=n.lineHeight,u=n.lineWidth,d=u===void 0?1:u,h=n.textBaseline,f=h===void 0?"alphabetic":h,g=n.textAlign,p=g===void 0?"start":g,v=n.letterSpacing,m=v===void 0?0:v,y=n.textPath;n.textPathSide,n.textPathStartOffset;var b=n.leading,w=b===void 0?0:b,E=I5(n),_=this.measureFont(E,i);_.fontSize===0&&(_.fontSize=s,_.ascent=s);var O=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);O.font=E,n.isOverflowing=!1;var M=l?this.wordWrap(t,n,i):t,N=M.split(/(?:\r\n|\r|\n)/),A=new Array(N.length),P=0;if(y){y.getTotalLength();for(var L=0;L<N.length;L++)O.measureText(N[L]).width+(N[L].length-1)*m}else{for(var I=0;I<N.length;I++){var G=O.measureText(N[I]).width+(N[I].length-1)*m;A[I]=G,P=Math.max(P,G)}var H=P+d,Y=c||_.fontSize+d,W=Math.max(Y,_.fontSize+d)+(N.length-1)*(Y+w);Y+=w;var q=0;return f==="middle"?q=-W/2:f==="bottom"||f==="alphabetic"||f==="ideographic"?q=-W:(f==="top"||f==="hanging")&&(q=0),{font:E,width:H,height:W,lines:N,lineWidths:A,lineHeight:Y,maxLineWidth:P,fontProperties:_,lineMetrics:A.map(function(Q,re){var de=0;return p==="center"||p==="middle"?de-=Q/2:(p==="right"||p==="end")&&(de-=Q),new Oo(de-d/2,q+re*Y,Q+d,Y)})}}}},{key:"wordWrap",value:function(t,n,i){var a=this,s=this,o=n.wordWrapWidth,l=o===void 0?0:o,c=n.letterSpacing,u=c===void 0?0:c,d=n.maxLines,h=d===void 0?1/0:d,f=n.textOverflow,g=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),p=l+u,v="";f==="ellipsis"?v="...":f&&f!=="clip"&&(v=f);var m=Array.from(t),y=[],b=0,w=0,E=0,_={},O=function(q){return a.getFromCache(q,u,_,g)},M=O(v);function N(W,q,Q,re){for(;O(W)<re&&q<m.length-1&&!s.isNewline(m[q+1]);)q+=1,W+=m[q];for(;O(W)>re&&q>Q;)q-=1,W=W.slice(0,-1);return{lineTxt:W,txtLastCharIndex:q}}function A(W,q){if(!(M<=0||M>p)){if(!y[W]){y[W]=v;return}var Q=N(y[W],q,E+1,p-M);y[W]=Q.lineTxt+v}}for(var P=0;P<m.length;P++){var L=m[P],I=m[P-1],G=m[P+1],H=O(L);if(this.isNewline(L)){if(b+1>=h){n.isOverflowing=!0,P<m.length-1&&A(b,P-1);break}E=P-1,b+=1,w=0,y[b]="";continue}if(w>0&&w+H>p){var Y=N(y[b],P-1,E+1,p);if(Y.txtLastCharIndex!==P-1){if(y[b]=Y.lineTxt,Y.txtLastCharIndex===m.length-1)break;P=Y.txtLastCharIndex+1,L=m[P],I=m[P-1],G=m[P+1],H=O(L)}if(b+1>=h){n.isOverflowing=!0,A(b,P-1);break}if(E=P-1,b+=1,w=0,y[b]="",this.isBreakingSpace(L))continue;this.canBreakInLastChar(L)||(y=this.trimToBreakable(y),w=this.sumTextWidthByCache(y[b]||"",O)),this.shouldBreakByKinsokuShorui(L,G)&&(y=this.trimByKinsokuShorui(y),w+=O(I||""))}w+=H,y[b]=(y[b]||"")+L}return y.join(`
|
|
267
|
+
`)}},{key:"isBreakingSpace",value:function(t){return typeof t!="string"?!1:es.BreakingSpaces.indexOf(t.charCodeAt(0))>=0}},{key:"isNewline",value:function(t){return typeof t!="string"?!1:es.Newlines.indexOf(t.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(t){var n=It(t),i=n[n.length-2],a=this.findBreakableIndex(i);if(a===-1||!i)return n;var s=i.slice(a,a+1),o=this.isBreakingSpace(s),l=a+1,c=a+(o?0:1);return n[n.length-1]+=i.slice(l,i.length),n[n.length-2]=i.slice(0,c),n}},{key:"canBreakInLastChar",value:function(t){return!(t&&Hw.test(t))}},{key:"sumTextWidthByCache",value:function(t,n){return t.split("").reduce(function(i,a){return i+n(a)},0)}},{key:"findBreakableIndex",value:function(t){for(var n=t.length-1;n>=0;n--)if(!Hw.test(t[n]))return n;return-1}},{key:"getFromCache",value:function(t,n,i,a){var s=i[t];if(typeof s!="number"){var o=t.length*n,l=a.measureText(t);s=l.width+o,i[t]=s}return s}}])}(),me={},S4=function(r){var e=new Y5,t=new H5;return r={},Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(r,le.FRAGMENT,null),le.CIRCLE,new G5),le.ELLIPSE,new W5),le.RECT,e),le.IMAGE,e),le.GROUP,new X5),le.LINE,new V5),le.TEXT,new K5(me)),le.POLYLINE,t),le.POLYGON,t),Pe(Pe(Pe(r,le.PATH,new U5),le.HTML,new Z5),le.MESH,null)}(),_4=function(r){var e=new t5,t=new x1;return r={},Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(r,_e.PERCENTAGE,null),_e.NUMBER,new s5),_e.ANGLE,new QB),_e.DEFINED_PATH,new e5),_e.PAINT,e),_e.COLOR,e),_e.FILTER,new n5),_e.LENGTH,t),_e.LENGTH_PERCENTAGE,t),_e.LENGTH_PERCENTAGE_12,new r5),Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(r,_e.LENGTH_PERCENTAGE_14,new i5),_e.COORDINATE,new x1),_e.OFFSET_DISTANCE,new o5),_e.OPACITY_VALUE,new l5),_e.PATH,new c5),_e.LIST_OF_POINTS,new u5),_e.SHADOW_BLUR,new d5),_e.TEXT,new h5),_e.TEXT_TRANSFORM,new f5),_e.TRANSFORM,new j5),Pe(Pe(Pe(r,_e.TRANSFORM_ORIGIN,new $5),_e.Z_INDEX,new q5),_e.MARKER,new a5)}(),k4=function(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}};me.CameraContribution=EN;me.AnimationTimeline=null;me.EasingFunction=null;me.offscreenCanvasCreator=new Ob;me.sceneGraphSelector=new n4;me.sceneGraphService=new d4(me);me.textService=new E4(me);me.geometryUpdaterFactory=S4;me.CSSPropertySyntaxFactory=_4;me.styleValueRegistry=new ZB(me);me.layoutRegistry=null;me.globalThis=k4();me.enableStyleSyntax=!0;me.enableSizeAttenuation=!1;var M4=0,S1=new Li(st.INSERTED,null,"","","",0,"",""),_1=new Li(st.REMOVED,null,"","","",0,"",""),XN=new yn(st.DESTROY),T4=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.entity=M4++,t.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},t.cullable={strategy:RF.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},t.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},t.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},t.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},t.rBushNode={aabb:void 0},t.namespaceURI="g",t.scrollLeft=0,t.scrollTop=0,t.clientTop=0,t.clientLeft=0,t.destroyed=!1,t.style={},t.computedStyle={},t.parsedStyle={},t.attributes={},t}return nt(e,r),ve(e,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(n){this.setAttribute("class",n)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(n){return n!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n-1]||null}return null}},{key:"cloneNode",value:function(n){throw new Error(xt)}},{key:"appendChild",value:function(n,i){var a;if(n.destroyed)throw new Error(EF);return me.sceneGraphService.attach(n,this,i),(a=this.ownerDocument)!==null&&a!==void 0&&a.defaultView&&(!Ju(this)&&n.nodeName===le.FRAGMENT?this.ownerDocument.defaultView.mountFragment(n):this.ownerDocument.defaultView.mountChildren(n)),this.isMutationObserved&&(S1.relatedNode=this,n.dispatchEvent(S1)),n}},{key:"insertBefore",value:function(n,i){if(!i)this.appendChild(n);else{n.parentElement&&n.parentElement.removeChild(n);var a=this.childNodes.indexOf(i);a===-1?this.appendChild(n):this.appendChild(n,a)}return n}},{key:"replaceChild",value:function(n,i){var a=this.childNodes.indexOf(i);return this.removeChild(i),this.appendChild(n,a),i}},{key:"removeChild",value:function(n){var i;return _1.relatedNode=this,n.dispatchEvent(_1),(i=n.ownerDocument)!==null&&i!==void 0&&i.defaultView&&n.ownerDocument.defaultView.unmountChildren(n),me.sceneGraphService.detach(n),n}},{key:"removeChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];this.removeChild(i)}}},{key:"destroyChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];i.childNodes.length>0&&i.destroyChildren(),i.destroy()}}},{key:"matches",value:function(n){return me.sceneGraphService.matches(n,this)}},{key:"getElementById",value:function(n){return me.sceneGraphService.querySelector("#".concat(n),this)}},{key:"getElementsByName",value:function(n){return me.sceneGraphService.querySelectorAll('[name="'.concat(n,'"]'),this)}},{key:"getElementsByClassName",value:function(n){return me.sceneGraphService.querySelectorAll(".".concat(n),this)}},{key:"getElementsByTagName",value:function(n){return me.sceneGraphService.querySelectorAll(n,this)}},{key:"querySelector",value:function(n){return me.sceneGraphService.querySelector(n,this)}},{key:"querySelectorAll",value:function(n){return me.sceneGraphService.querySelectorAll(n,this)}},{key:"closest",value:function(n){var i=this;do{if(me.sceneGraphService.matches(n,i))return i;i=i.parentElement}while(i!==null);return null}},{key:"find",value:function(n){var i=this,a=null;return this.forEach(function(s){return s!==i&&n(s)?(a=s,!1):!0}),a}},{key:"findAll",value:function(n){var i=this,a=[];return this.forEach(function(s){s!==i&&n(s)&&a.push(s)}),a}},{key:"after",value:function(){var n=this;if(this.parentNode){for(var i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];s.forEach(function(l,c){var u;return(u=n.parentNode)===null||u===void 0?void 0:u.appendChild(l,i+c+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var n,i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];var l=s[0],c=s.slice(1);this.parentNode.appendChild(l,i),(n=l).after.apply(n,It(c))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o){return n.appendChild(o)})}},{key:"prepend",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o,l){return n.appendChild(o,l)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.destroyChildren(),this.dispatchEvent(XN),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return me.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return me.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return me.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return me.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return me.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(n){if(typeof n!="symbol"){var i=this.attributes[n];return i}}},{key:"hasAttribute",value:function(n){return this.getAttributeNames().includes(n)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(n){this.setAttribute(n,null),delete this.attributes[n]}},{key:"setAttribute",value:function(n,i,a,s){this.attributes[n]=i}},{key:"getAttributeNS",value:function(n,i){throw new Error(xt)}},{key:"getAttributeNode",value:function(n){throw new Error(xt)}},{key:"getAttributeNodeNS",value:function(n,i){throw new Error(xt)}},{key:"hasAttributeNS",value:function(n,i){throw new Error(xt)}},{key:"removeAttributeNS",value:function(n,i){throw new Error(xt)}},{key:"removeAttributeNode",value:function(n){throw new Error(xt)}},{key:"setAttributeNS",value:function(n,i,a){throw new Error(xt)}},{key:"setAttributeNode",value:function(n){throw new Error(xt)}},{key:"setAttributeNodeNS",value:function(n){throw new Error(xt)}},{key:"toggleAttribute",value:function(n,i){throw new Error(xt)}}])}(Zt);function ft(r){return!!(r!=null&&r.nodeName)}var O4=me.globalThis.Proxy?me.globalThis.Proxy:function(){},wi=new Li(st.ATTR_MODIFIED,null,null,null,null,Li.MODIFICATION,null,null),tl=ct(),C4=Mn(),qt=function(r){function e(t){var n;return ge(this,e),n=tt(this,e),n.isCustomElement=!1,n.isMutationObserved=!1,n.activeAnimations=[],n.config=t,n.id=t.id||"",n.name=t.name||"",(t.className||t.class)&&(n.className=t.className||t.class),n.nodeName=t.type||le.GROUP,t.initialParsedStyle&&Object.assign(n.parsedStyle,t.initialParsedStyle),n.initAttributes(t.style),me.enableStyleSyntax&&(n.style=new O4({setProperty:function(a,s){n.setAttribute(a,s)},getPropertyValue:function(a){return n.getAttribute(a)},removeProperty:function(a){n.removeAttribute(a)},item:function(){return""}},{get:function(a,s){return a[s]!==void 0?a[s]:n.getAttribute(s)},set:function(a,s,o){return n.setAttribute(s,o),!0}})),n}return nt(e,r),ve(e,[{key:"destroy",value:function(){hw(e,"destroy",this)([]),this.getAnimations().forEach(function(n){n.cancel()})}},{key:"cloneNode",value:function(n,i){var a=et({},this.attributes);for(var s in a){var o=a[s];ft(o)&&s!=="clipPath"&&s!=="offsetPath"&&s!=="textPath"&&(a[s]=o.cloneNode(n)),i&&(a[s]=i(s,o))}var l=new this.constructor(et(et({},this.config),{},{style:a}));return l.setLocalTransform(this.getLocalTransform()),n&&this.children.forEach(function(c){if(!c.style.isMarker){var u=c.cloneNode(n);l.appendChild(u)}}),l}},{key:"initAttributes",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={forceUpdateGeometry:!0};me.styleValueRegistry.processProperties(this,n,i),this.renderable.dirty=!0}},{key:"setAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Ue(i)||(a||i!==this.attributes[n])&&(this.internalSetAttribute(n,i,{memoize:s}),hw(e,"setAttribute",this)([n,i]))}},{key:"internalSetAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.renderable,o=this.attributes[n],l=this.parsedStyle[n];me.styleValueRegistry.processProperties(this,Pe({},n,i),a),s.dirty=!0;var c=this.parsedStyle[n];if(this.isConnected&&(wi.relatedNode=this,wi.prevValue=o,wi.newValue=i,wi.attrName=n,wi.prevParsedValue=l,wi.newParsedValue=c,this.isMutationObserved?this.dispatchEvent(wi):(wi.target=this,this.ownerDocument.defaultView.dispatchEvent(wi,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var u,d;(u=(d=this).attributeChangedCallback)===null||u===void 0||u.call(d,n,o,i,l,c)}}},{key:"getBBox",value:function(){var n=this.getBounds(),i=n.getMin(),a=Xe(i,2),s=a[0],o=a[1],l=n.getMax(),c=Xe(l,2),u=c[0],d=c[1];return new Oo(s,o,u-s,d-o)}},{key:"setOrigin",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return me.sceneGraphService.setOrigin(this,or(n,i,a,!1)),this}},{key:"getOrigin",value:function(){return me.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return me.sceneGraphService.setPosition(this,or(n,i,a,!1)),this}},{key:"setLocalPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return me.sceneGraphService.setLocalPosition(this,or(n,i,a,!1)),this}},{key:"translate",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return me.sceneGraphService.translate(this,or(n,i,a,!1)),this}},{key:"translateLocal",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return me.sceneGraphService.translateLocal(this,or(n,i,a,!1)),this}},{key:"getPosition",value:function(){return me.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return me.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(n,i,a){return this.scaleLocal(n,i,a)}},{key:"scaleLocal",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=or(n,i,a,!1)),me.sceneGraphService.scaleLocal(this,n),this}},{key:"setLocalScale",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=or(n,i,a,!1)),me.sceneGraphService.setLocalScale(this,n),this}},{key:"getLocalScale",value:function(){return me.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return me.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var n=xf(tl,me.sceneGraphService.getWorldTransform(this)),i=Xe(n,3),a=i[2];return br(a)}},{key:"getLocalEulerAngles",value:function(){var n=xf(tl,me.sceneGraphService.getLocalRotation(this)),i=Xe(n,3),a=i[2];return br(a)}},{key:"setEulerAngles",value:function(n){return me.sceneGraphService.setEulerAngles(this,0,0,n),this}},{key:"setLocalEulerAngles",value:function(n){return me.sceneGraphService.setLocalEulerAngles(this,0,0,n),this}},{key:"rotateLocal",value:function(n,i,a){return qe(i)&&qe(a)?me.sceneGraphService.rotateLocal(this,0,0,n):me.sceneGraphService.rotateLocal(this,n,i,a),this}},{key:"rotate",value:function(n,i,a){return qe(i)&&qe(a)?me.sceneGraphService.rotate(this,0,0,n):me.sceneGraphService.rotate(this,n,i,a),this}},{key:"setRotation",value:function(n,i,a,s){return me.sceneGraphService.setRotation(this,n,i,a,s),this}},{key:"setLocalRotation",value:function(n,i,a,s){return me.sceneGraphService.setLocalRotation(this,n,i,a,s),this}},{key:"setLocalSkew",value:function(n,i){return me.sceneGraphService.setLocalSkew(this,n,i),this}},{key:"getRotation",value:function(){return me.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return me.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return me.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return me.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return me.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(n){return me.sceneGraphService.setLocalTransform(this,n),this}},{key:"resetLocalTransform",value:function(){me.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(n,i){var a,s=(a=this.ownerDocument)===null||a===void 0?void 0:a.timeline;return s?s.play(this,n,i):null}},{key:"isVisible",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(n){this.style.pointerEvents=n?"auto":"none"}},{key:"isInteractive",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,It(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,It(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=a[0],l=a[1];return o?pn(o)?(Object.keys(o).forEach(function(c){n.setAttribute(c,o[c])}),this):a.length===2?(this.setAttribute(o,l),this):this.attributes[o]:this.attributes}},{key:"getMatrix",value:function(n){var i=n||this.getWorldTransform(),a=Fu(tl,i),s=Xe(a,2),o=s[0],l=s[1],c=Mo(tl,i),u=Xe(c,2),d=u[0],h=u[1],f=Bu(C4,i),g=xf(tl,f),p=Xe(g,3),v=p[0],m=p[2];return OF(v||m,o,l,d,h)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(n){var i=yw(n),a=Xe(i,5),s=a[0],o=a[1],l=a[2],c=a[3],u=a[4];this.setEulerAngles(u).setPosition(s,o).setLocalScale(l,c)}},{key:"setLocalMatrix",value:function(n){var i=yw(n),a=Xe(i,5),s=a[0],o=a[1],l=a[2],c=a[3],u=a[4];this.setLocalEulerAngles(u).setLocalPosition(s,o).setLocalScale(l,c)}},{key:"show",value:function(){this.forEach(function(n){n.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(n){n.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(n){return this.children[n]||null}},{key:"add",value:function(n,i){return this.appendChild(n,i)}},{key:"set",value:function(n,i){this.config[n]=i}},{key:"get",value:function(n){return this.config[n]}},{key:"moveTo",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"move",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"setZIndex",value:function(n){return this.style.zIndex=n,this}}])}(T4);qt.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","display","draggable","droppable","fill","fillOpacity","fillRule","filter","increasedLineWidthForHitTesting","lineCap","lineDash","lineDashOffset","lineJoin","lineWidth","miterLimit","hitArea","offsetDistance","offsetPath","offsetX","offsetY","opacity","pointerEvents","shadowColor","shadowType","shadowBlur","shadowOffsetX","shadowOffsetY","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLineJoin","strokeDasharray","strokeDashoffset","transform","transformOrigin","textTransform","visibility","zIndex"]);var sa=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),tt(this,e,[et({type:le.CIRCLE},t)])}return nt(e,r),ve(e)}(qt);sa.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var N4=["style"],Cb=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=As(n,N4);return ge(this,e),t=tt(this,e,[et({style:i},a)]),t.isCustomElement=!0,t}return nt(e,r),ve(e)}(qt);Cb.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var sc=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),tt(this,e,[et({type:le.ELLIPSE},t)])}return nt(e,r),ve(e)}(qt);sc.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var A4=function(r){function e(){return ge(this,e),tt(this,e,[{type:le.FRAGMENT}])}return nt(e,r),ve(e)}(qt);A4.PARSED_STYLE_LIST=new Set(["class","className"]);var An=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),tt(this,e,[et({type:le.GROUP},t)])}return nt(e,r),ve(e)}(qt);An.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var P4=["style"],oc=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=As(n,P4);return ge(this,e),t=tt(this,e,[et({type:le.HTML,style:i},a)]),t.cullable.enable=!1,t}return nt(e,r),ve(e,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var n=Ti(Pt(),this.parentNode.getWorldTransform()),i=this.getBounds();if(!Rt.isEmpty(i)){var a=new Rt;return a.setFromTransformedAABB(i,n),a}}return this.getBounds()}}])}(qt);oc.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var lc=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),tt(this,e,[et({type:le.IMAGE},t)])}return nt(e,r),ve(e)}(qt);lc.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var R4=["style"],Ss=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=As(n,R4);ge(this,e),t=tt(this,e,[et({type:le.LINE,style:et({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},i)},a)]),t.markerStartAngle=0,t.markerEndAngle=0;var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd;return o&&ft(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),l&&ft(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return nt(e,r),ve(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="x1"||n==="y1"||n==="x2"||n==="y2"||n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&ft(s)&&(this.markerStartAngle=0,s.remove()),o&&ft(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"&&(s&&ft(s)&&(this.markerEndAngle=0,s.remove()),o&&ft(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1)))}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=i.x1,u=i.x2,d=i.y1,h=i.y2,f=n?a:s;if(!(!f||!ft(f))){var g=0,p,v,m,y,b,w;n?(m=c,y=d,p=u-c,v=h-d,b=o||0,w=this.markerStartAngle):(m=u,y=h,p=c-u,v=d-h,b=l||0,w=this.markerEndAngle),g=Math.atan2(v,p),f.setLocalEulerAngles(g*180/Math.PI+w),f.setLocalPosition(m+Math.cos(g)*b,y+Math.sin(g)*b)}}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle,s=a.x1,o=a.y1,l=a.x2,c=a.y2,u=bN(s,o,l,c,n),d=u.x,h=u.y,f=ir(ct(),Bt(d,h,0),i?this.getWorldTransform():this.getLocalTransform());return new Vn(f[0],f[1])}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getTotalLength",value:function(){var n=this.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2;return yN(i,a,s,o)}}])}(qt);Ss.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var L4=["style"],Pr=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=As(n,L4);ge(this,e),t=tt(this,e,[et({type:le.PATH,style:i,initialParsedStyle:{miterLimit:4,d:et({},SN)}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,c=s.markerMid;return o&&ft(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),c&&ft(c)&&t.placeMarkerMid(c),l&&ft(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return nt(e,r),ve(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&ft(s)&&(this.markerStartAngle=0,s.remove()),o&&ft(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&ft(s)&&(this.markerEndAngle=0,s.remove()),o&&ft(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=n?a:s;if(!(!c||!ft(c))){var u=0,d,h,f,g,p,v;if(n){var m=this.getStartTangent(),y=Xe(m,2),b=y[0],w=y[1];f=w[0],g=w[1],d=b[0]-w[0],h=b[1]-w[1],p=o||0,v=this.markerStartAngle}else{var E=this.getEndTangent(),_=Xe(E,2),O=_[0],M=_[1];f=M[0],g=M[1],d=O[0]-M[0],h=O[1]-M[1],p=l||0,v=this.markerEndAngle}u=Math.atan2(h,d),c.setLocalEulerAngles(u*180/Math.PI+v),c.setLocalPosition(f+Math.cos(u)*p,g+Math.sin(u)*p)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(u){u.remove()}),n&&ft(n))for(var a=1;a<i.length-1;a++){var s=Xe(i[a].currentPoint,2),o=s[0],l=s[1],c=a===1?n:n.cloneNode(!0);this.markerMidList.push(c),this.appendChild(c),c.setLocalPosition(o,l)}}},{key:"getTotalLength",value:function(){return y1(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.d.absolutePath,s=Z6(a,n),o=s.x,l=s.y,c=ir(ct(),Bt(o,l,0),i?this.getWorldTransform():this.getLocalTransform());return new Vn(c[0],c[1])}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(n*y1(this),i)}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.d.segments,i=[];if(n.length>1){var a=n[0].currentPoint,s=n[1].currentPoint,o=n[1].startTangent;i=[],o?(i.push([a[0]-o[0],a[1]-o[1]]),i.push([a[0],a[1]])):(i.push([s[0],s[1]]),i.push([a[0],a[1]]))}return i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.d.segments,i=n.length,a=[];if(i>1){var s=n[i-2].currentPoint,o=n[i-1].currentPoint,l=n[i-1].endTangent;a=[],l?(a.push([o[0]-l[0],o[1]-l[1]]),a.push([o[0],o[1]])):(a.push([s[0],s[1]]),a.push([o[0],o[1]]))}return a}}])}(qt);Pr.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var I4=["style"],Rs=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=As(n,I4);ge(this,e),t=tt(this,e,[et({type:le.POLYGON,style:i,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,c=s.markerMid;return o&&ft(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),c&&ft(c)&&t.placeMarkerMid(c),l&&ft(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return nt(e,r),ve(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&ft(s)&&(this.markerStartAngle=0,s.remove()),o&&ft(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&ft(s)&&(this.markerEndAngle=0,s.remove()),o&&ft(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=i.points,u=c||{},d=u.points,h=n?a:s;if(!(!h||!ft(h)||!d)){var f=0,g,p,v,m,y,b;if(v=d[0][0],m=d[0][1],n)g=d[1][0]-d[0][0],p=d[1][1]-d[0][1],y=o||0,b=this.markerStartAngle;else{var w=d.length;this.parsedStyle.isClosed?(g=d[w-1][0]-d[0][0],p=d[w-1][1]-d[0][1]):(v=d[w-1][0],m=d[w-1][1],g=d[w-2][0]-d[w-1][0],p=d[w-2][1]-d[w-1][1]),y=l||0,b=this.markerEndAngle}f=Math.atan2(p,g),h.setLocalEulerAngles(f*180/Math.PI+b),h.setLocalPosition(v+Math.cos(f)*y,m+Math.sin(f)*y)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.points,a=i||{},s=a.points;if(this.markerMidList.forEach(function(d){d.remove()}),this.markerMidList=[],n&&ft(n)&&s)for(var o=1;o<(this.parsedStyle.isClosed?s.length:s.length-1);o++){var l=s[o][0],c=s[o][1],u=o===1?n:n.cloneNode(!0);this.markerMidList.push(u),this.appendChild(u),u.setLocalPosition(l,c)}}}])}(qt);Rs.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var D4=["style"],kd=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=As(t,D4);return ge(this,e),tt(this,e,[et({type:le.POLYLINE,style:n,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},i)])}return nt(e,r),ve(e,[{key:"getTotalLength",value:function(){return OB(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var s=[],o=0,l,c,u=this.getTotalLength();a.forEach(function(m,y){a[y+1]&&(l=[0,0],l[0]=o/u,c=yN(m[0],m[1],a[y+1][0],a[y+1][1]),o+=c,l[1]=o/u,s.push(l))}),this.parsedStyle.points.segments=s}var d=0,h=0;this.parsedStyle.points.segments.forEach(function(m,y){n>=m[0]&&n<=m[1]&&(d=(n-m[0])/(m[1]-m[0]),h=y)});var f=bN(a[h][0],a[h][1],a[h+1][0],a[h+1][1],d),g=f.x,p=f.y,v=ir(ct(),Bt(g,p,0),i?this.getWorldTransform():this.getLocalTransform());return new Vn(v[0],v[1])}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.points.points,i=[];return i.push([n[1][0],n[1][1]]),i.push([n[0][0],n[0][1]]),i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.points.points,i=n.length-1,a=[];return a.push([n[i-1][0],n[i-1][1]]),a.push([n[i][0],n[i][1]]),a}}])}(Rs);kd.PARSED_STYLE_LIST=new Set([].concat(It(Rs.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Yn=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),tt(this,e,[et({type:le.RECT},t)])}return nt(e,r),ve(e)}(qt);Yn.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var F4=["style"],Ls=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=As(t,F4);return ge(this,e),tt(this,e,[et({type:le.TEXT,style:et({fill:"black"},n)},i)])}return nt(e,r),ve(e,[{key:"getComputedTextLength",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(qt);Ls.PARSED_STYLE_LIST=new Set([].concat(It(qt.PARSED_STYLE_LIST),["x","y","z","isBillboard","billboardRotation","isSizeAttenuation","text","textAlign","textBaseline","fontStyle","fontSize","fontFamily","fontWeight","fontVariant","lineHeight","letterSpacing","leading","wordWrap","wordWrapWidth","maxLines","textOverflow","isOverflowing","textPath","textDecorationLine","textDecorationColor","textDecorationStyle","textPathSide","textPathStartOffset","metrics","dx","dy"]));var B4=function(){function r(){ge(this,r),this.registry={},this.define(le.CIRCLE,sa),this.define(le.ELLIPSE,sc),this.define(le.RECT,Yn),this.define(le.IMAGE,lc),this.define(le.LINE,Ss),this.define(le.GROUP,An),this.define(le.PATH,Pr),this.define(le.POLYGON,Rs),this.define(le.POLYLINE,kd),this.define(le.TEXT,Ls),this.define(le.HTML,oc)}return ve(r,[{key:"define",value:function(t,n){this.registry[t]=n}},{key:"get",value:function(t){return this.registry[t]}}])}(),ZN=function(r){function e(){var t;ge(this,e),t=tt(this,e),t.defaultView=null,t.ownerDocument=null,t.nodeName="document";try{t.timeline=new me.AnimationTimeline(t)}catch{}var n={};return kb.forEach(function(i){var a=i.n,s=i.inh,o=i.d;s&&o&&(n[a]=Ie(o)?o(le.GROUP):o)}),t.documentElement=new An({id:"g-root",style:n}),t.documentElement.ownerDocument=t,t.documentElement.parentNode=t,t.childNodes=[t.documentElement],t}return nt(e,r),ve(e,[{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"createElement",value:function(n,i){if(n==="svg")return this.documentElement;var a=this.defaultView.customElements.get(n);a||(console.warn("Unsupported tagName: ",n),a=n==="tspan"?Ls:An);var s=new a(i);return s.ownerDocument=this,s}},{key:"createElementNS",value:function(n,i,a){return this.createElement(i,a)}},{key:"cloneNode",value:function(n){throw new Error(xt)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch{}}},{key:"elementsFromBBox",value:function(n,i,a,s){var o=this.defaultView.context.rBushRoot,l=o.search({minX:n,minY:i,maxX:a,maxY:s}),c=[];return l.forEach(function(u){var d=u.displayObject,h=d.parsedStyle.pointerEvents,f=h===void 0?"auto":h,g=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(f);(!g||g&&d.isVisible())&&!d.isCulled()&&d.isInteractive()&&c.push(d)}),c.sort(function(u,d){return d.sortable.renderOrder-u.sortable.renderOrder}),c}},{key:"elementFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),c=l.width,u=l.height;if(s<0||o<0||s>c||o>u)return null;var d=this.defaultView.viewport2Client({x:s,y:o}),h=d.x,f=d.y,g=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:h,clientY:f},picked:[]}),p=g.picked;return p&&p[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var t=ja(Hn().mark(function i(a,s){var o,l,c,u,d,h,f,g,p,v,m;return Hn().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,c=o.y,u=this.defaultView.getConfig(),d=u.width,h=u.height,!(l<0||c<0||l>d||c>h)){b.next=4;break}return b.abrupt("return",null);case 4:return f=this.defaultView.viewport2Client({x:l,y:c}),g=f.x,p=f.y,b.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:a,y:s,viewportX:l,viewportY:c,clientX:g,clientY:p},picked:[]});case 7:return v=b.sent,m=v.picked,b.abrupt("return",m&&m[0]||this.documentElement);case 10:case"end":return b.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"elementsFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),c=l.width,u=l.height;if(s<0||o<0||s>c||o>u)return[];var d=this.defaultView.viewport2Client({x:s,y:o}),h=d.x,f=d.y,g=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:h,clientY:f},picked:[]}),p=g.picked;return p[p.length-1]!==this.documentElement&&p.push(this.documentElement),p}},{key:"elementsFromPoint",value:function(){var t=ja(Hn().mark(function i(a,s){var o,l,c,u,d,h,f,g,p,v,m;return Hn().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,c=o.y,u=this.defaultView.getConfig(),d=u.width,h=u.height,!(l<0||c<0||l>d||c>h)){b.next=4;break}return b.abrupt("return",[]);case 4:return f=this.defaultView.viewport2Client({x:l,y:c}),g=f.x,p=f.y,b.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:a,y:s,viewportX:l,viewportY:c,clientX:g,clientY:p},picked:[]});case 7:return v=b.sent,m=v.picked,m[m.length-1]!==this.documentElement&&m.push(this.documentElement),b.abrupt("return",m);case 11:case"end":return b.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"appendChild",value:function(n,i){throw new Error(Js)}},{key:"insertBefore",value:function(n,i){throw new Error(Js)}},{key:"removeChild",value:function(n,i){throw new Error(Js)}},{key:"replaceChild",value:function(n,i,a){throw new Error(Js)}},{key:"append",value:function(){throw new Error(Js)}},{key:"prepend",value:function(){throw new Error(Js)}},{key:"getElementById",value:function(n){return this.documentElement.getElementById(n)}},{key:"getElementsByName",value:function(n){return this.documentElement.getElementsByName(n)}},{key:"getElementsByTagName",value:function(n){return this.documentElement.getElementsByTagName(n)}},{key:"getElementsByClassName",value:function(n){return this.documentElement.getElementsByClassName(n)}},{key:"querySelector",value:function(n){return this.documentElement.querySelector(n)}},{key:"querySelectorAll",value:function(n){return this.documentElement.querySelectorAll(n)}},{key:"find",value:function(n){return this.documentElement.find(n)}},{key:"findAll",value:function(n){return this.documentElement.findAll(n)}}])}(Zt),JN=function(){function r(e){ge(this,r),this.strategies=e}return ve(r,[{key:"apply",value:function(t){var n=t.camera,i=t.renderingService,a=t.renderingContext,s=this.strategies;i.hooks.cull.tap(r.tag,function(o){if(o){var l=o.cullable;return s.length===0?l.visible=a.unculledEntities.indexOf(o.entity)>-1:l.visible=s.every(function(c){return c.isVisible(n,o)}),!o.isCulled()&&o.isVisible()?o:(o.dispatchEvent(new yn(st.CULLED)),null)}return o}),i.hooks.afterRender.tap(r.tag,function(o){o.cullable.visibilityPlaneMask=-1})}}])}();JN.tag="Culling";var QN=function(){function r(){var e=this;ge(this,r),this.autoPreventDefault=!1,this.rootPointerEvent=new Qu(null),this.rootWheelEvent=new E1(null),this.onPointerMove=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView;if(!(i.supportsTouchEvents&&t.pointerType==="touch")){var a=e.normalizeToPointerEvent(t,i),s=as(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,c=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(c)}}catch(u){s.e(u)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}},this.onClick=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView,a=e.normalizeToPointerEvent(t,i),s=as(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,c=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(c)}}catch(u){s.e(u)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}}return ve(r,[{key:"apply",value:function(t){var n=this;this.context=t;var i=t.renderingService,a=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(s){var o=n.context.renderingService.hooks.pickSync.call({position:s,picked:[],topmost:!0}),l=o.picked;return l[0]||null}),i.hooks.pointerWheel.tap(r.tag,function(s){var o=n.normalizeWheelEvent(s);n.context.eventService.mapEvent(o)}),i.hooks.pointerDown.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.normalizeToPointerEvent(s,a);if(n.autoPreventDefault&&o[0].isNormalized){var l=s.cancelable||!("cancelable"in s);l&&s.preventDefault()}var c=as(o),u;try{for(c.s();!(u=c.n()).done;){var d=u.value,h=n.bootstrapEvent(n.rootPointerEvent,d,a,s);n.context.eventService.mapEvent(h)}}catch(f){c.e(f)}finally{c.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerUp.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.context.contextService.getDomElement(),l=n.context.eventService.isNativeEventFromCanvas(o,s),c=l?"":"outside",u=n.normalizeToPointerEvent(s,a),d=as(u),h;try{for(d.s();!(h=d.n()).done;){var f=h.value,g=n.bootstrapEvent(n.rootPointerEvent,f,a,s);g.type+=c,n.context.eventService.mapEvent(g)}}catch(p){d.e(p)}finally{d.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerMove.tap(r.tag,this.onPointerMove),i.hooks.pointerOver.tap(r.tag,this.onPointerMove),i.hooks.pointerOut.tap(r.tag,this.onPointerMove),i.hooks.click.tap(r.tag,this.onClick),i.hooks.pointerCancel.tap(r.tag,function(s){var o=n.normalizeToPointerEvent(s,a),l=as(o),c;try{for(l.s();!(c=l.n()).done;){var u=c.value,d=n.bootstrapEvent(n.rootPointerEvent,u,a,s);n.context.eventService.mapEvent(d)}}catch(h){l.e(h)}finally{l.f()}n.setCursor(n.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(t,n,i,a){t.view=i,t.originalEvent=null,t.nativeEvent=a,t.pointerId=n.pointerId,t.width=n.width,t.height=n.height,t.isPrimary=n.isPrimary,t.pointerType=n.pointerType,t.pressure=n.pressure,t.tangentialPressure=n.tangentialPressure,t.tiltX=n.tiltX,t.tiltY=n.tiltY,t.twist=n.twist,this.transferMouseData(t,n);var s=this.context.eventService.client2Viewport({x:n.clientX,y:n.clientY}),o=s.x,l=s.y;t.viewport.x=o,t.viewport.y=l;var c=this.context.eventService.viewport2Canvas(t.viewport),u=c.x,d=c.y;return t.canvas.x=u,t.canvas.y=d,t.global.copyFrom(t.canvas),t.offset.copyFrom(t.canvas),t.isTrusted=a.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=w5[t.type]||t.type),t}},{key:"normalizeWheelEvent",value:function(t){var n=this.rootWheelEvent;this.transferMouseData(n,t),n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ;var i=this.context.eventService.client2Viewport({x:t.clientX,y:t.clientY}),a=i.x,s=i.y;n.viewport.x=a,n.viewport.y=s;var o=this.context.eventService.viewport2Canvas(n.viewport),l=o.x,c=o.y;return n.canvas.x=l,n.canvas.y=c,n.global.copyFrom(n.canvas),n.offset.copyFrom(n.canvas),n.nativeEvent=t,n.type=t.type,n}},{key:"transferMouseData",value:function(t,n){t.isTrusted=n.isTrusted,t.srcElement=n.srcElement,t.timeStamp=w1.now(),t.type=n.type,t.altKey=n.altKey,t.metaKey=n.metaKey,t.shiftKey=n.shiftKey,t.ctrlKey=n.ctrlKey,t.button=n.button,t.buttons=n.buttons,t.client.x=n.clientX,t.client.y=n.clientY,t.movement.x=n.movementX,t.movement.y=n.movementY,t.page.x=n.pageX,t.page.y=n.pageY,t.screen.x=n.screenX,t.screen.y=n.screenY,t.relatedTarget=null}},{key:"setCursor",value:function(t){this.context.contextService.applyCursorStyle(t||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(t,n){var i=[];if(n.isTouchEvent(t))for(var a=0;a<t.changedTouches.length;a++){var s=t.changedTouches[a];Ue(s.button)&&(s.button=0),Ue(s.buttons)&&(s.buttons=1),Ue(s.isPrimary)&&(s.isPrimary=t.touches.length===1&&t.type==="touchstart"),Ue(s.width)&&(s.width=s.radiusX||1),Ue(s.height)&&(s.height=s.radiusY||1),Ue(s.tiltX)&&(s.tiltX=0),Ue(s.tiltY)&&(s.tiltY=0),Ue(s.pointerType)&&(s.pointerType="touch"),Ue(s.pointerId)&&(s.pointerId=s.identifier||0),Ue(s.pressure)&&(s.pressure=s.force||.5),Ue(s.twist)&&(s.twist=0),Ue(s.tangentialPressure)&&(s.tangentialPressure=0),s.isNormalized=!0,s.type=t.type,i.push(s)}else if(n.isMouseEvent(t)){var o=t;Ue(o.isPrimary)&&(o.isPrimary=!0),Ue(o.width)&&(o.width=1),Ue(o.height)&&(o.height=1),Ue(o.tiltX)&&(o.tiltX=0),Ue(o.tiltY)&&(o.tiltY=0),Ue(o.pointerType)&&(o.pointerType="mouse"),Ue(o.pointerId)&&(o.pointerId=x5),Ue(o.pressure)&&(o.pressure=.5),Ue(o.twist)&&(o.twist=0),Ue(o.tangentialPressure)&&(o.tangentialPressure=0),o.isNormalized=!0,i.push(o)}else i.push(t);return i}}])}();QN.tag="Event";var z4=[le.CIRCLE,le.ELLIPSE,le.IMAGE,le.RECT,le.LINE,le.POLYLINE,le.POLYGON,le.TEXT,le.PATH,le.HTML],j4=function(){function r(){ge(this,r)}return ve(r,[{key:"isVisible",value:function(t,n){var i,a=n.cullable;if(!a.enable)return!0;var s=n.getRenderBounds();if(Rt.isEmpty(s))return!1;var o=t.getFrustum(),l=(i=n.parentNode)===null||i===void 0||(i=i.cullable)===null||i===void 0?void 0:i.visibilityPlaneMask;return a.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(n,s,l||Zs.INDETERMINATE,o.planes),a.visible=a.visibilityPlaneMask!==Zs.OUTSIDE,a.visible}},{key:"computeVisibilityWithPlaneMask",value:function(t,n,i,a){if(i===Zs.OUTSIDE||i===Zs.INSIDE)return i;for(var s=Zs.INSIDE,o=z4.indexOf(t.nodeName)>-1,l=0,c=a.length;l<c;++l){var u=1<<l;if(i&u&&!(o&&(l===4||l===5))){var d=a[l],h=d.normal,f=d.distance;if(Ci(h,n.getPositiveFarPoint(a[l]))+f<0)return Zs.OUTSIDE;Ci(h,n.getNegativeFarPoint(a[l]))+f<0&&(s|=u)}}return s}}])}(),eA=function(){function r(){ge(this,r),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return ve(r,[{key:"apply",value:function(t){var n=this,i,a=t.renderingService,s=t.renderingContext,o=t.rBushRoot,l=s.root.ownerDocument.defaultView;this.rBush=o;var c=function(p){var v=p.target;v.renderable.dirty=!0,a.dirtify()},u=function(p){n.syncTasks.set(p.target,p.detail.affectChildren),a.dirtify()},d=function(p){var v=p.target;me.enableSizeAttenuation&&me.styleValueRegistry.updateSizeAttenuation(v,l.getCamera().getZoom())},h=function(p){var v=p.target,m=v.rBushNode;m.aabb&&n.rBush.remove(m.aabb),n.syncTasks.delete(v),me.sceneGraphService.dirtifyToRoot(v),a.dirtify()};a.hooks.init.tap(r.tag,function(){l.addEventListener(st.MOUNTED,d),l.addEventListener(st.UNMOUNTED,h),l.addEventListener(st.ATTR_MODIFIED,c),l.addEventListener(st.BOUNDS_CHANGED,u)}),a.hooks.destroy.tap(r.tag,function(){l.removeEventListener(st.MOUNTED,d),l.removeEventListener(st.UNMOUNTED,h),l.removeEventListener(st.ATTR_MODIFIED,c),l.removeEventListener(st.BOUNDS_CHANGED,u),n.syncTasks.clear()});var f=(i=me.globalThis.requestIdleCallback)!==null&&i!==void 0?i:Tb.bind(me.globalThis);a.hooks.endFrame.tap(r.tag,function(){n.isFirstTimeRendering?(n.isFirstTimeRendering=!1,n.syncing=!0,f(function(){n.syncRTree(!0),n.isFirstTimeRenderingFinished=!0})):n.syncRTree()})}},{key:"syncNode",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(t.isConnected){var i=t.rBushNode;i.aabb&&this.rBush.remove(i.aabb);var a=t.getRenderBounds();if(a){var s=t.renderable;n&&(s.dirtyRenderBounds||(s.dirtyRenderBounds=new Rt),s.dirtyRenderBounds.update(a.center,a.halfExtents));var o=a.getMin(),l=Xe(o,2),c=l[0],u=l[1],d=a.getMax(),h=Xe(d,2),f=h[0],g=h[1];i.aabb||(i.aabb={}),i.aabb.displayObject=t,i.aabb.minX=c,i.aabb.minY=u,i.aabb.maxX=f,i.aabb.maxY=g}if(i.aabb&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.minX)&&!isNaN(i.aabb.minY))return i.aabb}}},{key:"syncRTree",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!n&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var i=[],a=new Set,s=function(l){if(!a.has(l)&&l.renderable){var c=t.syncNode(l,n);c&&(i.push(c),a.add(l))}};this.syncTasks.forEach(function(o,l){o&&l.forEach(s);for(var c=l;c;)s(c),c=c.parentElement}),this.rBush.load(i),i.length=0,this.syncing=!1}}}])}();eA.tag="Prepare";var Nr=function(r){return r.READY="ready",r.BEFORE_RENDER="beforerender",r.RERENDER="rerender",r.AFTER_RENDER="afterrender",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.RESIZE="resize",r.DIRTY_RECTANGLE="dirtyrectangle",r.RENDERER_CHANGED="rendererchanged",r}({}),Yw=500,$4=.1,q4=1e3,zc=new yn(st.MOUNTED),jc=new yn(st.UNMOUNTED),Af=new yn(Nr.BEFORE_RENDER),Kw=new yn(Nr.RERENDER),Pf=new yn(Nr.AFTER_RENDER),k1=function(r){function e(t){var n;ge(this,e),n=tt(this,e),n.Element=qt,n.inited=!1,n.context={};var i=t.container,a=t.canvas,s=t.renderer,o=t.width,l=t.height,c=t.background,u=t.cursor,d=t.supportsMutipleCanvasesInOneContainer,h=t.cleanUpOnDestroy,f=h===void 0?!0:h,g=t.offscreenCanvas,p=t.devicePixelRatio,v=t.requestAnimationFrame,m=t.cancelAnimationFrame,y=t.createImage,b=t.supportsTouchEvents,w=t.supportsPointerEvents,E=t.isTouchEvent,_=t.isMouseEvent,O=t.dblClickSpeed,M=o,N=l,A=p||Mb&&window.devicePixelRatio||1;return A=A>=1?Math.ceil(A):1,a&&(M=o||y5(a)||a.width/A,N=l||b5(a)||a.height/A),n.customElements=new B4,n.devicePixelRatio=A,n.requestAnimationFrame=v!=null?v:Tb.bind(me.globalThis),n.cancelAnimationFrame=m!=null?m:UN.bind(me.globalThis),n.supportsTouchEvents=b!=null?b:"ontouchstart"in me.globalThis,n.supportsPointerEvents=w!=null?w:!!me.globalThis.PointerEvent,n.isTouchEvent=E!=null?E:function(P){return n.supportsTouchEvents&&P instanceof me.globalThis.TouchEvent},n.isMouseEvent=_!=null?_:function(P){return!me.globalThis.MouseEvent||P instanceof me.globalThis.MouseEvent&&(!n.supportsPointerEvents||!(P instanceof me.globalThis.PointerEvent))},g&&(me.offscreenCanvas=g),n.document=new ZN,n.document.defaultView=n,d||g5(i,n,f),n.initRenderingContext(et(et({},t),{},{width:M,height:N,background:c!=null?c:"transparent",cursor:u!=null?u:"default",cleanUpOnDestroy:f,devicePixelRatio:A,requestAnimationFrame:n.requestAnimationFrame,cancelAnimationFrame:n.cancelAnimationFrame,supportsTouchEvents:n.supportsTouchEvents,supportsPointerEvents:n.supportsPointerEvents,isTouchEvent:n.isTouchEvent,isMouseEvent:n.isMouseEvent,dblClickSpeed:O!=null?O:200,createImage:y!=null?y:function(){return new window.Image}})),n.initDefaultCamera(M,N,s.clipSpaceNearZ),n.initRenderer(s,!0),n}return nt(e,r),ve(e,[{key:"initRenderingContext",value:function(n){this.context.config=n,this.context.renderingContext={root:this.document.documentElement,renderListCurrentFrame:[],unculledEntities:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(n,i,a){var s=this,o=new me.CameraContribution;o.clipSpaceNearZ=a,o.setType(bt.EXPLORING,f1.DEFAULT).setPosition(n/2,i/2,Yw).setFocalPoint(n/2,i/2,0).setOrthographic(n/-2,n/2,i/2,i/-2,$4,q4),o.canvas=this,o.eventEmitter.on(wN.UPDATED,function(){s.context.renderingContext.renderReasons.add(Eo.CAMERA_CHANGED),me.enableSizeAttenuation&&s.getConfig().renderer.getConfig().enableSizeAttenuation&&s.updateSizeAttenuation()}),this.context.camera=o}},{key:"updateSizeAttenuation",value:function(){var n=this.getCamera().getZoom();this.document.documentElement.forEach(function(i){me.styleValueRegistry.updateSizeAttenuation(i,n)})}},{key:"getConfig",value:function(){return this.context.config}},{key:"getRoot",value:function(){return this.document.documentElement}},{key:"getCamera",value:function(){return this.context.camera}},{key:"getContextService",value:function(){return this.context.contextService}},{key:"getEventService",value:function(){return this.context.eventService}},{key:"getRenderingService",value:function(){return this.context.renderingService}},{key:"getRenderingContext",value:function(){return this.context.renderingContext}},{key:"getStats",value:function(){return this.getRenderingService().getStats()}},{key:"ready",get:function(){var n=this;return this.readyPromise||(this.readyPromise=new Promise(function(i){n.resolveReadyPromise=function(){i(n)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,i=arguments.length>1?arguments[1]:void 0;En.clearCache(),i||this.dispatchEvent(new yn(Nr.BEFORE_DESTROY)),this.frameId&&this.cancelAnimationFrame(this.frameId);var a=this.getRoot();n&&(this.unmountChildren(a),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),this.context.rBushRoot&&this.context.rBushRoot.clear(),i||this.dispatchEvent(new yn(Nr.AFTER_DESTROY));var s=function(l){l.currentTarget=null,l.manager=null,l.target=null,l.relatedNode=null};s(zc),s(jc),s(Af),s(Kw),s(Pf),s(wi),s(S1),s(_1),s(XN)}},{key:"changeSize",value:function(n,i){this.resize(n,i)}},{key:"resize",value:function(n,i){var a=this.context.config;a.width=n,a.height=i,this.getContextService().resize(n,i);var s=this.context.camera,o=s.getProjectionMode();s.setPosition(n/2,i/2,Yw).setFocalPoint(n/2,i/2,0),o===Vr.ORTHOGRAPHIC?s.setOrthographic(n/-2,n/2,i/2,i/-2,s.getNear(),s.getFar()):s.setAspect(n/i),this.dispatchEvent(new yn(Nr.RESIZE,{width:n,height:i}))}},{key:"appendChild",value:function(n,i){return this.document.documentElement.appendChild(n,i)}},{key:"insertBefore",value:function(n,i){return this.document.documentElement.insertBefore(n,i)}},{key:"removeChild",value:function(n){return this.document.documentElement.removeChild(n)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(n){var i=this;n&&(Af.detail=n,Pf.detail=n),this.dispatchEvent(Af);var a=this.getRenderingService();a.render(this.getConfig(),n,function(){i.dispatchEvent(Kw)}),this.dispatchEvent(Pf)}},{key:"run",value:function(){var n=this,i=function(s,o){n.render(o),n.frameId=n.requestAnimationFrame(i)};i()}},{key:"initRenderer",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!n)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new pF,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new QN,new eA,new JN([new j4])),this.loadRendererContainerModule(n),this.context.contextService=new this.context.ContextService(et(et({},me),this.context)),this.context.renderingService=new e4(me,this.context),this.context.eventService=new Q5(me,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(n,a,!0)):this.context.contextService.initAsync().then(function(){i.initRenderingService(n,a)}).catch(function(s){console.error(s)})}},{key:"initRenderingService",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){i.inited=!0,a?s?i.requestAnimationFrame(function(){i.dispatchEvent(new yn(Nr.READY))}):i.dispatchEvent(new yn(Nr.READY)):i.dispatchEvent(new yn(Nr.RENDERER_CHANGED)),i.readyPromise&&i.resolveReadyPromise(),a||i.getRoot().forEach(function(o){var l=o,c=l.renderable;c&&(c.renderBoundsDirty=!0,c.boundsDirty=!0,c.dirty=!0)}),i.mountChildren(i.getRoot()),n.getConfig().enableAutoRendering&&i.run()})}},{key:"loadRendererContainerModule",value:function(n){var i=this,a=n.getPlugins();a.forEach(function(s){s.context=i.context,s.init(me)})}},{key:"setRenderer",value:function(n){var i=this.getConfig();if(i.renderer!==n){var a=i.renderer;i.renderer=n,this.destroy(!1,!0),It((a==null?void 0:a.getPlugins())||[]).reverse().forEach(function(s){s.destroy(me)}),this.initRenderer(n)}}},{key:"setCursor",value:function(n){var i=this.getConfig();i.cursor=n,this.getContextService().applyCursorStyle(n)}},{key:"unmountChildren",value:function(n){var i=this;n.childNodes.forEach(function(a){i.unmountChildren(a)}),this.inited&&(n.isMutationObserved?n.dispatchEvent(jc):(jc.target=n,this.dispatchEvent(jc,!0)),n!==this.document.documentElement&&(n.ownerDocument=null),n.isConnected=!1),n.isCustomElement&&n.disconnectedCallback&&n.disconnectedCallback()}},{key:"mountChildren",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ju(n);this.inited?n.isConnected||(n.ownerDocument=this.document,n.isConnected=!0,a||(n.isMutationObserved?n.dispatchEvent(zc):(zc.target=n,this.dispatchEvent(zc,!0)))):console.warn("[g]: You are trying to call `canvas.appendChild` before canvas' initialization finished. You can either await `canvas.ready` or listen to `CanvasEvent.READY` manually.","appended child: ",n.nodeName),n.childNodes.forEach(function(s){i.mountChildren(s,a)}),n.isCustomElement&&n.connectedCallback&&n.connectedCallback()}},{key:"mountFragment",value:function(n){this.mountChildren(n,!1)}},{key:"client2Viewport",value:function(n){return this.getEventService().client2Viewport(n)}},{key:"viewport2Client",value:function(n){return this.getEventService().viewport2Client(n)}},{key:"viewport2Canvas",value:function(n){return this.getEventService().viewport2Canvas(n)}},{key:"canvas2Viewport",value:function(n){return this.getEventService().canvas2Viewport(n)}},{key:"getPointByClient",value:function(n,i){return this.client2Viewport({x:n,y:i})}},{key:"getClientByPoint",value:function(n,i){return this.viewport2Client({x:n,y:i})}}])}(KN);/*!
|
|
268
|
+
* @antv/g-camera-api
|
|
269
|
+
* @description A simple implementation of Camera API.
|
|
270
|
+
* @version 2.0.35
|
|
271
|
+
* @date 1/23/2025, 8:32:08 AM
|
|
272
|
+
* @author AntVis
|
|
273
|
+
* @docs https://g.antv.antgroup.com/
|
|
274
|
+
*/var G4=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.landmarks=[],t}return nt(e,r),ve(e,[{key:"rotate",value:function(n,i,a){if(this.relElevation=bo(i),this.relAzimuth=bo(n),this.relRoll=bo(a),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===bt.EXPLORING){var s=ka(Mn(),[1,0,0],wt((this.rotateWorld?1:-1)*this.relElevation)),o=ka(Mn(),[0,1,0],wt((this.rotateWorld?1:-1)*this.relAzimuth)),l=ka(Mn(),[0,0,1],wt(this.relRoll)),c=La(Mn(),o,s);c=La(Mn(),c,l);var u=mb(Pt(),c);yo(this.matrix,this.matrix,[0,0,-this.distance]),rr(this.matrix,this.matrix,u),yo(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===bt.ORBITING||this.type===bt.EXPLORING?this._getPosition():this.type===bt.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(n,i){var a=or(n,i,0),s=Wi(this.position);return Ra(s,s,zu(ct(),this.right,a[0])),Ra(s,s,zu(ct(),this.up,a[1])),this._setPosition(s),this.triggerUpdate(),this}},{key:"dolly",value:function(n){var i=this.forward,a=Wi(this.position),s=n*this.dollyingStep,o=this.distance+n*this.dollyingStep;return s=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,a[0]+=s*i[0],a[1]+=s*i[1],a[2]+=s*i[2],this._setPosition(a),this.type===bt.ORBITING||this.type===bt.EXPLORING?this._getDistance():this.type===bt.TRACKING&&Ra(this.focalPoint,a,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(n){var i,a,s,o,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=l.position,u=c===void 0?this.position:c,d=l.focalPoint,h=d===void 0?this.focalPoint:d,f=l.roll,g=l.zoom,p=new me.CameraContribution;p.setType(this.type,void 0),p.setPosition(u[0],(i=u[1])!==null&&i!==void 0?i:this.position[1],(a=u[2])!==null&&a!==void 0?a:this.position[2]),p.setFocalPoint(h[0],(s=h[1])!==null&&s!==void 0?s:this.focalPoint[1],(o=h[2])!==null&&o!==void 0?o:this.focalPoint[2]),p.setRoll(f!=null?f:this.roll),p.setZoom(g!=null?g:this.zoom);var v={name:n,matrix:BC(p.getWorldTransform()),right:Wi(p.right),up:Wi(p.up),forward:Wi(p.forward),position:Wi(p.getPosition()),focalPoint:Wi(p.getFocalPoint()),distanceVector:Wi(p.getDistanceVector()),distance:p.getDistance(),dollyingStep:p.getDollyingStep(),azimuth:p.getAzimuth(),elevation:p.getElevation(),roll:p.getRoll(),relAzimuth:p.relAzimuth,relElevation:p.relElevation,relRoll:p.relRoll,zoom:p.getZoom()};return this.landmarks.push(v),v}},{key:"gotoLandmark",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=gt(n)?this.landmarks.find(function(P){return P.name===n}):n;if(s){var o=Ce(a)?{duration:a}:a,l=o.easing,c=l===void 0?"linear":l,u=o.duration,d=u===void 0?100:u,h=o.easingFunction,f=h===void 0?void 0:h,g=o.onfinish,p=g===void 0?void 0:g,v=o.onframe,m=v===void 0?void 0:v,y=.01;this.cancelLandmarkAnimation();var b=s.position,w=s.focalPoint,E=s.zoom,_=s.roll,O=f||me.EasingFunction(c),M,N=function(){i.setFocalPoint(w),i.setPosition(b),i.setRoll(_),i.setZoom(E),i.computeMatrix(),i.triggerUpdate(),p==null||p()};if(d===0)return N();var A=function(L){M===void 0&&(M=L);var I=L-M;if(I>=d){N();return}var G=O(I/d),H=ct(),Y=ct(),W=1,q=0;n1(H,i.focalPoint,w,G),n1(Y,i.position,b,G),q=i.roll*(1-G)+_*G,W=i.zoom*(1-G)+E*G,i.setFocalPoint(H),i.setPosition(Y),i.setRoll(q),i.setZoom(W);var Q=iw(H,w)+iw(Y,b);if(Q<=y&&E===void 0&&_===void 0)return N();i.computeMatrix(),i.triggerUpdate(),I<d&&(m==null||m(G),i.landmarkAnimationID=i.canvas.requestAnimationFrame(A))};this.canvas.requestAnimationFrame(A)}}}])}(EN);me.CameraContribution=G4;/*!
|
|
275
|
+
* @antv/g-web-animations-api
|
|
276
|
+
* @description A simple implementation of Web Animations API.
|
|
277
|
+
* @version 2.1.21
|
|
278
|
+
* @date 1/23/2025, 8:33:55 AM
|
|
279
|
+
* @author AntVis
|
|
280
|
+
* @docs https://g.antv.antgroup.com/
|
|
281
|
+
*/var Rf=function(r){function e(t,n,i,a){var s;return ge(this,e),s=tt(this,e,[t]),s.currentTime=i,s.timelineTime=a,s.target=n,s.type="finish",s.bubbles=!1,s.currentTarget=n,s.defaultPrevented=!1,s.eventPhase=s.AT_TARGET,s.timeStamp=Date.now(),s.currentTime=i,s.timelineTime=a,s}return nt(e,r),ve(e)}(_d),W4=0,V4=function(){function r(e,t){var n;ge(this,r),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=e,e.animation=this,this.timeline=t,this.id="".concat(W4++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((n=this.effect)===null||n===void 0?void 0:n.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return ve(r,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var t=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(n,i){t.resolveReadyPromise=function(){n(t)},t.rejectReadyPromise=function(){i(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var t=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(n,i){t.resolveFinishedPromise=function(){n(t)},t.rejectFinishedPromise=function(){i(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(t){if(t=Number(t),!isNaN(t)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var n;this._startTime=Number((n=this.timeline)===null||n===void 0?void 0:n.currentTime)-t/this.playbackRate}this.currentTimePending=!1,this._currentTime!==t&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(t,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(t){if(t!==null){if(this.updatePromises(),t=Number(t),isNaN(t)||this._paused||this._idle)return;this._startTime=t,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(t){if(t!==this._playbackRate){this.updatePromises();var n=this.currentTime;this._playbackRate=t,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),n!==null&&(this.currentTime=n),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var t=this.oldPlayState,n=this.pending?"pending":this.playState;return this.readyPromise&&n!==t&&(n==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):t==="pending"?this.resolveReadyPromise():n==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&n!==t&&(n==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):n==="finished"?this.resolveFinishedPromise():t==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=n,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var t=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var n=new Rf(null,this,this.currentTime,null);setTimeout(function(){t.oncancel(n)})}}},{key:"reverse",value:function(){this.updatePromises();var t=this.currentTime;this.playbackRate*=-1,this.play(),t!==null&&(this.currentTime=t),this.updatePromises()}},{key:"updatePlaybackRate",value:function(t){this.playbackRate=t}},{key:"targetAnimations",value:function(){var t,n=(t=this.effect)===null||t===void 0?void 0:t.target;return n.getAnimations()}},{key:"markTarget",value:function(){var t=this.targetAnimations();t.indexOf(this)===-1&&t.push(this)}},{key:"unmarkTarget",value:function(){var t=this.targetAnimations(),n=t.indexOf(this);n!==-1&&t.splice(n,1)}},{key:"tick",value:function(t,n){!this._idle&&!this._paused&&(this._startTime===null?n&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((t-this._startTime)*this.playbackRate)),n&&(this.currentTimePending=!1,this.fireEvents(t))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(xt)}},{key:"addEventListener",value:function(t,n,i){throw new Error(xt)}},{key:"removeEventListener",value:function(t,n,i){throw new Error(xt)}},{key:"dispatchEvent",value:function(t){throw new Error(xt)}},{key:"commitStyles",value:function(){throw new Error(xt)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var t;this._inEffect=!!((t=this.effect)!==null&&t!==void 0&&t.update(-1))}else{var n;this._inEffect=!!((n=this.effect)!==null&&n!==void 0&&n.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(t,n){t!==this._currentTime&&(this._currentTime=t,this._isFinished&&!n&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(t){var n=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var i=new Rf(null,this,this.currentTime,t);setTimeout(function(){n.onfinish&&n.onfinish(i)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var a=new Rf(null,this,this.currentTime,t);this.onframe(a)}this._finishedFlag=!1}}}])}(),U4=4,H4=.001,Y4=1e-7,K4=10,gl=11,$c=1/(gl-1),X4=typeof Float32Array=="function",tA=function(e,t){return 1-3*t+3*e},nA=function(e,t){return 3*t-6*e},rA=function(e){return 3*e},ed=function(e,t,n){return((tA(t,n)*e+nA(t,n))*e+rA(t))*e},iA=function(e,t,n){return 3*tA(t,n)*e*e+2*nA(t,n)*e+rA(t)},Z4=function(e,t,n,i,a){var s,o,l=0;do o=t+(n-t)/2,s=ed(o,i,a)-e,s>0?n=o:t=o;while(Math.abs(s)>Y4&&++l<K4);return o},J4=function(e,t,n,i){for(var a=0;a<U4;++a){var s=iA(t,n,i);if(s===0)return t;var o=ed(t,n,i)-e;t-=o/s}return t},Nb=function(e,t,n,i){if(!(e>=0&&e<=1&&n>=0&&n<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&n===i)return function(l){return l};for(var a=X4?new Float32Array(gl):new Array(gl),s=0;s<gl;++s)a[s]=ed(s*$c,e,n);var o=function(c){for(var u=0,d=1,h=gl-1;d!==h&&a[d]<=c;++d)u+=$c;--d;var f=(c-a[d])/(a[d+1]-a[d]),g=u+f*$c,p=iA(g,e,n);return p>=H4?J4(c,g,e,n):p===0?g:Z4(c,u,u+$c,e,n)};return function(l){return l===0||l===1?l:ed(o(l),t,i)}},Q4=function(e){return e=e.replace(/([A-Z])/g,function(t){return"-".concat(t.toLowerCase())}),e.charAt(0)==="-"?e.substring(1):e},qc=function(e){return Math.pow(e,2)},Gc=function(e){return Math.pow(e,3)},Wc=function(e){return Math.pow(e,4)},Vc=function(e){return Math.pow(e,5)},Uc=function(e){return Math.pow(e,6)},Hc=function(e){return 1-Math.cos(e*Math.PI/2)},Yc=function(e){return 1-Math.sqrt(1-e*e)},Kc=function(e){return e*e*(3*e-2)},Xc=function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)},Zc=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=Xe(t,2),i=n[0],a=i===void 0?1:i,s=n[1],o=s===void 0?.5:s,l=an(Number(a),1,10),c=an(Number(o),.1,2);return e===0||e===1?e:-l*Math.pow(2,10*(e-1))*Math.sin((e-1-c/(Math.PI*2)*Math.asin(1/l))*(Math.PI*2)/c)},nl=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,i=Xe(t,4),a=i[0],s=a===void 0?1:a,o=i[1],l=o===void 0?100:o,c=i[2],u=c===void 0?10:c,d=i[3],h=d===void 0?0:d;s=an(s,.1,1e3),l=an(l,.1,1e3),u=an(u,.1,1e3),h=an(h,.1,1e3);var f=Math.sqrt(l/s),g=u/(2*Math.sqrt(l*s)),p=g<1?f*Math.sqrt(1-g*g):0,v=1,m=g<1?(g*f+-h)/p:-h+f,y=n?n*e/1e3:e;return g<1?y=Math.exp(-y*g*f)*(v*Math.cos(p*y)+m*Math.sin(p*y)):y=(v+m*y)*Math.exp(-y*f),e===0||e===1?e:1-y},Lf=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t,i=Xe(n,2),a=i[0],s=a===void 0?10:a,o=i[1],l=o==="start"?Math.ceil:Math.floor;return l(an(e,0,1)*s)/s},Xw=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=Xe(t,4),i=n[0],a=n[1],s=n[2],o=n[3];return Nb(i,a,s,o)(e)},Jc=Nb(.42,0,1,1),$r=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return 1-e(1-t,n,i)}},qr=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?e(t*2,n,i)/2:1-e(t*-2+2,n,i)/2}},Gr=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?(1-e(1-t*2,n,i))/2:(e(t*2-1,n,i)+1)/2}},Zw={steps:Lf,"step-start":function(e){return Lf(e,[1,"start"])},"step-end":function(e){return Lf(e,[1,"end"])},linear:function(e){return e},"cubic-bezier":Xw,ease:function(e){return Xw(e,[.25,.1,.25,1])},in:Jc,out:$r(Jc),"in-out":qr(Jc),"out-in":Gr(Jc),"in-quad":qc,"out-quad":$r(qc),"in-out-quad":qr(qc),"out-in-quad":Gr(qc),"in-cubic":Gc,"out-cubic":$r(Gc),"in-out-cubic":qr(Gc),"out-in-cubic":Gr(Gc),"in-quart":Wc,"out-quart":$r(Wc),"in-out-quart":qr(Wc),"out-in-quart":Gr(Wc),"in-quint":Vc,"out-quint":$r(Vc),"in-out-quint":qr(Vc),"out-in-quint":Gr(Vc),"in-expo":Uc,"out-expo":$r(Uc),"in-out-expo":qr(Uc),"out-in-expo":Gr(Uc),"in-sine":Hc,"out-sine":$r(Hc),"in-out-sine":qr(Hc),"out-in-sine":Gr(Hc),"in-circ":Yc,"out-circ":$r(Yc),"in-out-circ":qr(Yc),"out-in-circ":Gr(Yc),"in-back":Kc,"out-back":$r(Kc),"in-out-back":qr(Kc),"out-in-back":Gr(Kc),"in-bounce":Xc,"out-bounce":$r(Xc),"in-out-bounce":qr(Xc),"out-in-bounce":Gr(Xc),"in-elastic":Zc,"out-elastic":$r(Zc),"in-out-elastic":qr(Zc),"out-in-elastic":Gr(Zc),spring:nl,"spring-in":nl,"spring-out":$r(nl),"spring-in-out":qr(nl),"spring-out-in":Gr(nl)},ez=function(e){return Q4(e).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},tz=function(e){return Zw[ez(e)]||Zw.linear},nz=function(e){return e},rz=1,iz=.5,Jw=0;function Qw(r,e){return function(t){if(t>=1)return 1;var n=1/r;return t+=e*n,t-t%n}}var Qc="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",az=new RegExp("cubic-bezier\\(".concat(Qc,",").concat(Qc,",").concat(Qc,",").concat(Qc,"\\)")),sz=/steps\(\s*(\d+)\s*\)/,oz=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function Ab(r){var e=az.exec(r);if(e)return Nb.apply(void 0,It(e.slice(1).map(Number)));var t=sz.exec(r);if(t)return Qw(Number(t[1]),Jw);var n=oz.exec(r);return n?Qw(Number(n[1]),{start:rz,middle:iz,end:Jw}[n[2]]):tz(r)}function lz(r){return Math.abs(cz(r)/(r.playbackRate||1))}function cz(r){var e;return r.duration===0||r.iterations===0?0:(r.duration==="auto"?0:Number(r.duration))*((e=r.iterations)!==null&&e!==void 0?e:1)}var aA=0,Pb=1,Md=2,sA=3;function uz(r,e,t){if(e===null)return aA;var n=t.endTime;return e<Math.min(t.delay,n)?Pb:e>=Math.min(t.delay+r+t.endDelay,n)?Md:sA}function dz(r,e,t,n,i){switch(n){case Pb:return e==="backwards"||e==="both"?0:null;case sA:return t-i;case Md:return e==="forwards"||e==="both"?r:null;case aA:return null}}function hz(r,e,t,n,i){var a=i;return r===0?e!==Pb&&(a+=t):a+=n/r,a}function fz(r,e,t,n,i,a){var s=r===1/0?e%1:r%1;return s===0&&t===Md&&n!==0&&(i!==0||a===0)&&(s=1),s}function gz(r,e,t,n){return r===Md&&e===1/0?1/0:t===1?Math.floor(n)-1:Math.floor(n)}function vz(r,e,t){var n=r;if(r!=="normal"&&r!=="reverse"){var i=e;r==="alternate-reverse"&&(i+=1),n="normal",i!==1/0&&i%2!==0&&(n="reverse")}return n==="normal"?t:1-t}function pz(r,e,t){var n=uz(r,e,t),i=dz(r,t.fill,e,n,t.delay);if(i===null)return null;var a=t.duration==="auto"?0:t.duration,s=hz(a,n,t.iterations,i,t.iterationStart),o=fz(s,t.iterationStart,n,t.iterations,i,a),l=gz(n,t.iterations,o,s),c=vz(t.direction,l,o);return t.currentIteration=l,t.progress=c,t.easingFunction(c)}function mz(r,e,t){var n=yz(r,e),i=bz(n,t);return function(a,s){if(s!==null)i.filter(function(l){return s>=l.applyFrom&&s<l.applyTo}).forEach(function(l){var c=s-l.startOffset,u=l.endOffset-l.startOffset,d=u===0?0:c/u;a.setAttribute(l.property,l.interpolation(d),!1,!1)});else for(var o in n)oA(o)&&a.setAttribute(o,null)}}function oA(r){return r!=="offset"&&r!=="easing"&&r!=="composite"&&r!=="computedOffset"}function yz(r,e){for(var t={},n=0;n<r.length;n++)for(var i in r[n])if(oA(i)){var a={offset:r[n].offset,computedOffset:r[n].computedOffset,easing:r[n].easing,easingFunction:Ab(r[n].easing)||e.easingFunction,value:r[n][i]};t[i]=t[i]||[],t[i].push(a)}return t}function bz(r,e){var t=[];for(var n in r)for(var i=r[n],a=0;a<i.length-1;a++){var s=a,o=a+1,l=i[s].computedOffset,c=i[o].computedOffset,u=l,d=c;a===0&&(u=-1/0,c===0&&(o=s)),a===i.length-2&&(d=1/0,l===1&&(s=o)),t.push({applyFrom:u,applyTo:d,startOffset:i[s].computedOffset,endOffset:i[o].computedOffset,easingFunction:i[s].easingFunction,property:n,interpolation:xz(n,i[s].value,i[o].value,e)})}return t.sort(function(h,f){return h.startOffset-f.startOffset}),t}var eE=function(e,t,n){return function(i){var a=lA(e,t,i);return Ce(a)?a:n(a)}};function xz(r,e,t,n){var i=zN[r];if(i&&i.syntax&&i.int){var a=me.styleValueRegistry.getPropertySyntax(i.syntax);if(a){var s=a.parser,o=s?s(e,n):e,l=s?s(t,n):t,c=a.mixer(o,l,n);if(c){var u=eE.apply(void 0,It(c));return function(d){return d===0?e:d===1?t:u(d)}}}}return eE(!1,!0,function(d){return d?t:e})}function lA(r,e,t){if(typeof r=="number"&&typeof e=="number")return r*(1-t)+e*t;if(typeof r=="boolean"&&typeof e=="boolean"||typeof r=="string"&&typeof e=="string")return t<.5?r:e;if(Array.isArray(r)&&Array.isArray(e)){for(var n=r.length,i=e.length,a=Math.max(n,i),s=[],o=0;o<a;o++)s.push(lA(r[o<n?o:n-1],e[o<i?o:i-1],t));return s}throw new Error("Mismatched interpolation arguments ".concat(r,":").concat(e))}var wz=function(){function r(){ge(this,r),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=nz,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return ve(r,[{key:"easing",get:function(){return this._easing},set:function(t){this.easingFunction=Ab(t),this._easing=t}}])}();function Ez(r){var e=[];for(var t in r)if(!(t in["easing","offset","composite"])){var n=r[t];Array.isArray(n)||(n=[n]);for(var i=n.length,a=0;a<i;a++){if(!e[a]){var s={};"offset"in r&&(s.offset=Number(r.offset)),"easing"in r&&(s.easing=r.easing),"composite"in r&&(s.composite=r.composite),e[a]=s}n[a]!==void 0&&n[a]!==null&&(e[a][t]=n[a])}}return e.sort(function(o,l){return(o.computedOffset||0)-(l.computedOffset||0)}),e}function tE(r,e){if(r===null)return[];Array.isArray(r)||(r=Ez(r));for(var t=r.map(function(l){var c={};e!=null&&e.composite&&(c.composite="auto");for(var u in l){var d=l[u];if(u==="offset"){if(d!==null){if(d=Number(d),!isFinite(d))throw new Error("Keyframe offsets must be numbers.");if(d<0||d>1)throw new Error("Keyframe offsets must be between 0 and 1.");c.computedOffset=d}}else if(u==="composite"&&["replace","add","accumulate","auto"].indexOf(d)===-1)throw new Error("".concat(d," compositing is not supported"));c[u]=d}return c.offset===void 0&&(c.offset=null),c.easing===void 0&&(c.easing=(e==null?void 0:e.easing)||"linear"),c.composite===void 0&&(c.composite="auto"),c}),n=!0,i=-1/0,a=0;a<t.length;a++){var s=t[a].offset;if(qe(s))n=!1;else{if(s<i)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");i=s}}t=t.filter(function(l){return Number(l.offset)>=0&&Number(l.offset)<=1});function o(){var l,c=t,u=c.length;if(t[u-1].computedOffset=Number((l=t[u-1].offset)!==null&&l!==void 0?l:1),u>1){var d;t[0].computedOffset=Number((d=t[0].offset)!==null&&d!==void 0?d:0)}for(var h=0,f=Number(t[0].computedOffset),g=1;g<u;g++){var p=t[g].computedOffset;if(!qe(p)&&!qe(f)){for(var v=1;v<g-h;v++)t[h+v].computedOffset=f+(Number(p)-f)*v/(g-h);h=g,f=Number(p)}}}return n||o(),t}var Sz="backwards|forwards|both|none".split("|"),_z="reverse|alternate|alternate-reverse".split("|");function kz(r,e){var t=new wz;return typeof r=="number"&&!isNaN(r)?t.duration=r:r!==void 0&&Object.keys(r).forEach(function(n){if(r[n]!==void 0&&r[n]!==null&&r[n]!=="auto"){if((typeof t[n]=="number"||n==="duration")&&(typeof r[n]!="number"||isNaN(r[n]))||n==="fill"&&Sz.indexOf(r[n])===-1||n==="direction"&&_z.indexOf(r[n])===-1)return;t[n]=r[n]}}),t}function Mz(r,e){return r=Tz(r!=null?r:{duration:"auto"}),kz(r)}function Tz(r){return typeof r=="number"&&(isNaN(r)?r={duration:"auto"}:r={duration:r}),r}var Oz=function(){function r(e,t,n){var i=this;ge(this,r),this.composite="replace",this.iterationComposite="replace",this.target=e,this.timing=Mz(n),this.timing.effect=this,this.timing.activeDuration=lz(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=tE(t,this.timing),this.interpolations=mz(this.normalizedKeyframes,this.timing,this.target);var a=me.globalThis.Proxy;this.computedTiming=a?new a(this.timing,{get:function(o,l){return l==="duration"?o.duration==="auto"?0:o.duration:l==="fill"?o.fill==="auto"?"none":o.fill:l==="localTime"?i.animation&&i.animation.currentTime||null:l==="currentIteration"?!i.animation||i.animation.playState!=="running"?null:o.currentIteration||0:l==="progress"?!i.animation||i.animation.playState!=="running"?null:o.progress||0:o[l]},set:function(){return!0}}):this.timing}return ve(r,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(t){return t===null?!1:(this.timeFraction=pz(this.timing.activeDuration,t,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(t){this.normalizedKeyframes=tE(t)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(t){var n=this;Object.keys(t||{}).forEach(function(i){n.timing[i]=t[i]})}}])}();function nE(r,e){return Number(r.id)-Number(e.id)}var Cz=function(){function r(e){var t=this;ge(this,r),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(n){t.currentTime=n,t.discardAnimations(),t.animations.length===0?t.timelineTicking=!1:t.requestAnimationFrame(t.webAnimationsNextTick)},this.processRafCallbacks=function(n){var i=t.rafCallbacks;t.rafCallbacks=[],n<Number(t.currentTime)&&(n=Number(t.currentTime)),t.animations.sort(nE),t.animations=t.tick(n,!0,t.animations)[0],i.forEach(function(a){a[1](n)}),t.applyPendingEffects()},this.document=e}return ve(r,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(t,n,i){var a=new Oz(t,n,i),s=new V4(a,this);return this.animations.push(s),this.restartWebAnimationsNextTick(),s.updatePromises(),s.play(),s.updatePromises(),s}},{key:"applyDirtiedAnimation",value:function(t){var n=this;if(!this.inTick){t.markTarget();var i=t.targetAnimations();i.sort(nE);var a=this.tick(Number(this.currentTime),!1,i.slice())[1];a.forEach(function(s){var o=n.animations.indexOf(s);o!==-1&&n.animations.splice(o,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(t){t==null||t.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(t){return t.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(t){return t.playState!=="finished"&&t.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(t){var n=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([n,t]),n}},{key:"requestAnimationFrame",value:function(t){var n=this;return this.rAF(function(i){n.updateAnimationsPromises(),t(i),n.updateAnimationsPromises()})}},{key:"tick",value:function(t,n,i){var a=this,s,o;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=t,this.ticking=!1;var l=[],c=[],u=[],d=[];return i.forEach(function(h){h.tick(t,n),h._inEffect?(c.push(h.effect),h.markTarget()):(l.push(h.effect),h.unmarkTarget()),h._needsTick&&(a.ticking=!0);var f=h._inEffect||h._needsTick;h._inTimeline=f,f?u.push(h):d.push(h)}),(s=this.pendingEffects).push.apply(s,l),(o=this.pendingEffects).push.apply(o,c),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[u,d]}}])}();me.EasingFunction=Ab;me.AnimationTimeline=Cz;const Nz={duration:500},Az={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"};var Vt;(function(r){r.NodeAdded="NodeAdded",r.NodeUpdated="NodeUpdated",r.NodeRemoved="NodeRemoved",r.EdgeAdded="EdgeAdded",r.EdgeUpdated="EdgeUpdated",r.EdgeRemoved="EdgeRemoved",r.ComboAdded="ComboAdded",r.ComboUpdated="ComboUpdated",r.ComboRemoved="ComboRemoved"})(Vt||(Vt={}));var mr;(function(r){r.DRAW="draw",r.COLLAPSE="collapse",r.EXPAND="expand",r.TRANSFORM="transform"})(mr||(mr={}));var ta;(function(r){r.CLICK="canvas:click",r.DBLCLICK="canvas:dblclick",r.POINTER_OVER="canvas:pointerover",r.POINTER_LEAVE="canvas:pointerleave",r.POINTER_ENTER="canvas:pointerenter",r.POINTER_MOVE="canvas:pointermove",r.POINTER_OUT="canvas:pointerout",r.POINTER_DOWN="canvas:pointerdown",r.POINTER_UP="canvas:pointerup",r.CONTEXT_MENU="canvas:contextmenu",r.DRAG_START="canvas:dragstart",r.DRAG="canvas:drag",r.DRAG_END="canvas:dragend",r.DRAG_ENTER="canvas:dragenter",r.DRAG_OVER="canvas:dragover",r.DRAG_LEAVE="canvas:dragleave",r.DROP="canvas:drop",r.WHEEL="canvas:wheel"})(ta||(ta={}));var ls;(function(r){r.CLICK="combo:click",r.DBLCLICK="combo:dblclick",r.POINTER_OVER="combo:pointerover",r.POINTER_LEAVE="combo:pointerleave",r.POINTER_ENTER="combo:pointerenter",r.POINTER_MOVE="combo:pointermove",r.POINTER_OUT="combo:pointerout",r.POINTER_DOWN="combo:pointerdown",r.POINTER_UP="combo:pointerup",r.CONTEXT_MENU="combo:contextmenu",r.DRAG_START="combo:dragstart",r.DRAG="combo:drag",r.DRAG_END="combo:dragend",r.DRAG_ENTER="combo:dragenter",r.DRAG_OVER="combo:dragover",r.DRAG_LEAVE="combo:dragleave",r.DROP="combo:drop"})(ls||(ls={}));var ce;(function(r){r.CLICK="click",r.DBLCLICK="dblclick",r.POINTER_OVER="pointerover",r.POINTER_LEAVE="pointerleave",r.POINTER_ENTER="pointerenter",r.POINTER_MOVE="pointermove",r.POINTER_OUT="pointerout",r.POINTER_DOWN="pointerdown",r.POINTER_UP="pointerup",r.CONTEXT_MENU="contextmenu",r.DRAG_START="dragstart",r.DRAG="drag",r.DRAG_END="dragend",r.DRAG_ENTER="dragenter",r.DRAG_OVER="dragover",r.DRAG_LEAVE="dragleave",r.DROP="drop",r.KEY_DOWN="keydown",r.KEY_UP="keyup",r.WHEEL="wheel",r.PINCH="pinch"})(ce||(ce={}));var fo;(function(r){r.KEY_DOWN="keydown",r.KEY_UP="keyup"})(fo||(fo={}));var td;(function(r){r.CLICK="edge:click",r.DBLCLICK="edge:dblclick",r.POINTER_OVER="edge:pointerover",r.POINTER_LEAVE="edge:pointerleave",r.POINTER_ENTER="edge:pointerenter",r.POINTER_MOVE="edge:pointermove",r.POINTER_OUT="edge:pointerout",r.POINTER_DOWN="edge:pointerdown",r.POINTER_UP="edge:pointerup",r.CONTEXT_MENU="edge:contextmenu",r.DRAG_ENTER="edge:dragenter",r.DRAG_OVER="edge:dragover",r.DRAG_LEAVE="edge:dragleave",r.DROP="edge:drop"})(td||(td={}));var we;(function(r){r.BEFORE_CANVAS_INIT="beforecanvasinit",r.AFTER_CANVAS_INIT="aftercanvasinit",r.BEFORE_SIZE_CHANGE="beforesizechange",r.AFTER_SIZE_CHANGE="aftersizechange",r.BEFORE_ELEMENT_CREATE="beforeelementcreate",r.AFTER_ELEMENT_CREATE="afterelementcreate",r.BEFORE_ELEMENT_UPDATE="beforeelementupdate",r.AFTER_ELEMENT_UPDATE="afterelementupdate",r.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",r.AFTER_ELEMENT_DESTROY="afterelementdestroy",r.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",r.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",r.BEFORE_DRAW="beforedraw",r.AFTER_DRAW="afterdraw",r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_ANIMATE="beforeanimate",r.AFTER_ANIMATE="afteranimate",r.BEFORE_LAYOUT="beforelayout",r.AFTER_LAYOUT="afterlayout",r.BEFORE_STAGE_LAYOUT="beforestagelayout",r.AFTER_STAGE_LAYOUT="afterstagelayout",r.BEFORE_TRANSFORM="beforetransform",r.AFTER_TRANSFORM="aftertransform",r.BATCH_START="batchstart",r.BATCH_END="batchend",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.BEFORE_RENDERER_CHANGE="beforerendererchange",r.AFTER_RENDERER_CHANGE="afterrendererchange"})(we||(we={}));var Ea;(function(r){r.UNDO="undo",r.REDO="redo",r.CANCEL="cancel",r.ADD="add",r.CLEAR="clear",r.CHANGE="change"})(Ea||(Ea={}));var Hr;(function(r){r.CLICK="node:click",r.DBLCLICK="node:dblclick",r.POINTER_OVER="node:pointerover",r.POINTER_LEAVE="node:pointerleave",r.POINTER_ENTER="node:pointerenter",r.POINTER_MOVE="node:pointermove",r.POINTER_OUT="node:pointerout",r.POINTER_DOWN="node:pointerdown",r.POINTER_UP="node:pointerup",r.CONTEXT_MENU="node:contextmenu",r.DRAG_START="node:dragstart",r.DRAG="node:drag",r.DRAG_END="node:dragend",r.DRAG_ENTER="node:dragenter",r.DRAG_OVER="node:dragover",r.DRAG_LEAVE="node:dragleave",r.DROP="node:drop"})(Hr||(Hr={}));const Mt="combo",Ar="tree";var No;(function(r){r.NODE="node",r.EDGE="edge",r.COMBO="combo",r.THEME="theme",r.PALETTE="palette",r.LAYOUT="layout",r.BEHAVIOR="behavior",r.PLUGIN="plugin",r.ANIMATION="animation",r.TRANSFORM="transform",r.SHAPE="shape"})(No||(No={}));const M1={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function na(r,e){var t;const n=(t=M1[r])===null||t===void 0?void 0:t[e];if(n)return n}const Pz="5.0.43",Rz="G6";function Ji(r){return`[${Rz} v${Pz}] ${r}`}const Di={mute:!1,debug:r=>{console.debug(Ji(r))},info:r=>{console.info(Ji(r))},warn:r=>{console.warn(Ji(r))},error:r=>{console.error(Ji(r))}};function cA(r){const{theme:e}=r;if(!e)return{};const t=na(No.THEME,e);return t||(Di.warn(`The theme of ${e} is not registered.`),{})}function Rb(r,e){if(Array.isArray(r)&&r.length===0)return null;const t=Array.isArray(r)?r[0]:r,n=Array.isArray(r)?r.slice(1):e||[];return new Proxy(t,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...s)=>{i[a](...s),n.forEach(o=>{var l;return(l=o[a])===null||l===void 0?void 0:l.call(o,...s)})}:a==="finished"?Promise.all([t.finished,...n.map(s=>s.finished)]):Reflect.get(i,a)},set(i,a,s){return["onframe","onfinish"].includes(a)||n.forEach(o=>{o[a]=s}),Reflect.set(i,a,s)}})}function T1(r){const e=r.reduce((n,i)=>(Object.entries(i).forEach(([a,s])=>{n[a]===void 0?n[a]=[s]:n[a].push(s)}),n),{});Object.entries(e).forEach(([n,i])=>{(i.length!==r.length||i.some(a=>qe(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(n)&&sn(a,i[0])))&&delete e[n]});const t=Object.entries(e).reduce((n,[i,a])=>(a.forEach((s,o)=>{n[o]?n[o][i]=s:n[o]={[i]:s}}),n),[]);return r.length!==0&&t.length===0&&t.push({_:0},{_:0}),t}function jl(r){switch(r){case"opacity":return 1;case"x":case"y":case"z":case"zIndex":return 0;case"visibility":return"visible";case"collapsed":return!1;case"states":return[];default:return}}function uA(r,e){const{animation:t}=r;if(t===!1||e===!1)return!1;const n=Object.assign({},Nz);return pn(t)&&Object.assign(n,t),pn(e)&&Object.assign(n,e),n}function Lz(r){if(typeof r=="string"){const e=na(No.ANIMATION,r);return e||(Di.warn(`The animation of ${r} is not registered.`),[])}return r}function Iz(r,e,t,n){var i,a;const{animation:s}=r;if(s===!1||n===!1)return[];const o=(i=r==null?void 0:r[e])===null||i===void 0?void 0:i.animation;if(o===!1)return[];const l=o==null?void 0:o[t];if(l===!1)return[];const c=(a=cA(r)[e])===null||a===void 0?void 0:a.animation,u=(h=[])=>Lz(h).map(f=>Object.assign(Object.assign(Object.assign(Object.assign({},Az),pn(s)&&s),f),pn(n)&&n));if(l)return u(l);if(!c)return[];const d=c[t];return d===!1?[]:u(d)}function dA(r,e,t,n=[]){if(!n&&r===0&&e===0&&t===0)return null;if(Array.isArray(n)){let a=-1;const s=[];for(let o=0;o<n.length;o++){const l=n[o];if(l[0]==="translate"){if(l[1]===r&&l[2]===e)return null;a=o,s.push(["translate",r,e])}else if(l[0]==="translate3d"){if(l[1]===r&&l[2]===e&&l[3]===t)return null;a=o,s.push(["translate3d",r,e,t!=null?t:0])}else s.push(l)}return a===-1&&s.splice(0,0,Ce(t)?["translate3d",r,e,t!=null?t:0]:["translate",r,e]),s.length===0?null:s}const i=n?n.replace(/translate(3d)?\([^)]*\)/g,""):"";return t===0?`translate(${r}, ${e})${i}`:`translate3d(${r}, ${e}, ${t})${i}`}var Dz=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const Fz=(r,e,t)=>{if(!t.length)return null;const[n,i]=e,a=c=>{var u;if(c){const d=r.getShape(c);if(!d)return null;const h=`get${Gu(c)}Style`,f=((u=r==null?void 0:r[h])===null||u===void 0?void 0:u.bind(r))||(v=>v),g=(f==null?void 0:f(n))||{},p=(f==null?void 0:f(i))||{};return{shape:d,fromStyle:g,toStyle:p}}else return{shape:r,fromStyle:n,toStyle:i}};let s;const o=t.map(c=>{var{fields:u,shape:d,states:h}=c,f=Dz(c,["fields","shape","states"]);const g=a(d);if(!g)return null;const{shape:p,fromStyle:v,toStyle:m}=g,y=[{},{}];if(u.forEach(w=>{var E,_;Object.assign(y[0],{[w]:(E=v[w])!==null&&E!==void 0?E:jl(w)}),Object.assign(y[1],{[w]:(_=m[w])!==null&&_!==void 0?_:jl(w)})}),y.some(w=>Object.keys(w).some(E=>["x","y","z"].includes(E)))){const{x:w=0,y:E=0,z:_,transform:O=""}=p.attributes||{};y.forEach(M=>{var N,A,P;M.transform=dA((N=M.x)!==null&&N!==void 0?N:w,(A=M.y)!==null&&A!==void 0?A:E,(P=M.z)!==null&&P!==void 0?P:_,O)})}const b=p.animate(T1(y),f);return d===void 0&&(s=b),b}).filter(Boolean),l=s||(o==null?void 0:o[0]);return l?Rb(l,o.filter(c=>c!==c)):null},Bz=[{fields:["opacity"]}],zz=[{fields:["x","y"]}],hA=[{fields:["x","y"]}],jz=hA,fA=[{fields:["sourceNode","targetNode"]}],$z=fA,gA=[{fields:["childrenNode","x","y"]}],qz=gA;function Gz(r){return"source"in r&&"target"in r}function Wz(r){return r.length===2}function Ao(r){return r instanceof Float32Array?!0:Array.isArray(r)&&(r.length===2||r.length===3)?r.every(e=>typeof e=="number"):!1}function Ii(r,e,t){return r>=e&&r<=t}function Fi(r=0){if(Array.isArray(r)){const[e=0,t=e,n=e,i=t]=r;return[e,t,n,i]}return[r,r,r,r]}function Vz(r=0){const e=Fi(r);return e[0]+e[2]}function Bi(r){return r.max[0]-r.min[0]}function zi(r){return r.max[1]-r.min[1]}function Wa(r){return[Bi(r),zi(r)]}function Ta(r,e){const t=Ao(r)?Lb(r):r.getShape("key").getBounds();return e?Va(t,e):t}function Lb(r){const[e,t,n=0]=r,i=new Rt;return i.setMinMax([e,t,n],[e,t,n]),i}function Va(r,e){const[t,n,i,a]=Fi(e),[s,o,l]=r.min,[c,u,d]=r.max,h=new Rt;return h.setMinMax([s-a,o-t,l],[c+n,u+i,d]),h}function cc(r){if(r.length===0)return new Rt;if(r.length===1)return r[0];const e=new Rt;e.setMinMax(r[0].min,r[0].max);for(let t=1;t<r.length;t++){const n=r[t];e.setMinMax([Math.min(e.min[0],n.min[0]),Math.min(e.min[1],n.min[1]),Math.min(e.min[2],n.min[2])],[Math.max(e.max[0],n.max[0]),Math.max(e.max[1],n.max[1]),Math.max(e.max[2],n.max[2])])}return e}function Uz(r,e){const[t,n]=r.min,[i,a]=r.max,[s,o]=e.min,[l,c]=e.max;return t>=s&&i<=l&&n>=o&&a<=c}function ui(r,e){return Ii(r[0],e.min[0],e.max[0])&&Ii(r[1],e.min[1],e.max[1])}function vA(r,e,t=!1){const{min:[n,i],max:[a,s]}=e,o=(r[1]===i||r[1]===s)&&(t||Ii(r[0],n,a)),l=(r[0]===n||r[0]===a)&&(t||Ii(r[1],i,s));return o||l}function Hz(r,e){return!ui(r,e)}function nd(r,e){const{center:t}=e;return r[0]===t[0]&&r[1]===t[1]}function Tl(r,e){const[t,n]=r,[i,a]=e.min,[s,o]=e.max,l=t-i,c=s-t,u=n-a,d=o-n,h=Math.min(l,c,u,d);return h===l?"left":h===c?"right":h===u?"top":h===d?"bottom":"left"}function gs(r,e){const t=za(r);if(ui(r,e))switch(Tl(r,e)){case"left":t[0]=e.min[0];break;case"right":t[0]=e.max[0];break;case"top":t[1]=e.min[1];break;case"bottom":t[1]=e.max[1];break}else{const[n,i]=r,[a,s]=e.min,[o,l]=e.max;t[0]=Ii(n,a,o)?n:n<a?a:o,t[1]=Ii(i,s,l)?i:i<s?s:l}return t}function Yz(r,e){const{center:t}=r,[n,i]=Wa(r),a=e==="up"||e==="down"?t[0]:e==="right"?t[0]-n/6:t[0]+n/6,s=e==="left"||e==="right"?t[1]:e==="down"?t[1]-i/6:t[1]+i/6;return[a,s]}function Kz(r,e){let[t,n]=Wa(r);return[t,n]=e==="up"||e==="down"?[t,n]:[n,t],(Math.pow(n,2)-Math.pow(Math.sqrt(Math.pow(t/2,2)+Math.pow(n,2))-t/2,2))/(2*n)}function Xz(r){const{min:[e,t],max:[n,i]}=r,a=[e,i],s=[n,i],o=[n,t],l=[e,t];return[[a,s],[s,o],[o,l],[l,a]]}var Zz=function(e,t){return e===t},rE=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}(),Jz=function(){function r(e){e===void 0&&(e=Zz),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new rE(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new rE(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var s=this.head;s;){if(a&&a(s.value)||n!==void 0&&this.compare(s.value,n))return s;s=s.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),Qz=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(c){return c.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var s=function(c){return c.target===e};return i.filter(s).map(function(l){return l.source})}var o=function(c){return c.source===e?c.target:c.source};return i.map(o)},ej=function(e,t){return t.filter(function(n){return n.source===e})},tj=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})},nj=function(e){var t={},n=e.nodes,i=n===void 0?[]:n,a=e.edges,s=a===void 0?[]:a;return i.forEach(function(o){t[o.id]={degree:0,inDegree:0,outDegree:0}}),s.forEach(function(o){t[o.source].degree++,t[o.source].outDegree++,t[o.target].degree++,t[o.target].inDegree++}),t},rj={}.toString,Ib=function(r,e){return rj.call(r)==="[object "+e+"]"};const pA=function(r){return Ib(r,"Function")},mA=function(r){return Array.isArray?Array.isArray(r):Ib(r,"Array")},ij=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function aj(r,e){if(r){var t;if(mA(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(ij(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}const sj=function(r){return Ib(r,"String")};var oj=Object.values?function(r){return Object.values(r)}:function(r){var e=[];return aj(r,function(t,n){pA(r)&&n==="prototype"||e.push(t)}),e};const lj=function(r,e){if(!pA(r))throw new TypeError("Expected a function");var t=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var a=e?e.apply(this,n):n[0],s=t.cache;if(s.has(a))return s.get(a);var o=r.apply(this,n);return s.set(a,o),o};return t.cache=new Map,t};var eu;lj(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return eu||(eu=document.createElement("canvas").getContext("2d")),eu.font=[a,s,i,t+"px",n].join(" "),eu.measureText(sj(r)?r:"").width},function(r,e){return e===void 0&&(e={}),S6([r],oj(e)).join("")});var cj=function(e,t,n){for(var i=1/0,a,s=0;s<t.length;s++){var o=t[s].id;!n[o]&&e[o]<=i&&(i=e[o],a=t[s])}return a},uj=function(e,t,n,i){var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,c={},u={},d={};s.forEach(function(y,b){var w=y.id;u[w]=1/0,w===t&&(u[w]=0)});for(var h=s.length,f=function(b){var w=cj(u,s,c),E=w.id;if(c[E]=!0,u[E]===1/0)return"continue";var _=[];n?_=ej(E,l):_=tj(E,l),_.forEach(function(O){var M=O.target,N=O.source,A=M===E?N:M,P=i&&O[i]?O[i]:1;u[A]>u[w.id]+P?(u[A]=u[w.id]+P,d[A]=[w.id]):u[A]===u[w.id]+P&&d[A].push(w.id)})},g=0;g<h;g++)f();d[t]=[t];var p={};for(var v in u)u[v]!==1/0&&yA(t,v,d,p);var m={};for(var v in p)m[v]=p[v][0];return{length:u,path:m,allPath:p}};function yA(r,e,t,n){if(r===e)return[r];if(n[e])return n[e];for(var i=[],a=0,s=t[e];a<s.length;a++){var o=s[a],l=yA(r,o,t,n);if(!l)return;for(var c=0,u=l;c<u.length;c++){var d=u[c];mA(d)?i.push(Oe(Oe([],d,!0),[e],!1)):i.push([d,e])}}return n[e]=i,n[e]}var bA=function(e,t,n,i,a){var s=uj(e,t,i,a),o=s.length,l=s.path,c=s.allPath;return{length:o[n],path:l[n],allPath:c[n]}},iE;(function(r){r.EuclideanDistance="euclideanDistance"})(iE||(iE={}));var dj=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,s=1e3,o=e.nodes,l=o===void 0?[]:o,c=e.edges,u=c===void 0?[]:c,d=l.length,h,f={},g={},p=0;p<d;++p){var v=l[p],m=v.id;f[m]=1/d,g[m]=1/d}for(var y=nj(e);s>0&&i>t;){a=0;for(var p=0;p<d;++p){var v=l[p],m=v.id;if(h=0,y[v.id].inDegree===0)f[m]=0;else{for(var b=Qz(m,u,"source"),w=0;w<b.length;++w){var E=b[w],_=y[E].outDegree;_>0&&(h+=g[E]/_)}f[m]=n*h,a+=f[m]}}a=(1-a)/d,i=0;for(var p=0;p<d;++p){var v=l[p],m=v.id;h=f[m]+a,i+=Math.abs(h-g[m]),g[m]=h}s-=1}return g};(function(){function r(e){e===void 0&&(e=10),this.linkedList=new Jz,this.maxStep=e}return Object.defineProperty(r.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},r.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},r.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},r.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},r.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},r})();function te(r){if(r.id!==void 0)return r.id;if(r.source!==void 0&&r.target!==void 0)return`${r.source}-${r.target}`;throw new Error(Ji("The datum does not have available id."))}function tu(r){return r.combo}function xA(r,e){const t={nodes:(r.nodes||[]).map(te),edges:(r.edges||[]).map(te),combos:(r.combos||[]).map(te)};return e?Object.values(t).flat():t}const wA=(r,e,t)=>{var n;switch(t.type){case"degree":{const i=new Map;return(n=r.nodes)===null||n===void 0||n.forEach(a=>{const s=e(te(a),t.direction).length;i.set(te(a),s)}),i}case"betweenness":return hj(r,t.directed,t.weightPropertyName);case"closeness":return fj(r,t.directed,t.weightPropertyName);case"eigenvector":return vj(r,t.directed);case"pagerank":return gj(r,t.epsilon,t.linkProb);default:return EA(r)}},EA=r=>{var e;const t=new Map;return(e=r.nodes)===null||e===void 0||e.forEach(n=>{t.set(te(n),0)}),t},hj=(r,e,t)=>{const n=EA(r),{nodes:i=[]}=r;return i.forEach(a=>{i.forEach(s=>{if(a!==s){const{allPath:o}=bA(r,te(a),te(s),e,t),l=o.length;o.flat().forEach(c=>{c!==te(a)&&c!==te(s)&&n.set(c,n.get(c)+1/l)})}})}),n},fj=(r,e,t)=>{const n=new Map,{nodes:i=[]}=r;return i.forEach(a=>{const s=i.reduce((o,l)=>{if(a!==l){const{length:c}=bA(r,te(a),te(l),e,t);o+=c}return o},0);n.set(te(a),1/s)}),n},gj=(r,e,t)=>{var n;const i=new Map,a=dj(r,e,t);return(n=r.nodes)===null||n===void 0||n.forEach(s=>{i.set(te(s),a[te(s)])}),i},vj=(r,e)=>{const{nodes:t=[]}=r,n=pj(r,e),i=mj(n,t.length),a=new Map;return t.forEach((s,o)=>{a.set(te(s),i[o])}),a},pj=(r,e)=>{const{nodes:t=[],edges:n=[]}=r,i=Array(t.length).fill(null).map(()=>Array(t.length).fill(0));return n.forEach(({source:a,target:s})=>{const o=t.findIndex(c=>te(c)===a),l=t.findIndex(c=>te(c)===s);e?i[o][l]=1:(i[o][l]=1,i[l][o]=1)}),i},mj=(r,e,t=100,n=1e-6)=>{let i=Array(e).fill(1),a=1/0;for(let s=0;s<t&&a>n;s++){const o=Array(e).fill(0);for(let c=0;c<e;c++)for(let u=0;u<e;u++)o[c]+=r[c][u]*i[u];const l=Math.sqrt(o.reduce((c,u)=>c+u*u,0));for(let c=0;c<e;c++)o[c]/=l;a=Math.sqrt(o.reduce((c,u,d)=>c+(u-i[d])*u,0)),i=o}return i};function Ia(r,e,t,n=sn){const i=new Map(r.map(h=>[t(h),h])),a=new Map(e.map(h=>[t(h),h])),s=new Set(i.keys()),o=new Set(a.keys()),l=[],c=[],u=[],d=[];return o.forEach(h=>{s.has(h)?n(i.get(h),a.get(h))?d.push(a.get(h)):c.push(a.get(h)):l.push(a.get(h))}),s.forEach(h=>{o.has(h)||u.push(i.get(h))}),{enter:l,exit:u,keep:d,update:c}}function _s(r,e,t){const n=i=>{t&&!t(i)||(i.style.visibility=e)};r.forEach(i=>{n(i)})}function yj(r,e,t){const n={},i=a=>(a in n||(n[a]=0),`${e}-${a}-${n[a]++}`);return t.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(r):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class Db{constructor(e){this.extensions=[],this.extensionMap={},this.context=e}setExtensions(e){const t=yj(this.context.graph,this.category,e),{enter:n,update:i,exit:a,keep:s}=Ia(this.extensions,t,o=>o.key);this.createExtensions(n),this.updateExtensions([...i,...s]),this.destroyExtensions(a),this.extensions=t}createExtension(e){const{category:t}=this,{key:n,type:i}=e,a=na(t,i);if(!a)return Di.warn(`The extension ${i} of ${t} is not registered.`);const s=new a(this.context,e);this.extensionMap[n]=s}createExtensions(e){e.forEach(t=>this.createExtension(t))}updateExtension(e){const{key:t}=e,n=this.extensionMap[t];n&&n.update(e)}updateExtensions(e){e.forEach(t=>this.updateExtension(t))}destroyExtension(e){const t=this.extensionMap[e];t&&(t.destroy(),delete this.extensionMap[e])}destroyExtensions(e){e.forEach(({key:t})=>this.destroyExtension(t))}destroy(){Object.values(this.extensionMap).forEach(e=>e.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class Fb{constructor(e,t){this.events=[],this.destroyed=!1,this.context=e,this.options=t}update(e){this.options=Object.assign(this.options,e)}destroy(){this.context={},this.options={},this.destroyed=!0}}class Br extends Fb{}class Td extends Br{constructor(e,t){super(e,Object.assign({},Td.defaultOptions,t)),this.isOverlapping=(n,i)=>i.some(a=>n.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(s=>{const o=s.getShape("label").getRenderBounds();i.isInViewport(o,!0)&&!this.isOverlapping(o,this.occupiedBounds)?(a.show.push(s),this.occupiedBounds.push(Va(o,this.options.padding))):a.hide.push(s)}),a},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:a}=Ia(n,i,s=>s.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:a}=this.context,s=a.getData(),o=a.getRelatedEdgesData.bind(a);return n.map(c=>(this.nodeCentralities.has(c.id)||(this.nodeCentralities=wA(s,o,i)),{node:c,centrality:this.nodeCentralities.get(c.id)})).sort((c,u)=>u.centrality-c.centrality).map(c=>c.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:a,sortCombo:s,sortEdge:o}=this.options,{model:l}=this.context;if(Ie(i))return n.sort((p,v)=>i(l.getElementDataById(p.id),l.getElementDataById(v.id)));const{node:c=[],edge:u=[],combo:d=[]}=wd(n,p=>p.type),h=Ie(s)?d.sort((p,v)=>s(...l.getComboData([p.id,v.id]))):d,f=Ie(a)?c.sort((p,v)=>a(...l.getNodeData([p.id,v.id]))):this.sortNodesByCentrality(c,a),g=Ie(o)?u.sort((p,v)=>o(...l.getEdgeData([p.id,v.id]))):u;return[...h,...f,...g]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=n=>{var i;if(((i=n.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const a=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,a),this.labelElementsInView=a;const s=this.sortLabelElementsInView(this.labelElementsInView),{show:o,hide:l}=this.detectLabelCollision(s);for(let c=o.length-1;c>=0;c--)this.showLabel(o[c]);l.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&_s(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&_s(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=lN(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=n=>{this.enableToggle&&this.onToggleVisibility(n)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=n=>{this.onToggleVisibility(n),this.enableToggle=!0},this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:e}=this.context.element,t=[];for(const n in e){const i=e[n];i.isVisible()&&i.getShape("label")&&t.push(i)}return t}getLabelElementsInView(){const e=this.context.viewport;return this.getLabelElements().filter(t=>e.isInViewport(t.getShape("key").getRenderBounds()))}bindEvents(){const{graph:e}=this.context;e.on(we.BEFORE_RENDER,this.onBeforeRender),e.on(we.AFTER_RENDER,this.onAfterRender),e.on(we.AFTER_DRAW,this.toggle),e.on(we.AFTER_LAYOUT,this.toggle),e.on(we.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(we.BEFORE_RENDER,this.onBeforeRender),e.off(we.AFTER_RENDER,this.onAfterRender),e.off(we.AFTER_DRAW,this.toggle),e.off(we.AFTER_LAYOUT,this.toggle),e.off(we.AFTER_TRANSFORM,this.onTransform)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Td.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};const aE=[0,0,0];function Ze(r,e){return r.map((t,n)=>t+e[n])}function St(r,e){return r.map((t,n)=>t-e[n])}function Hi(r,e){return typeof e=="number"?r.map(t=>t*e):r.map((t,n)=>t*e[n])}function di(r,e){return typeof e=="number"?r.map(t=>t/e):r.map((t,n)=>t/e[n])}function bj(r,e){return r.reduce((t,n,i)=>t+n*e[i],0)}function xj(r,e){const t=$l(r),n=$l(e);return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Oa(r,e){return r.map(t=>t*e)}function $t(r,e){return Math.sqrt(r.reduce((t,n,i)=>t+Math.pow(n-e[i]||0,2),0))}function rd(r,e){return r.reduce((t,n,i)=>t+Math.abs(n-e[i]),0)}function ea(r){const e=r.reduce((t,n)=>t+Math.pow(n,2),0);return r.map(t=>t/Math.sqrt(e))}function Bb(r,e,t=!1){const n=r[0]*e[1]-r[1]*e[0];let i=Math.acos(Hi(r,e).reduce((a,s)=>a+s,0)/($t(r,aE)*$t(e,aE)));return t&&n<0&&(i=2*Math.PI-i),i}function Od(r,e=!0){return e?[-r[1],r[0]]:[r[1],-r[0]]}function wj(r,e){return r.map(t=>t%e)}function ks(r){return[r[0],r[1]]}function $l(r){return Wz(r)?[r[0],r[1],0]:r}function SA(r){const[e,t]=r;return!e&&!t?0:Math.atan2(t,e)}function _A(r,e){const[t,n]=r,[i,a]=e,s=St(t,n),o=St(i,a);return xj(s,o).every(l=>l===0)}function zb(r,e,t=!1){if(_A(r,e))return;const[n,i]=r,[a,s]=e,o=((n[0]-a[0])*(a[1]-s[1])-(n[1]-a[1])*(a[0]-s[0]))/((n[0]-i[0])*(a[1]-s[1])-(n[1]-i[1])*(a[0]-s[0])),l=s[0]-a[0]?(n[0]-a[0]+o*(i[0]-n[0]))/(s[0]-a[0]):(n[1]-a[1]+o*(i[1]-n[1]))/(s[1]-a[1]);if(!(!t&&(!Ii(o,0,1)||!Ii(l,0,1))))return[n[0]+o*(i[0]-n[0]),n[1]+o*(i[1]-n[1])]}function kA(r){if(Array.isArray(r))return Ii(r[0],0,1)&&Ii(r[1],0,1)?r:[.5,.5];const e=r.split("-"),t=e.includes("left")?0:e.includes("right")?1:.5,n=e.includes("top")?0:e.includes("bottom")?1:.5;return[t,n]}function On(r){const{x:e=0,y:t=0,z:n=0}=r.style||{};return[+e,+t,+n]}function Ej(r){const{x:e,y:t,z:n}=r.style||{};return e!==void 0||t!==void 0||n!==void 0}function Sj(r,e){const[t,n]=e,{min:i,max:a}=r;return[i[0]+t*(a[0]-i[0]),i[1]+n*(a[1]-i[1])]}function Yi(r,e="center"){const t=kA(e);return Sj(r,t)}function Un(r){var e;return[r.x,r.y,(e=r.z)!==null&&e!==void 0?e:0]}function si(r){var e;return{x:r[0],y:r[1],z:(e=r[2])!==null&&e!==void 0?e:0}}function rl(r,e=0){return r.map(t=>parseFloat(t.toFixed(e)))}function Da(r,e,t,n=!1){if(sn(r,e))return r;const i=n?St(r,e):St(e,r),a=ea(i),s=[a[0]*t,a[1]*t];return Ze(ks(r),s)}function MA(r,e){return r[1]===e[1]}function _j(r,e){return r[0]===e[0]}function kj(r,e){return MA(r,e)||_j(r,e)}function TA(r,e,t){return _A([r,e],[e,t])}function OA(r,e){return[2*e[0]-r[0],2*e[1]-r[1]]}function CA(r,e,t,n=!0,i=!1){for(let a=0;a<t.length;a++){let s=t[a],o=t[(a+1)%t.length];n&&(s=Ze(e,s),o=Ze(e,o));const l=i?OA(r,e):r,c=zb([e,l],[s,o]);if(c)return{point:c,line:[s,o]}}return{point:e,line:void 0}}function Mj(r,e,t,n){const i=r[0],a=r[1];let s=!1;t===void 0&&(t=0),n===void 0&&(n=e.length);const o=n-t;for(let l=0,c=o-1;l<o;c=l++){const u=e[l+t][0],d=e[l+t][1],h=e[c+t][0],f=e[c+t][1];d>a!=f>a&&i<(h-u)*(a-d)/(f-d)+u&&(s=!s)}return s}function Tj(r,e,t=!1){const n=Yi(e,"center"),i=[Yi(e,"left-top"),Yi(e,"right-top"),Yi(e,"right-bottom"),Yi(e,"left-bottom")];return CA(r,n,i,!1,t).point}function Cd(r,e,t=!1){const n=e.center,i=t?OA(r,n):r,a=St(i,e.center),s=Math.atan2(a[1],a[0]);if(isNaN(s))return n;const o=Bi(e)/2,l=zi(e)/2,c=n[0]+o*Math.cos(s),u=n[1]+l*Math.sin(s);return[c,u]}function Oj(r,e){let t=1/0,n=[r[0],e[0]];return r.forEach(i=>{e.forEach(a=>{const s=$t(i,a);s<t&&(t=s,n=[i,a])})}),n}function Cj(r,e){let t=1/0,n=[[0,0],[0,0]];return e.forEach(i=>{const a=Nj(r,i);a<t&&(t=a,n=i)}),n}function Nj(r,e){const t=NA(r,e);return $t(r,t)}function NA(r,e){const[t,n]=e[0],[i,a]=e[1],[s,o]=r,l=i-t,c=a-n;if(l===0&&c===0)return[t,n];let u=((s-t)*l+(o-n)*c)/(l*l+c*c);u>1?u=1:u<0&&(u=0);const d=t+u*l,h=n+u*c;return[d,h]}function Aj(r){const e=r.reduce((t,n)=>Ze(t,n),[0,0]);return di(e,r.length)}function jb(r,e=!0){const t=Aj(r);return r.sort(([n,i],[a,s])=>{const o=Math.atan2(i-t[1],n-t[0]),l=Math.atan2(s-t[1],a-t[0]);return e?l-o:o-l})}function sE(r,e){return[r,[r[0],e[1]],e,[e[0],r[1]]]}class Pj{constructor(e,t){this.callback=t,this.pointerByTouch=[],this.initialDistance=null,this.emitter=e,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents()}bindEvents(){const{emitter:e}=this;e.on(ce.POINTER_DOWN,this.onPointerDown),e.on(ce.POINTER_MOVE,this.onPointerMove),e.on(ce.POINTER_UP,this.onPointerUp)}updatePointerPosition(e,t,n){const i=this.pointerByTouch.findIndex(a=>a.pointerId===e);i>=0&&(this.pointerByTouch[i]={x:t,y:n,pointerId:e})}onPointerDown(e){const{x:t,y:n}=e.client;if(!(t===void 0||n===void 0)&&(this.pointerByTouch.push({x:t,y:n,pointerId:e.pointerId}),e.pointerType==="touch"&&this.pointerByTouch.length===2)){const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(i*i+a*a)}}onPointerMove(e){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:t,y:n}=e.client;if(t===void 0||n===void 0)return;this.updatePointerPosition(e.pointerId,t,n);const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y,o=Math.sqrt(i*i+a*a)/this.initialDistance;this.callback(e,{scale:(o-1)*5})}onPointerUp(){this.initialDistance=null,this.pointerByTouch=[]}destroy(){this.emitter.off(ce.POINTER_DOWN,this.onPointerDown),this.emitter.off(ce.POINTER_MOVE,this.onPointerMove),this.emitter.off(ce.POINTER_UP,this.onPointerUp)}}const oE=r=>r.map(e=>gt(e)?e.toLocaleLowerCase():e);class Do{constructor(e){this.map=new Map,this.recordKey=new Set,this.onKeyDown=t=>{t!=null&&t.key&&(this.recordKey.add(t.key),this.trigger(t))},this.onKeyUp=t=>{t!=null&&t.key&&this.recordKey.delete(t.key)},this.onWheel=t=>{this.triggerExtendKey(ce.WHEEL,t)},this.onDrag=t=>{this.triggerExtendKey(ce.DRAG,t)},this.handlePinch=(t,n)=>{this.triggerExtendKey(ce.PINCH,Object.assign(Object.assign({},t),n))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=e,this.bindEvents()}bind(e,t){e.length!==0&&(e.includes(ce.PINCH)&&!this.pinchHandler&&(this.pinchHandler=new Pj(this.emitter,this.handlePinch.bind(this))),this.map.set(e,t))}unbind(e,t){this.map.forEach((n,i)=>{sn(i,e)&&(!t||t===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(e){const t=oE(Array.from(this.recordKey)).sort(),n=oE(e).sort();return sn(t,n)}bindEvents(){var e;const{emitter:t}=this;t.on(ce.KEY_DOWN,this.onKeyDown),t.on(ce.KEY_UP,this.onKeyUp),t.on(ce.WHEEL,this.onWheel),t.on(ce.DRAG,this.onDrag),(e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"focus",this.onFocus)}trigger(e){this.map.forEach((t,n)=>{this.match(n)&&t(e)})}triggerExtendKey(e,t){this.map.forEach((n,i)=>{i.includes(e)&&sn(Array.from(this.recordKey),i.filter(a=>a!==e))&&n(t)})}destroy(){var e,t;this.unbindAll(),this.emitter.off(ce.KEY_DOWN,this.onKeyDown),this.emitter.off(ce.KEY_UP,this.onKeyUp),this.emitter.off(ce.WHEEL,this.onWheel),this.emitter.off(ce.DRAG,this.onDrag),(e=this.pinchHandler)===null||e===void 0||e.destroy(),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"blur",this.onFocus)}}class uc extends Br{constructor(e,t){super(e,hr({},uc.defaultOptions,t)),this.shortcut=new Do(e.graph),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.clearStates=this.clearStates.bind(this),this.bindEvents()}onPointerDown(e){if(!this.validate(e)||!this.isKeydown()||this.startPoint)return;const{canvas:t,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new Yn({id:"g6-brush-select",style:i}),t.appendChild(this.rectShape),this.startPoint=[e.canvas.x,e.canvas.y]}onPointerMove(e){var t;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=id(e),(t=this.rectShape)===null||t===void 0||t.attr({x:Math.min(this.endPoint[0],this.startPoint[0]),y:Math.min(this.endPoint[1],this.startPoint[1]),width:Math.abs(this.endPoint[0]-this.startPoint[0]),height:Math.abs(this.endPoint[1]-this.startPoint[1])}),n&&i==="default"&&this.updateElementsStates(sE(this.startPoint,this.endPoint))}onPointerUp(e){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=id(e),this.updateElementsStates(sE(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:e}=this.context,t=Object.values(e.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((a,s)=>(a[te(s)]=[],a),{})),{});e.setElementState(t,this.options.animation)}updateElementsStates(e){const{graph:t}=this.context,{enableElements:n,state:i,mode:a,onSelect:s}=this.options,o=this.selector(t,e,n);let l={};switch(a){case"union":o.forEach(c=>{l[c]=[...t.getElementState(c),i]});break;case"diff":o.forEach(c=>{const u=t.getElementState(c);l[c]=u.includes(i)?u.filter(d=>d!==i):[...u,i]});break;case"intersect":o.forEach(c=>{const u=t.getElementState(c);l[c]=u.includes(i)?[i]:[]});break;case"default":default:o.forEach(c=>{l[c]=[i]});break}Ie(s)&&(l=s(l)),t.setElementState(l,this.options.animation)}selector(e,t,n){if(!n||n.length===0)return[];const i=[],a=e.getData();if(n.forEach(s=>{a[`${s}s`].forEach(o=>{const l=te(o);e.getElementVisibility(l)!=="hidden"&&Mj(e.getElementPosition(l),t)&&i.push(l)})}),n.includes("edge")){const s=a.edges;s==null||s.forEach(o=>{const{source:l,target:c}=o;i.includes(l)&&i.includes(c)&&i.push(te(o))})}return i}clearBrush(){var e;(e=this.rectShape)===null||e===void 0||e.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:e}=this.options,t=Array.isArray(e)?e:[e];return this.shortcut.match(t.filter(n=>n!=="drag"))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}bindEvents(){const{graph:e}=this.context;e.on(ce.POINTER_DOWN,this.onPointerDown),e.on(ce.POINTER_MOVE,this.onPointerMove),e.on(ce.POINTER_UP,this.onPointerUp),e.on(ta.CLICK,this.clearStates)}unbindEvents(){const{graph:e}=this.context;e.off(ce.POINTER_DOWN,this.onPointerDown),e.off(ce.POINTER_MOVE,this.onPointerMove),e.off(ce.POINTER_UP,this.onPointerUp),e.off(ta.CLICK,this.clearStates)}update(e){this.unbindEvents(),this.options=hr(this.options,e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}uc.defaultOptions={animation:!1,enable:!0,enableElements:["node","combo","edge"],immediately:!1,mode:"default",state:"selected",trigger:["shift"],style:{width:0,height:0,lineWidth:1,fill:"#1677FF",stroke:"#1677FF",fillOpacity:.1,zIndex:2,pointerEvents:"none"}};const id=r=>[r.canvas.x,r.canvas.y],ra=.8,Ms=["node","edge","combo"];function vs(r,e,t,n,i=0){n==="TB"&&e(r,i);const a=t(r);if(a)for(const s of a)vs(s,e,t,n,i+1);n==="BT"&&e(r,i)}function Rj(r,e,t){const n=[[r,0]];for(;n.length;){const[i,a]=n.shift();e(i,a);const s=t(i);if(s)for(const o of s)n.push([o,a+1])}}function AA(r,e,t,n,i="both"){if(e==="combo"||e==="node")return If(r,t,n,i);const a=r.getEdgeData(t);if(!a)return[];const s=If(r,a.source,n-1,i),o=If(r,a.target,n-1,i);return Array.from(new Set([...s,...o,t]))}function If(r,e,t,n="both"){const i=new Set,a=new Set,s=new Set;return Rj(e,(o,l)=>{l>t||(s.add(o),r.getRelatedEdgesData(o,n).forEach(c=>{const u=te(c);!a.has(u)&&l<t&&(s.add(u),a.add(u))}))},o=>r.getRelatedEdgesData(o,n).map(l=>l.source===o?l.target:l.source).filter(l=>i.has(l)?!1:(i.add(l),!0))),Array.from(s)}function Df(r){return r.states||[]}var nu=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Nd extends Br{constructor(e,t){super(e,Object.assign({},Nd.defaultOptions,t)),this.onClickSelect=n=>nu(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.updateState(n),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.onClickCanvas=n=>nu(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.shortcut=new Do(e.graph),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Ms.forEach(t=>{e.on(`${t}:${ce.CLICK}`,this.onClickSelect)}),e.on(ta.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:e,trigger:t}=this.options;return e&&this.shortcut.match(t)}getNeighborIds(e){const{target:t,targetType:n}=e,{graph:i}=this.context,{degree:a}=this.options;return AA(i,n,t.id,typeof a=="function"?a(e):a).filter(s=>s!==t.id)}updateState(e){return nu(this,void 0,void 0,function*(){const{state:t,unselectedState:n,neighborState:i,animation:a}=this.options;if(!t&&!i&&!n)return;const{target:s}=e,{graph:o}=this.context,l=o.getElementData(s.id),c=Df(l).includes(t)?"unselect":"select",u={},d=this.isMultipleSelect,h=[s.id],f=this.getNeighborIds(e);if(d)if(Object.assign(u,this.getDataStates()),c==="select"){const g=(p,v)=>{p.forEach(m=>{const y=new Set(o.getElementState(m));y.add(v),y.delete(n),u[m]=Array.from(y)})};g(h,t),g(f,i),n&&Object.keys(u).forEach(p=>{const v=u[p];!v.includes(t)&&!v.includes(i)&&!v.includes(n)&&u[p].push(n)})}else{const g=u[s.id];u[s.id]=g.filter(p=>p!==t&&p!==i),g.includes(n)||u[s.id].push(n),f.forEach(p=>{u[p]=u[p].filter(v=>v!==i),u[p].includes(t)||u[p].push(n)})}else if(c==="select"){Object.assign(u,this.getClearStates(!!n));const g=(p,v)=>{p.forEach(m=>{u[m]||(u[m]=o.getElementState(m)),u[m].push(v)})};g(h,t),g(f,i),n&&Object.keys(u).forEach(p=>{!h.includes(p)&&!f.includes(p)&&u[p].push(n)})}else Object.assign(u,this.getClearStates());yield o.setElementState(u,a)})}getDataStates(){const{graph:e}=this.context,{nodes:t,edges:n,combos:i}=e.getData(),a={};return[...t,...n,...i].forEach(s=>{a[te(s)]=Df(s)}),a}getClearStates(e=!1){const{graph:t}=this.context,{state:n,unselectedState:i,neighborState:a}=this.options,s=new Set([n,i,a]),{nodes:o,edges:l,combos:c}=t.getData(),u={};return[...o,...l,...c].forEach(d=>{const h=Df(d),f=h.filter(g=>!s.has(g));(e||f.length!==h.length)&&(u[te(d)]=f)}),u}clearState(){return nu(this,void 0,void 0,function*(){const{graph:e}=this.context;yield e.setElementState(this.getClearStates(),this.options.animation)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Ms.forEach(t=>{e.off(`${t}:${ce.CLICK}`,this.onClickSelect)}),e.off(ta.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Nd.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function wr(r){var e;return!!(!((e=r.style)===null||e===void 0)&&e.collapsed)}function ad(r,e){if(!r.startsWith(e))return!1;const t=r[e.length];return t>="A"&&t<="Z"}function Lj(r,e){return`${e}${Gu(r)}`}function Ij(r,e,t=!0){if(!e||!ad(r,e))return r;const n=r.slice(e.length);return t?c6(n):n}function xn(r,e){const t=Object.entries(r).reduce((n,[i,a])=>(i==="className"||i==="class"||ad(i,e)&&Object.assign(n,{[Ij(i,e)]:a}),n),{});if("opacity"in r){const n=Lj("opacity",e),i=r.opacity;if(n in r){const a=r[n];Object.assign(t,{opacity:i*a})}else Object.assign(t,{opacity:i})}return t}function O1(r,e){const t=e.length;return Object.keys(r).reduce((n,i)=>{if(i.startsWith(e)){const a=i.slice(t);n[a]=r[i]}return n},{})}function PA(r,e){const t=typeof e=="string"?[e]:e,n={};return Object.keys(r).forEach(i=>{t.find(a=>i.startsWith(a))||(n[i]=r[i])}),n}function Ir(r=0){if(typeof r=="number")return[r,r,r];const[e,t=e,n=e]=r;return[e,t,n]}var Dj=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function lE(r,e){const{datum:t,graph:n}=e;return typeof r=="function"?r.call(n,t):Object.fromEntries(Object.entries(r).map(([i,a])=>typeof a=="function"?[i,a.call(n,t)]:[i,a]))}function zn(r,e){const t=(r==null?void 0:r.style)||{},n=(e==null?void 0:e.style)||{};for(const i in t)i in n||(n[i]=t[i]);return Object.assign({},r,e,{style:n})}function Fj(r){const{x:e,y:t,z:n,class:i,className:a,transform:s,transformOrigin:o,zIndex:l,visibility:c}=r;return Dj(r,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function Bj(r,e){const t=Ir(r);let n={};return e.text&&!e.fontSize&&(n={fontSize:Math.min(...t)*.5}),e.src&&(!e.width||!e.height)&&(n={width:t[0]*.5,height:t[1]*.5}),n}function cE(r){if(r)return typeof r=="string"||typeof r=="function"||Array.isArray(r)?{type:"group",field:e=>e.id,color:r,invert:!1}:r}function zj(r,e){if(!e)return{};const{type:t,color:n,field:i,invert:a}=e,s=l=>{const c=typeof n=="string"?na("palette",n):n;if(typeof c=="function"){const u={};return l.forEach(([d,h])=>{u[d]=c(a?1-h:h)}),u}else if(Array.isArray(c)){const u=a?[...c].reverse():c,d={};return l.forEach(([h,f])=>{d[h]=u[f%c.length]}),d}return{}},o=(l,c)=>{var u;return typeof l=="string"?(u=c.data)===null||u===void 0?void 0:u[l]:l==null?void 0:l(c)};if(t==="group"){const l=wd(r,h=>{if(!i)return"default";const f=o(i,h);return f?String(f):"default"}),c=Object.keys(l),u=s(c.map((h,f)=>[h,f])),d={};return Object.entries(l).forEach(([h,f])=>{f.forEach(g=>{d[te(g)]=u[h]})}),d}else if(t==="value"){const[l,c]=r.reduce(([d,h],f)=>{const g=o(i,f);if(typeof g!="number")throw new Error(Ji(`Palette field ${i} is not a number`));return[Math.min(d,g),Math.max(h,g)]},[1/0,-1/0]),u=c-l;return s(r.map(d=>[d.id,(o(i,d)-l)/u]))}}function RA(r){const e=typeof r=="string"?na("palette",r):r;if(typeof e!="function")return e}function LA(r,e){let t=2*r;return typeof e=="string"?t=r*Number(e.replace("%",""))/100:typeof e=="number"&&(t=e),isNaN(t)&&(t=2*r),t}function IA(r,e,t=1,n=!1){const i=n?t:1,a=(r.max[0]-r.min[0])*i;return LA(a,e)}function jj(r,e,t=1){const n=$t(r[0],r[1])*t;return LA(n,e)}class dc extends Cb{constructor(e){uE(e.style),super(e),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(e,t,n,i,a){var s,o,l,c,u,d,h,f;const g=this.shapeMap[e];if(n===!1){g&&((s=a==null?void 0:a.beforeDestroy)===null||s===void 0||s.call(a,g),i.removeChild(g),delete this.shapeMap[e],(o=a==null?void 0:a.afterDestroy)===null||o===void 0||o.call(a,g));return}const p=typeof t=="string"?na(No.SHAPE,t):t;if(!p)throw new Error(Ji(`Shape ${t} not found`));if(!g||g.destroyed||!(g instanceof p)){g&&((l=a==null?void 0:a.beforeDestroy)===null||l===void 0||l.call(a,g),g==null||g.destroy(),(c=a==null?void 0:a.afterDestroy)===null||c===void 0||c.call(a,g)),(u=a==null?void 0:a.beforeCreate)===null||u===void 0||u.call(a);const v=new p({className:e,style:n});return i.appendChild(v),this.shapeMap[e]=v,(d=a==null?void 0:a.afterCreate)===null||d===void 0||d.call(a,v),v}return(h=a==null?void 0:a.beforeUpdate)===null||h===void 0||h.call(a,g),D1(g,n),(f=a==null?void 0:a.afterUpdate)===null||f===void 0||f.call(a,g),g}update(e={}){const t=Object.assign({},this.attributes,e);uE(t),I$(this,t),this.render(t,this),this.setVisibility()}bindEvents(){}getGraphicStyle(e){return Fj(e)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(e,t){if(e.length===0)return null;const n=[];if(e[0].x!==void 0||e[0].y!==void 0||e[0].z!==void 0){const{x:a=0,y:s=0,z:o=0}=this.attributes;e.forEach(l=>{const{x:c=a,y:u=s,z:d=o}=l;Object.assign(l,{transform:d?[["translate3d",c,u,d]]:[["translate",c,u]]})})}const i=super.animate(e,t);if(i&&(Ff(this,i),n.push(i)),Array.isArray(e)&&e.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(e[0]).some(s=>!a.includes(s))){Object.entries(this.shapeMap).forEach(([o,l])=>{const c=`get${Gu(o)}Style`,u=this[c];if(Ie(u)){const d=e.map(f=>u.call(this,Object.assign(Object.assign({},this.attributes),f))),h=l.animate(T1(d),t);h&&(Ff(l,h),n.push(h))}});const s=(o,l)=>{if(!ki(o)){const c=`get${Gu(l)}Style`,u=this[c];if(Ie(u)){const d=e.map(h=>u.call(this,Object.assign(Object.assign({},this.attributes),h)));Object.entries(d[0]).map(([h])=>{const f=d.map(p=>p[h]),g=o[h];if(g){const p=g.animate(T1(f),t);p&&(Ff(g,p),n.push(p))}})}}};this.compositeShapes.forEach(([o,l])=>{const c=O1(this.shapeMap,l);s(c,o)})}}return Rb(n)}getShape(e){return this.shapeMap[e]}setVisibility(){const{visibility:e}=this.attributes;_s(this,e)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function Ff(r,e){e==null||e.finished.then(()=>{const t=r.activeAnimations.findIndex(n=>n===e);t>-1&&r.activeAnimations.splice(t,1)})}function uE(r){if(!r)return{};if("x"in r||"y"in r||"z"in r){const{x:e=0,y:t=0,z:n,transform:i}=r,a=dA(e,t,n,i);a&&(r.transform=a)}return r}var $j=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Ua extends dc{constructor(e){super(zn({style:Ua.defaultStyleProps},e))}isTextStyle(e){return ad(e,"label")}isBackgroundStyle(e){return ad(e,"background")}getTextStyle(e){const t=this.getGraphicStyle(e),{padding:n}=t,i=$j(t,["padding"]);return PA(i,"background")}getBackgroundStyle(e){if(e.background===!1)return!1;const t=this.getGraphicStyle(e),{wordWrap:n,wordWrapWidth:i,padding:a}=t,s=xn(t,"background"),{min:[o,l],center:[c,u],halfExtents:[d,h]}=this.shapeMap.text.getGeometryBounds(),[f,g,p,v]=Fi(a),m=d*2+v+g,{width:y,height:b}=s;y&&b?Object.assign(s,{x:c-Number(y)/2,y:u-Number(b)/2}):Object.assign(s,{x:o-v,y:l-f,width:n?Math.min(m,i+v+g):m,height:h*2+f+p});const{radius:w}=s;if(typeof w=="string"&&w.endsWith("%")){const E=Number(w.replace("%",""))/100;s.radius=Math.min(+s.width,+s.height)*E}return s}render(e=this.parsedAttributes,t=this){this.upsert("text",Ls,this.getTextStyle(e),t),this.upsert("background",Yn,this.getBackgroundStyle(e),t)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}Ua.defaultStyleProps={padding:0,fontSize:12,fontFamily:"system-ui, sans-serif",wordWrap:!0,maxLines:1,wordWrapWidth:128,textOverflow:"...",textBaseline:"middle",backgroundOpacity:.75,backgroundZIndex:-1,backgroundLineWidth:0};class Fo extends dc{constructor(e){super(zn({style:Fo.defaultStyleProps},e))}getBadgeStyle(e){return this.getGraphicStyle(e)}render(e=this.parsedAttributes,t=this){this.upsert("label",Ua,this.getBadgeStyle(e),t)}getGeometryBounds(){const e=this.getShape("label");return(e.getShape("background")||e.getShape("text")).getGeometryBounds()}}Fo.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function qj(r,e=!0){const t=[];return r.forEach((n,i)=>{t.push([i===0?"M":"L",...n])}),e&&t.push(["Z"]),t}const dE={M:["x","y"],m:["dx","dy"],H:["x"],h:["dx"],V:["y"],v:["dy"],L:["x","y"],l:["dx","dy"],Z:[],z:[],C:["x1","y1","x2","y2","x","y"],c:["dx1","dy1","dx2","dy2","dx","dy"],S:["x2","y2","x","y"],s:["dx2","dy2","dx","dy"],Q:["x1","y1","x","y"],q:["dx1","dy1","dx","dy"],T:["x","y"],t:["dx","dy"],A:["rx","ry","rotation","large-arc","sweep","x","y"],a:["rx","ry","rotation","large-arc","sweep","dx","dy"]};function Gj(r){const e=r.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),t=[];let n="",i={};for(;e.length>0;){let a=e.shift();a in dE?n=a:e.unshift(a),i={type:n},dE[n].forEach(l=>{a=e.shift(),i[l]=a}),n==="M"?n="L":n==="m"&&(n="l");const[s,...o]=Object.values(i);t.push([s,...o.map(Number)])}return t}function Wj(r){const e=[];return(typeof r=="string"?Gj(r):r).forEach(n=>{const i=n[0];if(i==="Z"){e.push(e[0]);return}if(i!=="A")for(let a=1;a<n.length;a=a+2)e.push([n[a],n[a+1],0]);else{const a=n.length;e.push([n[a-2],n[a-1],0])}}),e}const DA=r=>{if(r.length<2)return[["M",0,0],["L",0,0]];const e=r[0],t=r[1],n=r[r.length-1],i=r[r.length-2];r.unshift(i,n),r.push(e,t);const a=[["M",n[0],n[1]]];for(let s=1;s<r.length-2;s+=1){const[o,l]=r[s-1],[c,u]=r[s],[d,h]=r[s+1],[f,g]=s!==r.length-2?r[s+2]:[d,h],p=c+(d-o)/6,v=u+(h-l)/6,m=d-(f-c)/6,y=h-(g-u)/6;a.push(["C",p,v,m,y,d,h])}return a};function Vj(r,e,t,n,i,a,s){const[o,l]=Yi(r,e),c={textAlign:e==="left"?"right":e==="right"?"left":"center",textBaseline:e==="top"?"bottom":e==="bottom"?"top":"middle",transform:[["translate",o+t,l+n]]};if(e==="center"||!i)return c;const u=Wj(a);if(!u||u.length<=3)return c;const d=u.map((g,p)=>{const v=g,m=u[(p+1)%u.length];return sn(v,m)?null:[v,m]}).filter(Boolean),h=Cj([o,l],d),f=NA([o,l],h);if(f&&h&&(c.transform=[["translate",f[0]+t,f[1]+n]],s)){const g=Math.atan((h[0][1]-h[1][1])/(h[0][0]-h[1][0]));c.transform.push(["rotate",g/Math.PI*180]),c.textAlign="center",(e==="right"||e==="left")&&(g>0?c.textBaseline=e==="right"?"bottom":"top":c.textBaseline=e==="right"?"top":"bottom")}return c}var Uj=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class hc extends dc{constructor(e){super(zn({style:hc.defaultStyleProps},e))}getLabelStyle(e){if(!e.label||!e.d||e.d.length===0)return!1;const t=xn(this.getGraphicStyle(e),"label"),{maxWidth:n,offsetX:i,offsetY:a,autoRotate:s,placement:o,closeToPath:l}=t,c=Uj(t,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),u=this.shapeMap.key,d=u==null?void 0:u.getRenderBounds();return Object.assign(Vj(d,o,i,a,l,e.d,s),{wordWrapWidth:IA(d,n)},c)}getKeyStyle(e){return this.getGraphicStyle(e)}render(e,t){this.upsert("key",Pr,this.getKeyStyle(e),t),this.upsert("label",Ua,this.getLabelStyle(e),t)}}hc.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function Hj(r){const e=[],t=n=>{n!=null&&n.children.length&&n.children.forEach(i=>{e.push(i),t(i)})};return t(r),e}function Yj(r){const e=[];let t=r.parentNode;for(;t;)e.push(t),t=t.parentNode;return e}let $b=class extends lc{constructor(e){super(e),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},so=this,this.isMutationObserved=!0,this.addEventListener(st.MOUNTED,this.onMounted),this.addEventListener(st.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:e,clipPath:t,width:n=0,height:i=0}=this.attributes;if(e&&n&&i){const[a,s]=this.getBounds().min,o={x:a,y:s,radius:e,width:n,height:i};if(t)Object.assign(this.parsedStyle.clipPath.style,o);else{const l=new Yn({style:o});this.style.clipPath=l}}else t&&(this.style.clipPath=null)}};const C1=new WeakMap;let so=null;const qb=r=>{if(so&&Yj(so).includes(r)){const e=C1.get(r);e?e.includes(so)||e.push(so):C1.set(r,[so])}},Gb=r=>{const e=C1.get(r);e&&e.forEach(t=>t.handleRadius())};class FA extends dc{constructor(e){super(e)}isImage(){const{src:e}=this.attributes;return!!e}getIconStyle(e=this.attributes){const{width:t=0,height:n=0}=e,i=this.getGraphicStyle(e);return this.isImage()?Object.assign({x:-t/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(e=this.attributes,t=this){this.upsert("icon",this.isImage()?$b:Ls,this.getIconStyle(e),t)}}class BA extends dc{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(e,t){const n=super.animate(e,t);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var ru=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class fi extends BA{constructor(e){super(zn({style:fi.defaultStyleProps},e)),this.type="node"}getSize(e=this.attributes){const{size:t}=e;return Ir(t)}getKeyStyle(e){const t=this.getGraphicStyle(e);return Object.assign(PA(t,["label","halo","icon","badge","port"]))}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=xn(this.getGraphicStyle(e),"label"),{placement:n,maxWidth:i,offsetX:a,offsetY:s}=t,o=ru(t,["placement","maxWidth","offsetX","offsetY"]),l=this.getShape("key").getLocalBounds();return Object.assign(TE(l,n,a,s),{wordWrapWidth:IA(l,i)},o)}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),{fill:n}=t,i=ru(t,["fill"]),a=xn(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign(Object.assign({},i),{stroke:n}),a)}getIconStyle(e){if(e.icon===!1||!e.iconText&&!e.iconSrc)return!1;const t=xn(this.getGraphicStyle(e),"icon");return Object.assign(Bj(e.size,t),t)}getBadgesStyle(e){var t;const n=O1(this.shapeMap,"badge-"),i={};if(Object.keys(n).forEach(d=>{i[d]=!1}),e.badge===!1||!(!((t=e.badges)===null||t===void 0)&&t.length))return i;const{badges:a=[],badgePalette:s,opacity:o=1}=e,l=ru(e,["badges","badgePalette","opacity"]),c=RA(s),u=xn(this.getGraphicStyle(l),"badge");return a.forEach((d,h)=>{i[h]=Object.assign(Object.assign({backgroundFill:c?c[h%(c==null?void 0:c.length)]:void 0,opacity:o},u),this.getBadgeStyle(d))}),i}getBadgeStyle(e){const t=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:a}=e,s=ru(e,["placement","offsetX","offsetY"]),o=TE(t.getLocalBounds(),n,i,a,!0);return Object.assign(Object.assign({},o),s)}getPortsStyle(e){var t;const n=this.getPorts(),i={};if(Object.keys(n).forEach(o=>{i[o]=!1}),e.port===!1||!(!((t=e.ports)===null||t===void 0)&&t.length))return i;const a=xn(this.getGraphicStyle(e),"port"),{ports:s=[]}=e;return s.forEach((o,l)=>{const c=o.key||l,u=Object.assign(Object.assign({},a),o);if(aP(u))i[c]=!1;else{const[d,h]=this.getPortXY(e,o);i[c]=Object.assign({transform:[["translate",d,h]]},u)}}),i}getPortXY(e,t){const{placement:n="left"}=t,i=this.getShape("key");return Yb(Kj(this.context,i),n)}getPorts(){return O1(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Tj(e,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e),i=this.getShape("key");this.upsert("halo",i.constructor,n,t)}drawIconShape(e,t){const n=this.getIconStyle(e);this.upsert("icon",FA,n,t),qb(this)}drawBadgeShapes(e,t){const n=this.getBadgesStyle(e);Object.keys(n).forEach(i=>{const a=n[i];this.upsert(`badge-${i}`,Fo,a,t)})}drawPortShapes(e,t){const n=this.getPortsStyle(e);Object.keys(n).forEach(i=>{const a=n[i],s=`port-${i}`;this.upsert(s,sa,a,t)})}drawLabelShape(e,t){const n=this.getLabelStyle(e);this.upsert("label",Ua,n,t)}_drawKeyShape(e,t){return this.drawKeyShape(e,t)}render(e=this.parsedAttributes,t=this){this._drawKeyShape(e,t),this.getShape("key")&&(this.drawHaloShape(e,t),this.drawIconShape(e,t),this.drawBadgeShapes(e,t),this.drawLabelShape(e,t),this.drawPortShapes(e,t))}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&Gb(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}fi.defaultStyleProps={x:0,y:0,size:32,droppable:!0,draggable:!0,port:!0,ports:[],portZIndex:2,portLinkToCenter:!1,badge:!0,badges:[],badgeZIndex:3,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloStrokeOpacity:.25,haloPointerEvents:"none",haloZIndex:-1,icon:!0,iconZIndex:1,label:!0,labelIsBillboard:!0,labelMaxWidth:"200%",labelPlacement:"bottom",labelWordWrap:!1,labelZIndex:0};function Kj(r,e){if(!r)return e.getLocalBounds();const t=r.canvas.getLayer(),n=e.cloneNode();_s(n,"hidden"),t.appendChild(n);const i=n.getLocalBounds();return n.destroy(),i}let fc=class zA extends fi{constructor(e){super(zn({style:zA.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",sa,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{r:Math.min(...this.getSize(e))/2})}getIconStyle(e){const t=super.getIconStyle(e),{r:n}=this.getShape("key").attributes,i=n*2*ra;return t?Object.assign({width:i,height:i},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Cd(e,n,t)}};fc.defaultStyleProps={size:32};class Ad extends fi{constructor(e){super(e)}get parsedAttributes(){return this.attributes}drawKeyShape(e,t){return this.upsert("key",Rs,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{points:this.getPoints(e)})}getIntersectPoint(e,t=!1){var n,i;const{points:a}=this.getShape("key").attributes,s=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return CA(e,s,a,!0,t).point}}class Xj extends Ad{constructor(e){super(e)}getPoints(e){const[t,n]=this.getSize(e);return R$(t,n)}}var Zj=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Pd extends fc{constructor(e){super(zn({style:Pd.defaultStyleProps},e))}parseOuterR(){const{size:e}=this.parsedAttributes;return Math.min(...Ir(e))/2}parseInnerR(){const{innerR:e}=this.parsedAttributes;return gt(e)?parseInt(e)/100*this.parseOuterR():e}drawDonutShape(e,t){const{donuts:n}=e;if(!(n!=null&&n.length))return;const i=n.map(d=>Ce(d)?{value:d}:d),a=xn(this.getGraphicStyle(e),"donut"),s=RA(e.donutPalette);if(!s)return;const o=i.reduce((d,h)=>{var f;return d+((f=h.value)!==null&&f!==void 0?f:0)},0),l=this.parseOuterR(),c=this.parseInnerR();let u=0;i.forEach((d,h)=>{const{value:f=0,color:g=s[h%s.length]}=d,p=Zj(d,["value","color"]),v=(o===0?1/i.length:f/o)*360;this.upsert(`round${h}`,Pr,Object.assign(Object.assign(Object.assign({},a),{d:e8(l,c,u,u+v),fill:g}),p),t),u+=v})}render(e,t=this){super.render(e,t),this.drawDonutShape(e,t)}}Pd.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const iu=(r,e,t,n)=>[r+Math.sin(n)*t,e-Math.cos(n)*t],Jj=(r,e,t,n)=>n<=0||t<=n?[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"]]:[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"],["M",r+n,e],["A",n,n,0,1,0,r-n,e],["A",n,n,0,1,0,r+n,e],["Z"]],Qj=(r,e,t,n,i,a)=>{const[s,o]=[i/360*2*Math.PI,a/360*2*Math.PI],l=[iu(r,e,n,s),iu(r,e,t,s),iu(r,e,t,o),iu(r,e,n,o)],c=o-s>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",t,t,0,c,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",n,n,0,c,0,l[0][0],l[0][1]],["Z"]]},e8=(r=0,e=0,t,n)=>{const[i,a]=[0,0];return Math.abs(t-n)%360<1e-6?Jj(i,a,r,e):Qj(i,a,r,e,t,n)};class Rd extends fi{constructor(e){super(zn({style:Rd.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",sc,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getSize(e);return Object.assign(Object.assign({},t),{rx:n/2,ry:i/2})}getIconStyle(e){const t=super.getIconStyle(e),{rx:n,ry:i}=this.getShape("key").attributes,a=Math.min(+n,+i)*2*ra;return t?Object.assign({width:a,height:a},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Cd(e,n,t)}}Rd.defaultStyleProps={size:[45,35]};class t8 extends Ad{constructor(e){super(e)}getOuterR(e){return e.outerR||Math.min(...this.getSize(e))/2}getPoints(e){return D$(this.getOuterR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getOuterR(e)*ra;return t?Object.assign({width:n,height:n},t):!1}}/*!
|
|
282
|
+
* @antv/g-plugin-canvas-path-generator
|
|
283
|
+
* @description A G plugin of path generator with Canvas2D API
|
|
284
|
+
* @version 2.1.16
|
|
285
|
+
* @date 1/23/2025, 8:32:57 AM
|
|
286
|
+
* @author AntVis
|
|
287
|
+
* @docs https://g.antv.antgroup.com/
|
|
288
|
+
*/function n8(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.r;r.arc(n,a,s,0,Math.PI*2,!1)}function r8(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.rx,o=e.ry;if(r.ellipse)r.ellipse(n,a,s,o,0,0,Math.PI*2,!1);else{var l=s>o?s:o,c=s>o?1:s/o,u=s>o?o/s:1;r.save(),r.scale(c,u),r.arc(n,a,l,0,Math.PI*2)}}function i8(r,e){var t=e.x1,n=e.y1,i=e.x2,a=e.y2,s=e.markerStart,o=e.markerEnd,l=e.markerStartOffset,c=e.markerEndOffset,u=0,d=0,h=0,f=0,g=0,p,v;s&&ft(s)&&l&&(p=i-t,v=a-n,g=Math.atan2(v,p),u=Math.cos(g)*(l||0),d=Math.sin(g)*(l||0)),o&&ft(o)&&c&&(p=t-i,v=n-a,g=Math.atan2(v,p),h=Math.cos(g)*(c||0),f=Math.sin(g)*(c||0)),r.moveTo(t+u,n+d),r.lineTo(i+h,a+f)}function a8(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.d,o=s.absolutePath,l=s.segments,c=0,u=0,d=0,h=0,f=0,g,p;if(t&&ft(t)&&i){var v=t.parentNode.getStartTangent(),m=Xe(v,2),y=m[0],b=m[1];g=y[0]-b[0],p=y[1]-b[1],f=Math.atan2(p,g),c=Math.cos(f)*(i||0),u=Math.sin(f)*(i||0)}if(n&&ft(n)&&a){var w=n.parentNode.getEndTangent(),E=Xe(w,2),_=E[0],O=E[1];g=_[0]-O[0],p=_[1]-O[1],f=Math.atan2(p,g),d=Math.cos(f)*(a||0),h=Math.sin(f)*(a||0)}for(var M=0;M<o.length;M++){var N=o[M],A=N[0],P=o[M+1],L=M===0&&(c!==0||u!==0),I=(M===o.length-1||P&&(P[0]==="M"||P[0]==="Z"))&&d!==0&&h!==0,G=L?[c,u]:[0,0],H=Xe(G,2),Y=H[0],W=H[1],q=I?[d,h]:[0,0],Q=Xe(q,2),re=Q[0],de=Q[1];switch(A){case"M":r.moveTo(N[1]+Y,N[2]+W);break;case"L":r.lineTo(N[1]+re,N[2]+de);break;case"Q":r.quadraticCurveTo(N[1],N[2],N[3]+re,N[4]+de);break;case"C":r.bezierCurveTo(N[1],N[2],N[3],N[4],N[5]+re,N[6]+de);break;case"A":{var oe=l[M].arcParams,he=oe.cx,X=oe.cy,U=oe.rx,ne=oe.ry,ue=oe.startAngle,Me=oe.endAngle,Be=oe.xRotation,Ve=oe.sweepFlag;if(r.ellipse)r.ellipse(he,X,U,ne,Be,ue,Me,!!(1-Ve));else{var Dt=U>ne?U:ne,on=U>ne?1:U/ne,_t=U>ne?ne/U:1;r.translate(he,X),r.rotate(Be),r.scale(on,_t),r.arc(0,0,Dt,ue,Me,!!(1-Ve)),r.scale(1/on,1/_t),r.rotate(-Be),r.translate(-he,-X)}I&&r.lineTo(N[6]+d,N[7]+h);break}case"Z":r.closePath();break}}}function s8(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],c=s[0][1],u=s[o-1][0],d=s[o-1][1],h=0,f=0,g=0,p=0,v=0,m,y;t&&ft(t)&&i&&(m=s[1][0]-s[0][0],y=s[1][1]-s[0][1],v=Math.atan2(y,m),h=Math.cos(v)*(i||0),f=Math.sin(v)*(i||0)),n&&ft(n)&&a&&(m=s[o-1][0]-s[0][0],y=s[o-1][1]-s[0][1],v=Math.atan2(y,m),g=Math.cos(v)*(a||0),p=Math.sin(v)*(a||0)),r.moveTo(l+(h||g),c+(f||p));for(var b=1;b<o-1;b++){var w=s[b];r.lineTo(w[0],w[1])}r.lineTo(u,d)}function o8(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],c=s[0][1],u=s[o-1][0],d=s[o-1][1],h=0,f=0,g=0,p=0,v=0,m,y;t&&ft(t)&&i&&(m=s[1][0]-s[0][0],y=s[1][1]-s[0][1],v=Math.atan2(y,m),h=Math.cos(v)*(i||0),f=Math.sin(v)*(i||0)),n&&ft(n)&&a&&(m=s[o-2][0]-s[o-1][0],y=s[o-2][1]-s[o-1][1],v=Math.atan2(y,m),g=Math.cos(v)*(a||0),p=Math.sin(v)*(a||0)),r.moveTo(l+h,c+f);for(var b=1;b<o-1;b++){var w=s[b];r.lineTo(w[0],w[1])}r.lineTo(u+g,d+p)}function l8(r,e){var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,s=e.radius,o=e.width,l=e.height,c=o,u=l,d=s&&s.some(function(E){return E!==0});if(!d)r.rect(n,a,c,u);else{var h=o>0?1:-1,f=l>0?1:-1,g=h+f===0,p=s.map(function(E){return an(E,0,Math.min(Math.abs(c)/2,Math.abs(u)/2))}),v=Xe(p,4),m=v[0],y=v[1],b=v[2],w=v[3];r.moveTo(h*m+n,a),r.lineTo(c-h*y+n,a),y!==0&&r.arc(c-h*y+n,f*y+a,y,-f*Math.PI/2,h>0?0:Math.PI,g),r.lineTo(c+n,u-f*b+a),b!==0&&r.arc(c-h*b+n,u-f*b+a,b,h>0?0:Math.PI,f>0?Math.PI/2:1.5*Math.PI,g),r.lineTo(h*w+n,u+a),w!==0&&r.arc(h*w+n,u-f*w+a,w,f>0?Math.PI/2:-Math.PI/2,h>0?Math.PI:0,g),r.lineTo(n,f*m+a),m!==0&&r.arc(h*m+n,f*m+a,m,h>0?Math.PI:0,f>0?Math.PI*1.5:Math.PI/2,g)}}var c8=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.name="canvas-path-generator",t}return nt(e,r),ve(e,[{key:"init",value:function(){var n,i=(n={},Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(n,le.CIRCLE,n8),le.ELLIPSE,r8),le.RECT,l8),le.LINE,i8),le.POLYLINE,o8),le.POLYGON,s8),le.PATH,a8),le.TEXT,void 0),le.GROUP,void 0),le.IMAGE,void 0),Pe(Pe(Pe(n,le.HTML,void 0),le.MESH,void 0),le.FRAGMENT,void 0));this.context.pathGeneratorFactory=i}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(Ga);/*!
|
|
289
|
+
* @antv/g-plugin-canvas-picker
|
|
290
|
+
* @description A G plugin for picking in canvas
|
|
291
|
+
* @version 2.1.18
|
|
292
|
+
* @date 1/23/2025, 8:35:03 AM
|
|
293
|
+
* @author AntVis
|
|
294
|
+
* @docs https://g.antv.antgroup.com/
|
|
295
|
+
*/var u8=ct(),d8=ct(),h8=ct(),f8=Pt(),jA=function(){function r(){var e=this;ge(this,r),this.isHit=function(t,n,i,a){var s=e.context.pointInPathPickerFactory[t.nodeName];if(s){var o=Ti(f8,i),l=ir(d8,nr(h8,n[0],n[1],0),o);if(s(t,new Vn(l[0],l[1]),a,e.isPointInPath,e.context,e.runtime))return!0}return!1},this.isPointInPath=function(t,n){var i=e.runtime.offscreenCanvasCreator.getOrCreateContext(e.context.config.offscreenCanvas),a=e.context.pathGeneratorFactory[t.nodeName];return a&&(i.beginPath(),a(i,t.parsedStyle),i.closePath()),i.isPointInPath(n.x,n.y)}}return ve(r,[{key:"apply",value:function(t,n){var i,a=this,s=t.renderingService,o=t.renderingContext;this.context=t,this.runtime=n;var l=(i=o.root)===null||i===void 0?void 0:i.ownerDocument;s.hooks.pick.tapPromise(r.tag,function(){var c=ja(Hn().mark(function u(d){return Hn().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return f.abrupt("return",a.pick(l,d));case 1:case"end":return f.stop()}},u)}));return function(u){return c.apply(this,arguments)}}()),s.hooks.pickSync.tap(r.tag,function(c){return a.pick(l,c)})}},{key:"pick",value:function(t,n){var i=n.topmost,a=n.position,s=a.x,o=a.y,l=nr(u8,s,o,0),c=t.elementsFromBBox(l[0],l[1],l[0],l[1]),u=[],d=as(c),h;try{for(d.s();!(h=d.n()).done;){var f=h.value,g=f.getWorldTransform(),p=this.isHit(f,l,g,!1);if(p){var v=qN(f);if(v){var m=v.parsedStyle.clipPath,y=this.isHit(m,l,m.getWorldTransform(),!0);if(y){if(i)return n.picked=[f],n;u.push(f)}}else{if(i)return n.picked=[f],n;u.push(f)}}}}catch(b){d.e(b)}finally{d.f()}return n.picked=u,n}}])}();jA.tag="CanvasPicker";function g8(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.r,c=n.fill,u=n.stroke,d=n.lineWidth,h=d===void 0?1:d,f=n.increasedLineWidthForHitTesting,g=f===void 0?0:f,p=n.pointerEvents,v=p===void 0?"auto":p,m=(h+g)/2,y=Qi(a,o,e.x,e.y),b=Ps(v,c,u),w=Xe(b,2),E=w[0],_=w[1];return E&&_||t?y<=l+m:E?y<=l:_?y>=l-m&&y<=l+m:!1}function au(r,e,t,n){return r/(t*t)+e/(n*n)}function v8(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.rx,c=n.ry,u=n.fill,d=n.stroke,h=n.lineWidth,f=h===void 0?1:h,g=n.increasedLineWidthForHitTesting,p=g===void 0?0:g,v=n.pointerEvents,m=v===void 0?"auto":v,y=e.x,b=e.y,w=Ps(m,u,d),E=Xe(w,2),_=E[0],O=E[1],M=(f+p)/2,N=(y-a)*(y-a),A=(b-o)*(b-o);return _&&O||t?au(N,A,l+M,c+M)<=1:_?au(N,A,l,c)<=1:O?au(N,A,l-M,c-M)>=1&&au(N,A,l+M,c+M)<=1:!1}function cs(r,e,t,n,i,a){return i>=r&&i<=r+t&&a>=e&&a<=e+n}function p8(r,e,t,n,i,a,s){var o=i/2;return cs(r-o,e-o,t,i,a,s)||cs(r+t-o,e-o,i,n,a,s)||cs(r+o,e+n-o,t,i,a,s)||cs(r-o,e+o,i,n,a,s)}function su(r,e,t,n,i,a,s,o){var l=(Math.atan2(o-e,s-r)+Math.PI*2)%(Math.PI*2),c={x:r+t*Math.cos(l),y:e+t*Math.sin(l)};return Qi(c.x,c.y,s,o)<=a/2}function Ca(r,e,t,n,i,a,s){var o=Math.min(r,t),l=Math.max(r,t),c=Math.min(e,n),u=Math.max(e,n),d=i/2;return a>=o-d&&a<=l+d&&s>=c-d&&s<=u+d?sF(r,e,t,n,a,s)<=i/2:!1}function $A(r,e,t,n,i){var a=r.length;if(a<2)return!1;for(var s=0;s<a-1;s++){var o=r[s][0],l=r[s][1],c=r[s+1][0],u=r[s+1][1];if(Ca(o,l,c,u,e,t,n))return!0}if(i){var d=r[0],h=r[a-1];if(Ca(d[0],d[1],h[0],h[1],e,t,n))return!0}return!1}var m8=1e-6;function Bf(r){return Math.abs(r)<m8?0:r<0?-1:1}function y8(r,e,t){return(t[0]-r[0])*(e[1]-r[1])===(e[0]-r[0])*(t[1]-r[1])&&Math.min(r[0],e[0])<=t[0]&&t[0]<=Math.max(r[0],e[0])&&Math.min(r[1],e[1])<=t[1]&&t[1]<=Math.max(r[1],e[1])}function qA(r,e,t){var n=!1,i=r.length;if(i<=2)return!1;for(var a=0;a<i;a++){var s=r[a],o=r[(a+1)%i];if(y8(s,o,[e,t]))return!0;Bf(s[1]-t)>0!=Bf(o[1]-t)>0&&Bf(e-(t-s[1])*(s[0]-o[0])/(s[1]-o[1])-s[0])<0&&(n=!n)}return n}function hE(r,e,t){for(var n=!1,i=0;i<r.length;i++){var a=r[i];if(n=qA(a,e,t),n)break}return n}function b8(r,e,t){var n=r.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2,l=n.lineWidth,c=l===void 0?1:l,u=n.increasedLineWidthForHitTesting,d=u===void 0?0:u,h=n.pointerEvents,f=h===void 0?"auto":h,g=n.fill,p=n.stroke,v=Ps(f,g,p),m=Xe(v,2),y=m[1];return!y&&!t||!c?!1:Ca(i,a,s,o,c+d,e.x,e.y)}function x8(r,e,t,n,i){for(var a=!1,s=e/2,o=0;o<r.length;o++){var l=r[o],c=l.currentPoint,u=l.params,d=l.prePoint,h=l.box;if(!(h&&!cs(h.x-s,h.y-s,h.width+e,h.height+e,t,n)))switch(l.command){case"L":case"Z":if(a=Ca(d[0],d[1],c[0],c[1],e,t,n),a)return!0;break;case"Q":var f=fF(d[0],d[1],u[1],u[2],u[3],u[4],t,n);if(a=f<=e/2,a)return!0;break;case"C":var g=gw(d[0],d[1],u[1],u[2],u[3],u[4],u[5],u[6],t,n,i);if(a=g<=e/2,a)return!0;break;case"A":l.cubicParams||(l.cubicParams=xb(d[0],d[1],u[1],u[2],u[3],u[4],u[5],u[6],u[7],void 0));for(var p=l.cubicParams,v=d,m=0;m<p.length;m+=6){var y=gw(v[0],v[1],p[m],p[m+1],p[m+2],p[m+3],p[m+4],p[m+5],t,n,i);if(v=[p[m+4],p[m+5]],a=y<=e/2,a)return!0}break}}return a}function w8(r,e,t,n,i,a){var s=r.parsedStyle,o=s.lineWidth,l=o===void 0?1:o,c=s.increasedLineWidthForHitTesting,u=c===void 0?0:c,d=s.stroke,h=s.fill,f=s.d,g=s.pointerEvents,p=g===void 0?"auto":g,v=f.segments,m=f.hasArc,y=f.polylines,b=f.polygons,w=Ps(p,(b==null?void 0:b.length)&&h,d),E=Xe(w,2),_=E[0],O=E[1],M=y1(r),N=!1;return _||t?(m?N=n(r,e):N=hE(b,e.x,e.y)||hE(y,e.x,e.y),N):((O||t)&&(N=x8(v,l+u,e.x,e.y,M)),N)}function E8(r,e,t){var n=r.parsedStyle,i=n.stroke,a=n.fill,s=n.lineWidth,o=s===void 0?1:s,l=n.increasedLineWidthForHitTesting,c=l===void 0?0:l,u=n.points,d=n.pointerEvents,h=d===void 0?"auto":d,f=Ps(h,a,i),g=Xe(f,2),p=g[0],v=g[1],m=!1;return(v||t)&&(m=$A(u.points,o+c,e.x,e.y,!0)),!m&&(p||t)&&(m=qA(u.points,e.x,e.y)),m}function S8(r,e,t){var n=r.parsedStyle,i=n.lineWidth,a=i===void 0?1:i,s=n.increasedLineWidthForHitTesting,o=s===void 0?0:s,l=n.points,c=n.pointerEvents,u=c===void 0?"auto":c,d=n.fill,h=n.stroke,f=Ps(u,d,h),g=Xe(f,2),p=g[1];return!p&&!t||!a?!1:$A(l.points,a+o,e.x,e.y,!1)}function _8(r,e,t,n,i){var a=r.parsedStyle,s=a.radius,o=a.fill,l=a.stroke,c=a.lineWidth,u=c===void 0?1:c,d=a.increasedLineWidthForHitTesting,h=d===void 0?0:d,f=a.x,g=f===void 0?0:f,p=a.y,v=p===void 0?0:p,m=a.width,y=a.height,b=a.pointerEvents,w=b===void 0?"auto":b,E=Ps(w,o,l),_=Xe(E,2),O=_[0],M=_[1],N=s&&s.some(function(I){return I!==0}),A=u+h;if(N){var L=!1;return(M||t)&&(L=k8(g,v,m,y,s.map(function(I){return an(I,0,Math.min(Math.abs(m)/2,Math.abs(y)/2))}),A,e.x,e.y)),!L&&(O||t)&&(L=n(r,e)),L}else{var P=A/2;if(O&&M||t)return cs(g-P,v-P,m+P,y+P,e.x,e.y);if(O)return cs(g,v,m,y,e.x,e.y);if(M)return p8(g,v,m,y,A,e.x,e.y)}return!1}function k8(r,e,t,n,i,a,s,o){var l=Xe(i,4),c=l[0],u=l[1],d=l[2],h=l[3];return Ca(r+c,e,r+t-u,e,a,s,o)||Ca(r+t,e+u,r+t,e+n-d,a,s,o)||Ca(r+t-d,e+n,r+h,e+n,a,s,o)||Ca(r,e+n-h,r,e+c,a,s,o)||su(r+t-u,e+u,u,1.5*Math.PI,2*Math.PI,a,s,o)||su(r+t-d,e+n-d,d,0,.5*Math.PI,a,s,o)||su(r+h,e+n-h,h,.5*Math.PI,Math.PI,a,s,o)||su(r+c,e+c,c,Math.PI,1.5*Math.PI,a,s,o)}function M8(r,e,t,n,i,a){var s=r.parsedStyle,o=s.pointerEvents,l=o===void 0?"auto":o,c=s.x,u=c===void 0?0:c,d=s.y,h=d===void 0?0:d,f=s.width,g=s.height;if(l==="non-transparent-pixel"){var p=i.config.offscreenCanvas,v=a.offscreenCanvasCreator.getOrCreateCanvas(p),m=a.offscreenCanvasCreator.getOrCreateContext(p,{willReadFrequently:!0});v.width=f,v.height=g,i.defaultStyleRendererFactory[le.IMAGE].render(m,et(et({},r.parsedStyle),{},{x:0,y:0}),r,void 0,void 0,void 0);var y=m.getImageData(e.x-u,e.y-h,1,1).data;return y.every(function(b){return b!==0})}return!0}function T8(r,e,t,n){var i=r.getGeometryBounds();return e.x>=i.min[0]&&e.y>=i.min[1]&&e.x<=i.max[0]&&e.y<=i.max[1]}var O8=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.name="canvas-picker",t}return nt(e,r),ve(e,[{key:"init",value:function(){var n,i=(n={},Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(n,le.CIRCLE,g8),le.ELLIPSE,v8),le.RECT,_8),le.LINE,b8),le.POLYLINE,S8),le.POLYGON,E8),le.PATH,w8),le.TEXT,T8),le.GROUP,null),le.IMAGE,M8),Pe(Pe(n,le.HTML,null),le.MESH,null));this.context.pointInPathPickerFactory=i,this.addRenderingPlugin(new jA)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(Ga);function bi(r,e){if(!{}.hasOwnProperty.call(r,e))throw new TypeError("attempted to use private field on non-instance");return r}var C8=0;function N8(r){return"__private_"+C8+++"_"+r}/*!
|
|
296
|
+
* @antv/g-plugin-image-loader
|
|
297
|
+
* @description A G plugin for loading image
|
|
298
|
+
* @version 2.1.18
|
|
299
|
+
* @date 1/23/2025, 8:33:24 AM
|
|
300
|
+
* @author AntVis
|
|
301
|
+
* @docs https://g.antv.antgroup.com/
|
|
302
|
+
*/var A8=function(){function r(){ge(this,r),this.cacheStore=new Map}return ve(r,[{key:"onRefAdded",value:function(t){}},{key:"has",value:function(t){return this.cacheStore.has(t)}},{key:"put",value:function(t,n,i){return this.cacheStore.has(t)?!1:(this.cacheStore.set(t,{value:n,counter:new Set([i])}),this.onRefAdded(i),!0)}},{key:"get",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.has(n)||(i.counter.add(n),this.onRefAdded(n)),i.value):null}},{key:"update",value:function(t,n,i){var a=this.cacheStore.get(t);return a?(a.value=et(et({},a.value),n),a.counter.has(i)||(a.counter.add(i),this.onRefAdded(i)),!0):!1}},{key:"release",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.delete(n),i.counter.size<=0&&this.cacheStore.delete(t),!0):!1}},{key:"releaseRef",value:function(t){var n=this;Array.from(this.cacheStore.keys()).forEach(function(i){n.release(i,t)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),zf=[],jf=[],N1=function(){function r(){ge(this,r)}return ve(r,null,[{key:"stop",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;r.rafId&&(t.cancelAnimationFrame(r.rafId),r.rafId=null)}},{key:"executeTask",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;zf.length<=0&&jf.length<=0||(jf.forEach(function(n){return n()}),jf=zf.splice(0,r.TASK_NUM_PER_FRAME),r.rafId=t.requestAnimationFrame(function(){r.executeTask(t)}))}},{key:"sliceImage",value:function(t,n,i,a){for(var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:r.api,l=t.naturalWidth||t.width,c=t.naturalHeight||t.height,u=n-s,d=i-s,h=Math.ceil(l/u),f=Math.ceil(c/d),g={tileSize:[n,i],gridSize:[f,h],tiles:Array(f).fill(null).map(function(){return Array(h).fill(null)})},p=function(y){for(var b=function(_){zf.push(function(){var O=_*u,M=y*d,N=[Math.min(n,l-O),Math.min(i,c-M)],A=N[0],P=N[1],L=o.createCanvas();L.width=n,L.height=i;var I=L.getContext("2d");I.drawImage(t,O,M,A,P,0,0,A,P),g.tiles[y][_]={x:O,y:M,tileX:_,tileY:y,data:L},a()})},w=0;w<h;w++)b(w)},v=0;v<f;v++)p(v);return r.stop(),r.executeTask(),g}}])}();N1.TASK_NUM_PER_FRAME=10;var Tr=new A8;Tr.onRefAdded=function(e){var t=this;e.addEventListener(st.DESTROY,function(){t.releaseRef(e)},{once:!0})};var Wb=function(){function r(e,t){ge(this,r),this.gradientCache={},this.patternCache={},this.context=e,this.runtime=t}return ve(r,[{key:"getImageSync",value:function(t,n,i){var a=gt(t)?t:t.src;if(Tr.has(a)){var s=Tr.get(a,n);if(s.img.complete)return i==null||i(s),s}return this.getOrCreateImage(t,n).then(function(o){i==null||i(o)}).catch(function(){}),null}},{key:"getOrCreateImage",value:function(t,n){var i=this,a=gt(t)?t:t.src;if(!gt(t)&&!Tr.has(a)){var s={img:t,size:[t.naturalWidth||t.width,t.naturalHeight||t.height],tileSize:ou(t)};Tr.put(a,s,n)}if(Tr.has(a)){var o=Tr.get(a,n);return o.img.complete?Promise.resolve(o):new Promise(function(l,c){o.img.addEventListener("load",function(){o.size=[o.img.naturalWidth||o.img.width,o.img.naturalHeight||o.img.height],o.tileSize=ou(o.img),l(o)}),o.img.addEventListener("error",function(u){c(u)})})}return new Promise(function(l,c){var u=i.context.config.createImage();if(u){var d={img:u,size:[0,0],tileSize:ou(u)};Tr.put(a,d,n),u.onload=function(){d.size=[u.naturalWidth||u.width,u.naturalHeight||u.height],d.tileSize=ou(d.img),l(d)},u.onerror=function(h){c(h)},u.crossOrigin="Anonymous",u.src=a}})}},{key:"createDownSampledImage",value:function(){var e=ja(Hn().mark(function n(i,a){var s,o,l,c,u,d,h,f,g,p,v,m,y,b;return Hn().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return E.next=2,this.getOrCreateImage(i,a);case 2:if(s=E.sent,!(typeof s.downSamplingRate<"u")){E.next=5;break}return E.abrupt("return",s);case 5:if(o=this.context.config.enableLargeImageOptimization,l=typeof o=="boolean"?{}:o,c=l.maxDownSampledImageSize,u=c===void 0?2048:c,d=l.downSamplingRateThreshold,h=d===void 0?.5:d,f=this.runtime.globalThis.createImageBitmap,g=Xe(s.size,2),p=g[0],v=g[1],m=s.img,y=Math.min((u+u)/(p+v),Math.max(.01,Math.min(h,.5))),b=et(et({},s),{},{downSamplingRate:y}),Tr.update(s.img.src,b,a),!f){E.next=25;break}return E.prev=14,E.next=17,f(s.img,{resizeWidth:p*y,resizeHeight:v*y});case 17:m=E.sent,E.next=23;break;case 20:E.prev=20,E.t0=E.catch(14),y=1;case 23:E.next=26;break;case 25:y=1;case 26:return b=et(et({},this.getImageSync(i,a)),{},{downSampled:m,downSamplingRate:y}),Tr.update(s.img.src,b,a),E.abrupt("return",b);case 29:case"end":return E.stop()}},n,this,[[14,20]])}));function t(n,i){return e.apply(this,arguments)}return t}()},{key:"createImageTiles",value:function(){var e=ja(Hn().mark(function n(i,a,s,o){var l,c,u,d,h;return Hn().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return g.next=2,this.getOrCreateImage(i,o);case 2:return l=g.sent,c=o.ownerDocument.defaultView,u=c.requestAnimationFrame,d=c.cancelAnimationFrame,N1.api={requestAnimationFrame:u,cancelAnimationFrame:d,createCanvas:function(){return Ob.createCanvas()}},h=et(et({},l),N1.sliceImage(l.img,l.tileSize[0],l.tileSize[0],s)),Tr.update(l.img.src,h,o),g.abrupt("return",h);case 8:case"end":return g.stop()}},n,this)}));function t(n,i,a,s){return e.apply(this,arguments)}return t}()},{key:"releaseImage",value:function(t,n){Tr.release(gt(t)?t:t.src,n)}},{key:"releaseImageRef",value:function(t){Tr.releaseRef(t)}},{key:"getOrCreatePatternSync",value:function(t,n,i,a,s,o,l){var c=this.generatePatternKey(n);if(c&&this.patternCache[c])return this.patternCache[c];var u=n.image,d=n.repetition,h=n.transform,f,g=!1;if(gt(u)){var p=this.getImageSync(u,t,l);f=p==null?void 0:p.img}else a?(f=a,g=!0):f=u;var v=f&&i.createPattern(f,d);if(v){var m;h?m=HN(BN(h),new qt({})):m=Ba(Pt()),g&&qC(m,m,[1/s,1/s,1]),v.setTransform({a:m[0],b:m[1],c:m[4],d:m[5],e:m[12]+o[0],f:m[13]+o[1]})}return c&&v&&(this.patternCache[c]=v),v}},{key:"getOrCreateGradient",value:function(t,n){var i=this.generateGradientKey(t),a=t.type,s=t.steps,o=t.min,l=t.width,c=t.height,u=t.angle,d=t.cx,h=t.cy,f=t.size;if(this.gradientCache[i])return this.gradientCache[i];var g=null;if(a===Ma.LinearGradient){var p=lB(o,l,c,u),v=p.x1,m=p.y1,y=p.x2,b=p.y2;g=n.createLinearGradient(v,m,y,b)}else if(a===Ma.RadialGradient){var w=cB(o,l,c,d,h,f),E=w.x,_=w.y,O=w.r;g=n.createRadialGradient(E,_,0,E,_,O)}return g&&(s.forEach(function(M){var N=M.offset,A=M.color;if(N.unit===ke.kPercentage){var P;(P=g)===null||P===void 0||P.addColorStop(N.value/100,A.toString())}}),this.gradientCache[i]=g),this.gradientCache[i]}},{key:"generateGradientKey",value:function(t){var n=t.type,i=t.min,a=t.width,s=t.height,o=t.steps,l=t.angle,c=t.cx,u=t.cy,d=t.size;return"gradient-".concat(n,"-").concat((l==null?void 0:l.toString())||0,"-").concat((c==null?void 0:c.toString())||0,"-").concat((u==null?void 0:u.toString())||0,"-").concat((d==null?void 0:d.toString())||0,"-").concat(i[0],"-").concat(i[1],"-").concat(a,"-").concat(s,"-").concat(o.map(function(h){var f=h.offset,g=h.color;return"".concat(f).concat(g)}).join("-"))}},{key:"generatePatternKey",value:function(t){var n=t.image,i=t.repetition;if(gt(n))return"pattern-".concat(n,"-").concat(i);if(n.nodeName==="rect")return"pattern-".concat(n.entity,"-").concat(i)}}])}();Wb.isSupportTile=!!Ob.createCanvas();function ou(r){if(!r.complete)return[0,0];var e=r.naturalWidth||r.width,t=r.naturalHeight||r.height,n=256;return[256,512].forEach(function(i){var a=Math.ceil(t/i),s=Math.ceil(e/i);a*s<1e3&&(n=i)}),[n,n]}var GA=function(){function r(){ge(this,r)}return ve(r,[{key:"apply",value:function(t){var n=t.renderingService,i=t.renderingContext,a=t.imagePool,s=i.root.ownerDocument.defaultView,o=function(d,h,f){var g=d.parsedStyle,p=g.width,v=g.height;p&&!v?d.setAttribute("height",f/h*p):!p&&v&&d.setAttribute("width",h/f*v)},l=function(d){var h=d.target,f=h.nodeName,g=h.attributes;if(f===le.IMAGE){var p=g.src,v=g.keepAspectRatio;a.getImageSync(p,h,function(m){var y=m.img,b=y.width,w=y.height;v&&o(h,b,w),h.renderable.dirty=!0,n.dirtify()})}},c=function(d){var h=d.target,f=d.attrName,g=d.prevValue,p=d.newValue;h.nodeName!==le.IMAGE||f!=="src"||(g!==p&&a.releaseImage(g,h),gt(p)&&a.getOrCreateImage(p,h).then(function(v){var m=v.img,y=m.width,b=m.height;h.attributes.keepAspectRatio&&o(h,y,b),h.renderable.dirty=!0,n.dirtify()}).catch(function(){}))};n.hooks.init.tap(r.tag,function(){s.addEventListener(st.MOUNTED,l),s.addEventListener(st.ATTR_MODIFIED,c)}),n.hooks.destroy.tap(r.tag,function(){s.removeEventListener(st.MOUNTED,l),s.removeEventListener(st.ATTR_MODIFIED,c)})}}])}();GA.tag="LoadImage";var P8=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.name="image-loader",t}return nt(e,r),ve(e,[{key:"init",value:function(n){this.context.imagePool=new Wb(this.context,n),this.addRenderingPlugin(new GA)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Ga);/*!
|
|
303
|
+
* @antv/g-plugin-canvas-renderer
|
|
304
|
+
* @description A G plugin of renderer implementation with Canvas2D API
|
|
305
|
+
* @version 2.2.18
|
|
306
|
+
* @date 1/23/2025, 8:34:11 AM
|
|
307
|
+
* @author AntVis
|
|
308
|
+
* @docs https://g.antv.antgroup.com/
|
|
309
|
+
*/var gn=N8("renderState"),WA=function(){function r(e){ge(this,r),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,gn,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=Pt(),this.dprMatrix=Pt(),this.tmpMat4=Pt(),this.vec3a=ct(),this.vec3b=ct(),this.vec3c=ct(),this.vec3d=ct(),this.canvasRendererPluginOptions=e}return ve(r,[{key:"apply",value:function(t,n){var i=this;this.context=t;var a=this.context,s=a.config,o=a.camera,l=a.renderingService,c=a.renderingContext,u=a.rBushRoot,d=a.pathGeneratorFactory,h=s.renderer.getConfig().enableRenderingOptimization;s.renderer.getConfig().enableDirtyCheck=!1,s.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=u,this.pathGeneratorFactory=d;var f=t.contextService,g=c.root.ownerDocument.defaultView,p=function(b){var w=b.target,E=w.rBushNode;E.aabb&&i.removedRBushNodeAABBs.push(E.aabb)},v=function(b){var w=b.target,E=w.rBushNode;E.aabb&&i.removedRBushNodeAABBs.push(E.aabb)};l.hooks.init.tap(r.tag,function(){g.addEventListener(st.UNMOUNTED,p),g.addEventListener(st.CULLED,v);var y=f.getDPR(),b=s.width,w=s.height,E=f.getContext();i.clearRect(E,0,0,b*y,w*y,s.background)}),l.hooks.destroy.tap(r.tag,function(){g.removeEventListener(st.UNMOUNTED,p),g.removeEventListener(st.CULLED,v),i.renderQueue=[],i.removedRBushNodeAABBs=[],bi(i,gn)[gn]={restoreStack:[],prevObject:null,currentContext:null}}),l.hooks.beginFrame.tap(r.tag,function(){var y,b=f.getContext(),w=f.getDPR(),E=s.width,_=s.height,O=i.canvasRendererPluginOptions,M=O.dirtyObjectNumThreshold,N=O.dirtyObjectRatioThreshold,A=l.getStats(),P=A.total,L=A.rendered,I=L/P;i.clearFullScreen=i.clearFullScreenLastFrame||!((y=g.context.renderingPlugins[1])!==null&&y!==void 0&&y.isFirstTimeRenderingFinished)||l.disableDirtyRectangleRendering()||L>M&&I>N,b&&(typeof b.resetTransform=="function"?b.resetTransform():b.setTransform(1,0,0,1,0,0),i.clearFullScreen&&i.clearRect(b,0,0,E*w,_*w,s.background))});var m=function(b,w){for(var E=[b];E.length>0;){var _=E.pop();_.isVisible()&&!_.isCulled()&&(h?i.renderDisplayObjectOptimized(_,w,i.context,bi(i,gn)[gn],n):i.renderDisplayObject(_,w,i.context,bi(i,gn)[gn],n));for(var O=_.sortable.sorted||_.childNodes,M=O.length-1;M>=0;M--)E.push(O[M])}};l.hooks.endFrame.tap(r.tag,function(){if(c.root.childNodes.length===0){i.clearFullScreenLastFrame=!0;return}h=s.renderer.getConfig().enableRenderingOptimization,bi(i,gn)[gn]={restoreStack:[],prevObject:null,currentContext:bi(i,gn)[gn].currentContext},bi(i,gn)[gn].currentContext.clear(),i.clearFullScreenLastFrame=!1;var y=f.getContext(),b=f.getDPR();if(is(i.dprMatrix,[b,b,1]),rr(i.vpMatrix,i.dprMatrix,o.getOrthoMatrix()),i.clearFullScreen)h?(y.save(),m(c.root,y),y.restore()):m(c.root,y),i.removedRBushNodeAABBs=[];else{var w=i.safeMergeAABB.apply(i,[i.mergeDirtyAABBs(i.renderQueue)].concat(It(i.removedRBushNodeAABBs.map(function(U){var ne=U.minX,ue=U.minY,Me=U.maxX,Be=U.maxY,Ve=new Rt;return Ve.setMinMax([ne,ue,0],[Me,Be,0]),Ve}))));if(i.removedRBushNodeAABBs=[],Rt.isEmpty(w)){i.renderQueue=[];return}var E=i.convertAABB2Rect(w),_=E.x,O=E.y,M=E.width,N=E.height,A=ir(i.vec3a,[_,O,0],i.vpMatrix),P=ir(i.vec3b,[_+M,O,0],i.vpMatrix),L=ir(i.vec3c,[_,O+N,0],i.vpMatrix),I=ir(i.vec3d,[_+M,O+N,0],i.vpMatrix),G=Math.min(A[0],P[0],I[0],L[0]),H=Math.min(A[1],P[1],I[1],L[1]),Y=Math.max(A[0],P[0],I[0],L[0]),W=Math.max(A[1],P[1],I[1],L[1]),q=Math.floor(G),Q=Math.floor(H),re=Math.ceil(Y-G),de=Math.ceil(W-H);y.save(),i.clearRect(y,q,Q,re,de,s.background),y.beginPath(),y.rect(q,Q,re,de),y.clip(),y.setTransform(i.vpMatrix[0],i.vpMatrix[1],i.vpMatrix[4],i.vpMatrix[5],i.vpMatrix[12],i.vpMatrix[13]);var oe=s.renderer.getConfig(),he=oe.enableDirtyRectangleRenderingDebug;he&&g.dispatchEvent(new yn(Nr.DIRTY_RECTANGLE,{dirtyRect:{x:q,y:Q,width:re,height:de}}));var X=i.searchDirtyObjects(w);X.sort(function(U,ne){return U.sortable.renderOrder-ne.sortable.renderOrder}).forEach(function(U){U&&U.isVisible()&&!U.isCulled()&&i.renderDisplayObject(U,y,i.context,bi(i,gn)[gn],n)}),y.restore(),i.renderQueue.forEach(function(U){i.saveDirtyAABB(U)}),i.renderQueue=[]}bi(i,gn)[gn].restoreStack.forEach(function(){y.restore()}),bi(i,gn)[gn].restoreStack=[]}),l.hooks.render.tap(r.tag,function(y){i.clearFullScreen||i.renderQueue.push(y)})}},{key:"clearRect",value:function(t,n,i,a,s,o){t.clearRect(n,i,a,s),o&&(t.fillStyle=o,t.fillRect(n,i,a,s))}},{key:"renderDisplayObjectOptimized",value:function(t,n,i,a,s){var o=t.nodeName,l=!1,c=!1,u=this.context.styleRendererFactory[o],d=this.pathGeneratorFactory[o],h=t.parsedStyle.clipPath;if(h){l=!a.prevObject||!e1(h.getWorldTransform(),a.prevObject.getWorldTransform()),l&&(this.applyWorldTransform(n,h),a.prevObject=null);var f=this.pathGeneratorFactory[h.nodeName];f&&(n.save(),c=!0,n.beginPath(),f(n,h.parsedStyle),n.closePath(),n.clip())}if(u){l=!a.prevObject||!e1(t.getWorldTransform(),a.prevObject.getWorldTransform()),l&&this.applyWorldTransform(n,t);var g=!a.prevObject;if(!g){var p=a.prevObject.nodeName;o===le.TEXT?g=p!==le.TEXT:o===le.IMAGE?g=p!==le.IMAGE:g=p===le.TEXT||p===le.IMAGE}u.applyStyleToContext(n,t,g,a),a.prevObject=t}d&&(n.beginPath(),d(n,t.parsedStyle),o!==le.LINE&&o!==le.PATH&&o!==le.POLYLINE&&n.closePath()),u&&u.drawToContext(n,t,bi(this,gn)[gn],this,s),c&&n.restore(),t.renderable.dirty=!1}},{key:"renderDisplayObject",value:function(t,n,i,a,s){var o=t.nodeName,l=a.restoreStack[a.restoreStack.length-1];l&&!(t.compareDocumentPosition(l)&Zt.DOCUMENT_POSITION_CONTAINS)&&(n.restore(),a.restoreStack.pop());var c=this.context.styleRendererFactory[o],u=this.pathGeneratorFactory[o],d=t.parsedStyle.clipPath;if(d){this.applyWorldTransform(n,d);var h=this.pathGeneratorFactory[d.nodeName];h&&(n.save(),a.restoreStack.push(t),n.beginPath(),h(n,d.parsedStyle),n.closePath(),n.clip())}c&&(this.applyWorldTransform(n,t),n.save(),this.applyAttributesToContext(n,t)),u&&(n.beginPath(),u(n,t.parsedStyle),o!==le.LINE&&o!==le.PATH&&o!==le.POLYLINE&&n.closePath()),c&&(c.render(n,t.parsedStyle,t,i,this,s),n.restore()),t.renderable.dirty=!1}},{key:"applyAttributesToContext",value:function(t,n){var i=n.parsedStyle,a=i.stroke,s=i.fill,o=i.opacity,l=i.lineDash,c=i.lineDashOffset;l&&t.setLineDash(l),qe(c)||(t.lineDashOffset=c),qe(o)||(t.globalAlpha*=o),!qe(a)&&!Array.isArray(a)&&!a.isNone&&(t.strokeStyle=n.attributes.stroke),!qe(s)&&!Array.isArray(s)&&!s.isNone&&(t.fillStyle=n.attributes.fill)}},{key:"convertAABB2Rect",value:function(t){var n=t.getMin(),i=t.getMax(),a=Math.floor(n[0]),s=Math.floor(n[1]),o=Math.ceil(i[0]),l=Math.ceil(i[1]),c=o-a,u=l-s;return{x:a,y:s,width:c,height:u}}},{key:"mergeDirtyAABBs",value:function(t){var n=new Rt;return t.forEach(function(i){var a=i.getRenderBounds();n.add(a);var s=i.renderable.dirtyRenderBounds;s&&n.add(s)}),n}},{key:"searchDirtyObjects",value:function(t){var n=t.getMin(),i=Xe(n,2),a=i[0],s=i[1],o=t.getMax(),l=Xe(o,2),c=l[0],u=l[1],d=this.rBush.search({minX:a,minY:s,maxX:c,maxY:u});return d.map(function(h){var f=h.displayObject;return f})}},{key:"saveDirtyAABB",value:function(t){var n=t.renderable;n.dirtyRenderBounds||(n.dirtyRenderBounds=new Rt);var i=t.getRenderBounds();i&&n.dirtyRenderBounds.update(i.center,i.halfExtents)}},{key:"applyWorldTransform",value:function(t,n,i){i?(ko(this.tmpMat4,n.getLocalTransform()),rr(this.tmpMat4,i,this.tmpMat4),rr(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(ko(this.tmpMat4,n.getWorldTransform()),rr(this.tmpMat4,this.vpMatrix,this.tmpMat4)),t.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var t=new Rt,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return i.forEach(function(s){t.add(s)}),t}}])}();WA.tag="CanvasRenderer";function sd(r,e,t,n,i,a,s){var o,l;if(r.image.nodeName==="rect"){var c=r.image.parsedStyle,u=c.width,d=c.height;l=n.contextService.getDPR();var h=n.config.offscreenCanvas;o=a.offscreenCanvasCreator.getOrCreateCanvas(h),o.width=u*l,o.height=d*l;var f=a.offscreenCanvasCreator.getOrCreateContext(h),g={restoreStack:[],prevObject:null,currentContext:new Map};r.image.forEach(function(v){i.renderDisplayObject(v,f,n,g,a)}),g.restoreStack.forEach(function(){f.restore()})}var p=s.getOrCreatePatternSync(e,r,t,o,l,e.getGeometryBounds().min,function(){e.renderable.dirty=!0,n.renderingService.dirtify()});return p}function od(r,e,t,n){var i;if(r.type===Ma.LinearGradient||r.type===Ma.RadialGradient){var a=e.getGeometryBounds(),s=a&&a.halfExtents[0]*2||1,o=a&&a.halfExtents[1]*2||1,l=a&&a.min||[0,0];i=n.getOrCreateGradient(et(et({type:r.type},r.value),{},{min:l,width:s,height:o}),t)}return i}var lu=["shadowBlur","shadowOffsetX","shadowOffsetY"],fE=["lineCap","lineJoin","miterLimit"],mn={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},gE={};function en(r,e,t,n){var i=n.has(e)?n.get(e):mn[e];return i!==t&&(e==="lineDash"?r.setLineDash(t):r[e]=t,n.set(e,t)),i}var R8=function(){function r(e){ge(this,r),this.imagePool=e}return ve(r,[{key:"applyAttributesToContext",value:function(t,n){}},{key:"render",value:function(t,n,i,a,s,o){}},{key:"applyCommonStyleToContext",value:function(t,n,i,a){var s=i?gE:a.prevObject.parsedStyle,o=n.parsedStyle;(i||o.opacity!==s.opacity)&&en(t,"globalAlpha",qe(o.opacity)?mn.globalAlpha:o.opacity,a.currentContext),(i||o.blend!==s.blend)&&en(t,"globalCompositeOperation",qe(o.blend)?mn.globalCompositeOperation:o.blend,a.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(t,n,i,a){var s=i?gE:a.prevObject.parsedStyle,o=n.parsedStyle,l=o.lineWidth,c=l===void 0?mn.lineWidth:l,u=o.fill&&!o.fill.isNone,d=o.stroke&&!o.stroke.isNone&&c>0;if(d){if(i||n.attributes.stroke!==a.prevObject.attributes.stroke){var h=!qe(o.stroke)&&!Array.isArray(o.stroke)&&!o.stroke.isNone?n.attributes.stroke:mn.strokeStyle;en(t,"strokeStyle",h,a.currentContext)}(i||o.lineWidth!==s.lineWidth)&&en(t,"lineWidth",qe(o.lineWidth)?mn.lineWidth:o.lineWidth,a.currentContext),(i||o.lineDash!==s.lineDash)&&en(t,"lineDash",o.lineDash||mn.lineDash,a.currentContext),(i||o.lineDashOffset!==s.lineDashOffset)&&en(t,"lineDashOffset",qe(o.lineDashOffset)?mn.lineDashOffset:o.lineDashOffset,a.currentContext);for(var f=0;f<fE.length;f++){var g=fE[f];(i||o[g]!==s[g])&&en(t,g,qe(o[g])?mn[g]:o[g],a.currentContext)}}if(u&&(i||n.attributes.fill!==a.prevObject.attributes.fill)){var p=!qe(o.fill)&&!Array.isArray(o.fill)&&!o.fill.isNone?n.attributes.fill:mn.fillStyle;en(t,"fillStyle",p,a.currentContext)}}},{key:"applyStyleToContext",value:function(t,n,i,a){var s=n.nodeName;this.applyCommonStyleToContext(t,n,i,a),s===le.IMAGE||this.applyStrokeFillStyleToContext(t,n,i,a)}},{key:"applyShadowAndFilterStyleToContext",value:function(t,n,i,a){var s=n.parsedStyle;if(i){en(t,"shadowColor",s.shadowColor.toString(),a.currentContext);for(var o=0;o<lu.length;o++){var l=lu[o];en(t,l,s[l]||mn[l],a.currentContext)}}s.filter&&s.filter.length&&en(t,"filter",n.attributes.filter,a.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(t,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(n){en(t,"shadowColor",mn.shadowColor,a.currentContext);for(var o=0;o<lu.length;o++){var l=lu[o];en(t,l,mn[l],a.currentContext)}}if(i)if(n&&s){var c=t.filter;!qe(c)&&c.indexOf("drop-shadow")>-1&&en(t,"filter",c.replace(/drop-shadow\([^)]*\)/,"").trim()||mn.filter,a.currentContext)}else en(t,"filter",mn.filter,a.currentContext)}},{key:"fillToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle,c=l.fill,u=l.fillRule,d=null;if(Array.isArray(c)&&c.length>0)c.forEach(function(f){var g=en(t,"fillStyle",od(f,n,t,o.imagePool),i.currentContext);d=d!=null?d:g,u?t.fill(u):t.fill()});else{if(Es(c)){var h=sd(c,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);h&&(t.fillStyle=h,d=!0)}u?t.fill(u):t.fill()}d!==null&&en(t,"fillStyle",d,i.currentContext)}},{key:"strokeToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle.stroke,c=null;if(Array.isArray(l)&&l.length>0)l.forEach(function(h){var f=en(t,"strokeStyle",od(h,n,t,o.imagePool),i.currentContext);c=c!=null?c:f,t.stroke()});else{if(Es(l)){var u=sd(l,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);if(u){var d=en(t,"strokeStyle",u,i.currentContext);c=c!=null?c:d}}t.stroke()}c!==null&&en(t,"strokeStyle",c,i.currentContext)}},{key:"drawToContext",value:function(t,n,i,a,s){var o,l=n.nodeName,c=n.parsedStyle,u=c.opacity,d=u===void 0?mn.globalAlpha:u,h=c.fillOpacity,f=h===void 0?mn.fillOpacity:h,g=c.strokeOpacity,p=g===void 0?mn.strokeOpacity:g,v=c.lineWidth,m=v===void 0?mn.lineWidth:v,y=c.fill&&!c.fill.isNone,b=c.stroke&&!c.stroke.isNone&&m>0;if(!(!y&&!b)){var w=!qe(c.shadowColor)&&c.shadowBlur>0,E=c.shadowType==="inner",_=((o=c.fill)===null||o===void 0?void 0:o.alpha)===0,O=!!(c.filter&&c.filter.length),M=w&&b&&(l===le.PATH||l===le.LINE||l===le.POLYLINE||_||E),N=null;if(y){M||this.applyShadowAndFilterStyleToContext(t,n,w,i);var A=d*f;N=en(t,"globalAlpha",A,i.currentContext),this.fillToContext(t,n,i,a,s),M||this.clearShadowAndFilterStyleForContext(t,w,O,i)}if(b){var P=!1,L=d*p,I=en(t,"globalAlpha",L,i.currentContext);if(N=y?N:I,M&&(this.applyShadowAndFilterStyleToContext(t,n,w,i),P=!0,E)){var G=t.globalCompositeOperation;t.globalCompositeOperation="source-atop",this.strokeToContext(t,n,i,a,s),t.globalCompositeOperation=G,this.clearShadowAndFilterStyleForContext(t,w,O,i,!0)}this.strokeToContext(t,n,i,a,s),P&&this.clearShadowAndFilterStyleForContext(t,w,O,i)}N!==null&&en(t,"globalAlpha",N,i.currentContext)}}}])}(),Vb=function(r){function e(){return ge(this,e),tt(this,e,arguments)}return nt(e,r),ve(e,[{key:"render",value:function(n,i,a,s,o,l){var c=i.fill,u=i.fillRule,d=i.opacity,h=d===void 0?1:d,f=i.fillOpacity,g=f===void 0?1:f,p=i.stroke,v=i.strokeOpacity,m=v===void 0?1:v,y=i.lineWidth,b=y===void 0?1:y,w=i.lineCap,E=i.lineJoin,_=i.shadowType,O=i.shadowColor,M=i.shadowBlur,N=i.filter,A=i.miterLimit,P=c&&!c.isNone,L=p&&!p.isNone&&b>0,I=(c==null?void 0:c.alpha)===0,G=!!(N&&N.length),H=!qe(O)&&M>0,Y=a.nodeName,W=_==="inner",q=L&&H&&(Y===le.PATH||Y===le.LINE||Y===le.POLYLINE||I||W);P&&(n.globalAlpha=h*g,q||ld(a,n,H),VA(n,a,c,u,s,o,l,this.imagePool),q||this.clearShadowAndFilter(n,G,H)),L&&(n.globalAlpha=h*m,n.lineWidth=b,qe(A)||(n.miterLimit=A),qe(w)||(n.lineCap=w),qe(E)||(n.lineJoin=E),q&&(W&&(n.globalCompositeOperation="source-atop"),ld(a,n,!0),W&&(A1(n,a,p,s,o,l,this.imagePool),n.globalCompositeOperation=mn.globalCompositeOperation,this.clearShadowAndFilter(n,G,!0))),A1(n,a,p,s,o,l,this.imagePool))}},{key:"clearShadowAndFilter",value:function(n,i,a){if(a&&(n.shadowColor="transparent",n.shadowBlur=0),i){var s=n.filter;!qe(s)&&s.indexOf("drop-shadow")>-1&&(n.filter=s.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(R8);function ld(r,e,t){var n=r.parsedStyle,i=n.filter,a=n.shadowColor,s=n.shadowBlur,o=n.shadowOffsetX,l=n.shadowOffsetY;i&&i.length&&(e.filter=r.style.filter),t&&(e.shadowColor=a.toString(),e.shadowBlur=s||0,e.shadowOffsetX=o||0,e.shadowOffsetY=l||0)}function VA(r,e,t,n,i,a,s,o){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(t)?t.forEach(function(c){r.fillStyle=od(c,e,r,o),l||(n?r.fill(n):r.fill())}):(Es(t)&&(r.fillStyle=sd(t,e,r,i,a,s,o)),l||(n?r.fill(n):r.fill()))}function A1(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(t)?t.forEach(function(l){r.strokeStyle=od(l,e,r,s),o||r.stroke()}):(Es(t)&&(r.strokeStyle=sd(t,e,r,n,i,a,s)),o||r.stroke())}function L8(r,e){var t=Xe(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=Xe(e,4),l=o[0],c=o[1],u=o[2],d=o[3],h=Math.max(n,l),f=Math.max(i,c),g=Math.min(n+a,l+u),p=Math.min(i+s,c+d);return g<=h||p<=f?null:[h,f,g-h,p-f]}function I8(r,e){var t=ir(ct(),[r[0],r[1],0],e),n=ir(ct(),[r[0]+r[2],r[1],0],e),i=ir(ct(),[r[0],r[1]+r[3],0],e),a=ir(ct(),[r[0]+r[2],r[1]+r[3],0],e);return[Math.min(t[0],n[0],i[0],a[0]),Math.min(t[1],n[1],i[1],a[1]),Math.max(t[0],n[0],i[0],a[0])-Math.min(t[0],n[0],i[0],a[0]),Math.max(t[1],n[1],i[1],a[1])-Math.min(t[1],n[1],i[1],a[1])]}var D8=function(r){function e(){return ge(this,e),tt(this,e,arguments)}return nt(e,r),ve(e,[{key:"renderDownSampled",value:function(n,i,a,s){var o=s.src,l=s.imageCache;if(!l.downSampled){this.imagePool.createDownSampledImage(o,a).then(function(c){a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify()}).catch(function(){});return}n.drawImage(l.downSampled,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}},{key:"renderTile",value:function(n,i,a,s){var o=s.src,l=s.imageCache,c=s.imageRect,u=s.drawRect,d=l.size,h=n.getTransform(),f=h.a,g=h.b,p=h.c,v=h.d,m=h.e,y=h.f;if(n.resetTransform(),!(l!=null&&l.gridSize)){this.imagePool.createImageTiles(o,[],function(){a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify()},a).catch(function(){});return}for(var b=[d[0]/c[2],d[1]/c[3]],w=[l.tileSize[0]/b[0],l.tileSize[1]/b[1]],E=[Math.floor((u[0]-c[0])/w[0]),Math.ceil((u[0]+u[2]-c[0])/w[0])],_=E[0],O=E[1],M=[Math.floor((u[1]-c[1])/w[1]),Math.ceil((u[1]+u[3]-c[1])/w[1])],N=M[0],A=M[1],P=N;P<=A;P++)for(var L=_;L<=O;L++){var I=l.tiles[P][L];if(I){var G=[Math.floor(c[0]+I.tileX*w[0]),Math.floor(c[1]+I.tileY*w[1]),Math.ceil(w[0]),Math.ceil(w[1])];n.drawImage(I.data,G[0],G[1],G[2],G[3])}}n.setTransform(f,g,p,v,m,y)}},{key:"render",value:function(n,i,a){var s=i.x,o=s===void 0?0:s,l=i.y,c=l===void 0?0:l,u=i.width,d=i.height,h=i.src,f=i.shadowColor,g=i.shadowBlur,p=this.imagePool.getImageSync(h,a),v=p==null?void 0:p.img,m=u,y=d;if(v){m||(m=v.width),y||(y=v.height);var b=!qe(f)&&g>0;ld(a,n,b);try{var w=a.ownerDocument.defaultView.getContextService().getDomElement(),E=w.width,_=w.height,O=n.getTransform(),M=O.a,N=O.b,A=O.c,P=O.d,L=O.e,I=O.f,G=zC(M,A,0,0,N,P,0,0,0,0,1,0,L,I,0,1),H=I8([o,c,m,y],G),Y=L8([0,0,E,_],H);if(!Y)return;if(!a.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){e.renderFull(n,i,a,{image:v,drawRect:[o,c,m,y]});return}var W=H[2]/p.size[0];if(W<(p.downSamplingRate||.5)){this.renderDownSampled(n,i,a,{src:h,imageCache:p,drawRect:[o,c,m,y]});return}if(!Wb.isSupportTile){e.renderFull(n,i,a,{image:v,drawRect:[o,c,m,y]});return}this.renderTile(n,i,a,{src:h,imageCache:p,imageRect:H,drawRect:Y})}catch{}}}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i)}}],[{key:"renderFull",value:function(n,i,a,s){n.drawImage(s.image,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}}])}(Vb),F8=function(r){function e(){return ge(this,e),tt(this,e,arguments)}return nt(e,r),ve(e,[{key:"render",value:function(n,i,a,s,o,l){a.getBounds();var c=i.lineWidth,u=c===void 0?1:c,d=i.textAlign,h=d===void 0?"start":d,f=i.textBaseline,g=f===void 0?"alphabetic":f,p=i.lineJoin,v=p===void 0?"miter":p,m=i.miterLimit,y=m===void 0?10:m,b=i.letterSpacing,w=b===void 0?0:b,E=i.stroke,_=i.fill,O=i.fillRule,M=i.fillOpacity,N=M===void 0?1:M,A=i.strokeOpacity,P=A===void 0?1:A,L=i.opacity,I=L===void 0?1:L,G=i.metrics,H=i.x,Y=H===void 0?0:H,W=i.y,q=W===void 0?0:W,Q=i.dx,re=i.dy,de=i.shadowColor,oe=i.shadowBlur,he=G.font,X=G.lines,U=G.height,ne=G.lineHeight,ue=G.lineMetrics;n.font=he,n.lineWidth=u,n.textAlign=h==="middle"?"center":h;var Me=g;Me==="alphabetic"&&(Me="bottom"),n.lineJoin=v,qe(y)||(n.miterLimit=y);var Be=q;g==="middle"?Be+=-U/2-ne/2:g==="bottom"||g==="alphabetic"||g==="ideographic"?Be+=-U:(g==="top"||g==="hanging")&&(Be+=-ne);var Ve=Y+(Q||0);Be+=re||0,X.length===1&&(Me==="bottom"?(Me="middle",Be-=.5*U):Me==="top"&&(Me="middle",Be+=.5*U)),n.textBaseline=Me;var Dt=!qe(de)&&oe>0;ld(a,n,Dt);for(var on=0;on<X.length;on++){var _t=u/2+Ve;Be+=ne,!qe(E)&&!E.isNone&&u&&this.drawLetterSpacing(n,a,X[on],ue[on],h,_t,Be,w,_,O,N,E,P,I,!0,s,o,l),qe(_)||this.drawLetterSpacing(n,a,X[on],ue[on],h,_t,Be,w,_,O,N,E,P,I,!1,s,o,l)}}},{key:"drawLetterSpacing",value:function(n,i,a,s,o,l,c,u,d,h,f,g,p,v,m,y,b,w){if(u===0){m?this.strokeText(n,i,a,l,c,g,p,y,b,w):this.fillText(n,i,a,l,c,d,h,f,v,y,b,w);return}var E=n.textAlign;n.textAlign="left";var _=l;o==="center"||o==="middle"?_=l-s.width/2:(o==="right"||o==="end")&&(_=l-s.width);for(var O=Array.from(a),M=n.measureText(a).width,N=0,A=0;A<O.length;++A){var P=O[A];m?this.strokeText(n,i,P,_,c,g,p,y,b,w):this.fillText(n,i,P,_,c,d,h,f,v,y,b,w),N=n.measureText(a.substring(A+1)).width,_+=M-N+u,M=N}n.textAlign=E}},{key:"fillText",value:function(n,i,a,s,o,l,c,u,d,h,f,g){VA(n,i,l,c,h,f,g,this.imagePool,!0);var p,v=!qe(u)&&u!==1;v&&(p=n.globalAlpha,n.globalAlpha=u*d),n.fillText(a,s,o),v&&(n.globalAlpha=p)}},{key:"strokeText",value:function(n,i,a,s,o,l,c,u,d,h){A1(n,i,l,u,d,h,this.imagePool,!0);var f,g=!qe(c)&&c!==1;g&&(f=n.globalAlpha,n.globalAlpha=c),n.strokeText(a,s,o),g&&(n.globalAlpha=f)}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i,i.ownerDocument.defaultView.context,s,o)}}])}(Vb),B8=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),t=tt(this,e),t.name="canvas-renderer",t.options=n,t}return nt(e,r),ve(e,[{key:"init",value:function(){var n,i=et({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),a=this.context.imagePool,s=new Vb(a),o=(n={},Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(Pe(n,le.CIRCLE,s),le.ELLIPSE,s),le.RECT,s),le.IMAGE,new D8(a)),le.TEXT,new F8(a)),le.LINE,s),le.POLYLINE,s),le.POLYGON,s),le.PATH,s),le.GROUP,void 0),Pe(Pe(Pe(n,le.HTML,void 0),le.MESH,void 0),le.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=o,this.context.styleRendererFactory=o,this.addRenderingPlugin(new WA(i))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(Ga);/*!
|
|
310
|
+
* @antv/g-plugin-dom-interaction
|
|
311
|
+
* @description A G plugin
|
|
312
|
+
* @version 2.1.21
|
|
313
|
+
* @date 1/23/2025, 8:33:09 AM
|
|
314
|
+
* @author AntVis
|
|
315
|
+
* @docs https://g.antv.antgroup.com/
|
|
316
|
+
*/var UA=function(){function r(){ge(this,r)}return ve(r,[{key:"apply",value:function(t,n){var i=this,a=t.renderingService,s=t.renderingContext,o=t.config;this.context=t;var l=s.root.ownerDocument.defaultView,c=function(M){a.hooks.pointerMove.call(M)},u=function(M){a.hooks.pointerUp.call(M)},d=function(M){a.hooks.pointerDown.call(M)},h=function(M){a.hooks.pointerOver.call(M)},f=function(M){a.hooks.pointerOut.call(M)},g=function(M){a.hooks.pointerCancel.call(M)},p=function(M){a.hooks.pointerWheel.call(M)},v=function(M){a.hooks.click.call(M)},m=function(M){n.globalThis.document.addEventListener("pointermove",c,!0),M.addEventListener("pointerdown",d,!0),M.addEventListener("pointerleave",f,!0),M.addEventListener("pointerover",h,!0),n.globalThis.addEventListener("pointerup",u,!0),n.globalThis.addEventListener("pointercancel",g,!0)},y=function(M){M.addEventListener("touchstart",d,!0),M.addEventListener("touchend",u,!0),M.addEventListener("touchmove",c,!0),M.addEventListener("touchcancel",g,!0)},b=function(M){n.globalThis.document.addEventListener("mousemove",c,!0),M.addEventListener("mousedown",d,!0),M.addEventListener("mouseout",f,!0),M.addEventListener("mouseover",h,!0),n.globalThis.addEventListener("mouseup",u,!0)},w=function(M){n.globalThis.document.removeEventListener("pointermove",c,!0),M.removeEventListener("pointerdown",d,!0),M.removeEventListener("pointerleave",f,!0),M.removeEventListener("pointerover",h,!0),n.globalThis.removeEventListener("pointerup",u,!0),n.globalThis.removeEventListener("pointercancel",g,!0)},E=function(M){M.removeEventListener("touchstart",d,!0),M.removeEventListener("touchend",u,!0),M.removeEventListener("touchmove",c,!0),M.removeEventListener("touchcancel",g,!0)},_=function(M){n.globalThis.document.removeEventListener("mousemove",c,!0),M.removeEventListener("mousedown",d,!0),M.removeEventListener("mouseout",f,!0),M.removeEventListener("mouseover",h,!0),n.globalThis.removeEventListener("mouseup",u,!0)};a.hooks.init.tap(r.tag,function(){var O=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(O.style.msContentZooming="none",O.style.msTouchAction="none"):l.supportsPointerEvents&&(O.style.touchAction="none"),l.supportsPointerEvents?m(O):b(O),l.supportsTouchEvents&&y(O),o.useNativeClickEvent&&O.addEventListener("click",v,!0),O.addEventListener("wheel",p,{passive:!0,capture:!0})}),a.hooks.destroy.tap(r.tag,function(){var O=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(O.style.msContentZooming="",O.style.msTouchAction=""):l.supportsPointerEvents&&(O.style.touchAction=""),l.supportsPointerEvents?w(O):_(O),l.supportsTouchEvents&&E(O),o.useNativeClickEvent&&O.removeEventListener("click",v,!0),O.removeEventListener("wheel",p,!0)})}}])}();UA.tag="DOMInteraction";var z8=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.name="dom-interaction",t}return nt(e,r),ve(e,[{key:"init",value:function(){this.addRenderingPlugin(new UA)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Ga);/*!
|
|
317
|
+
* @antv/g-plugin-html-renderer
|
|
318
|
+
* @description A G plugin for rendering HTML
|
|
319
|
+
* @version 2.1.21
|
|
320
|
+
* @date 1/23/2025, 8:33:20 AM
|
|
321
|
+
* @author AntVis
|
|
322
|
+
* @docs https://g.antv.antgroup.com/
|
|
323
|
+
*/var j8="g-canvas-camera",HA=function(){function r(){ge(this,r),this.displayObjectHTMLElementMap=new WeakMap}return ve(r,[{key:"joinTransformMatrix",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([t[0],t[1],t[4],t[5],t[12]+n[0],t[13]+n[1]].join(","),")")}},{key:"apply",value:function(t,n){var i=this,a=t.camera,s=t.renderingContext,o=t.renderingService;this.context=t;var l=s.root.ownerDocument.defaultView,c=l.context.eventService.nativeHTMLMap,u=function(m,y){y.style.transform=i.joinTransformMatrix(m.getWorldTransform(),m.getOrigin())},d=function(m){var y=m.target;if(y.nodeName===le.HTML){i.$camera||(i.$camera=i.createCamera(a));var b=i.getOrCreateEl(y);i.$camera.appendChild(b),Object.keys(y.attributes).forEach(function(w){i.updateAttribute(w,y)}),u(y,b),c.set(b,y)}},h=function(m){var y=m.target;if(y.nodeName===le.HTML&&i.$camera){var b=i.getOrCreateEl(y);b&&(b.remove(),c.delete(b))}},f=function(m){var y=m.target;if(y.nodeName===le.HTML){var b=m.attrName;i.updateAttribute(b,y)}},g=function(m){var y=m.target,b=y.nodeName===le.FRAGMENT?y.childNodes:[y];b.forEach(function(w){if(w.nodeName===le.HTML){var E=i.getOrCreateEl(w);u(w,E)}})},p=function(){if(i.$camera){var m=i.context.config,y=m.width,b=m.height;i.$camera.parentElement.style.width="".concat(y||0,"px"),i.$camera.parentElement.style.height="".concat(b||0,"px")}};o.hooks.init.tap(r.tag,function(){l.addEventListener(Nr.RESIZE,p),l.addEventListener(st.MOUNTED,d),l.addEventListener(st.UNMOUNTED,h),l.addEventListener(st.ATTR_MODIFIED,f),l.addEventListener(st.BOUNDS_CHANGED,g)}),o.hooks.endFrame.tap(r.tag,function(){i.$camera&&s.renderReasons.has(Eo.CAMERA_CHANGED)&&(i.$camera.style.transform=i.joinTransformMatrix(a.getOrthoMatrix()))}),o.hooks.destroy.tap(r.tag,function(){i.$camera&&i.$camera.remove(),l.removeEventListener(Nr.RESIZE,p),l.removeEventListener(st.MOUNTED,d),l.removeEventListener(st.UNMOUNTED,h),l.removeEventListener(st.ATTR_MODIFIED,f),l.removeEventListener(st.BOUNDS_CHANGED,g)})}},{key:"createCamera",value:function(t){var n=this.context.config,i=n.document,a=n.width,s=n.height,o=this.context.contextService.getDomElement(),l=o.parentNode;if(l){var c=j8,u=l.querySelector("#".concat(c));if(!u){var d=(i||document).createElement("div");d.style.overflow="hidden",d.style.pointerEvents="none",d.style.position="absolute",d.style.left="0px",d.style.top="0px",d.style.width="".concat(a||0,"px"),d.style.height="".concat(s||0,"px");var h=(i||document).createElement("div");u=h,h.id=c,h.style.position="absolute",h.style.left="".concat(o.offsetLeft||0,"px"),h.style.top="".concat(o.offsetTop||0,"px"),h.style.transformOrigin="left top",h.style.transform=this.joinTransformMatrix(t.getOrthoMatrix()),h.style.pointerEvents="none",h.style.width="100%",h.style.height="100%",d.appendChild(h),l.appendChild(d)}return u}return null}},{key:"getOrCreateEl",value:function(t){var n=this.context.config.document,i=this.displayObjectHTMLElementMap.get(t);return i||(i=(n||document).createElement("div"),t.parsedStyle.$el=i,this.displayObjectHTMLElementMap.set(t,i),t.id&&(i.id=t.id),t.name&&i.setAttribute("name",t.name),t.className&&(i.className=t.className),i.style.position="absolute",i.style["will-change"]="transform",i.style.transform=this.joinTransformMatrix(t.getWorldTransform(),t.getOrigin())),i}},{key:"updateAttribute",value:function(t,n){var i=this.getOrCreateEl(n);switch(t){case"innerHTML":var a=n.parsedStyle.innerHTML;gt(a)?i.innerHTML=a:(i.innerHTML="",i.appendChild(a));break;case"x":i.style.left="".concat(n.parsedStyle.x,"px");break;case"y":i.style.top="".concat(n.parsedStyle.y,"px");break;case"transformOrigin":var s=n.parsedStyle.transformOrigin;i.style["transform-origin"]="".concat(s[0].buildCSSText(null,null,"")," ").concat(s[1].buildCSSText(null,null,""));break;case"width":var o=n.parsedStyle.width;i.style.width=Ce(o)?"".concat(o,"px"):o.toString();break;case"height":var l=n.parsedStyle.height;i.style.height=Ce(l)?"".concat(l,"px"):l.toString();break;case"zIndex":var c=n.parsedStyle.zIndex;i.style["z-index"]="".concat(c);break;case"visibility":var u=n.parsedStyle.visibility;i.style.visibility=u;break;case"pointerEvents":var d=n.parsedStyle.pointerEvents,h=d===void 0?"auto":d;i.style.pointerEvents=h;break;case"opacity":var f=n.parsedStyle.opacity;i.style.opacity="".concat(f);break;case"fill":var g=n.parsedStyle.fill,p="";Xu(g)?g.isNone?p="transparent":p=n.getAttribute("fill"):Array.isArray(g)?p=n.getAttribute("fill"):Es(g),i.style.background=p;break;case"stroke":var v=n.parsedStyle.stroke,m="";Xu(v)?v.isNone?m="transparent":m=n.getAttribute("stroke"):Array.isArray(v)?m=n.getAttribute("stroke"):Es(v),i.style["border-color"]=m,i.style["border-style"]="solid";break;case"lineWidth":var y=n.parsedStyle.lineWidth;i.style["border-width"]="".concat(y||0,"px");break;case"lineDash":i.style["border-style"]="dashed";break;case"filter":var b=n.style.filter;i.style.filter=b;break;default:!qe(n.style[t])&&n.style[t]!==""&&(i.style[t]=n.style[t])}}}])}();HA.tag="HTMLRendering";var $8=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.name="html-renderer",t}return nt(e,r),ve(e,[{key:"init",value:function(){this.addRenderingPlugin(new HA)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Ga);/*!
|
|
324
|
+
* @antv/g-canvas
|
|
325
|
+
* @description A renderer implemented by Canvas 2D API
|
|
326
|
+
* @version 2.0.39
|
|
327
|
+
* @date 1/23/2025, 8:35:49 AM
|
|
328
|
+
* @author AntVis
|
|
329
|
+
* @docs https://g.antv.antgroup.com/
|
|
330
|
+
*/var q8=function(){function r(e){ge(this,r),this.renderingContext=e.renderingContext,this.canvasConfig=e.config}return ve(r,[{key:"init",value:function(){var t=this.canvasConfig,n=t.container,i=t.canvas;if(i)this.$canvas=i,n&&i.parentElement!==n&&n.appendChild(i),this.$container=i.parentElement,this.canvasConfig.container=this.$container;else if(n&&(this.$container=gt(n)?document.getElementById(n):n,this.$container)){var a=document.createElement("canvas");this.$container.appendChild(a),this.$container.style.position||(this.$container.style.position="relative"),this.$canvas=a}this.context=this.$canvas.getContext("2d"),this.resize(this.canvasConfig.width,this.canvasConfig.height)}},{key:"getContext",value:function(){return this.context}},{key:"getDomElement",value:function(){return this.$canvas}},{key:"getDPR",value:function(){return this.dpr}},{key:"getBoundingClientRect",value:function(){if(this.$canvas.getBoundingClientRect)return this.$canvas.getBoundingClientRect()}},{key:"destroy",value:function(){this.$container&&this.$canvas&&this.$canvas.parentNode&&this.$container.removeChild(this.$canvas)}},{key:"resize",value:function(t,n){var i=this.canvasConfig.devicePixelRatio;this.dpr=i,this.$canvas&&(this.$canvas.width=this.dpr*t,this.$canvas.height=this.dpr*n,m5(this.$canvas,t,n)),this.renderingContext.renderReasons.add(Eo.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(t){this.$container&&this.$container.style&&(this.$container.style.cursor=t)}},{key:"toDataURL",value:function(){var e=ja(Hn().mark(function n(){var i,a,s,o=arguments;return Hn().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return i=o.length>0&&o[0]!==void 0?o[0]:{},a=i.type,s=i.encoderOptions,c.abrupt("return",this.context.canvas.toDataURL(a,s));case 3:case"end":return c.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),G8=function(r){function e(){var t;ge(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=tt(this,e,[].concat(i)),t.name="canvas-context-register",t}return nt(e,r),ve(e,[{key:"init",value:function(){this.context.ContextService=q8}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(Ga),ql=function(r){function e(t){var n;return ge(this,e),n=tt(this,e,[t]),n.registerPlugin(new G8),n.registerPlugin(new P8),n.registerPlugin(new c8),n.registerPlugin(new B8),n.registerPlugin(new z8),n.registerPlugin(new O8),n.registerPlugin(new $8),n}return nt(e,r),ve(e)}(mF),W8=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Ld extends fi{constructor(e){super(Object.assign(Object.assign({},e),{style:Object.assign({},Ld.defaultStyleProps,e.style)})),this.rootPointerEvent=new Qu(null),this.forwardEvents=t=>{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(t,i).forEach(s=>{const o=this.bootstrapEvent(this.rootPointerEvent,s,i,t);Dl(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(o)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[ce.CLICK,ce.POINTER_DOWN,ce.POINTER_MOVE,ce.POINTER_UP,ce.POINTER_OVER,ce.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.drawPortShapes(e,t)}getKeyStyle(e){const t=xs(e,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=t,a=W8(t,["dx","dy"]),[s,o]=this.getSize(e);return Object.assign(Object.assign({x:n,y:i},a),{width:s,height:o})}drawKeyShape(e,t){const n=this.getKeyStyle(e),{x:i,y:a,width:s=0,height:o=0}=n,l=this.upsert("key-container",Yn,{x:i,y:a,width:s,height:o,opacity:0},t);return this.upsert("key",oc,n,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof ql))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(e,t,n){e==="zIndex"&&t!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const e=this.getDomElement();this.events.forEach(t=>{e.removeEventListener(t,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(e,t){const n=[];if(t.isTouchEvent(e))for(let i=0;i<e.changedTouches.length;i++){const a=e.changedTouches[i];Ue(a.button)&&(a.button=0),Ue(a.buttons)&&(a.buttons=1),Ue(a.isPrimary)&&(a.isPrimary=e.touches.length===1&&e.type==="touchstart"),Ue(a.width)&&(a.width=a.radiusX||1),Ue(a.height)&&(a.height=a.radiusY||1),Ue(a.tiltX)&&(a.tiltX=0),Ue(a.tiltY)&&(a.tiltY=0),Ue(a.pointerType)&&(a.pointerType="touch"),Ue(a.pointerId)&&(a.pointerId=a.identifier||0),Ue(a.pressure)&&(a.pressure=a.force||.5),Ue(a.twist)&&(a.twist=0),Ue(a.tangentialPressure)&&(a.tangentialPressure=0),a.isNormalized=!0,a.type=e.type,n.push(a)}else if(t.isMouseEvent(e)){const i=e;Ue(i.isPrimary)&&(i.isPrimary=!0),Ue(i.width)&&(i.width=1),Ue(i.height)&&(i.height=1),Ue(i.tiltX)&&(i.tiltX=0),Ue(i.tiltY)&&(i.tiltY=0),Ue(i.pointerType)&&(i.pointerType="mouse"),Ue(i.pointerId)&&(i.pointerId=1),Ue(i.pressure)&&(i.pressure=.5),Ue(i.twist)&&(i.twist=0),Ue(i.tangentialPressure)&&(i.tangentialPressure=0),i.isNormalized=!0,n.push(i)}else n.push(e);return n}transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.metaKey=t.metaKey,e.shiftKey=t.shiftKey,e.ctrlKey=t.ctrlKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.screen.x=t.screenX,e.screen.y=t.screenY,e.relatedTarget=null}bootstrapEvent(e,t,n,i){e.view=n,e.originalEvent=null,e.nativeEvent=i,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this.transferMouseData(e,t);const{x:a,y:s}=this.getViewportXY(t);e.viewport.x=a,e.viewport.y=s;const[o,l]=this.context.canvas.getCanvasByViewport([a,s]);return e.canvas.x=o,e.canvas.y=l,e.global.copyFrom(e.canvas),e.offset.copyFrom(e.canvas),e.isTrusted=i.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e}getViewportXY(e){let t,n;const{offsetX:i,offsetY:a,clientX:s,clientY:o}=e;if(!qe(i)&&!qe(a))t=i,n=a;else{const l=this.eventService.client2Viewport({x:s,y:o});t=l.x,n=l.y}return{x:t,y:n}}onframe(){super.onframe();const{opacity:e}=this.attributes;this.getDomElement().style.opacity=`${e}`}}Ld.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var vE=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};let YA=class KA extends fi{constructor(e){super(zn({style:KA.defaultStyleProps},e))}getKeyStyle(e){const[t,n]=this.getSize(e),i=super.getKeyStyle(e),{fillOpacity:a,opacity:s=a}=i,o=vE(i,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:s},o),{width:t,height:n,x:-t/2,y:-n/2})}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getShape("key").attributes,{fill:n,stroke:i}=t;vE(t,["fill","stroke"]);const a=xn(this.getGraphicStyle(e),"halo"),s=Number(a.lineWidth),[o,l]=Ze(this.getSize(e),[s,s]);return Object.assign(Object.assign({},a),{width:o,height:l,fill:"transparent",x:-o/2,y:-l/2})}getIconStyle(e){const t=super.getIconStyle(e),[n,i]=this.getSize(e);return t?Object.assign({width:n*ra,height:i*ra},t):!1}drawKeyShape(e,t){const n=this.upsert("key",$b,this.getKeyStyle(e),t);return qb(this),n}drawHaloShape(e,t){this.upsert("halo",Yn,this.getHaloStyle(e),t)}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&Gb(this)}};YA.defaultStyleProps={size:32};class V8 extends fi{constructor(e){super(e)}getKeyStyle(e){const[t,n]=this.getSize(e);return Object.assign(Object.assign({},super.getKeyStyle(e)),{width:t,height:n,x:-t/2,y:-n/2})}getIconStyle(e){const t=super.getIconStyle(e),{width:n,height:i}=this.getShape("key").attributes;return t?Object.assign({width:n*ra,height:i*ra},t):!1}drawKeyShape(e,t){return this.upsert("key",Yn,this.getKeyStyle(e),t)}}class U8 extends Ad{constructor(e){super(e)}getInnerR(e){return e.innerR||this.getOuterR(e)*3/8}getOuterR(e){return Math.min(...this.getSize(e))/2}getPoints(e){return C$(this.getOuterR(e),this.getInnerR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getInnerR(e)*2*ra;return t?Object.assign({width:n,height:n},t):!1}getPortXY(e,t){const{placement:n="top"}=t,i=this.getShape("key").getLocalBounds(),a=N$(this.getOuterR(e),this.getInnerR(e));return Yb(i,n,a,!1)}}class Id extends Ad{constructor(e){super(zn({style:Id.defaultStyleProps},e))}getPoints(e){const{direction:t}=e,[n,i]=this.getSize(e);return A$(n,i,t)}getPortXY(e,t){const{direction:n}=e,{placement:i="top"}=t,a=this.getShape("key").getLocalBounds(),[s,o]=this.getSize(e),l=P$(s,o,n);return Yb(a,i,l,!1)}getIconStyle(e){const{icon:t,iconText:n,iconSrc:i,direction:a}=e;if(t===!1||ki(n||i))return!1;const s=xn(this.getGraphicStyle(e),"icon"),o=this.getShape("key").getLocalBounds(),[l,c]=Yz(o,a),u=Kz(o,a)*2*ra;return Object.assign({x:l,y:c,width:u,height:u},s)}}Id.defaultStyleProps={size:40,direction:"up"};var pE=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Bo extends fi{constructor(e){super(zn({style:Bo.defaultStyleProps},e)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(e){const{collapsed:t,childrenNode:n=[]}=e;return n.length===0?this.getEmptyKeySize(e):t?this.getCollapsedKeySize(e):this.getExpandedKeySize(e)}getEmptyKeySize(e){const{padding:t,collapsedSize:n}=e,[i,a,s,o]=Fi(t);return Ze(Ir(n),[o+a,i+s,0])}getCollapsedKeySize(e){return Ir(e.collapsedSize)}getExpandedKeySize(e){const t=this.getContentBBox(e);return[Bi(t),zi(t),0]}getContentBBox(e){const{childrenNode:t=[],padding:n}=e,i=t.map(s=>this.context.element.getElement(s)).filter(Boolean);if(i.length===0){const s=new Rt,{x:o=0,y:l=0,size:c}=e,[u,d]=Ir(c);return s.setMinMax([o-u/2,l-d/2,0],[o+u/2,l+d/2,0]),s}const a=cc(i.map(s=>s.getBounds()));return n?Va(a,n):a}drawCollapsedMarkerShape(e,t){const n=this.getCollapsedMarkerStyle(e);this.upsert("collapsed-marker",FA,n,t),qb(this)}getCollapsedMarkerStyle(e){if(!e.collapsed||!e.collapsedMarker)return!1;const t=xn(this.getGraphicStyle(e),"collapsedMarker"),{type:n}=t,i=pE(t,["type"]),a=this.getShape("key"),[s,o]=Yi(a.getLocalBounds(),"center"),l=Object.assign(Object.assign({},i),{x:s,y:o});if(n){const c=this.getCollapsedMarkerText(n,e);Object.assign(l,{text:c})}return l}getCollapsedMarkerText(e,t){const{childrenData:n=[]}=t,{model:i}=this.context;return e==="descendant-count"?i.getDescendantsData(this.id).length.toString():e==="child-count"?n.length.toString():e==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(te(a))==="node").length.toString():Ie(e)?e(n):""}getComboPosition(e){const{x:t=0,y:n=0,collapsed:i,childrenData:a=[]}=e;if(a.length===0)return[+t,+n,0];if(i){const{model:s}=this.context,o=s.getDescendantsData(this.id).filter(l=>!s.isCombo(te(l)));if(o.length>0&&o.some(Ej)){const l=o.reduce((c,u)=>Ze(c,On(u)),[0,0,0]);return di(l,o.length)}return[+t,+n,0]}return this.getContentBBox(e).center}getComboStyle(e){const[t,n]=this.getComboPosition(e);return{x:t,y:n,transform:[["translate",t,n]]}}updateComboPosition(e){const t=this.getComboStyle(e);Object.assign(this.style,t);const{x:n,y:i}=t;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:n,y:i}}),Gb(this)}render(e,t=this){super.render(e,t),this.drawCollapsedMarkerShape(e,t)}update(e={}){super.update(e),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(this.attributes.collapsed?e:e.map(i=>{var{x:a,y:s,z:o,transform:l}=i,c=pE(i,["x","y","z","transform"]);return c}),t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}Bo.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class H8 extends Bo{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",sa,this.getKeyStyle(e),t)}getKeyStyle(e){const{collapsed:t}=e,n=super.getKeyStyle(e),[i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},n),t&&xn(n,"collapsed")),{r:i/2})}getCollapsedKeySize(e){const[t,n]=Ir(e.collapsedSize),i=Math.max(t,n)/2;return[i*2,i*2,0]}getExpandedKeySize(e){const t=this.getContentBBox(e),[n,i]=Wa(t),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Cd(e,n,t)}}class Y8 extends Bo{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Yn,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},t),e.collapsed&&xn(t,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}const K8={padding:10};function mE(r,e,t,n,i,a){const{padding:s}=Object.assign(K8,a),o=Ta(t,s),l=Ta(n,s),c=[r,...i,e];let u=null;const d=[];for(let h=0,f=c.length;h<f-1;h++){const g=h+1,p=c[h],v=c[g],m=kj(p,v);let y=null;if(h===0)if(g===f-1)if(o.intersects(l))y=$f(p,v,o,l);else if(!nd(p,o)&&!nd(v,l)){const b=gs(p,o),w=gs(v,l);y=bE(b,w,ur(b,w)),y.points.unshift(b),y.points.push(w)}else m||(y=Z8(p,v,o,l));else ui(v,o)?y=$f(p,v,o,Ta(v,s),u):m||(y=Nu(p,v,o));else g===f-1?ui(p,l)?y=$f(p,v,Ta(p,s),l,u):m||(y=XA(p,v,l,u)):m||(y=bE(p,v,u));y?(d.push(...y.points),u=y.direction):u=ur(p,v),g<f-1&&d.push(v)}return d.map(ks)}const X8={N:"S",S:"N",W:"E",E:"W"},yE={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function ur(r,e){const[t,n]=r,[i,a]=e;return t===i?n>a?"N":"S":n===a?t>i?"W":"E":null}function P1(r,e){return e==="N"||e==="S"?zi(r):Bi(r)}function bE(r,e,t){const n=[r[0],e[1]],i=[e[0],r[1]],a=ur(r,n),s=ur(r,i),o=t?X8[t]:null,l=a===t||a!==o&&s!==t?n:i;return{points:[l],direction:ur(l,e)}}function Nu(r,e,t){if(nd(r,t)){const n=Gl(r,e,t);return{points:[n],direction:ur(n,e)}}else{const n=gs(r,t),a=["left","right"].includes(Tl(r,t))?[e[0],n[1]]:[n[0],e[1]];return{points:[a],direction:ur(a,e)}}}function XA(r,e,t,n){const i=nd(e,t)?e:gs(e,t),a=[[i[0],r[1]],[r[0],i[1]]],s=a.filter(l=>Hz(l,t)&&!vA(l,t,!0)),o=s.filter(l=>ur(l,r)!==n);if(o.length>0){const l=o.find(c=>ur(r,c)===n)||o[0];return{points:[l],direction:ur(l,e)}}else{const l=t6(a,s)[0],c=Da(e,l,P1(t,n)/2);return{points:[Gl(c,r,t),c],direction:ur(c,e)}}}function Z8(r,e,t,n){let i=Nu(r,e,t);const a=$l(i.points[0]);if(ui(a,n)){i=Nu(e,r,n);const s=$l(i.points[0]);if(ui(s,t)){const o=Da(r,a,P1(t,ur(r,a))/2),l=Da(e,s,P1(n,ur(e,s))/2),c=[(o[0]+l[0])/2,(o[1]+l[1])/2],u=Nu(r,c,t),d=XA(c,e,n,u.direction);i.points=[u.points[0],d.points[0]],i.direction=d.direction}}return i}function $f(r,e,t,n,i){const s=cc([t,n]),o=$t(e,s.center)>$t(r,s.center),[l,c]=o?[e,r]:[r,e],u=zi(s)+Bi(s);let d;if(i){const g=[l[0]+u*Math.cos(yE[i]),l[1]+u*Math.sin(yE[i])];d=Da(gs(g,s),g,.01)}else d=Da(gs(l,s),l,-.01);let h=Gl(d,c,s),f=[rl(d,2),rl(h,2)];if(sn(rl(d),rl(h))){const g=Bb(St(d,l),[1,0,0])+Math.PI/2;h=[c[0]+u*Math.cos(g),c[1]+u*Math.sin(g),0],h=rl(Da(gs(h,s),c,-.01),2);const p=Gl(d,h,s);f=[d,p,h]}return{points:o?f.reverse():f,direction:ur(o?d:h,e)}}function Gl(r,e,t){let n=[r[0],e[1]];return ui(n,t)&&(n=[e[0],r[1]]),n}function ZA(r,e,t,n,i){let l=typeof e=="number"?e:.5;e==="start"&&(l=0),e==="end"&&(l=.99);const c=Un(r.getPoint(l)),u=Un(r.getPoint(l+.01));let d=e==="start"?"left":e==="end"?"right":"center";if(MA(c,u)||!t){const[m,y]=xE(r,l,n,i);return{transform:[["translate",m,y]],textAlign:d}}let h=Math.atan2(u[1]-c[1],u[0]-c[0]);u[0]<c[0]&&(d=d==="center"?d:d==="left"?"right":"left",n*=-1,h+=Math.PI);const[g,p]=xE(r,l,n,i,h),v=[["translate",g,p],["rotate",h/Math.PI*180]];return{textAlign:d,transform:v}}function J8(r,e,t,n,i){var a,s;const o=((a=r.badge)===null||a===void 0?void 0:a.getGeometryBounds().halfExtents[0])*2||0,l=((s=r.label)===null||s===void 0?void 0:s.getGeometryBounds().halfExtents[0])*2||0;return ZA(r.key,t,!0,(l?(l/2+o/2)*(e==="suffix"?1:-1):0)+n,i)}function xE(r,e,t,n,i){const[a,s]=Un(r.getPoint(e));let o=t,l=n;return i&&(o=t*Math.cos(i)-n*Math.sin(i),l=t*Math.sin(i)+n*Math.cos(i)),[a+o,s+l]}function R1(r,e,t,n){if(sn(r,e))return r;const i=St(e,r),a=[r[0]+t*i[0],r[1]+t*i[1]],s=ea(Od(i,!1));return a[0]+=n*s[0],a[1]+=n*s[1],a}function Q8(r){return Ce(r)?[r,-r]:r}function e$(r){return Ce(r)?[r,1-r]:r}function t$(r,e,t){return[["M",r[0],r[1]],["Q",t[0],t[1],e[0],e[1]]]}function JA(r,e,t){return[["M",r[0],r[1]],["C",t[0][0],t[0][1],t[1][0],t[1][1],e[0],e[1]]]}function Ub(r,e=0,t=!1){const n=r[0],i=r[r.length-1],a=r.slice(1,r.length-1),s=[["M",n[0],n[1]]];return a.forEach((o,l)=>{const c=a[l-1]||n,u=a[l+1]||i;if(!TA(c,o,u)&&e){const[d,h]=n$(c,o,u,e);s.push(["L",d[0],d[1]],["Q",o[0],o[1],h[0],h[1]],["L",h[0],h[1]])}else s.push(["L",o[0],o[1]])}),s.push(["L",i[0],i[1]]),t&&s.push(["Z"]),s}function n$(r,e,t,n){const i=rd(r,e),a=rd(t,e),s=Math.min(n,Math.min(i,a)/2),o=[e[0]-s/i*(e[0]-r[0]),e[1]-s/i*(e[1]-r[1])],l=[e[0]-s/a*(e[0]-t[0]),e[1]-s/a*(e[1]-t[1])];return[o,l]}const r$=r=>{const e=Math.PI/2,t=zi(r)/2,n=Bi(r)/2,i=Math.atan2(t,n)/2,a=Math.atan2(n,t)/2;return{top:[-e-a,-e+a],"top-right":[-e+a,-i],"right-top":[-e+a,-i],right:[-i,i],"bottom-right":[i,e-a],"right-bottom":[i,e-a],bottom:[e-a,e+a],"bottom-left":[e+a,Math.PI-i],"left-bottom":[e+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-e-a],"left-top":[Math.PI+i,-e-a]}};function QA(r,e,t,n,i){const a=Ta(r),s=r.getCenter();let o=n&&$a(n),l=i&&$a(i);if(!o||!l){const c=r$(a),u=c[e][0],d=c[e][1],[h,f]=Wa(a),g=Math.max(h,f),p=Ze(s,[g*Math.cos(u),g*Math.sin(u),0]),v=Ze(s,[g*Math.cos(d),g*Math.sin(d),0]);o=I1(r,p),l=I1(r,v),t||([o,l]=[l,o])}return[o,l]}function i$(r,e,t,n,i,a){const s=r.getPorts()[i||a],o=r.getPorts()[a||i];let[l,c]=QA(r,e,t,s,o);const u=a$(r,l,c,n);return s&&(l=Wl(s,u[0])),o&&(c=Wl(o,u[u.length-1])),JA(l,c,u)}function a$(r,e,t,n){const i=r.getCenter();if(sn(e,t)){const a=St(e,i),s=[n*Math.sign(a[0])||n/2,n*Math.sign(a[1])||-n/2,0];return[Ze(e,s),Ze(t,Hi(s,[1,-1,1]))]}return[Da(i,e,$t(i,e)+n),Da(i,t,$t(i,t)+n)]}function s$(r,e,t,n,i,a,s){const o=Kb(r),l=o[a||s],c=o[s||a];let[u,d]=QA(r,t,n,l,c);const h=o$(r,u,d,i);return l&&(u=Wl(l,h[0])),c&&(d=Wl(c,h[h.length-1])),Ub([u,...h,d],e)}function o$(r,e,t,n){const i=[],a=Ta(r);if(sn(e,t))switch(Tl(e,a)){case"left":i.push([e[0]-n,e[1]]),i.push([e[0]-n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"right":i.push([e[0]+n,e[1]]),i.push([e[0]+n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"top":i.push([e[0],e[1]-n]),i.push([e[0]+n,e[1]-n]),i.push([e[0]+n,e[1]]);break;case"bottom":i.push([e[0],e[1]+n]),i.push([e[0]+n,e[1]+n]),i.push([e[0]+n,e[1]]);break}else{const s=Tl(e,a),o=Tl(t,a);if(s===o){const l=s;let c,u;switch(l){case"left":c=Math.min(e[0],t[0])-n,i.push([c,e[1]]),i.push([c,t[1]]);break;case"right":c=Math.max(e[0],t[0])+n,i.push([c,e[1]]),i.push([c,t[1]]);break;case"top":u=Math.min(e[1],t[1])-n,i.push([e[0],u]),i.push([t[0],u]);break;case"bottom":u=Math.max(e[1],t[1])+n,i.push([e[0],u]),i.push([t[0],u]);break}}else{const l=(h,f)=>({left:[f[0]-n,f[1]],right:[f[0]+n,f[1]],top:[f[0],f[1]-n],bottom:[f[0],f[1]+n]})[h],c=l(s,e),u=l(o,t),d=Gl(c,u,a);i.push(c,d,u)}}return i}function L1(r,e){const t=new Set,n=new Set,i=new Set;return r.forEach(a=>{e(a).forEach(o=>{t.add(o),r.includes(o.source)&&r.includes(o.target)?n.add(o):i.add(o)})}),{edges:Array.from(t),internal:Array.from(n),external:Array.from(i)}}function wE(r,e){const t=[];let n=r;for(;n;){t.push(n);const i=e(te(n));if(i)n=i;else break}if(t.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=t.reverse().findIndex(wr);return t[i]||t.at(-1)}return r}function l$(r,e){return e||(r<4?10:r===4?12:r*2.5)}const c$=(r,e)=>{const t=Math.max(r,e)/2;return[["M",-r/2,0],["A",t,t,0,1,0,2*t-r/2,0],["A",t,t,0,1,0,-r/2,0],["Z"]]},eP=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",r/2,e/2],["Z"]],u$=(r,e)=>[["M",-r/2,0],["L",0,-e/2],["L",r/2,0],["L",0,e/2],["Z"]],d$=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",4*r/5-r/2,0],["L",r/2,e/2],["Z"]],h$=(r,e)=>[["M",-r/2,-e/2],["L",r/2,-e/2],["L",r/2,e/2],["L",-r/2,e/2],["Z"]],f$=(r,e)=>{const t=r/2,n=r/7,i=r-n;return[["M",-t,0],["L",0,-e/2],["L",0,e/2],["Z"],["M",i-t,-e/2],["L",i+n-t,-e/2],["L",i+n-t,e/2],["L",i-t,e/2],["Z"]]},g$=(r,e)=>[["M",r/2,-e/2],["L",-r/2,0],["L",r/2,0],["L",-r/2,0],["L",r/2,e/2]],v$=Object.freeze(Object.defineProperty({__proto__:null,circle:c$,diamond:u$,rect:h$,simple:g$,triangle:eP,triangleRect:f$,vee:d$},Symbol.toStringTag,{value:"Module"}));var cu=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Ha extends BA{constructor(e){super(zn({style:Ha.defaultStyleProps},e)),this.type="edge"}get sourceNode(){const{sourceNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}get targetNode(){const{targetNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}getKeyStyle(e){const t=this.getGraphicStyle(e),{loop:n}=t,i=cu(t,["loop"]),{sourceNode:a,targetNode:s}=this,l={d:n&&k$(a,s)?this.getLoopPath(e):this.getKeyPath(e)};return Pr.PARSED_STYLE_LIST.forEach(c=>{c in i&&(l[c]=i[c])}),l}getLoopPath(e){const{sourcePort:t,targetPort:n}=e,i=this.sourceNode,a=Ta(i),s=Math.max(Bi(a),zi(a)),{placement:o,clockwise:l,dist:c=s}=xn(this.getGraphicStyle(e),"loop");return i$(i,o,l,c,t,n)}getEndpoints(e,t=!0,n=[]){const{sourcePort:i,targetPort:a}=e,{sourceNode:s,targetNode:o}=this,[l,c]=T$(s,o,i,a);if(!t){const f=l?$a(l):s.getCenter(),g=c?$a(c):o.getCenter();return[f,g]}const u=typeof n=="function"?n():n,d=ME(l||s,u[0]||c||o),h=ME(c||o,u[u.length-1]||l||s);return[d,h]}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),n=xn(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign({},t),n)}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=xn(this.getGraphicStyle(e),"label"),{placement:n,offsetX:i,offsetY:a,autoRotate:s,maxWidth:o}=t,l=cu(t,["placement","offsetX","offsetY","autoRotate","maxWidth"]),c=ZA(this.shapeMap.key,n,s,i,a),u=this.shapeMap.key.getLocalBounds(),d=jj([u.min,u.max],o);return Object.assign({wordWrapWidth:d},c,l)}getBadgeStyle(e){if(e.badge===!1||!e.badgeText)return!1;const t=xn(e,"badge"),{offsetX:n,offsetY:i,placement:a}=t,s=cu(t,["offsetX","offsetY","placement"]);return Object.assign(s,J8(this.shapeMap,a,e.labelPlacement,n,i))}drawArrow(e,t){var n;const i=t==="start",s=e[t==="start"?"startArrow":"endArrow"],o=this.shapeMap.key;if(s){const l=this.getArrowStyle(e,i),[c,u,d]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],h=o.parsedStyle[c];if(h)h.attr(l);else{const f=l.src?lc:Pr,g=new f({style:l});o.style[c]=g}o.style[u]=e[d]||l.width/2+ +l.lineWidth}else{const l=i?"markerStart":"markerEnd";(n=o.style[l])===null||n===void 0||n.destroy(),o.style[l]=null}}getArrowStyle(e,t){const n=this.getShape("key").attributes,i=t?"startArrow":"endArrow",a=xn(this.getGraphicStyle(e),i),{size:s,type:o}=a,l=cu(a,["size","type"]),[c,u]=Ir(l$(n.lineWidth,s)),h=(Ie(o)?o:v$[o]||eP)(c,u);return Object.assign(xs(n,["stroke","strokeOpacity","fillOpacity"]),{width:c,height:u},Object.assign({},h&&{d:h,fill:o==="simple"?"":n.stroke}),l)}drawLabelShape(e,t){const n=this.getLabelStyle(e);this.upsert("label",Ua,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e);this.upsert("halo",Pr,n,t)}drawBadgeShape(e,t){const n=this.getBadgeStyle(e);this.upsert("badge",Fo,n,t)}drawSourceArrow(e){this.drawArrow(e,"start")}drawTargetArrow(e){this.drawArrow(e,"end")}drawKeyShape(e,t){const n=this.getKeyStyle(e);return this.upsert("key",Pr,n,t)}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.getShape("key")&&(this.drawSourceArrow(e),this.drawTargetArrow(e),this.drawLabelShape(e,t),this.drawHaloShape(e,t),this.drawBadgeShape(e,t))}onframe(){this.drawKeyShape(this.parsedAttributes,this),this.drawSourceArrow(this.parsedAttributes),this.drawTargetArrow(this.parsedAttributes),this.drawHaloShape(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this),this.drawBadgeShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(e,t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}Ha.defaultStyleProps={badge:!0,badgeOffsetX:0,badgeOffsetY:0,badgePlacement:"suffix",isBillboard:!0,label:!0,labelAutoRotate:!0,labelIsBillboard:!0,labelMaxWidth:"80%",labelOffsetX:4,labelOffsetY:0,labelPlacement:"center",labelTextBaseline:"middle",labelWordWrap:!1,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloPointerEvents:"none",haloStrokeOpacity:.25,haloZIndex:-1,loop:!0,startArrow:!1,startArrowLineDash:0,startArrowLineJoin:"round",startArrowLineWidth:1,startArrowTransformOrigin:"center",startArrowType:"vee",endArrow:!1,endArrowLineDash:0,endArrowLineJoin:"round",endArrowLineWidth:1,endArrowTransformOrigin:"center",endArrowType:"vee",loopPlacement:"top",loopClockwise:!0};class Is extends Ha{constructor(e){super(zn({style:Is.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e),{controlPoints:i,curvePosition:a,curveOffset:s}=e,o=this.getControlPoints(t,n,e$(a),Q8(s),i);return JA(t,n,o)}getControlPoints(e,t,n,i,a){return(a==null?void 0:a.length)===2?a:[R1(e,t,n[0],i[0]),R1(e,t,n[1],i[1])]}}Is.defaultStyleProps={curvePosition:.5,curveOffset:20};class Dd extends Is{constructor(e){super(zn({style:Dd.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[0]-e[0];return[[e[0]+a*n[0]+i[0],e[1]],[t[0]-a*n[1]+i[1],t[1]]]}}Dd.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Fd extends Is{constructor(e){super(zn({style:Fd.defaultStyleProps},e))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(e){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(e);const t=On(this.ref),n=this.sourceNode.getIntersectPoint(t,!0),i=this.targetNode.getIntersectPoint(t);return[n,i]}toRadialCoordinate(e){const t=On(this.ref),n=$t(e,t),i=SA(St(e,t));return[n,i]}getControlPoints(e,t,n,i){const[a,s]=this.toRadialCoordinate(e),[o]=this.toRadialCoordinate(t),l=o-a;return[[e[0]+(l*n[0]+i[0])*Math.cos(s),e[1]+(l*n[0]+i[0])*Math.sin(s)],[t[0]-(l*n[1]-i[0])*Math.cos(s),t[1]-(l*n[1]-i[0])*Math.sin(s)]]}}Fd.defaultStyleProps={curvePosition:.5,curveOffset:20};class Bd extends Is{constructor(e){super(zn({style:Bd.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[1]-e[1];return[[e[0],e[1]+a*n[0]+i[0]],[t[0],t[1]-a*n[1]+i[1]]]}}Bd.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};let tP=class nP extends Ha{constructor(e){super(zn({style:nP.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e);return[["M",t[0],t[1]],["L",n[0],n[1]]]}};tP.defaultStyleProps={};const p$={enableObstacleAvoidance:!1,offset:10,maxAllowedDirectionChange:Math.PI/2,maximumLoops:3e3,gridSize:5,startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{right:{stepX:1,stepY:0},left:{stepX:-1,stepY:0},bottom:{stepX:0,stepY:1},top:{stepX:0,stepY:-1}},penalties:{0:0,90:0},distFunc:rd},Vi=r=>`${Math.round(r[0])}|||${Math.round(r[1])}`;function us(r,e){const t=n=>Math.round(n/e);return Ce(r)?t(r):r.map(t)}function m$(r,e){const t=Math.abs(r-e);return t>Math.PI?2*Math.PI-t:t}function EE(r,e){const t=e[0]-r[0],n=e[1]-r[1];return!t&&!n?0:Math.atan2(n,t)}function rP(r,e,t,n){const i=EE(r,e),a=t[Vi(r)],o=EE(a||n,r);return m$(o,i)}const y$=(r,e)=>{const{offset:t,gridSize:n}=e,i={};return r.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const s=Va(a.getRenderBounds(),t);for(let o=us(s.min[0],n);o<=us(s.max[0],n);o+=1)for(let l=us(s.min[1],n);l<=us(s.max[1],n);l+=1)i[`${o}|||${l}`]=!0}),i};function SE(r,e,t){return Math.min(...e.map(n=>t(r,n)))}function b$(r,e,t){let n=r[0],i=t(r[0],e);for(let a=0;a<r.length;a++){const s=r[a],o=t(s,e);o<i&&(n=s,i=o)}return n}const _E=(r,e,t,n)=>{if(!e)return[r];const{directionMap:i,offset:a}=n,s=Va(e.getRenderBounds(),a),o=Object.keys(i).reduce((l,c)=>{if(t.includes(c)){const u=i[c],[d,h]=Wa(s),f=[r[0]+u.stepX*d,r[1]+u.stepY*h],g=Xz(s);for(let p=0;p<g.length;p++){const v=zb([r,f],g[p]);v&&vA(v,s)&&l.push(v)}}return l},[]);return ui(r,s)||o.push(r),o.map(l=>us(l,n.gridSize))},x$=(r,e,t,n,i,a,s)=>{const o=[];let l=[a[0]===n[0]?n[0]:r[0]*s,a[1]===n[1]?n[1]:r[1]*s];o.unshift(l);let c=r,u=e[Vi(c)];for(;u;){const f=u,g=c;rP(f,g,e,t)&&(l=[f[0]===g[0]?l[0]:f[0]*s,f[1]===g[1]?l[1]:f[1]*s],o.unshift(l)),u=e[Vi(f)],c=f}const d=i.map(f=>[f[0]*s,f[1]*s]),h=b$(d,l,rd);return o.unshift(h),o};function w$(r,e,t,n){const i=ks(r.getCenter()),a=ks(e.getCenter()),s=Object.assign(p$,n),{gridSize:o}=s,l=s.enableObstacleAvoidance?t:[r,e],c=y$(l,s),u=us(i,o),d=us(a,o),h=_E(i,r,s.startDirections,s),f=_E(a,e,s.endDirections,s);h.forEach(M=>delete c[Vi(M)]),f.forEach(M=>delete c[Vi(M)]);const g={},p={},v={},m={},y={},b=new E$;for(let M=0;M<h.length;M++){const N=h[M],A=Vi(N);g[A]=N,m[A]=0,y[A]=SE(N,f,s.distFunc),b.add({id:A,value:y[A]})}const w=f.map(M=>Vi(M));let E=s.maximumLoops,_,O=1/0;for(const[M,N]of Object.entries(g))y[M]<=O&&(O=y[M],_=N);for(;Object.keys(g).length>0&&E>0;){const M=b.minId(!1);if(M)_=g[M];else break;const N=Vi(_);if(w.includes(N))return x$(_,v,u,a,h,d,o);delete g[N],b.remove(N),p[N]=!0;for(const A of Object.values(s.directionMap)){const P=Ze(_,[A.stepX,A.stepY]),L=Vi(P);if(p[L])continue;const I=rP(_,P,v,u);if(I>s.maxAllowedDirectionChange||c[L])continue;g[L]||(g[L]=P);const G=s.penalties[I],H=s.distFunc(_,P)+(isNaN(G)?o:G),Y=m[N]+H,W=m[L];W&&Y>=W||(v[L]=_,m[L]=Y,y[L]=Y+SE(P,f,s.distFunc),b.add({id:L,value:y[L]}))}E-=1}return[]}class E${constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(e,t){let n=0,i=t-1;for(;i-n>1;){const a=Math.floor((n+i)/2);if(this.arr[a].value>e.value)i=a;else if(this.arr[a].value<e.value)n=a;else{this.arr.splice(a,0,e),this.map[e.id]=!0;return}}this.arr.splice(i,0,e),this.map[e.id]=!0}add(e){delete this.map[e.id];const t=this.arr.length;if(!t||this.arr[t-1].value<e.value){this.arr.push(e),this.map[e.id]=!0;return}this._innerAdd(e,t)}remove(e){this.map[e]&&delete this.map[e]}_clearAndGetMinId(){let e;for(let t=this.arr.length-1;t>=0;t--)this.map[this.arr[t].id]?e=this.arr[t].id:this.arr.splice(t,1);return e}_findFirstId(){for(;this.arr.length;){const e=this.arr.shift();if(this.map[e.id])return e.id}}minId(e){return e?this._clearAndGetMinId():this._findFirstId()}}class zd extends Ha{constructor(e){super(zn({style:zd.defaultStyleProps},e))}getControlPoints(e){const{router:t}=e,{sourceNode:n,targetNode:i}=this,[a,s]=this.getEndpoints(e,!1);let o=[];if(!t)o=e.controlPoints;else if(t.type==="shortest-path"){const l=this.context.element.getNodes();o=w$(n,i,l,t),o.length||(o=mE(a,s,n,i,e.controlPoints,{padding:t.offset}))}else t.type==="orth"&&(o=mE(a,s,n,i,e.controlPoints,t));return o}getPoints(e){const t=this.getControlPoints(e),[n,i]=this.getEndpoints(e,!0,t);return[n,...t,i]}getKeyPath(e){const t=this.getPoints(e);return Ub(t,e.radius)}getLoopPath(e){const{sourcePort:t,targetPort:n,radius:i}=e,a=this.sourceNode,s=Ta(a),o=Math.max(Bi(s),zi(s))/4,{placement:l,clockwise:c,dist:u=o}=xn(this.getGraphicStyle(e),"loop");return s$(a,i,l,c,u,t,n)}}zd.defaultStyleProps={radius:0,controlPoints:[],router:!1};class gc extends Ha{constructor(e){super(zn({style:gc.defaultStyleProps},e))}getKeyPath(e){const{curvePosition:t,curveOffset:n}=e,[i,a]=this.getEndpoints(e),s=e.controlPoint||R1(i,a,t,n);return t$(i,a,s)}}gc.defaultStyleProps={curvePosition:.5,curveOffset:30};var S$=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function vc(r){return r instanceof fi&&r.type==="node"}function iP(r){return r instanceof Ha}function Hb(r){return r instanceof Bo}function _$(r){return vc(r)||iP(r)||Hb(r)}function k$(r,e){return!r||!e?!1:r===e}const M$={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function Yb(r,e,t=M$,n=!0){const i=[.5,.5],a=gt(e)?lr(t,e.toLocaleLowerCase(),i):e;if(!n&>(e))return a;const[s,o]=a||i;return[r.min[0]+Bi(r)*s,r.min[1]+zi(r)*o]}function Kb(r){if(!r)return{};const e=r.getPorts();return(r.attributes.ports||[]).forEach((n,i)=>{var a;const{key:s,placement:o}=n;aP(n)&&(e[a=s||i]||(e[a]=Yi(r.getShape("key").getBounds(),o)))}),e}function aP(r){const{r:e}=r;return!e||Number(e)===0}function $a(r){return Ao(r)?r:r.getPosition()}function T$(r,e,t,n){const i=kE(r,e,t,n),a=kE(e,r,n,t);return[i,a]}function kE(r,e,t,n){const i=Kb(r);if(t)return i[t];const a=Object.values(i);if(a.length===0)return;const s=a.map(c=>$a(c)),o=O$(e,n),[l]=Oj(s,o);return a.find(c=>$a(c)===l)}function O$(r,e){const t=Kb(r);if(e)return[$a(t[e])];const n=Object.values(t);return n.length>0?n.map(i=>$a(i)):[r.getCenter()]}function ME(r,e){return Hb(r)||vc(r)?I1(r,e):Wl(r,e)}function Wl(r,e){if(!r||!e)return[0,0,0];if(Ao(r))return r;if(r.attributes.linkToCenter)return r.getPosition();const t=Ao(e)?e:vc(e)?e.getCenter():e.getPosition();return Cd(t,r.getBounds())}function I1(r,e){if(!r||!e)return[0,0,0];const t=Ao(e)?e:vc(e)?e.getCenter():e.getPosition();return r.getIntersectPoint(t)||r.getCenter()}function TE(r,e="bottom",t=0,n=0,i=!1){const a=e.split("-"),[s,o]=Yi(r,e),l=a.includes("left")?"right":a.includes("right")?"left":"center";let c=a.includes("top")?"bottom":a.includes("bottom")?"top":"middle";return i&&(c=c==="top"?"bottom":c==="bottom"?"top":c),{transform:[["translate",s+t,o+n]],textBaseline:c,textAlign:l}}function C$(r,e){return[[0,-r],[e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)],[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[0,e],[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[-e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[-e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)]]}function N$(r,e){const t={};return t.top=[0,-r],t.left=[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t["left-bottom"]=[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.bottom=[0,e],t["right-bottom"]=[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.right=t.default=[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t}function A$(r,e,t){const n=e/2,i=r/2,a={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return a[t]||a.up}function P$(r,e,t){const n=e/2,i=r/2,a={};return t==="down"?(a.bottom=a.default=[0,n],a.right=[i,-n],a.left=[-i,-n]):t==="left"?(a.top=[i,-n],a.bottom=[i,n],a.left=a.default=[-i,0]):t==="right"?(a.top=[-i,-n],a.bottom=[-i,n],a.right=a.default=[i,0]):(a.left=[-i,n],a.top=a.default=[0,-n],a.right=[i,n]),a}function R$(r,e){return[[0,-e/2],[r/2,0],[0,e/2],[-r/2,0]]}function L$(r){return lr(r,["style","visibility"])!=="hidden"}function I$(r,e){const{zIndex:t,transform:n,transformOrigin:i,visibility:a,cursor:s,clipPath:o,component:l}=e,c=S$(e,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(r.attributes,c),n&&r.setAttribute("transform",n),Ce(t)&&r.setAttribute("zIndex",t),i&&r.setAttribute("transformOrigin",i),a&&r.setAttribute("visibility",a),s&&r.setAttribute("cursor",s),o&&r.setAttribute("clipPath",o),l&&r.setAttribute("component",l)}function D1(r,e){"update"in r?r.update(e):r.attr(e)}function D$(r){return[[0,r],[r*Math.sqrt(3)/2,r/2],[r*Math.sqrt(3)/2,-r/2],[0,-r],[-r*Math.sqrt(3)/2,-r/2],[-r*Math.sqrt(3)/2,r/2]]}function F$(r){Dl(r,"__to_be_destroyed__",!0)}function jd(r){return lr(r,"__to_be_destroyed__",!1)}var B$=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class $d extends Br{constructor(e,t){super(e,Object.assign({},$d.defaultOptions,t)),this.onCollapseExpand=n=>B$(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!_$(i))return;const a=i.id,{model:s,graph:o}=this.context,l=s.getElementDataById(a);if(!l)return!1;const{onCollapse:c,onExpand:u,animation:d,align:h}=this.options;wr(l)?(yield o.expandElement(a,{animation:d,align:h}),u==null||u(a)):(yield o.collapseElement(a,{animation:d,align:h}),c==null||c(a))}),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`node:${t}`,this.onCollapseExpand),e.on(`combo:${t}`,this.onCollapseExpand)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`node:${t}`,this.onCollapseExpand),e.off(`combo:${t}`,this.onCollapseExpand)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}$d.defaultOptions={enable:!0,animation:!0,trigger:ce.DBLCLICK,align:!0};var uu=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};const z$="g6-create-edge-assist-edge-id",du="g6-create-edge-assist-node-id";class qd extends Br{constructor(e,t){super(e,Object.assign({},qd.defaultOptions,t)),this.drop=n=>uu(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>uu(this,void 0,void 0,function*(){var i,a,s;if(!this.validate(n))return;const{graph:o,canvas:l,batch:c,element:u}=this.context,{style:d}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}c.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const h=o.getElementData(this.source);o.addNodeData([{id:du,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=h.style)===null||i===void 0?void 0:i.x,y:(a=h.style)===null||a===void 0?void 0:a.y}}]),o.addEdgeData([{id:z$,source:this.source,target:du,style:Object.assign({pointerEvents:"none"},d)}]),yield(s=u.draw({animation:!1}))===null||s===void 0?void 0:s.finished}),this.updateAssistEdge=n=>uu(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:s}=this.context;a.translateNodeTo(du,[n.canvas.x,n.canvas.y]),yield(i=s.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,a;const{graph:s}=this.context,{style:o,onFinish:l,onCreate:c}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const d=(a=this.getSelectedNodeIDs([n.target.id]))===null||a===void 0?void 0:a[0],h=`${this.source}-${d}-${E6()}`,f=c({id:h,source:this.source,target:d,style:o});s.addEdgeData([f]),l(f)},this.cancelEdge=()=>uu(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:a,batch:s}=this.context;i.removeNodeData([du]),this.source=void 0,yield(n=a.draw({animation:!1}))===null||n===void 0?void 0:n.finished,s.endBatch()}),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;this.unbindEvents(),t==="click"?(e.on(Hr.CLICK,this.handleCreateEdge),e.on(ls.CLICK,this.handleCreateEdge),e.on(ta.CLICK,this.cancelEdge),e.on(td.CLICK,this.cancelEdge)):(e.on(Hr.DRAG_START,this.handleCreateEdge),e.on(ls.DRAG_START,this.handleCreateEdge),e.on(ce.POINTER_UP,this.drop)),e.on(ce.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;e.off(Hr.CLICK,this.handleCreateEdge),e.off(ls.CLICK,this.handleCreateEdge),e.off(ta.CLICK,this.cancelEdge),e.off(td.CLICK,this.cancelEdge),e.off(Hr.DRAG_START,this.handleCreateEdge),e.off(ls.DRAG_START,this.handleCreateEdge),e.off(ce.POINTER_UP,this.drop),e.off(ce.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}qd.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:r=>r,onFinish:()=>{}};var OE=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Gd extends Br{constructor(e,t){super(e,Object.assign({},Gd.defaultOptions,t)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{var i,a,s,o;if(!this.isDragging)return;const l=(a=(i=n.movement)===null||i===void 0?void 0:i.x)!==null&&a!==void 0?a:n.dx,c=(o=(s=n.movement)===null||s===void 0?void 0:s.y)!==null&&o!==void 0?o:n.dy;l|c&&this.translate([l,c],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=nc(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new Do(e.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(pn(e)){const{up:t=[],down:n=[],left:i=[],right:a=[]}=e;this.shortcut.bind(t,s=>this.onTranslate([0,1],s)),this.shortcut.bind(n,s=>this.onTranslate([0,-1],s)),this.shortcut.bind(i,s=>this.onTranslate([1,0],s)),this.shortcut.bind(a,s=>this.onTranslate([-1,0],s))}else{const{graph:t}=this.context;t.on(ce.DRAG_START,this.onDragStart),t.on(ce.DRAG,this.onDrag),t.on(ce.DRAG_END,this.onDragEnd)}}onTranslate(e,t){return OE(this,void 0,void 0,function*(){if(!this.validate(t))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(Hi(e,i),this.options.animation),this.invokeOnFinish()})}translate(e,t){return OE(this,void 0,void 0,function*(){e=this.clampByDirection(e),e=this.clampByRange(e),yield this.context.graph.translateBy(e,t)})}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,c,u]=Fi(this.options.range),d=[s*o,a*l,s*c,a*u],h=Va(Lb(n.getCanvasCenter()),d),f=St(n.getViewportCenter(),[e,t,0]);if(!ui(f,h)){const{min:[g,p],max:[v,m]}=h;(f[0]<g&&e>0||f[0]>v&&e<0)&&(e=0),(f[1]<p&&t>0||f[1]>m&&t<0)&&(t=0)}return[e,t]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return typeof t=="function"?t(e):!!t}unbindEvents(){this.shortcut.unbindAll();const{graph:e}=this.context;e.off(ce.DRAG_START,this.onDragStart),e.off(ce.DRAG,this.onDrag),e.off(ce.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}Gd.defaultOptions={enable:r=>"targetType"in r?r.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var CE=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class pc extends Br{constructor(e,t){super(e,Object.assign({},pc.defaultOptions,t)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>CE(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:s}=this.context,o=n.target.id;this.target.forEach(l=>{const c=a.getParentData(l,Mt);c&&te(c)===o&&a.refreshComboData(o),a.setParent(l,o,Mt)}),yield(i=s==null?void 0:s.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:a}=this.context,{cursor:s}=this.options;i===ce.POINTER_ENTER?a.setCursor((s==null?void 0:s.grab)||"grab"):a.setCursor((s==null?void 0:s.default)||"default")},this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onDrop=this.onDrop.bind(this),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.on(`${i}:${ce.DRAG_START}`,this.onDragStart),e.on(`${i}:${ce.DRAG}`,this.onDrag),e.on(`${i}:${ce.DRAG_END}`,this.onDragEnd),e.on(`${i}:${ce.POINTER_ENTER}`,this.setCursor),e.on(`${i}:${ce.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(e.on(ls.DROP,this.onDrop),e.on(ta.DROP,this.onDrop))}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}getDelta(e){const t=this.context.graph.getZoom();return di([e.dx,e.dy],t)}onDragStart(e){var t;if(this.enable=this.validate(e),!this.enable)return;const{batch:n,canvas:i,graph:a}=this.context;i.setCursor(((t=this.options.cursor)===null||t===void 0?void 0:t.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch();const s=e.target.id;a.getElementState(s).includes(this.options.state)?this.target=this.getSelectedNodeIDs([s]):this.target=[s],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.options.shadow?this.moveShadow(t):this.moveElement(this.target,t)}onDragEnd(){var e,t,n;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:s=0,y:o=0}=this.shadow.attributes,[l,c]=St([+s,+o],this.shadowOrigin);this.moveElement(this.target,[l,c])}this.showEdges(),(t=(e=this.options).onFinish)===null||t===void 0||t.call(e,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}moveElement(e,t){return CE(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&e.forEach(s=>i.refreshComboData(s)),n.translateElementBy(Object.fromEntries(e.map(s=>[s,t])),!1)})}moveShadow(e){if(!this.shadow)return;const{x:t=0,y:n=0}=this.shadow.attributes,[i,a]=e;this.shadow.attr({x:+t+i,y:+n+a})}createShadow(e){const t=xn(this.options,"shadow"),n=cc(e.map(c=>this.context.element.getElement(c).getBounds())),[i,a]=n.min;this.shadowOrigin=[i,a];const[s,o]=Wa(n),l={width:s,height:o,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},t),l),{visibility:"visible"})):(this.shadow=new Yn({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},t),l),{pointerEvents:"none"})}),this.context.canvas.appendChild(this.shadow))}showEdges(){this.options.shadow||this.hiddenEdges.length===0||(this.context.graph.showElement(this.hiddenEdges),this.hiddenEdges=[])}hideEdge(){const{hideEdge:e,shadow:t}=this.options;if(e==="none"||t)return;const{graph:n}=this.context;e==="all"?this.hiddenEdges=n.getEdgeData().map(te):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,e).map(te)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.off(`${i}:${ce.DRAG_START}`,this.onDragStart),e.off(`${i}:${ce.DRAG}`,this.onDrag),e.off(`${i}:${ce.DRAG_END}`,this.onDragEnd),e.off(`${i}:${ce.POINTER_ENTER}`,this.setCursor),e.off(`${i}:${ce.POINTER_LEAVE}`,this.setCursor)}),e.off(`combo:${ce.DROP}`,this.onDrop),e.off(`canvas:${ce.DROP}`,this.onDrop)}destroy(){var e;this.unbindEvents(),(e=this.shadow)===null||e===void 0||e.destroy(),super.destroy()}}pc.defaultOptions={animation:!0,enable:r=>["node","combo"].includes(r.targetType),dropEffect:"move",state:"selected",hideEdge:"none",shadow:!1,shadowZIndex:100,shadowFill:"#F3F9FF",shadowFillOpacity:.5,shadowStroke:"#1890FF",shadowStrokeOpacity:.9,shadowLineDash:[5,5],cursor:{default:"default",grab:"grab",grabbing:"grabbing"}};var j$="*",Wd=function(){function r(){this._events={}}return r.prototype.on=function(e,t,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!n}),this},r.prototype.once=function(e,t){return this.on(e,t,!0)},r.prototype.emit=function(e){for(var t=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var a=this._events[e]||[],s=this._events[j$]||[],o=function(l){for(var c=l.length,u=0;u<c;u++)if(l[u]){var d=l[u],h=d.callback,f=d.once;f&&(l.splice(u,1),l.length===0&&delete t._events[e],c--,u--),h.apply(t,n)}};o(a),o(s)},r.prototype.off=function(e,t){if(!e)this._events={};else if(!t)delete this._events[e];else{for(var n=this._events[e]||[],i=n.length,a=0;a<i;a++)n[a].callback===t&&(n.splice(a,1),i--,a--);n.length===0&&delete this._events[e]}return this},r.prototype.getEvents=function(){return this._events},r}();function F1(r,e,t,n){for(;r.length;){const i=r.shift();if(t(i))return!0;e.add(i.id),n(i.id).forEach(s=>{e.has(s.id)||(e.add(s.id),r.push(s))})}return!1}function cd(r,e,t,n){if(t(r))return!0;e.add(r.id);for(const a of n(r.id))if(!e.has(a.id)&&cd(a,e,t,n))return!0;return!1}const NE=()=>!0;class $${constructor(e){Nt(this,"graph");Nt(this,"nodeFilter");Nt(this,"edgeFilter");Nt(this,"cacheEnabled");Nt(this,"inEdgesMap",new Map);Nt(this,"outEdgesMap",new Map);Nt(this,"bothEdgesMap",new Map);Nt(this,"allNodesMap",new Map);Nt(this,"allEdgesMap",new Map);Nt(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Nt(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(e=>e.id))});Nt(this,"updateCache",e=>{const t=new Set;e.forEach(n=>{const i=this.bothEdgesMap.get(n);if(i&&i.forEach(a=>t.add(a.id)),!this.hasNode(n))this.inEdgesMap.delete(n),this.outEdgesMap.delete(n),this.bothEdgesMap.delete(n),this.allNodesMap.delete(n);else{const a=this.graph.getRelatedEdges(n,"in").filter(this.edgeFilter),s=this.graph.getRelatedEdges(n,"out").filter(this.edgeFilter),o=Array.from(new Set([...a,...s]));o.forEach(l=>t.add(l.id)),this.inEdgesMap.set(n,a),this.outEdgesMap.set(n,s),this.bothEdgesMap.set(n,o),this.allNodesMap.set(n,this.graph.getNode(n))}}),t.forEach(n=>{this.hasEdge(n)?this.allEdgesMap.set(n,this.graph.getEdge(n)):this.allEdgesMap.delete(n)})});Nt(this,"handleGraphChanged",e=>{const t=new Set;e.changes.forEach(n=>{switch(n.type){case"NodeAdded":t.add(n.value.id);break;case"NodeDataUpdated":t.add(n.id);break;case"EdgeAdded":t.add(n.value.source),t.add(n.value.target);break;case"EdgeUpdated":(n.propertyName==="source"||n.propertyName==="target")&&(t.add(n.oldValue),t.add(n.newValue));break;case"EdgeDataUpdated":if(e.graph.hasEdge(n.id)){const i=e.graph.getEdge(n.id);t.add(i.source),t.add(i.target)}break;case"EdgeRemoved":t.add(n.value.source),t.add(n.value.target);break;case"NodeRemoved":t.add(n.value.id);break}}),this.updateCache(t)});this.graph=e.graph;const t=e.nodeFilter||NE,n=e.edgeFilter||NE;this.nodeFilter=t,this.edgeFilter=i=>{const{source:a,target:s}=this.graph.getEdgeDetail(i.id);return!t(a)||!t(s)?!1:n(i,a,s)},e.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):e.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(e){this.getNode(e)}hasNode(e){if(!this.graph.hasNode(e))return!1;const t=this.graph.getNode(e);return this.nodeFilter(t)}areNeighbors(e,t){return this.checkNodeExistence(e),this.getNeighbors(t).some(n=>n.id===e)}getNode(e){const t=this.graph.getNode(e);if(!this.nodeFilter(t))throw new Error("Node not found for id: "+e);return t}getRelatedEdges(e,t){return this.checkNodeExistence(e),this.cacheEnabled?t==="in"?this.inEdgesMap.get(e):t==="out"?this.outEdgesMap.get(e):this.bothEdgesMap.get(e):this.graph.getRelatedEdges(e,t).filter(this.edgeFilter)}getDegree(e,t){return this.getRelatedEdges(e,t).length}getSuccessors(e){const n=this.getRelatedEdges(e,"out").map(i=>this.getNode(i.target));return Array.from(new Set(n))}getPredecessors(e){const n=this.getRelatedEdges(e,"in").map(i=>this.getNode(i.source));return Array.from(new Set(n))}getNeighbors(e){const t=this.getPredecessors(e),n=this.getSuccessors(e);return Array.from(new Set([...t,...n]))}hasEdge(e){if(!this.graph.hasEdge(e))return!1;const t=this.graph.getEdge(e);return this.edgeFilter(t)}getEdge(e){const t=this.graph.getEdge(e);if(!this.edgeFilter(t))throw new Error("Edge not found for id: "+e);return t}getEdgeDetail(e){const t=this.getEdge(e);return{edge:t,source:this.getNode(t.source),target:this.getNode(t.target)}}hasTreeStructure(e){return this.graph.hasTreeStructure(e)}getRoots(e){return this.graph.getRoots(e).filter(this.nodeFilter)}getChildren(e,t){return this.checkNodeExistence(e),this.graph.getChildren(e,t).filter(this.nodeFilter)}getParent(e,t){this.checkNodeExistence(e);const n=this.graph.getParent(e,t);return!n||!this.nodeFilter(n)?null:n}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];F1([this.getNode(e)],new Set,t,i)}dfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];cd(this.getNode(e),new Set,t,i)}}let Pn=class sP extends Wd{constructor(t){super();Nt(this,"nodeMap",new Map);Nt(this,"edgeMap",new Map);Nt(this,"inEdgesMap",new Map);Nt(this,"outEdgesMap",new Map);Nt(this,"bothEdgesMap",new Map);Nt(this,"treeIndices",new Map);Nt(this,"changes",[]);Nt(this,"batchCount",0);Nt(this,"onChanged",()=>{});Nt(this,"batch",t=>{this.batchCount+=1,t(),this.batchCount-=1,this.batchCount||this.commit()});t&&(t.nodes&&this.addNodes(t.nodes),t.edges&&this.addEdges(t.edges),t.tree&&this.addTree(t.tree),t.onChanged&&(this.onChanged=t.onChanged))}commit(){const t=this.changes;this.changes=[];const n={graph:this,changes:t};this.emit("changed",n),this.onChanged(n)}reduceChanges(t){let n=[];return t.forEach(i=>{switch(i.type){case"NodeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="NodeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else{if(s.type==="NodeDataUpdated")return s.id!==i.value.id;if(s.type==="TreeStructureChanged")return s.nodeId!==i.value.id}return!0}),a||n.push(i);break}case"EdgeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="EdgeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else if(s.type==="EdgeDataUpdated"||s.type==="EdgeUpdated")return s.id!==i.value.id;return!0}),a||n.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const a=n.findIndex(o=>o.type===i.type&&o.id===i.id&&(i.propertyName===void 0||o.propertyName===i.propertyName)),s=n[a];s?i.propertyName!==void 0?s.newValue=i.newValue:(n.splice(a,1),n.push(i)):n.push(i);break}case"TreeStructureDetached":{n=n.filter(a=>a.type==="TreeStructureAttached"||a.type==="TreeStructureChanged"?a.treeKey!==i.treeKey:!0),n.push(i);break}case"TreeStructureChanged":{const a=n.find(s=>s.type==="TreeStructureChanged"&&s.treeKey===i.treeKey&&s.nodeId===i.nodeId);a?a.newParentId=i.newParentId:n.push(i);break}default:n.push(i);break}}),n}checkNodeExistence(t){this.getNode(t)}hasNode(t){return this.nodeMap.has(t)}areNeighbors(t,n){return this.getNeighbors(n).some(i=>i.id===t)}getNode(t){const n=this.nodeMap.get(t);if(!n)throw new Error("Node not found for id: "+t);return n}getRelatedEdges(t,n){if(this.checkNodeExistence(t),n==="in"){const i=this.inEdgesMap.get(t);return Array.from(i)}else if(n==="out"){const i=this.outEdgesMap.get(t);return Array.from(i)}else{const i=this.bothEdgesMap.get(t);return Array.from(i)}}getDegree(t,n){return this.getRelatedEdges(t,n).length}getSuccessors(t){const i=this.getRelatedEdges(t,"out").map(a=>this.getNode(a.target));return Array.from(new Set(i))}getPredecessors(t){const i=this.getRelatedEdges(t,"in").map(a=>this.getNode(a.source));return Array.from(new Set(i))}getNeighbors(t){const n=this.getPredecessors(t),i=this.getSuccessors(t);return Array.from(new Set([...n,...i]))}doAddNode(t){if(this.hasNode(t.id))throw new Error("Node already exists: "+t.id);this.nodeMap.set(t.id,t),this.inEdgesMap.set(t.id,new Set),this.outEdgesMap.set(t.id,new Set),this.bothEdgesMap.set(t.id,new Set),this.treeIndices.forEach(n=>{n.childrenMap.set(t.id,new Set)}),this.changes.push({type:"NodeAdded",value:t})}addNodes(t){this.batch(()=>{for(const n of t)this.doAddNode(n)})}addNode(t){this.addNodes([t])}doRemoveNode(t){const n=this.getNode(t),i=this.bothEdgesMap.get(t);i==null||i.forEach(a=>this.doRemoveEdge(a.id)),this.nodeMap.delete(t),this.treeIndices.forEach(a=>{var o,l;(o=a.childrenMap.get(t))==null||o.forEach(c=>{a.parentMap.delete(c.id)});const s=a.parentMap.get(t);s&&((l=a.childrenMap.get(s.id))==null||l.delete(n)),a.parentMap.delete(t),a.childrenMap.delete(t)}),this.bothEdgesMap.delete(t),this.inEdgesMap.delete(t),this.outEdgesMap.delete(t),this.changes.push({type:"NodeRemoved",value:n})}removeNodes(t){this.batch(()=>{t.forEach(n=>this.doRemoveNode(n))})}removeNode(t){this.removeNodes([t])}updateNodeDataProperty(t,n,i){const a=this.getNode(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"NodeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}mergeNodeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateNodeDataProperty(t,i,a)})})}updateNodeData(...t){const n=t[0],i=this.getNode(n);if(typeof t[1]=="string"){this.updateNodeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"NodeDataUpdated",id:n,oldValue:s,newValue:o})})}checkEdgeExistence(t){if(!this.hasEdge(t))throw new Error("Edge not found for id: "+t)}hasEdge(t){return this.edgeMap.has(t)}getEdge(t){return this.checkEdgeExistence(t),this.edgeMap.get(t)}getEdgeDetail(t){const n=this.getEdge(t);return{edge:n,source:this.getNode(n.source),target:this.getNode(n.target)}}doAddEdge(t){if(this.hasEdge(t.id))throw new Error("Edge already exists: "+t.id);this.checkNodeExistence(t.source),this.checkNodeExistence(t.target),this.edgeMap.set(t.id,t);const n=this.inEdgesMap.get(t.target),i=this.outEdgesMap.get(t.source),a=this.bothEdgesMap.get(t.source),s=this.bothEdgesMap.get(t.target);n.add(t),i.add(t),a.add(t),s.add(t),this.changes.push({type:"EdgeAdded",value:t})}addEdges(t){this.batch(()=>{for(const n of t)this.doAddEdge(n)})}addEdge(t){this.addEdges([t])}doRemoveEdge(t){const n=this.getEdge(t),i=this.outEdgesMap.get(n.source),a=this.inEdgesMap.get(n.target),s=this.bothEdgesMap.get(n.source),o=this.bothEdgesMap.get(n.target);i.delete(n),a.delete(n),s.delete(n),o.delete(n),this.edgeMap.delete(t),this.changes.push({type:"EdgeRemoved",value:n})}removeEdges(t){this.batch(()=>{t.forEach(n=>this.doRemoveEdge(n))})}removeEdge(t){this.removeEdges([t])}updateEdgeSource(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.source,s=n;this.outEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.outEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.source=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"source",oldValue:a,newValue:s})})}updateEdgeTarget(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.target,s=n;this.inEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.inEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.target=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"target",oldValue:a,newValue:s})})}updateEdgeDataProperty(t,n,i){const a=this.getEdge(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"EdgeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}updateEdgeData(...t){const n=t[0],i=this.getEdge(n);if(typeof t[1]=="string"){this.updateEdgeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"EdgeDataUpdated",id:n,oldValue:s,newValue:o})})}mergeEdgeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateEdgeDataProperty(t,i,a)})})}checkTreeExistence(t){if(!this.hasTreeStructure(t))throw new Error("Tree structure not found for treeKey: "+t)}hasTreeStructure(t){return this.treeIndices.has(t)}attachTreeStructure(t){this.treeIndices.has(t)||(this.treeIndices.set(t,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:t})}))}detachTreeStructure(t){this.checkTreeExistence(t),this.treeIndices.delete(t),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:t})})}addTree(t,n){this.batch(()=>{this.attachTreeStructure(n);const i=[],a=Array.isArray(t)?t:[t];for(;a.length;){const s=a.shift();i.push(s),s.children&&a.push(...s.children)}this.addNodes(i),i.forEach(s=>{var o;(o=s.children)==null||o.forEach(l=>{this.setParent(l.id,s.id,n)})})})}getRoots(t){return this.checkTreeExistence(t),this.getAllNodes().filter(n=>!this.getParent(n.id,t))}getChildren(t,n){this.checkNodeExistence(t),this.checkTreeExistence(n);const a=this.treeIndices.get(n).childrenMap.get(t);return Array.from(a||[])}getParent(t,n){return this.checkNodeExistence(t),this.checkTreeExistence(n),this.treeIndices.get(n).parentMap.get(t)||null}getAncestors(t,n){const i=[];let a=this.getNode(t),s;for(;s=this.getParent(a.id,n);)i.push(s),a=s;return i}setParent(t,n,i){var u,d;this.checkTreeExistence(i);const a=this.treeIndices.get(i);if(!a)return;const s=this.getNode(t),o=a.parentMap.get(t);if((o==null?void 0:o.id)===n)return;if(n==null){o&&((u=a.childrenMap.get(o.id))==null||u.delete(s)),a.parentMap.delete(t);return}const l=this.getNode(n);a.parentMap.set(t,l),o&&((d=a.childrenMap.get(o.id))==null||d.delete(s));let c=a.childrenMap.get(l.id);c||(c=new Set,a.childrenMap.set(l.id,c)),c.add(s),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:t,oldParentId:o==null?void 0:o.id,newParentId:l.id})})}dfsTree(t,n,i){const a=s=>this.getChildren(s,i);return cd(this.getNode(t),new Set,n,a)}bfsTree(t,n,i){const a=s=>this.getChildren(s,i);return F1([this.getNode(t)],new Set,n,a)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return F1([this.getNode(t)],new Set,n,a)}dfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return cd(this.getNode(t),new Set,n,a)}clone(){const t=this.getAllNodes().map(a=>({...a,data:{...a.data}})),n=this.getAllEdges().map(a=>({...a,data:{...a.data}})),i=new sP({nodes:t,edges:n});return this.treeIndices.forEach(({parentMap:a,childrenMap:s},o)=>{const l=new Map;a.forEach((u,d)=>{l.set(d,i.getNode(u.id))});const c=new Map;s.forEach((u,d)=>{c.set(d,new Set(Array.from(u).map(h=>i.getNode(h.id))))}),i.treeIndices.set(o,{parentMap:l,childrenMap:c})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(t){return new $$({graph:this,...t})}};class Vd{constructor(e,t){this.context=e,this.options=t||{}}}var q$=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},G$=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function W$(r){const{type:e}=r;return["compact-box","mindmap","dendrogram","indented"].includes(e)}function V$(r){return!Array.isArray(r)&&(r==null?void 0:r.preLayout)}function Au(r){const{nodes:e,edges:t}=r,n={nodes:[],edges:[],combos:[]};return e.forEach(i=>{const a=i.data._isCombo?n.combos:n.nodes,{x:s,y:o,z:l=0}=i.data;a==null||a.push({id:i.id,style:{x:s,y:o,z:l}})}),t.forEach(i=>{const{id:a,source:s,target:o,data:{points:l=[],controlPoints:c=l.slice(1,l.length-1)}}=i;n.edges.push({id:a,source:s,target:o,style:Object.assign({},c!=null&&c.length?{controlPoints:c.map(Un)}:{})})}),n}function U$(r,e){class t extends Vd{constructor(i,a){if(super(i,a),this.instance=new r({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const s=this.instance;this.stop=s.stop.bind(s),this.tick=o=>{const l=s.tick(o);return Au(l)}}}execute(i,a){return q$(this,void 0,void 0,function*(){return Au(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions(hr({},this.options,a))))})}transformOptions(i){const{onTick:a}=i;return a&&(i.onTick=s=>a(Au(s))),i}graphData2LayoutModel(i){const{nodes:a=[],edges:s=[],combos:o=[]}=i,l=a.map(f=>{const g=te(f),{data:p,style:v,combo:m}=f,y=G$(f,["data","style","combo"]),b={id:g,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p),{data:p}),m?{parentId:m}:{}),{style:v}),y)};return v!=null&&v.x&&Object.assign(b.data,{x:v.x}),v!=null&&v.y&&Object.assign(b.data,{y:v.y}),v!=null&&v.z&&Object.assign(b.data,{z:v.z}),b}),c=new Map(l.map(f=>[f.id,f])),u=s.filter(f=>{const{source:g,target:p}=f;return c.has(g)&&c.has(p)}).map(f=>{const{source:g,target:p,data:v,style:m}=f;return{id:te(f),source:g,target:p,data:Object.assign({},v),style:Object.assign({},m)}}),d=o.map(f=>({id:te(f),data:Object.assign({_isCombo:!0},f.data),style:Object.assign({},f.style)})),h=new Pn({nodes:[...l,...d],edges:u});return e.model.model.hasTreeStructure(Mt)&&(h.attachTreeStructure(Mt),l.forEach(f=>{const g=e.model.model.getParent(f.id,Mt);g&&h.hasNode(g.id)&&h.setParent(f.id,g.id,Mt)})),h}}return t}function qf(r,e,...t){if(e in r)return r[e](...t);if("instance"in r){const n=r.instance;if(e in n)return n[e](...t)}return null}function AE(r,e){if(e in r)return r[e];if("instance"in r){const t=r.instance;if(e in t)return t[e]}return null}var H$=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Y$ extends pc{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(e=>["d3-force","d3-force-3d"].includes(e==null?void 0:e.id))}validate(e){return this.context.layout?this.forceLayoutInstance?super.validate(e):(Di.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(e,t){return H$(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(e).forEach((i,a)=>{const{x:s=0,y:o=0}=i.style||{};n&&qf(n,"setFixedPosition",e[a],[...Ze([+s,+o],t)])})})}onDragStart(e){if(this.enable=this.validate(e),!this.enable)return;this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const t=this.forceLayoutInstance;t&&AE(t,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:a=0}=n.style||{};t&&qf(t,"setFixedPosition",te(n),[+i,+a])})}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.moveElement(this.target,t)}onDragEnd(){const e=this.forceLayoutInstance;e&&AE(e,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(t=>{e&&qf(e,"setFixedPosition",te(t),[null,null,null])})}}var PE=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Ud extends Br{constructor(e,t){super(e,Object.assign({},Ud.defaultOptions,t)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>PE(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:a,nodeFilter:s,edgeFilter:o,comboFilter:l}=this.options,c=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(s),u=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(o),d=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(l),h=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,f=[...c,...d];f.length>0&&f.forEach(g=>this.fixNodeLike(g,h)),this.updateRelatedEdges(),u.length>0&&u.forEach(g=>this.fixEdge(g,h))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,a)=>{var s;const o=this.cachedStyles.get(n)||[],l=((s=o.find(c=>c.shape===i))===null||s===void 0?void 0:s.style)||{};return a in l||(l[a]=i.attributes[a],this.cachedStyles.set(n,[...o.filter(c=>c.shape!==i),{shape:i,style:l}])),l[a]},this.scaleEntireElement=(n,i,a)=>{i.setLocalScale(1/a);const s=this.cachedStyles.get(n)||[];s.push({shape:i}),this.cachedStyles.set(n,s)},this.scaleSpecificShapes=(n,i,a)=>{const s=Hj(n);(Array.isArray(a)?a:[a]).forEach(l=>{const{shape:c,fields:u}=l,d=typeof c=="function"?c(s):n.getShape(c);if(d){if(!u){this.scaleEntireElement(n.id,d,i);return}u.forEach(h=>{const f=this.getOriginalFieldValue(n.id,d,h);Ce(f)&&(d.style[h]=f/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const a=te(n),{element:s,model:o}=this.context,l=s.getElement(a);if(!l||this.skipIfExceedViewport(l))return;o.getRelatedEdgesData(a).forEach(d=>this.relatedEdgeToUpdate.add(te(d)));const u=this.options[l.type];if(!u){this.scaleEntireElement(a,l,i);return}this.scaleSpecificShapes(l,i,u)},this.fixEdge=(n,i)=>{const a=te(n),s=this.context.element.getElement(a);if(!s||this.skipIfExceedViewport(s))return;const o=this.options.edge;if(!o){s.style.transformOrigin="center",this.scaleEntireElement(a,s,i);return}this.scaleSpecificShapes(s,i,o)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=n.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=n=>PE(this,void 0,void 0,function*(){var i;!((i=n.data)===null||i===void 0)&&i.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:a,style:s})=>{if(ki(s))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(s).forEach(([o,l])=>a.style[o]=l)}})});const{graph:e,element:t}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&e.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(a=>{e.getRelatedEdgesData(a).forEach(s=>i.add(te(s)))}),i.forEach(a=>{const s=t==null?void 0:t.getElement(a);s==null||s.update({})})}}}bindEvents(){const{graph:e}=this.context;e.on(we.AFTER_DRAW,this.resetTransform),e.on(we.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:e}=this.context;e.off(we.AFTER_DRAW,this.resetTransform),e.off(we.AFTER_TRANSFORM,this.fixElementSize)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Ud.defaultOptions={enable:r=>r.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var K$=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Hd extends Br{constructor(e,t){super(e,Object.assign({},Hd.defaultOptions,t)),this.focus=n=>K$(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Ms.forEach(t=>{e.on(`${t}:${ce.CLICK}`,this.focus)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Ms.forEach(t=>{e.off(`${t}:${ce.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}Hd.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class Yd extends Br{constructor(e,t){super(e,Object.assign({},Yd.defaultOptions,t)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===ce.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:a,onHoverEnd:s}=this.options;i?a==null||a(n):s==null||s(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:s,animation:o,inactiveState:l}=this.options,c=this.getActiveIds(n),u={};if(s&&Object.assign(u,this.getElementsState(c,s,i)),l){const d=xA(a.getData(),!0).filter(h=>!c.includes(h));Object.assign(u,this.getElementsState(d,l,i))}a.setElementState(u,o)},this.getElementsState=(n,i,a)=>{const{graph:s}=this.context,o={};return n.forEach(l=>{const c=s.getElementState(l);a?o[l]=c.includes(i)?c:[...c,i]:o[l]=c.filter(u=>u!==i)}),o},this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Ms.forEach(n=>{e.on(`${n}:${ce.POINTER_ENTER}`,this.hoverElement),e.on(`${n}:${ce.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.addEventListener(`${ce.DRAG_START}`,this.toggleFrozen),t.addEventListener(`${ce.DRAG_END}`,this.toggleFrozen)}getActiveIds(e){const{graph:t}=this.context,{degree:n,direction:i}=this.options,a=e.target.id;return n?AA(t,e.targetType,a,typeof n=="function"?n(e):n,i):[a]}validate(e){if(this.destroyed||this.isFrozen||jd(e.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Ms.forEach(n=>{e.off(`${n}:${ce.POINTER_ENTER}`,this.hoverElement),e.off(`${n}:${ce.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.removeEventListener(`${ce.DRAG_START}`,this.toggleFrozen),t.removeEventListener(`${ce.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}Yd.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class X$ extends uc{onPointerDown(e){if(!super.validate(e)||!super.isKeydown()||this.points)return;const{canvas:t}=this.context;this.pathShape=new Pr({id:"g6-lasso-select",style:this.options.style}),t.appendChild(this.pathShape),this.points=[id(e)]}onPointerMove(e){var t;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(id(e)),(t=this.pathShape)===null||t===void 0||t.setAttribute("d",qj(this.points)),n&&i==="default"&&this.points.length>2&&super.updateElementsStates(this.points)}onPointerUp(){if(this.points){if(this.points.length<2){this.clearLasso();return}super.updateElementsStates(this.points),this.clearLasso()}}clearLasso(){var e;(e=this.pathShape)===null||e===void 0||e.remove(),this.pathShape=void 0,this.points=void 0}}class Kd extends Br{constructor(e,t){super(e,Object.assign({},Kd.defaultOptions,t)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,a)=>{n.filter(Boolean).forEach(s=>{i==="hidden"&&!s.isVisible()?this.hiddenShapes.push(s):i==="visible"&&this.hiddenShapes.includes(s)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(s),1):_s(s,i,a)})},this.filterShapes=(n,i)=>{if(Ie(i))return s=>!i(n,s);const a=i==null?void 0:i[n];return s=>s.className?!(a!=null&&a.includes(s.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:a={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",a)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",a)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",a)),this.isVisible=!1},this.showShapes=nc(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:e}=this.context;e.on(we.BEFORE_TRANSFORM,this.hideShapes),e.on(we.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:e}=this.context;e.off(we.BEFORE_TRANSFORM,this.hideShapes),e.off(we.AFTER_TRANSFORM,this.showShapes)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}Kd.defaultOptions={enable:!0,debounce:200,shapes:r=>r==="node"};var RE=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Xd extends Br{constructor(e,t){super(e,Object.assign({},Xd.defaultOptions,t)),this.onWheel=n=>RE(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,a=n.deltaY;yield this.scroll([-i,-a],n)}),this.shortcut=new Do(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e,t;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),pn(n)){(e=this.graphDom)===null||e===void 0||e.removeEventListener(ce.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:s=[],right:o=[]}=n;this.shortcut.bind(i,l=>this.scroll([0,-10],l)),this.shortcut.bind(a,l=>this.scroll([0,10],l)),this.shortcut.bind(s,l=>this.scroll([-10,0],l)),this.shortcut.bind(o,l=>this.scroll([10,0],l))}else(t=this.graphDom)===null||t===void 0||t.addEventListener(ce.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(e){const{sensitivity:t}=this.options;return e=Hi(e,t),e=this.clampByDirection(e),e=this.clampByRange(e),e}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,c,u]=Fi(this.options.range),d=[s*o,a*l,s*c,a*u],h=Va(Lb(n.getCanvasCenter()),d),f=St(n.getViewportCenter(),[e,t,0]);if(!ui(f,h)){const{min:[g,p],max:[v,m]}=h;(f[0]<g&&e>0||f[0]>v&&e<0)&&(e=0),(f[1]<p&&t>0||f[1]>m&&t<0)&&(t=0)}return[e,t]}scroll(e,t){return RE(this,void 0,void 0,function*(){if(!this.validate(t))return;const{onFinish:n}=this.options,i=this.context.graph,a=this.formatDisplacement(e);yield i.translateBy(a,!1),n==null||n()})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.graphDom)===null||e===void 0||e.removeEventListener(ce.WHEEL,this.onWheel),super.destroy()}}Xd.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var LE=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Zd extends Br{constructor(e,t){super(e,Object.assign({},Zd.defaultOptions,t)),this.zoom=(n,i,a)=>LE(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:s}=this.context;let o;"viewport"in i&&(o=Un(i.viewport));const{sensitivity:l,onFinish:c}=this.options,u=1+an(n,-50,50)*l/100,d=s.getZoom();yield s.zoomTo(d*u,a,o),c==null||c()}),this.onReset=()=>LE(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new Do(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(this.shortcut.unbindAll(),Array.isArray(e))if(e.includes(ce.PINCH))this.shortcut.bind([ce.PINCH],t=>{this.zoom(t.scale,t,!1)});else{const t=this.context.canvas.getContainer();t==null||t.addEventListener(ce.WHEEL,this.preventDefault),this.shortcut.bind([...e,ce.WHEEL],n=>{const{deltaX:i,deltaY:a}=n;this.zoom(-(a!=null?a:i),n,!1)})}if(typeof e=="object"){const{zoomIn:t=[],zoomOut:n=[],reset:i=[]}=e;this.shortcut.bind(t,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(n,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(i,this.onReset)}}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return Ie(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.context.canvas.getContainer())===null||e===void 0||e.removeEventListener(ce.WHEEL,this.preventDefault),super.destroy()}}Zd.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var Gf,IE;function Ya(){if(IE)return Gf;IE=1;function r(e,t,n,i){return i===void 0&&(i="height"),n==="center"?(e[i]+t[i])/2:e.height}return Gf={assign:Object.assign,getHeight:r},Gf}var Wf,DE;function oP(){if(DE)return Wf;DE=1;var r=Ya(),e=18,t=e*2,n=e,i={getId:function(l){return l.id||l.name},getPreH:function(l){return l.preH||0},getPreV:function(l){return l.preV||0},getHGap:function(l){return l.hgap||n},getVGap:function(l){return l.vgap||n},getChildren:function(l){return l.children},getHeight:function(l){return l.height||t},getWidth:function(l){var c=l.label||" ";return l.width||c.split("").length*e}};function a(o,l){var c=this;if(c.vgap=c.hgap=0,o instanceof a)return o;c.data=o;var u=l.getHGap(o),d=l.getVGap(o);return c.preH=l.getPreH(o),c.preV=l.getPreV(o),c.width=l.getWidth(o),c.height=l.getHeight(o),c.width+=c.preH,c.height+=c.preV,c.id=l.getId(o),c.x=c.y=0,c.depth=0,c.children||(c.children=[]),c.addGap(u,d),c}r.assign(a.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(l,c){var u=this;u.hgap+=l,u.vgap+=c,u.width+=2*l,u.height+=2*c},eachNode:function(l){for(var c=this,u=[c],d;d=u.shift();)l(d),u=d.children.concat(u)},DFTraverse:function(l){this.eachNode(l)},BFTraverse:function(l){for(var c=this,u=[c],d;d=u.shift();)l(d),u=u.concat(d.children)},getBoundingBox:function(){var l={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(c){l.left=Math.min(l.left,c.x),l.top=Math.min(l.top,c.y),l.width=Math.max(l.width,c.x+c.width),l.height=Math.max(l.height,c.y+c.height)}),l},translate:function(l,c){l===void 0&&(l=0),c===void 0&&(c=0),this.eachNode(function(u){u.x+=l,u.y+=c,u.x+=u.preH,u.y+=u.preV})},right2left:function(){var l=this,c=l.getBoundingBox();l.eachNode(function(u){u.x=u.x-(u.x-c.left)*2-u.width}),l.translate(c.width,0)},bottom2top:function(){var l=this,c=l.getBoundingBox();l.eachNode(function(u){u.y=u.y-(u.y-c.top)*2-u.height}),l.translate(0,c.height)}});function s(o,l,c){l===void 0&&(l={}),l=r.assign({},i,l);var u=new a(o,l),d=[u],h;if(!c&&!o.collapsed){for(;h=d.shift();)if(!h.data.collapsed){var f=l.getChildren(h.data),g=f?f.length:0;if(h.children=new Array(g),f&&g)for(var p=0;p<g;p++){var v=new a(f[p],l);h.children[p]=v,d.push(v),v.parent=h,v.depth=h.depth+1}}}return u}return Wf=s,Wf}var Vf,FE;function Jd(){if(FE)return Vf;FE=1;var r=oP(),e=function(){function t(i,a){a===void 0&&(a={});var s=this;s.options=a,s.rootNode=r(i,a)}var n=t.prototype;return n.execute=function(){throw new Error("please override this method")},t}();return Vf=e,Vf}var Uf,BE;function Z$(){if(BE)return Uf;BE=1;function r(s,o,l,c){c===void 0&&(c=[]);var u=this;u.w=s||0,u.h=o||0,u.y=l||0,u.x=0,u.c=c||[],u.cs=c.length,u.prelim=0,u.mod=0,u.shift=0,u.change=0,u.tl=null,u.tr=null,u.el=null,u.er=null,u.msel=0,u.mser=0}r.fromNode=function(s,o){if(!s)return null;var l=[];return s.children.forEach(function(c){l.push(r.fromNode(c,o))}),o?new r(s.height,s.width,s.x,l):new r(s.width,s.height,s.y,l)};function e(s,o,l){l?s.y+=o:s.x+=o,s.children.forEach(function(c){e(c,o,l)})}function t(s,o){var l=o?s.y:s.x;return s.children.forEach(function(c){l=Math.min(t(c,o),l)}),l}function n(s,o){var l=t(s,o);e(s,-l,o)}function i(s,o,l){l?o.y=s.x:o.x=s.x,s.c.forEach(function(c,u){i(c,o.children[u],l)})}function a(s,o,l){l===void 0&&(l=0),o?(s.x=l,l+=s.width):(s.y=l,l+=s.height),s.children.forEach(function(c){a(c,o,l)})}return Uf=function(s,o){o===void 0&&(o={});var l=o.isHorizontal;function c(M){if(M.cs===0){u(M);return}c(M.c[0]);for(var N=_(p(M.c[0].el),0,null),A=1;A<M.cs;++A){c(M.c[A]);var P=p(M.c[A].er);d(M,A,N),N=_(P,A,N)}y(M),u(M)}function u(M){M.cs===0?(M.el=M,M.er=M,M.msel=M.mser=0):(M.el=M.c[0].el,M.msel=M.c[0].msel,M.er=M.c[M.cs-1].er,M.mser=M.c[M.cs-1].mser)}function d(M,N,A){for(var P=M.c[N-1],L=P.mod,I=M.c[N],G=I.mod;P!==null&&I!==null;){p(P)>A.low&&(A=A.nxt);var H=L+P.prelim+P.w-(G+I.prelim);H>0&&(G+=H,h(M,N,A.index,H));var Y=p(P),W=p(I);Y<=W&&(P=g(P),P!==null&&(L+=P.mod)),Y>=W&&(I=f(I),I!==null&&(G+=I.mod))}!P&&I?v(M,N,I,G):P&&!I&&m(M,N,P,L)}function h(M,N,A,P){M.c[N].mod+=P,M.c[N].msel+=P,M.c[N].mser+=P,w(M,N,A,P)}function f(M){return M.cs===0?M.tl:M.c[0]}function g(M){return M.cs===0?M.tr:M.c[M.cs-1]}function p(M){return M.y+M.h}function v(M,N,A,P){var L=M.c[0].el;L.tl=A;var I=P-A.mod-M.c[0].msel;L.mod+=I,L.prelim-=I,M.c[0].el=M.c[N].el,M.c[0].msel=M.c[N].msel}function m(M,N,A,P){var L=M.c[N].er;L.tr=A;var I=P-A.mod-M.c[N].mser;L.mod+=I,L.prelim-=I,M.c[N].er=M.c[N-1].er,M.c[N].mser=M.c[N-1].mser}function y(M){M.prelim=(M.c[0].prelim+M.c[0].mod+M.c[M.cs-1].mod+M.c[M.cs-1].prelim+M.c[M.cs-1].w)/2-M.w/2}function b(M,N){N+=M.mod,M.x=M.prelim+N,E(M);for(var A=0;A<M.cs;A++)b(M.c[A],N)}function w(M,N,A,P){if(A!==N-1){var L=N-A;M.c[A+1].shift+=P/L,M.c[N].shift-=P/L,M.c[N].change-=P-P/L}}function E(M){for(var N=0,A=0,P=0;P<M.cs;P++)N+=M.c[P].shift,A+=N+M.c[P].change,M.c[P].mod+=A}function _(M,N,A){for(;A!==null&&M>=A.low;)A=A.nxt;return{low:M,index:N,nxt:A}}a(s,l);var O=r.fromNode(s,l);return c(O),b(O,0),i(O,s,l),n(s,l),s},Uf}var Hf,zE;function lP(){if(zE)return Hf;zE=1;var r=oP();return Hf=function(e,t){for(var n=r(e.data,t,!0),i=r(e.data,t,!0),a=e.children.length,s=Math.round(a/2),o=t.getSide||function(d,h){return h<s?"right":"left"},l=0;l<a;l++){var c=e.children[l],u=o(c,l);u==="right"?i.children.push(c):n.children.push(c)}return n.eachNode(function(d){d.isRoot()||(d.side="left")}),i.eachNode(function(d){d.isRoot()||(d.side="right")}),{left:n,right:i}},Hf}var Yf,jE;function Xb(){if(jE)return Yf;jE=1;var r=lP(),e=["LR","RL","TB","BT","H","V"],t=["LR","RL","H"],n=function(o){return t.indexOf(o)>-1},i=e[0];Yf=function(s,o,l){var c=o.direction||i;if(o.isHorizontal=n(c),e.indexOf(c)===-1)throw new TypeError("Invalid direction: "+c);if(c===e[0])l(s,o);else if(c===e[1])l(s,o),s.right2left();else if(c===e[2])l(s,o);else if(c===e[3])l(s,o),s.bottom2top();else if(c===e[4]||c===e[5]){var u=r(s,o),d=u.left,h=u.right;l(d,o),l(h,o),o.isHorizontal?d.right2left():d.bottom2top(),h.translate(d.x-h.x,d.y-h.y),s.x=d.x,s.y=h.y;var f=s.getBoundingBox();o.isHorizontal?f.top<0&&s.translate(0,-f.top):f.left<0&&s.translate(-f.left,0)}var g=o.fixedRoot;return g===void 0&&(g=!0),g&&s.translate(-(s.x+s.width/2+s.hgap),-(s.y+s.height/2+s.vgap)),a(s,o),s};function a(s,o){if(o.radial){var l=o.isHorizontal?["x","y"]:["y","x"],c=l[0],u=l[1],d={x:1/0,y:1/0},h={x:-1/0,y:-1/0},f=0;s.DFTraverse(function(v){f++;var m=v.x,y=v.y;d.x=Math.min(d.x,m),d.y=Math.min(d.y,y),h.x=Math.max(h.x,m),h.y=Math.max(h.y,y)});var g=h[u]-d[u];if(g===0)return;var p=Math.PI*2/f;s.DFTraverse(function(v){var m=(v[u]-d[u])/g*(Math.PI*2-p)+p,y=v[c]-s[c];v.x=Math.cos(m)*y,v.y=Math.sin(m)*y})}}return Yf}var Kf,$E;function J$(){if($E)return Kf;$E=1;function r(c,u){c.prototype=Object.create(u.prototype),c.prototype.constructor=c,e(c,u)}function e(c,u){return e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(d,h){return d.__proto__=h,d},e(c,u)}var t=Jd(),n=Z$(),i=Xb(),a=Ya(),s=function(c){function u(){return c.apply(this,arguments)||this}r(u,c);var d=u.prototype;return d.execute=function(){var f=this;return i(f.rootNode,f.options,n)},u}(t),o={};function l(c,u){return u=a.assign({},o,u),new s(c,u).execute()}return Kf=l,Kf}var Xf,qE;function Q$(){if(qE)return Xf;qE=1;var r=Ya();function e(i,a){a===void 0&&(a=[]);var s=this;s.x=s.y=0,s.leftChild=s.rightChild=null,s.height=0,s.children=a}var t={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function n(i,a,s){s?(a.x=i.x,a.y=i.y):(a.x=i.y,a.y=i.x),i.children.forEach(function(o,l){n(o,a.children[l],s)})}return Xf=function(i,a){a===void 0&&(a={}),a=r.assign({},t,a);var s=0;function o(h){if(!h)return null;h.width=0,h.depth&&h.depth>s&&(s=h.depth);var f=h.children,g=f.length,p=new e(h.height,[]);return f.forEach(function(v,m){var y=o(v);p.children.push(y),m===0&&(p.leftChild=y),m===g-1&&(p.rightChild=y)}),p.originNode=h,p.isLeaf=h.isLeaf(),p}function l(h){if(h.isLeaf||h.children.length===0)h.drawingDepth=s;else{var f=h.children.map(function(p){return l(p)}),g=Math.min.apply(null,f);h.drawingDepth=g-1}return h.drawingDepth}var c;function u(h){h.x=h.drawingDepth*a.rankSep,h.isLeaf?(h.y=0,c&&(h.y=c.y+c.height+a.nodeSep,h.originNode.parent!==c.originNode.parent&&(h.y+=a.subTreeSep)),c=h):(h.children.forEach(function(f){u(f)}),h.y=(h.leftChild.y+h.rightChild.y)/2)}var d=o(i);return l(d),u(d),n(d,i,a.isHorizontal),i},Xf}var Zf,GE;function e9(){if(GE)return Zf;GE=1;function r(c,u){c.prototype=Object.create(u.prototype),c.prototype.constructor=c,e(c,u)}function e(c,u){return e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(d,h){return d.__proto__=h,d},e(c,u)}var t=Jd(),n=Q$(),i=Xb(),a=Ya(),s=function(c){function u(){return c.apply(this,arguments)||this}r(u,c);var d=u.prototype;return d.execute=function(){var f=this;return f.rootNode.width=0,i(f.rootNode,f.options,n)},u}(t),o={};function l(c,u){return u=a.assign({},o,u),new s(c,u).execute()}return Zf=l,Zf}var Jf,WE;function t9(){if(WE)return Jf;WE=1;var r=Ya();function e(t,n,i,a,s){var o=(typeof i=="function"?i(t):i)*t.depth;if(!a)try{if(t.id===t.parent.children[0].id){t.x+=o,t.y=n?n.y:0;return}}catch{}if(t.x+=o,n){if(t.y=n.y+r.getHeight(n,t,s),n.parent&&t.parent.id!==n.parent.id){var l=n.parent,c=l.y+r.getHeight(l,t,s);t.y=c>t.y?c:t.y}}else t.y=0}return Jf=function(t,n,i,a){var s=null;t.eachNode(function(o){e(o,s,n,i,a),s=o})},Jf}var Qf,VE;function n9(){if(VE)return Qf;VE=1;function r(d,h){d.prototype=Object.create(h.prototype),d.prototype.constructor=d,e(d,h)}function e(d,h){return e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(f,g){return f.__proto__=g,f},e(d,h)}var t=Jd(),n=t9(),i=lP(),a=Ya(),s=["LR","RL","H"],o=s[0],l=function(d){function h(){return d.apply(this,arguments)||this}r(h,d);var f=h.prototype;return f.execute=function(){var p=this,v=p.options,m=p.rootNode;v.isHorizontal=!0;var y=v.indent,b=y===void 0?20:y,w=v.dropCap,E=w===void 0?!0:w,_=v.direction,O=_===void 0?o:_,M=v.align;if(O&&s.indexOf(O)===-1)throw new TypeError("Invalid direction: "+O);if(O===s[0])n(m,b,E,M);else if(O===s[1])n(m,b,E,M),m.right2left();else if(O===s[2]){var N=i(m,v),A=N.left,P=N.right;n(A,b,E,M),A.right2left(),n(P,b,E,M);var L=A.getBoundingBox();P.translate(L.width,0),m.x=P.x-m.width/2}return m},h}(t),c={};function u(d,h){return h=a.assign({},c,h),new l(d,h).execute()}return Qf=u,Qf}var eg,UE;function r9(){if(UE)return eg;UE=1;var r=Ya();function e(i,a){var s=0;return i.children.length?i.children.forEach(function(o){s+=e(o,a)}):s=i.height,i._subTreeSep=a.getSubTreeSep(i.data),i.totalHeight=Math.max(i.height,s)+2*i._subTreeSep,i.totalHeight}function t(i){var a=i.children,s=a.length;if(s){a.forEach(function(h){t(h)});var o=a[0],l=a[s-1],c=l.y-o.y+l.height,u=0;if(a.forEach(function(h){u+=h.totalHeight}),c>i.height)i.y=o.y+c/2-i.height/2;else if(a.length!==1||i.height>u){var d=i.y+(i.height-c)/2-o.y;a.forEach(function(h){h.translate(0,d)})}else i.y=(o.y+o.height/2+l.y+l.height/2)/2-i.height/2}}var n={getSubTreeSep:function(){return 0}};return eg=function(i,a){a===void 0&&(a={}),a=r.assign({},n,a),i.parent={x:0,width:0,height:0,y:0},i.BFTraverse(function(s){s.x=s.parent.x+s.parent.width}),i.parent=null,e(i,a),i.startY=0,i.y=i.totalHeight/2-i.height/2,i.eachNode(function(s){var o=s.children,l=o.length;if(l){var c=o[0];if(c.startY=s.startY+s._subTreeSep,l===1)c.y=s.y+s.height/2-c.height/2;else{c.y=c.startY+c.totalHeight/2-c.height/2;for(var u=1;u<l;u++){var d=o[u];d.startY=o[u-1].startY+o[u-1].totalHeight,d.y=d.startY+d.totalHeight/2-d.height/2}}}}),t(i)},eg}var tg,HE;function i9(){if(HE)return tg;HE=1;function r(c,u){c.prototype=Object.create(u.prototype),c.prototype.constructor=c,e(c,u)}function e(c,u){return e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(d,h){return d.__proto__=h,d},e(c,u)}var t=Jd(),n=r9(),i=Xb(),a=Ya(),s=function(c){function u(){return c.apply(this,arguments)||this}r(u,c);var d=u.prototype;return d.execute=function(){var f=this;return i(f.rootNode,f.options,n)},u}(t),o={};function l(c,u){return u=a.assign({},o,u),new s(c,u).execute()}return tg=l,tg}var ng,YE;function a9(){if(YE)return ng;YE=1;var r={compactBox:J$(),dendrogram:e9(),indented:n9(),mindmap:i9()};return ng=r,ng}var hu=a9();const s9=(r,e)=>{if(r!=="next"&&r!=="prev")return e},KE=r=>{r.prev.next=r.next,r.next.prev=r.prev,delete r.next,delete r.prev};let o9=class{constructor(){const e={};e.prev=e,e.next=e.prev,this.shortcut=e}dequeue(){const e=this.shortcut,t=e.prev;if(t&&t!==e)return KE(t),t}enqueue(e){const t=this.shortcut;e.prev&&e.next&&KE(e),e.next=t.next,t.next.prev=e,t.next=e,e.prev=t}toString(){const e=[],t=this.shortcut;let n=t.prev;for(;n!==t;)e.push(JSON.stringify(n,s9)),n=n==null?void 0:n.prev;return`[${e.join(", ")}]`}};class l9 extends o9{}const c9=()=>1,u9=(r,e)=>{var t;if(r.getAllNodes().length<=1)return[];const n=h9(r,e||c9);return(t=d9(n.graph,n.buckets,n.zeroIdx).map(a=>r.getRelatedEdges(a.v,"out").filter(({target:s})=>s===a.w)))===null||t===void 0?void 0:t.flat()},d9=(r,e,t)=>{let n=[];const i=e[e.length-1],a=e[0];let s;for(;r.getAllNodes().length;){for(;s=a.dequeue();)rg(r,e,t,s);for(;s=i.dequeue();)rg(r,e,t,s);if(r.getAllNodes().length){for(let o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(rg(r,e,t,s,!0));break}}}return n},rg=(r,e,t,n,i)=>{var a,s;const o=[];return r.hasNode(n.v)&&((a=r.getRelatedEdges(n.v,"in"))===null||a===void 0||a.forEach(l=>{const c=l.data.weight,u=r.getNode(l.source);i&&o.push({v:l.source,w:l.target,in:0,out:0}),u.data.out===void 0&&(u.data.out=0),u.data.out-=c,B1(e,t,Object.assign({v:u.id},u.data))}),(s=r.getRelatedEdges(n.v,"out"))===null||s===void 0||s.forEach(l=>{const c=l.data.weight,u=l.target,d=r.getNode(u);d.data.in===void 0&&(d.data.in=0),d.data.in-=c,B1(e,t,Object.assign({v:d.id},d.data))}),r.removeNode(n.v)),i?o:void 0},h9=(r,e)=>{const t=new Pn;let n=0,i=0;r.getAllNodes().forEach(l=>{t.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),r.getAllEdges().forEach(l=>{const c=t.getRelatedEdges(l.source,"out").find(d=>d.target===l.target),u=(e==null?void 0:e(l))||1;c?t.updateEdgeData(c==null?void 0:c.id,Object.assign(Object.assign({},c.data),{weight:c.data.weight+u})):t.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:u}}),i=Math.max(i,t.getNode(l.source).data.out+=u),n=Math.max(n,t.getNode(l.target).data.in+=u)});const a=[],s=i+n+3;for(let l=0;l<s;l++)a.push(new l9);const o=n+1;return t.getAllNodes().forEach(l=>{B1(a,o,Object.assign({v:l.id},t.getNode(l.id).data))}),{buckets:a,zeroIdx:o,graph:t}},B1=(r,e,t)=>{t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)},f9=(r,e)=>{const n=u9(r,(i=>a=>a.data.weight||1)());n==null||n.forEach(i=>{const a=i.data;r.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,r.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},g9=r=>{r.getAllEdges().forEach(e=>{const t=e.data;if(t.reversed){r.removeEdge(e.id);const n=t.forwardName;delete t.reversed,delete t.forwardName,r.addEdge({id:e.id,source:e.target,target:e.source,data:Object.assign(Object.assign({},t),{forwardName:n})})}})},v9=(r,e)=>Number(r)-Number(e),zo=(r,e,t,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return t.dummy=e,r.addNode({id:i,data:t}),i},p9=r=>{const e=new Pn;return r.getAllNodes().forEach(t=>{e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{const n=e.getRelatedEdges(t.source,"out").find(i=>i.target===t.target);n?e.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+t.data.weight||0,minlen:Math.max(n.data.minlen,t.data.minlen||1)})):e.addEdge({id:t.id,source:t.source,target:t.target,data:{weight:t.data.weight||0,minlen:t.data.minlen||1}})}),e},cP=r=>{const e=new Pn;return r.getAllNodes().forEach(t=>{r.getChildren(t.id).length||e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{e.addEdge(t)}),e},m9=(r,e)=>r==null?void 0:r.reduce((t,n,i)=>(t[n]=e[i],t),{}),XE=(r,e)=>{const t=Number(r.x),n=Number(r.y),i=Number(e.x)-t,a=Number(e.y)-n;let s=Number(r.width)/2,o=Number(r.height)/2;if(!i&&!a)return{x:0,y:0};let l,c;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,c=o):(i<0&&(s=-s),l=s,c=s*a/i),{x:t+l,y:n+c}},Vl=r=>{const e=[],t=uP(r)+1;for(let n=0;n<t;n++)e.push([]);r.getAllNodes().forEach(n=>{const i=n.data.rank;i!==void 0&&e[i]&&e[i].push(n.id)});for(let n=0;n<t;n++)e[n]=e[n].sort((i,a)=>v9(r.getNode(i).data.order,r.getNode(a).data.order));return e},y9=r=>{const e=r.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),t=Math.min(...e);r.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&t!==1/0&&(n.data.rank-=t)})},b9=(r,e=0)=>{const t=r.getAllNodes(),n=t.filter(o=>o.data.rank!==void 0).map(o=>o.data.rank),i=Math.min(...n),a=[];t.forEach(o=>{const l=(o.data.rank||0)-i;a[l]||(a[l]=[]),a[l].push(o.id)});let s=0;for(let o=0;o<a.length;o++){const l=a[o];l===void 0?o%e!==0&&(s-=1):s&&(l==null||l.forEach(c=>{const u=r.getNode(c);u&&(u.data.rank=u.data.rank||0,u.data.rank+=s)}))}},ZE=(r,e,t,n)=>{const i={width:0,height:0};return Ce(t)&&Ce(n)&&(i.rank=t,i.order=n),zo(r,"border",i,e)},uP=r=>{let e;return r.getAllNodes().forEach(t=>{const n=t.data.rank;n!==void 0&&(e===void 0||n>e)&&(e=n)}),e||(e=0),e},x9=(r,e)=>{const t={lhs:[],rhs:[]};return r==null||r.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},Zb=(r,e)=>r.reduce((t,n)=>{const i=e(t),a=e(n);return i>a?n:t}),dP=(r,e,t,n,i,a)=>{n.includes(e.id)||(n.push(e.id),t||a.push(e.id),i(e.id).forEach(s=>dP(r,s,t,n,i,a)),t&&a.push(e.id))},hP=(r,e,t,n)=>{const i=Array.isArray(e)?e:[e],a=l=>r.getNeighbors(l),s=[],o=[];return i.forEach(l=>{if(r.hasNode(l.id))dP(r,l,t==="post",o,a,s);else throw new Error(`Graph does not have node: ${l}`)}),s},w9=r=>{const e=t=>{const n=r.getChildren(t),i=r.getNode(t);if(n!=null&&n.length&&n.forEach(a=>e(a.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let a=i.data.minRank,s=i.data.maxRank+1;a<s;a+=1)JE(r,"borderLeft","_bl",t,i,a),JE(r,"borderRight","_br",t,i,a)}};r.getRoots().forEach(t=>e(t.id))},JE=(r,e,t,n,i,a)=>{const s={rank:a,borderType:e,width:0,height:0},o=i.data[e][a-1],l=zo(r,"border",s,t);i.data[e][a]=l,r.setParent(l,n),o&&r.addEdge({id:`e${Math.random()}`,source:o,target:l,data:{weight:1}})},E9=(r,e)=>{const t=e.toLowerCase();(t==="lr"||t==="rl")&&fP(r)},S9=(r,e)=>{const t=e.toLowerCase();(t==="bt"||t==="rl")&&_9(r),(t==="lr"||t==="rl")&&(k9(r),fP(r))},fP=r=>{r.getAllNodes().forEach(e=>{QE(e)}),r.getAllEdges().forEach(e=>{QE(e)})},QE=r=>{const e=r.data.width;r.data.width=r.data.height,r.data.height=e},_9=r=>{r.getAllNodes().forEach(e=>{ig(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>ig(n)),e.data.hasOwnProperty("y")&&ig(e.data)})},ig=r=>{r!=null&&r.y&&(r.y=-r.y)},k9=r=>{r.getAllNodes().forEach(e=>{ag(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>ag(n)),e.data.hasOwnProperty("x")&&ag(e.data)})},ag=r=>{const e=r.x;r.x=r.y,r.y=e},M9=r=>{const e=zo(r,"root",{},"_root"),t=T9(r);let n=Math.max(...Object.values(t));Math.abs(n)===1/0&&(n=1);const i=n-1,a=2*i+1;r.getAllEdges().forEach(o=>{o.data.minlen*=a});const s=O9(r)+1;return r.getRoots().forEach(o=>{gP(r,e,a,s,i,t,o.id)}),{nestingRoot:e,nodeRankFactor:a}},gP=(r,e,t,n,i,a,s)=>{const o=r.getChildren(s);if(!(o!=null&&o.length)){s!==e&&r.addEdge({id:`e${Math.random()}`,source:e,target:s,data:{weight:0,minlen:t}});return}const l=ZE(r,"_bt"),c=ZE(r,"_bb"),u=r.getNode(s);r.setParent(l,s),u.data.borderTop=l,r.setParent(c,s),u.data.borderBottom=c,o==null||o.forEach(d=>{gP(r,e,t,n,i,a,d.id);const h=d.data.borderTop?d.data.borderTop:d.id,f=d.data.borderBottom?d.data.borderBottom:d.id,g=d.data.borderTop?n:2*n,p=h!==f?1:i-a[s]+1;r.addEdge({id:`e${Math.random()}`,source:l,target:h,data:{minlen:p,weight:g,nestingEdge:!0}}),r.addEdge({id:`e${Math.random()}`,source:f,target:c,data:{minlen:p,weight:g,nestingEdge:!0}})}),r.getParent(s)||r.addEdge({id:`e${Math.random()}`,source:e,target:l,data:{weight:0,minlen:i+a[s]}})},T9=r=>{const e={},t=(n,i)=>{const a=r.getChildren(n);a==null||a.forEach(s=>t(s.id,i+1)),e[n]=i};return r.getRoots().forEach(n=>t(n.id,1)),e},O9=r=>{let e=0;return r.getAllEdges().forEach(t=>{e+=t.data.weight}),e},C9=(r,e)=>{e&&r.removeNode(e),r.getAllEdges().forEach(t=>{t.data.nestingEdge&&r.removeEdge(t.id)})},N9="edge",vP="edge-label",A9=(r,e)=>{r.getAllEdges().forEach(t=>P9(r,t,e))},P9=(r,e,t)=>{let n=e.source,i=r.getNode(n).data.rank;const a=e.target,s=r.getNode(a).data.rank,o=e.data.labelRank;if(s===i+1)return;r.removeEdge(e.id);let l,c,u;for(u=0,++i;i<s;++u,++i)e.data.points=[],c={originalEdge:e,width:0,height:0,rank:i},l=zo(r,N9,c,"_d"),i===o&&(c.width=e.data.width,c.height=e.data.height,c.dummy=vP,c.labelpos=e.data.labelpos),r.addEdge({id:`e${Math.random()}`,source:n,target:l,data:{weight:e.data.weight}}),u===0&&t.push(l),n=l;r.addEdge({id:`e${Math.random()}`,source:n,target:a,data:{weight:e.data.weight}})},R9=(r,e)=>{e.forEach(t=>{let n=r.getNode(t);const{data:i}=n,a=i.originalEdge;let s;a&&r.addEdge(a);let o=t;for(;n.data.dummy;)s=r.getSuccessors(o)[0],r.removeNode(o),a.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===vP&&(a.data.x=n.data.x,a.data.y=n.data.y,a.data.width=n.data.width,a.data.height=n.data.height),o=s.id,n=r.getNode(o)})},L9=(r,e,t)=>{const n={};let i;t==null||t.forEach(a=>{let s=r.getParent(a),o,l;for(;s;){if(o=r.getParent(s.id),o?(l=n[o.id],n[o.id]=s.id):(l=i,i=s.id),l&&l!==s.id){e.hasNode(l)||e.addNode({id:l,data:{}}),e.hasNode(s.id)||e.addNode({id:s.id,data:{}}),e.hasEdge(`e${l}-${s.id}`)||e.addEdge({id:`e${l}-${s.id}`,source:l,target:s.id,data:{}});return}s=o}})},I9=(r,e,t)=>{const n=D9(r),i=new Pn({tree:[{id:n,children:[],data:{}}]});return r.getAllNodes().forEach(a=>{const s=r.getParent(a.id);(a.data.rank===e||a.data.minRank<=e&&e<=a.data.maxRank)&&(i.hasNode(a.id)||i.addNode(Object.assign({},a)),s!=null&&s.id&&!i.hasNode(s==null?void 0:s.id)&&i.addNode(Object.assign({},s)),i.setParent(a.id,(s==null?void 0:s.id)||n),r.getRelatedEdges(a.id,t).forEach(o=>{const l=o.source===a.id?o.target:o.source;i.hasNode(l)||i.addNode(Object.assign({},r.getNode(l)));const c=i.getRelatedEdges(l,"out").find(({target:d})=>d===a.id),u=c!==void 0?c.data.weight:0;c?i.updateEdgeData(c.id,Object.assign(Object.assign({},c.data),{weight:o.data.weight+u})):i.addEdge({id:o.id,source:l,target:a.id,data:{weight:o.data.weight+u}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[e],borderRight:a.data.borderRight[e]})))}),i},D9=r=>{let e;for(;r.hasNode(e=`_root${Math.random()}`););return e},F9=(r,e,t)=>{const n=m9(t,t.map((u,d)=>d)),a=e.map(u=>{const d=r.getRelatedEdges(u,"out").map(h=>({pos:n[h.target]||0,weight:h.data.weight}));return d==null?void 0:d.sort((h,f)=>h.pos-f.pos)}).flat().filter(u=>u!==void 0);let s=1;for(;s<t.length;)s<<=1;const o=2*s-1;s-=1;const l=Array(o).fill(0,0,o);let c=0;return a==null||a.forEach(u=>{if(u){let d=u.pos+s;l[d]+=u.weight;let h=0;for(;d>0;)d%2&&(h+=l[d+1]),d=d-1>>1,l[d]+=u.weight;c+=u.weight*h}}),c},e2=(r,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);n+=1)t+=F9(r,e[n-1],e[n]);return t},t2=r=>{const e={},t=r.getAllNodes(),n=t.map(c=>{var u;return(u=c.data.rank)!==null&&u!==void 0?u:-1/0}),i=Math.max(...n),a=[];for(let c=0;c<i+1;c++)a.push([]);const s=t.sort((c,u)=>r.getNode(c.id).data.rank-r.getNode(u.id).data.rank),l=s.filter(c=>r.getNode(c.id).data.fixorder!==void 0).sort((c,u)=>r.getNode(c.id).data.fixorder-r.getNode(u.id).data.fixorder);return l==null||l.forEach(c=>{isNaN(r.getNode(c.id).data.rank)||a[r.getNode(c.id).data.rank].push(c.id),e[c.id]=!0}),s==null||s.forEach(c=>r.dfsTree(c.id,u=>{if(e.hasOwnProperty(u.id))return!0;e[u.id]=!0,isNaN(u.data.rank)||a[u.data.rank].push(u.id)})),a},B9=(r,e)=>e.map(t=>{const n=r.getRelatedEdges(t,"in");if(!(n!=null&&n.length))return{v:t};const i={sum:0,weight:0};return n==null||n.forEach(a=>{const s=r.getNode(a.source);i.sum+=a.data.weight*s.data.order,i.weight+=a.data.weight}),{v:t,barycenter:i.sum/i.weight,weight:i.weight}}),z9=(r,e)=>{var t,n,i;const a={};r==null||r.forEach((o,l)=>{a[o.v]={i:l,indegree:0,in:[],out:[],vs:[o.v]};const c=a[o.v];o.barycenter!==void 0&&(c.barycenter=o.barycenter,c.weight=o.weight)}),(t=e.getAllEdges())===null||t===void 0||t.forEach(o=>{const l=a[o.source],c=a[o.target];l!==void 0&&c!==void 0&&(c.indegree++,l.out.push(a[o.target]))});const s=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,o=>!o.indegree);return j9(s)},j9=r=>{var e,t;const n=[],i=l=>c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&$9(l,c)},a=l=>c=>{c.in.push(l),--c.indegree===0&&r.push(c)};for(;r!=null&&r.length;){const l=r.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(c=>i(l)(c)),(t=l.out)===null||t===void 0||t.forEach(c=>a(l)(c))}const s=n.filter(l=>!l.merged),o=["vs","i","barycenter","weight"];return s.map(l=>{const c={};return o==null||o.forEach(u=>{l[u]!==void 0&&(c[u]=l[u])}),c})},$9=(r,e)=>{var t;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),r.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(e.i,r.i),e.merged=!0},q9=(r,e,t,n)=>{const i=x9(r,h=>{const f=h.hasOwnProperty("fixorder")&&!isNaN(h.fixorder);return n?!f&&h.hasOwnProperty("barycenter"):f||h.hasOwnProperty("barycenter")}),a=i.lhs,s=i.rhs.sort((h,f)=>-h.i- -f.i),o=[];let l=0,c=0,u=0;a==null||a.sort(G9(!!e,!!t)),u=n2(o,s,u),a==null||a.forEach(h=>{var f;u+=(f=h.vs)===null||f===void 0?void 0:f.length,o.push(h.vs),l+=h.barycenter*h.weight,c+=h.weight,u=n2(o,s,u)});const d={vs:o.flat()};return c&&(d.barycenter=l/c,d.weight=c),d},n2=(r,e,t)=>{let n=t,i;for(;e.length&&(i=e[e.length-1]).i<=n;)e.pop(),r==null||r.push(i.vs),n++;return n},G9=(r,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycenter<n.barycenter)return-1;if(t.barycenter>n.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.order<n.order)return-1;if(t.order>n.order)return 1}return r?n.i-t.i:t.i-n.i},pP=(r,e,t,n,i,a)=>{var s,o,l,c;let u=r.getChildren(e).map(y=>y.id);const d=r.getNode(e),h=d?d.data.borderLeft:void 0,f=d?d.data.borderRight:void 0,g={};h&&(u=u==null?void 0:u.filter(y=>y!==h&&y!==f));const p=B9(r,u||[]);p==null||p.forEach(y=>{var b;if(!((b=r.getChildren(y.v))===null||b===void 0)&&b.length){const w=pP(r,y.v,t,n,a);g[y.v]=w,w.hasOwnProperty("barycenter")&&V9(y,w)}});const v=z9(p,t);W9(v,g),(s=v.filter(y=>y.vs.length>0))===null||s===void 0||s.forEach(y=>{const b=r.getNode(y.vs[0]);b&&(y.fixorder=b.data.fixorder,y.order=b.data.order)});const m=q9(v,n,i,a);if(h&&(m.vs=[h,m.vs,f].flat(),!((o=r.getPredecessors(h))===null||o===void 0)&&o.length)){const y=r.getNode(((l=r.getPredecessors(h))===null||l===void 0?void 0:l[0].id)||""),b=r.getNode(((c=r.getPredecessors(f))===null||c===void 0?void 0:c[0].id)||"");m.hasOwnProperty("barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+y.data.order+b.data.order)/(m.weight+2),m.weight+=2}return m},W9=(r,e)=>{r==null||r.forEach(t=>{var n;const i=(n=t.vs)===null||n===void 0?void 0:n.map(a=>e[a]?e[a].vs:a);t.vs=i.flat()})},V9=(r,e)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight):(r.barycenter=e.barycenter,r.weight=e.weight)},U9=(r,e)=>{const t=uP(r),n=[],i=[];for(let u=1;u<t+1;u++)n.push(u);for(let u=t-1;u>-1;u--)i.push(u);const a=r2(r,n,"in"),s=r2(r,i,"out");let o=t2(r);sg(r,o);let l=Number.POSITIVE_INFINITY,c;for(let u=0,d=0;d<4;++u,++d){i2(u%2?a:s,u%4>=2,!1,e),o=Vl(r);const h=e2(r,o);h<l&&(d=0,c=za(o),l=h)}o=t2(r),sg(r,o);for(let u=0,d=0;d<4;++u,++d){i2(u%2?a:s,u%4>=2,!0,e),o=Vl(r);const h=e2(r,o);h<l&&(d=0,c=za(o),l=h)}sg(r,c)},r2=(r,e,t)=>e.map(n=>I9(r,n,t)),i2=(r,e,t,n)=>{const i=new Pn;r==null||r.forEach(a=>{var s;const o=a.getRoots()[0].id,l=pP(a,o,i,e,t,n);for(let c=0;c<((s=l.vs)===null||s===void 0?void 0:s.length);c++){const u=a.getNode(l.vs[c]);u&&(u.data.order=c)}L9(a,i,l.vs)})},sg=(r,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,i)=>{r.getNode(n).data.order=i})})},H9=(r,e)=>{const n=r.getAllNodes().filter(s=>{var o;return!(!((o=r.getChildren(s.id))===null||o===void 0)&&o.length)}).map(s=>s.data.rank),i=Math.max(...n),a=[];for(let s=0;s<i+1;s++)a[s]=[];e==null||e.forEach(s=>{const o=r.getNode(s);!o||o.data.dummy||isNaN(o.data.rank)||(o.data.fixorder=a[o.data.rank].length,a[o.data.rank].push(s))})},Y9=r=>{const e={};let t=0;const n=i=>{const a=t;r.getChildren(i).forEach(s=>n(s.id)),e[i]={low:a,lim:t++}};return r.getRoots().forEach(i=>n(i.id)),e},K9=(r,e,t,n)=>{var i,a;const s=[],o=[],l=Math.min(e[t].low,e[n].low),c=Math.max(e[t].lim,e[n].lim);let u,d;u=t;do u=(i=r.getParent(u))===null||i===void 0?void 0:i.id,s.push(u);while(u&&(e[u].low>l||c>e[u].lim));for(d=u,u=n;u&&u!==d;)o.push(u),u=(a=r.getParent(u))===null||a===void 0?void 0:a.id;return{lca:d,path:s.concat(o.reverse())}},X9=(r,e)=>{const t=Y9(r);e.forEach(n=>{var i,a;let s=n,o=r.getNode(s);const l=o.data.originalEdge;if(!l)return;const c=K9(r,t,l.source,l.target),u=c.path,d=c.lca;let h=0,f=u[h],g=!0;for(;s!==l.target;){if(o=r.getNode(s),g){for(;f!==d&&((i=r.getNode(f))===null||i===void 0?void 0:i.data.maxRank)<o.data.rank;)h++,f=u[h];f===d&&(g=!1)}if(!g){for(;h<u.length-1&&((a=r.getNode(u[h+1]))===null||a===void 0?void 0:a.data.minRank)<=o.data.rank;)h++;f=u[h]}r.hasNode(f)&&r.setParent(s,f),s=r.getSuccessors(s)[0].id}})},Z9=(r,e)=>{const t={},n=(i,a)=>{let s=0,o=0;const l=i.length,c=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((u,d)=>{var h;const f=Q9(r,u),g=f?r.getNode(f.id).data.order:l;(f||u===c)&&((h=a.slice(o,d+1))===null||h===void 0||h.forEach(p=>{var v;(v=r.getPredecessors(p))===null||v===void 0||v.forEach(m=>{var y;const b=r.getNode(m.id),w=b.data.order;(w<s||g<w)&&!(b.data.dummy&&(!((y=r.getNode(p))===null||y===void 0)&&y.data.dummy))&&mP(t,m.id,p)})}),o=d+1,s=g)}),a};return e!=null&&e.length&&e.reduce(n),t},J9=(r,e)=>{const t={};function n(o,l,c,u,d){var h,f;let g;for(let p=l;p<c;p++)g=o[p],!((h=r.getNode(g))===null||h===void 0)&&h.data.dummy&&((f=r.getPredecessors(g))===null||f===void 0||f.forEach(v=>{const m=r.getNode(v.id);m.data.dummy&&(m.data.order<u||m.data.order>d)&&mP(t,v.id,g)}))}function i(o){return JSON.stringify(o.slice(1))}function a(o,l){const c=i(o);l.get(c)||(n(...o),l.set(c,!0))}const s=(o,l)=>{let c=-1,u,d=0;const h=new Map;return l==null||l.forEach((f,g)=>{var p;if(((p=r.getNode(f))===null||p===void 0?void 0:p.data.dummy)==="border"){const v=r.getPredecessors(f)||[];v.length&&(u=r.getNode(v[0].id).data.order,a([l,d,g,c,u],h),d=g,c=u)}a([l,d,l.length,u,o.length],h)}),l};return e!=null&&e.length&&e.reduce(s),t},Q9=(r,e)=>{var t,n;if(!((t=r.getNode(e))===null||t===void 0)&&t.data.dummy)return(n=r.getPredecessors(e))===null||n===void 0?void 0:n.find(i=>r.getNode(i.id).data.dummy)},mP=(r,e,t)=>{let n=e,i=t;if(n>i){const s=n;n=i,i=s}let a=r[n];a||(r[n]=a={}),a[i]=!0},eq=(r,e,t)=>{let n=e,i=t;if(n>i){const a=e;n=i,i=a}return!!r[n]},tq=(r,e,t,n)=>{const i={},a={},s={};return e==null||e.forEach(o=>{o==null||o.forEach((l,c)=>{i[l]=l,a[l]=l,s[l]=c})}),e==null||e.forEach(o=>{let l=-1;o==null||o.forEach(c=>{let u=n(c).map(d=>d.id);if(u.length){u=u.sort((h,f)=>s[h]-s[f]);const d=(u.length-1)/2;for(let h=Math.floor(d),f=Math.ceil(d);h<=f;++h){const g=u[h];a[c]===c&&l<s[g]&&!eq(t,c,g)&&(a[g]=c,a[c]=i[c]=i[g],l=s[g])}}})}),{root:i,align:a}},nq=(r,e,t,n,i,a,s)=>{var o;const l={},c=rq(r,e,t,i,a,s),u=s?"borderLeft":"borderRight",d=(g,p)=>{let v=c.getAllNodes(),m=v.pop();const y={};for(;m;)y[m.id]?g(m.id):(y[m.id]=!0,v.push(m),v=v.concat(p(m.id))),m=v.pop()},h=g=>{l[g]=(c.getRelatedEdges(g,"in")||[]).reduce((p,v)=>Math.max(p,(l[v.source]||0)+v.data.weight),0)},f=g=>{const p=(c.getRelatedEdges(g,"out")||[]).reduce((m,y)=>Math.min(m,(l[y.target]||0)-y.data.weight),Number.POSITIVE_INFINITY),v=r.getNode(g);p!==Number.POSITIVE_INFINITY&&v.data.borderType!==u&&(l[g]=Math.max(l[g],p))};return d(h,c.getPredecessors.bind(c)),d(f,c.getSuccessors.bind(c)),(o=Object.values(n))===null||o===void 0||o.forEach(g=>{l[g]=l[t[g]]}),l},rq=(r,e,t,n,i,a)=>{const s=new Pn,o=oq(n,i,a);return e==null||e.forEach(l=>{let c;l==null||l.forEach(u=>{const d=t[u];if(s.hasNode(d)||s.addNode({id:d,data:{}}),c){const h=t[c],f=s.getRelatedEdges(h,"out").find(g=>g.target===d);f?s.updateEdgeData(f.id,Object.assign(Object.assign({},f.data),{weight:Math.max(o(r,u,c),f.data.weight||0)})):s.addEdge({id:`e${Math.random()}`,source:h,target:d,data:{weight:Math.max(o(r,u,c),0)}})}c=u})}),s},iq=(r,e)=>Zb(Object.values(e),t=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(s=>{const o=t[s],l=lq(r,s)/2;i=Math.max(o+l,i),a=Math.min(o-l,a)}),i-a});function aq(r,e){const t=Object.values(e),n=Math.min(...t),i=Math.max(...t);["u","d"].forEach(a=>{["l","r"].forEach(s=>{const o=a+s,l=r[o];let c;if(l===e)return;const u=Object.values(l);c=s==="l"?n-Math.min(...u):i-Math.max(...u),c&&(r[o]={},Object.keys(l).forEach(d=>{r[o][d]=l[d]+c}))})})}const sq=(r,e)=>{const t={};return Object.keys(r.ul).forEach(n=>{if(e)t[n]=r[e.toLowerCase()][n];else{const i=Object.values(r).map(a=>a[n]);t[n]=(i[0]+i[1])/2}}),t},oq=(r,e,t)=>(n,i,a)=>{const s=n.getNode(i),o=n.getNode(a);let l=0,c=0;if(l+=s.data.width/2,s.data.hasOwnProperty("labelpos"))switch((s.data.labelpos||"").toLowerCase()){case"l":c=-s.data.width/2;break;case"r":c=s.data.width/2;break}if(c&&(l+=t?c:-c),c=0,l+=(s.data.dummy?e:r)/2,l+=(o.data.dummy?e:r)/2,l+=o.data.width/2,o.data.labelpos)switch((o.data.labelpos||"").toLowerCase()){case"l":c=o.data.width/2;break;case"r":c=-o.data.width/2;break}return c&&(l+=t?c:-c),c=0,l},lq=(r,e)=>r.getNode(e).data.width||0,cq=(r,e)=>{const{ranksep:t=0}=e||{},n=Vl(r);let i=0;n==null||n.forEach(a=>{const s=a.map(l=>r.getNode(l).data.height),o=Math.max(...s,0);a==null||a.forEach(l=>{r.getNode(l).data.y=i+o/2}),i+=o+t})},uq=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=Vl(r),s=Object.assign(Z9(r,a),J9(r,a)),o={};let l=[];["u","d"].forEach(u=>{l=u==="u"?a:Object.values(a).reverse(),["l","r"].forEach(d=>{d==="r"&&(l=l.map(p=>Object.values(p).reverse()));const h=(u==="u"?r.getPredecessors:r.getSuccessors).bind(r),f=tq(r,l,s,h),g=nq(r,l,f.root,f.align,n,i,d==="r");d==="r"&&Object.keys(g).forEach(p=>g[p]=-g[p]),o[u+d]=g})});const c=iq(r,o);return c&&aq(o,c),sq(o,t)},dq=(r,e)=>{var t;const n=cP(r);cq(n,e);const i=uq(n,e);(t=Object.keys(i))===null||t===void 0||t.forEach(a=>{n.getNode(a).data.x=i[a]})},yP=r=>{const e={},t=n=>{var i;const a=r.getNode(n);if(!a)return 0;if(e[n])return a.data.rank;e[n]=!0;let s;return(i=r.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(o=>{const l=t(o.target),c=o.data.minlen,u=l-c;u&&(s===void 0||u<s)&&(s=u)}),s||(s=0),a.data.rank=s,s};r.getAllNodes().filter(n=>r.getRelatedEdges(n.id,"in").length===0).forEach(n=>t(n.id))},hq=r=>{const e={};let t;const n=s=>{var o;const l=r.getNode(s);if(!l)return 0;if(e[s])return l.data.rank;e[s]=!0;let c;return(o=r.getRelatedEdges(s,"out"))===null||o===void 0||o.forEach(u=>{const d=n(u.target),h=u.data.minlen,f=d-h;f&&(c===void 0||f<c)&&(c=f)}),c||(c=0),(t===void 0||c<t)&&(t=c),l.data.rank=c,c};r.getAllNodes().filter(s=>r.getRelatedEdges(s.id,"in").length===0).forEach(s=>{s&&n(s.id)}),t===void 0&&(t=0);const i={},a=(s,o)=>{var l;const c=r.getNode(s),u=isNaN(c.data.layer)?o:c.data.layer;(c.data.rank===void 0||c.data.rank<u)&&(c.data.rank=u),!i[s]&&(i[s]=!0,(l=r.getRelatedEdges(s,"out"))===null||l===void 0||l.forEach(d=>{a(d.target,u+d.data.minlen)}))};r.getAllNodes().forEach(s=>{const o=s.data;o&&(isNaN(o.layer)?o.rank-=t:a(s.id,o.layer))})},qa=(r,e)=>r.getNode(e.target).data.rank-r.getNode(e.source).data.rank-e.data.minlen,fq=r=>{const e=new Pn({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;gq(e,r)<n;)i=bP(e,r),a=e.hasNode(i.source)?qa(r,i):-qa(r,i),xP(e,r,a);return e},gq=(r,e)=>{const t=n=>{e.getRelatedEdges(n,"both").forEach(i=>{const a=i.source,s=n===a?i.target:a;!r.hasNode(s)&&!qa(e,i)&&(r.addNode({id:s,data:{}}),r.addEdge({id:i.id,source:n,target:s,data:{}}),t(s))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},vq=r=>{const e=new Pn({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;pq(e,r)<n;)i=bP(e,r),a=e.hasNode(i.source)?qa(r,i):-qa(r,i),xP(e,r,a);return e},pq=(r,e)=>{const t=n=>{var i;(i=e.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(a=>{const s=a.source,o=n===s?a.target:s;!r.hasNode(o)&&(e.getNode(o).data.layer!==void 0||!qa(e,a))&&(r.addNode({id:o,data:{}}),r.addEdge({id:a.id,source:n,target:o,data:{}}),t(o))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},bP=(r,e)=>Zb(e.getAllEdges(),t=>r.hasNode(t.source)!==r.hasNode(t.target)?qa(e,t):1/0),xP=(r,e,t)=>{r.getAllNodes().forEach(n=>{const i=e.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=t})},mq=r=>{const e=p9(r);yP(e);const t=fq(e);EP(t),wP(t,e);let n,i;for(;n=xq(t);)i=wq(t,e,n),Eq(t,e,n,i)},wP=(r,e)=>{let t=hP(r,r.getAllNodes(),"post");t=t.slice(0,(t==null?void 0:t.length)-1),t.forEach(n=>{yq(r,e,n)})},yq=(r,e,t)=>{const i=r.getNode(t).data.parent,a=r.getRelatedEdges(t,"both").find(s=>s.target===i||s.source===i);a.data.cutvalue=bq(r,e,t)},bq=(r,e,t)=>{const i=r.getNode(t).data.parent;let a=!0,s=e.getRelatedEdges(t,"out").find(l=>l.target===i),o=0;return s||(a=!1,s=e.getRelatedEdges(i,"out").find(l=>l.target===t)),o=s.data.weight,e.getRelatedEdges(t,"both").forEach(l=>{const c=l.source===t,u=c?l.target:l.source;if(u!==i){const d=c===a,h=l.data.weight;if(o+=d?h:-h,_q(r,t,u)){const f=r.getRelatedEdges(t,"both").find(g=>g.source===u||g.target===u).data.cutvalue;o+=d?-f:f}}}),o},EP=(r,e=r.getAllNodes()[0].id)=>{SP(r,{},1,e)},SP=(r,e,t,n,i)=>{var a;const s=t;let o=t;const l=r.getNode(n);return e[n]=!0,(a=r.getNeighbors(n))===null||a===void 0||a.forEach(c=>{e[c.id]||(o=SP(r,e,o,c.id,n))}),l.data.low=s,l.data.lim=o++,i?l.data.parent=i:delete l.data.parent,o},xq=r=>r.getAllEdges().find(e=>e.data.cutvalue<0),wq=(r,e,t)=>{let n=t.source,i=t.target;e.getRelatedEdges(n,"out").find(u=>u.target===i)||(n=t.target,i=t.source);const a=r.getNode(n),s=r.getNode(i);let o=a,l=!1;a.data.lim>s.data.lim&&(o=s,l=!0);const c=e.getAllEdges().filter(u=>l===a2(r.getNode(u.source),o)&&l!==a2(r.getNode(u.target),o));return Zb(c,u=>qa(e,u))},Eq=(r,e,t,n)=>{const i=r.getRelatedEdges(t.source,"both").find(a=>a.source===t.target||a.target===t.target);i&&r.removeEdge(i.id),r.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),EP(r),wP(r,e),Sq(r,e)},Sq=(r,e)=>{const t=r.getAllNodes().find(i=>!i.data.parent);let n=hP(r,t,"pre");n=n.slice(1),n.forEach(i=>{const a=r.getNode(i).data.parent;let s=e.getRelatedEdges(i,"out").find(l=>l.target===a),o=!1;!s&&e.hasNode(a)&&(s=e.getRelatedEdges(a,"out").find(l=>l.target===i),o=!0),e.getNode(i).data.rank=(e.hasNode(a)&&e.getNode(a).data.rank||0)+(o?s==null?void 0:s.data.minlen:-(s==null?void 0:s.data.minlen))})},_q=(r,e,t)=>r.getRelatedEdges(e,"both").find(n=>n.source===t||n.target===t),a2=(r,e)=>e.data.low<=r.data.lim&&r.data.lim<=e.data.lim,kq=(r,e)=>{switch(e){case"network-simplex":Tq(r);break;case"tight-tree":s2(r);break;case"longest-path":Mq(r);break;default:s2(r)}},Mq=yP,s2=r=>{hq(r),vq(r)},Tq=r=>{mq(r)},Oq=(r,e)=>{const{edgeLabelSpace:t,keepNodeOrder:n,prevGraph:i,rankdir:a,ranksep:s}=e;!n&&i&&Nq(r,i);const o=Dq(r);t&&(e.ranksep=Fq(o,{rankdir:a,ranksep:s}));let l;try{l=Cq(o,e)}catch(c){if(c.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:
|
|
331
|
+
`,c);return}throw c}return Aq(r,o),l},Cq=(r,e)=>{const{ranker:t,rankdir:n="tb",nodeOrder:i,keepNodeOrder:a,align:s,nodesep:o=50,edgesep:l=20,ranksep:c=50}=e;Uq(r),f9(r);const{nestingRoot:u,nodeRankFactor:d}=M9(r);kq(cP(r),t),Bq(r),b9(r,d),C9(r,u),y9(r),zq(r),jq(r);const h=[];A9(r,h),X9(r,h),w9(r),a&&H9(r,i),U9(r,a),Hq(r),E9(r,n),dq(r,{align:s,nodesep:o,edgesep:l,ranksep:c}),Yq(r),Vq(r),R9(r,h),Gq(r),S9(r,n);const{width:f,height:g}=$q(r);return qq(r),Wq(r),g9(r),{width:f,height:g}},Nq=(r,e)=>{r.getAllNodes().forEach(t=>{const n=r.getNode(t.id);if(e.hasNode(t.id)){const i=e.getNode(t.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},Aq=(r,e)=>{r.getAllNodes().forEach(t=>{var n;const i=r.getNode(t.id);if(i){const a=e.getNode(t.id);i.data.x=a.data.x,i.data.y=a.data.y,i.data._order=a.data.order,i.data._rank=a.data.rank,!((n=e.getChildren(t.id))===null||n===void 0)&&n.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),r.getAllEdges().forEach(t=>{const n=r.getEdge(t.id),i=e.getEdge(t.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},Pq=["width","height","layer","fixorder"],Rq={width:0,height:0},Lq=["minlen","weight","width","height","labeloffset"],Iq={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},og=["labelpos"],Dq=r=>{const e=new Pn({tree:[]});return r.getAllNodes().forEach(t=>{const n=l2(r.getNode(t.id).data),i=Object.assign(Object.assign({},Rq),n),a=o2(i,Pq);e.hasNode(t.id)||e.addNode({id:t.id,data:Object.assign({},a)});const s=r.hasTreeStructure("combo")?r.getParent(t.id,"combo"):r.getParent(t.id);qe(s)||(e.hasNode(s.id)||e.addNode(Object.assign({},s)),e.setParent(t.id,s.id))}),r.getAllEdges().forEach(t=>{const n=l2(r.getEdge(t.id).data),i={};og==null||og.forEach(a=>{n[a]!==void 0&&(i[a]=n[a])}),e.addEdge({id:t.id,source:t.source,target:t.target,data:Object.assign({},Iq,o2(n,Lq),i)})}),e},Fq=(r,e)=>{const{ranksep:t=0,rankdir:n}=e;return r.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),r.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),t/2},Bq=r=>{r.getAllEdges().forEach(e=>{if(e.data.width&&e.data.height){const t=r.getNode(e.source),n=r.getNode(e.target),i={e,rank:(n.data.rank-t.data.rank)/2+t.data.rank};zo(r,"edge-proxy",i,"_ep")}})},zq=r=>{let e=0;return r.getAllNodes().forEach(t=>{var n,i;t.data.borderTop&&(t.data.minRank=(n=r.getNode(t.data.borderTop))===null||n===void 0?void 0:n.data.rank,t.data.maxRank=(i=r.getNode(t.data.borderBottom))===null||i===void 0?void 0:i.data.rank,e=Math.max(e,t.data.maxRank||-1/0))}),e},jq=r=>{r.getAllNodes().forEach(e=>{e.data.dummy==="edge-proxy"&&(r.getEdge(e.data.e.id).data.labelRank=e.data.rank,r.removeNode(e.id))})},$q=(r,e)=>{let t,n=0,i,a=0;const{marginx:s=0,marginy:o=0}={},l=c=>{if(!c.data)return;const u=c.data.x,d=c.data.y,h=c.data.width,f=c.data.height;!isNaN(u)&&!isNaN(h)&&(t===void 0&&(t=u-h/2),t=Math.min(t,u-h/2),n=Math.max(n,u+h/2)),!isNaN(d)&&!isNaN(f)&&(i===void 0&&(i=d-f/2),i=Math.min(i,d-f/2),a=Math.max(a,d+f/2))};return r.getAllNodes().forEach(c=>{l(c)}),r.getAllEdges().forEach(c=>{c!=null&&c.data.hasOwnProperty("x")&&l(c)}),t-=s,i-=o,r.getAllNodes().forEach(c=>{c.data.x-=t,c.data.y-=i}),r.getAllEdges().forEach(c=>{var u;(u=c.data.points)===null||u===void 0||u.forEach(d=>{d.x-=t,d.y-=i}),c.data.hasOwnProperty("x")&&(c.data.x-=t),c.data.hasOwnProperty("y")&&(c.data.y-=i)}),{width:n-t+s,height:a-i+o}},qq=r=>{r.getAllEdges().forEach(e=>{const t=r.getNode(e.source),n=r.getNode(e.target);let i,a;e.data.points?(i=e.data.points[0],a=e.data.points[e.data.points.length-1]):(e.data.points=[],i={x:n.data.x,y:n.data.y},a={x:t.data.x,y:t.data.y}),e.data.points.unshift(XE(t.data,i)),e.data.points.push(XE(n.data,a))})},Gq=r=>{r.getAllEdges().forEach(e=>{if(e.data.hasOwnProperty("x"))switch((e.data.labelpos==="l"||e.data.labelpos==="r")&&(e.data.width-=e.data.labeloffset),e.data.labelpos){case"l":e.data.x-=e.data.width/2+e.data.labeloffset;break;case"r":e.data.x+=e.data.width/2+e.data.labeloffset;break}})},Wq=r=>{r.getAllEdges().forEach(e=>{var t;e.data.reversed&&((t=e.data.points)===null||t===void 0||t.reverse())})},Vq=r=>{r.getAllNodes().forEach(e=>{var t,n,i;if(!((t=r.getChildren(e.id))===null||t===void 0)&&t.length){const a=r.getNode(e.id),s=r.getNode(a.data.borderTop),o=r.getNode(a.data.borderBottom),l=r.getNode(a.data.borderLeft[((n=a.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),c=r.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((c==null?void 0:c.data.x)-(l==null?void 0:l.data.x))||10,a.data.height=Math.abs((o==null?void 0:o.data.y)-(s==null?void 0:s.data.y))||10,a.data.x=((l==null?void 0:l.data.x)||0)+a.data.width/2,a.data.y=((s==null?void 0:s.data.y)||0)+a.data.height/2}}),r.getAllNodes().forEach(e=>{e.data.dummy==="border"&&r.removeNode(e.id)})},Uq=r=>{r.getAllEdges().forEach(e=>{if(e.source===e.target){const t=r.getNode(e.source);t.data.selfEdges||(t.data.selfEdges=[]),t.data.selfEdges.push(e),r.removeEdge(e.id)}})},Hq=r=>{const e=Vl(r);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((i,a)=>{var s;const o=r.getNode(i);o.data.order=a+n,(s=o.data.selfEdges)===null||s===void 0||s.forEach(l=>{zo(r,"selfedge",{width:l.data.width,height:l.data.height,rank:o.data.rank,order:a+ ++n,e:l},"_se")}),delete o.data.selfEdges})})},Yq=r=>{r.getAllNodes().forEach(e=>{const t=r.getNode(e.id);if(t.data.dummy==="selfedge"){const n=r.getNode(t.data.e.source),i=n.data.x+n.data.width/2,a=n.data.y,s=t.data.x-i,o=n.data.height/2;r.hasEdge(t.data.e.id)?r.updateEdgeData(t.data.e.id,t.data.e.data):r.addEdge({id:t.data.e.id,source:t.data.e.source,target:t.data.e.target,data:t.data.e.data}),r.removeNode(e.id),t.data.e.data.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{y:a,x:i+s},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],t.data.e.data.x=t.data.x,t.data.e.data.y=t.data.y}})},o2=(r,e)=>{const t={};return e==null||e.forEach(n=>{r[n]!==void 0&&(t[n]=+r[n])}),t},l2=(r={})=>{const e={};return Object.keys(r).forEach(t=>{e[t.toLowerCase()]=r[t]}),e},Ki=Array.isArray,_P=r=>{const e=[],t=r.length;for(let n=0;n<t;n+=1){e[n]=[];for(let i=0;i<t;i+=1)n===i?e[n][i]=0:r[n][i]===0||!r[n][i]?e[n][i]=1/0:e[n][i]=r[n][i]}for(let n=0;n<t;n+=1)for(let i=0;i<t;i+=1)for(let a=0;a<t;a+=1)e[i][a]>e[i][n]+e[n][a]&&(e[i][a]=e[i][n]+e[n][a]);return e},kP=(r,e)=>{const{nodes:t,edges:n}=r,i=[],a={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((s,o)=>{a[s.id]=o;const l=[];i.push(l)}),n==null||n.forEach(s=>{const{source:o,target:l}=s,c=a[o],u=a[l];c===void 0||u===void 0||(i[c][u]=1,i[u][c]=1)}),i},Kq=(r,e)=>{const t=[];return r.forEach(n=>{const i=[];n.forEach(a=>{i.push(a*e)}),t.push(i)}),t},Xq=r=>{let e=1/0,t=1/0,n=-1/0,i=-1/0;return r.forEach(a=>{let s=a.data.size;Ki(s)?s.length===1&&(s=[s[0],s[0]]):Ce(s)?s=[s,s]:(s===void 0||isNaN(s))&&(s=[30,30]);const o=[s[0]/2,s[1]/2],l=a.data.x-o[0],c=a.data.x+o[0],u=a.data.y-o[1],d=a.data.y+o[1];e>l&&(e=l),t>u&&(t=u),n<c&&(n=c),i<d&&(i=d)}),{minX:e,minY:t,maxX:n,maxY:i}},c2=(r,e)=>Math.sqrt((r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y)),z1=(r,e,t,n="TB",i,a={})=>{if(!(e!=null&&e.length))return;const{stopBranchFn:s,stopAllFn:o}=a;for(let l=0;l<e.length;l++){const c=e[l];if(r.hasNode(c.id)&&!(s!=null&&s(c))){if(o!=null&&o(c))return;n==="TB"&&t(c),z1(r,r.getChildren(c.id,i),t,n,i,a),n!=="TB"&&t(c)}}},j1=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){const e=[];return r.forEach(t=>{e.push(t)}),e.map(t=>j1(t))}if(typeof r=="object"){const e={};return Object.keys(r).forEach(t=>{e[t]=j1(r[t])}),e}return r},Rr=(r,e)=>{const t=j1(r);return t.data=t.data||{},e&&(Ce(t.data.x)||(t.data.x=Math.random()*e[0]),Ce(t.data.y)||(t.data.y=Math.random()*e[1])),t};function mc(r){if(!r)return[0,0,0];if(Ce(r))return[r,r,r];if(r.length===0)return[0,0,0];const[e,t=e,n=e]=r;return[e,t,n]}function ps(r,e){let t;return Ie(e)?t=e:Ce(e)?t=()=>e:t=()=>r,t}function Jb(r,e,t=!0){return!e&&e!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?t?Math.max(...i)||r:i:pn(i)&&i.width&&i.height?t?Math.max(i.width,i.height)||r:[i.width,i.height]:i:r}:Ie(e)?e:Ce(e)?()=>e:Array.isArray(e)?()=>t?Math.max(...e)||r:e:pn(e)&&e.width&&e.height?()=>t?Math.max(e.width,e.height)||r:[e.width,e.height]:()=>r}const Qb=(r,e,t=10)=>{let n;const i=typeof e=="function"?e:()=>e||0;return r?Array.isArray(r)?n=s=>r:Ie(r)?n=r:n=s=>r:n=s=>{var o,l,c;if(!((o=s.data)===null||o===void 0)&&o.bboxSize)return(l=s.data)===null||l===void 0?void 0:l.bboxSize;if(!((c=s.data)===null||c===void 0)&&c.size){const u=s.data.size;return Array.isArray(u)?u:pn(u)?[u.width,u.height]:u}return t},s=>{const o=n(s),l=i(s);return Math.max(...mc(o))+l}},Zq={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class Jq{constructor(e={}){this.options=e,this.id="antv-dagre",this.options=Object.assign(Object.assign({},Zq),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,t)})}genericDagreLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:a,align:s,rankdir:o="TB",ranksep:l,nodesep:c,ranksepFunc:u,nodesepFunc:d,edgeLabelSpace:h,ranker:f,nodeOrder:g,begin:p,controlPoints:v,radial:m,sortByCombo:y,preset:b}=i,w=new Pn({tree:[]}),E=ps(l||50,u),_=ps(c||50,d);let O=_,M=E;(o==="LR"||o==="RL")&&(O=E,M=_);const N=Jb(10,a,!1),A=t.getAllNodes(),P=t.getAllEdges();A.forEach(q=>{const Q=mc(N(q)),re=M(q),de=O(q),oe=Q[0]+2*de,he=Q[1]+2*re,X=q.data.layer;Ce(X)?w.addNode({id:q.id,data:{width:oe,height:he,layer:X}}):w.addNode({id:q.id,data:{width:oe,height:he}})}),y&&(w.attachTreeStructure("combo"),A.forEach(q=>{const{parentId:Q}=q.data;Q!==void 0&&w.hasNode(Q)&&w.setParent(q.id,Q,"combo")})),P.forEach(q=>{w.addEdge({id:q.id,source:q.source,target:q.target,data:{weight:q.data.weight||1}})});let L;b!=null&&b.length&&(L=new Pn({nodes:b})),Oq(w,{prevGraph:L,edgeLabelSpace:h,keepNodeOrder:!!g,nodeOrder:g||[],acyclicer:"greedy",ranker:f,rankdir:o,nodesep:c,align:s});const I=[0,0];if(p){let q=1/0,Q=1/0;w.getAllNodes().forEach(re=>{q>re.data.x&&(q=re.data.x),Q>re.data.y&&(Q=re.data.y)}),w.getAllEdges().forEach(re=>{var de;(de=re.data.points)===null||de===void 0||de.forEach(oe=>{q>oe.x&&(q=oe.x),Q>oe.y&&(Q=oe.y)})}),I[0]=p[0]-q,I[1]=p[1]-Q}const G=o==="LR"||o==="RL";if(!m){const q=new Set,re=o==="BT"||o==="RL"?(X,U)=>U-X:(X,U)=>X-U;w.getAllNodes().forEach(X=>{X.data.x=X.data.x+I[0],X.data.y=X.data.y+I[1],q.add(G?X.data.x:X.data.y)});const de=Array.from(q).sort(re),oe=G?(X,U)=>X.x!==U.x:(X,U)=>X.y!==U.y,he=G?(X,U,ne)=>{const ue=Math.max(U.y,ne.y),Me=Math.min(U.y,ne.y);return X.filter(Be=>Be.y<=ue&&Be.y>=Me)}:(X,U,ne)=>{const ue=Math.max(U.x,ne.x),Me=Math.min(U.x,ne.x);return X.filter(Be=>Be.x<=ue&&Be.x>=Me)};w.getAllEdges().forEach((X,U)=>{var ne;h&&v&&X.data.type!=="loop"&&(X.data.controlPoints=Qq((ne=X.data.points)===null||ne===void 0?void 0:ne.map(({x:ue,y:Me})=>({x:ue+I[0],y:Me+I[1]})),w.getNode(X.source),w.getNode(X.target),de,G,oe,he))})}let H=[];H=w.getAllNodes().map(q=>Rr(q));const Y=w.getAllEdges();return e&&(H.forEach(q=>{t.mergeNodeData(q.id,{x:q.data.x,y:q.data.y})}),Y.forEach(q=>{t.mergeEdgeData(q.id,{controlPoints:q.data.controlPoints})})),{nodes:H,edges:Y}})}}const Qq=(r,e,t,n,i,a,s)=>{let o=(r==null?void 0:r.slice(1,r.length-1))||[];if(e&&t){let{x:l,y:c}=e.data,{x:u,y:d}=t.data;if(i&&(l=e.data.y,c=e.data.x,u=t.data.y,d=t.data.x),d!==c&&l!==u){const h=n.indexOf(c),f=n[h+1];if(f){const v=o[0],m=i?{x:(c+f)/2,y:(v==null?void 0:v.y)||u}:{x:(v==null?void 0:v.x)||u,y:(c+f)/2};(!v||a(v,m))&&o.unshift(m)}const g=n.indexOf(d),p=Math.abs(g-h);if(p===1)o=s(o,e.data,t.data),o.length||o.push(i?{x:(c+d)/2,y:l}:{x:l,y:(c+d)/2});else if(p>1){const v=n[g-1];if(v){const m=o[o.length-1],y=i?{x:(d+v)/2,y:(m==null?void 0:m.y)||u}:{x:(m==null?void 0:m.x)||l,y:(d+v)/2};(!m||a(m,y))&&o.push(y)}}}}return o},Ds=(r,e,t)=>{const n=r.getAllNodes(),i=r.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return e&&r.mergeNodeData(n[0].id,{x:t[0],y:t[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:t[0],y:t[1]})})],edges:i}},eG={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class tG{constructor(e={}){this.options=e,this.id="circular",this.options=Object.assign(Object.assign({},eG),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,e,t)})}genericCircularLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,divisions:l,startAngle:c=0,endAngle:u=2*Math.PI,angleRatio:d,ordering:h,clockwise:f,nodeSpacing:g,nodeSize:p}=i,v=t.getAllNodes(),m=t.getAllEdges(),[y,b,w]=rG(a,s,o),E=v==null?void 0:v.length;if(!E||E===1)return Ds(t,e,w);const _=(u-c)/E;let{radius:O,startRadius:M,endRadius:N}=i;if(g){const G=ps(10,g),H=Jb(10,p);let Y=-1/0;v.forEach(q=>{const Q=H(q);Y<Q&&(Y=Q)});let W=0;v.forEach((q,Q)=>{Q===0?W+=Y||10:W+=(G(q)||0)+(Y||10)}),O=W/(2*Math.PI)}else!O&&!M&&!N?O=Math.min(b,y)/2:!M&&N?M=N:M&&!N&&(N=M);const A=_*d;let P=[];h==="topology"?P=u2(t,v):h==="topology-directed"?P=u2(t,v,!0):h==="degree"?P=nG(t,v):P=v.map(G=>Rr(G));const L=Math.ceil(E/l);for(let G=0;G<E;++G){let H=O;!H&&M!==null&&N!==null&&(H=M+G*(N-M)/(E-1)),H||(H=10+G*100/(E-1));let Y=c+G%L*A+2*Math.PI/l*Math.floor(G/L);f||(Y=u-G%L*A-2*Math.PI/l*Math.floor(G/L)),P[G].data.x=w[0]+Math.cos(Y)*H,P[G].data.y=w[1]+Math.sin(Y)*H}return e&&P.forEach(G=>{t.mergeNodeData(G.id,{x:G.data.x,y:G.data.y})}),{nodes:P,edges:m}})}}const u2=(r,e,t=!1)=>{const n=[Rr(e[0])],i={},a=e.length;i[e[0].id]=!0;let s=0;return e.forEach((o,l)=>{if(l!==0)if((l===a-1||r.getDegree(o.id,"both")!==r.getDegree(e[l+1].id,"both")||r.areNeighbors(n[s].id,o.id))&&!i[o.id])n.push(Rr(o)),i[o.id]=!0,s++;else{const c=t?r.getSuccessors(n[s].id):r.getNeighbors(n[s].id);let u=!1;for(let h=0;h<c.length;h++){const f=c[h];if(r.getDegree(f.id)===r.getDegree(o.id)&&!i[f.id]){n.push(Rr(f)),i[f.id]=!0,u=!0;break}}let d=0;for(;!u&&(i[e[d].id]||(n.push(Rr(e[d])),i[e[d].id]=!0,u=!0),d++,d!==a););}}),n};function nG(r,e){const t=[];return e.forEach((n,i)=>{t.push(Rr(n))}),t.sort((n,i)=>r.getDegree(n.id,"both")-r.getDegree(i.id,"both")),t}const rG=(r,e,t)=>{let n=r,i=e,a=t;return!n&&typeof window<"u"&&(n=window.innerWidth),!i&&typeof window<"u"&&(i=window.innerHeight),a||(a=[n/2,i/2]),[n,i,a]},iG={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class $1{constructor(e={}){this.options=e,this.id="concentric",this.options=Object.assign(Object.assign({},iG),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,e,t)})}genericConcentricLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o,sortBy:l,maxLevelDiff:c,sweep:u,clockwise:d,equidistant:h,preventOverlap:f,startAngle:g=3/2*Math.PI,nodeSize:p,nodeSpacing:v}=i,m=t.getAllNodes(),y=t.getAllEdges(),b=!s&&typeof window<"u"?window.innerWidth:s,w=!o&&typeof window<"u"?window.innerHeight:o,E=a||[b/2,w/2];if(!(m!=null&&m.length)||m.length===1)return Ds(t,e,E);const _=[];let O,M=0;Ki(p)?O=Math.max(p[0],p[1]):Ie(p)?(O=-1/0,m.forEach(q=>{const Q=Math.max(...mc(p(q)));Q>O&&(O=Q)})):O=p,Ki(v)?M=Math.max(v[0],v[1]):Ce(v)&&(M=v),m.forEach(q=>{const Q=Rr(q);_.push(Q);let re=O;const{data:de}=Q;Ki(de.size)?re=Math.max(de.size[0],de.size[1]):Ce(de.size)?re=de.size:pn(de.size)&&(re=Math.max(de.size.width,de.size.height)),O=Math.max(O,re),Ie(v)&&(M=Math.max(v(q),M))});const N={};_.forEach((q,Q)=>{N[q.id]=Q});let A=l;(!gt(A)||_[0].data[A]===void 0)&&(A="degree"),A==="degree"?_.sort((q,Q)=>t.getDegree(Q.id,"both")-t.getDegree(q.id,"both")):_.sort((q,Q)=>Q.data[A]-q.data[A]);const P=_[0],L=(c||(A==="degree"?t.getDegree(P.id,"both"):P.data[A]))/4,I=[{nodes:[]}];let G=I[0];_.forEach(q=>{if(G.nodes.length>0){const Q=Math.abs(A==="degree"?t.getDegree(G.nodes[0].id,"both")-t.getDegree(q.id,"both"):G.nodes[0].data[A]-q.data[A]);L&&Q>=L&&(G={nodes:[]},I.push(G))}G.nodes.push(q)});let H=O+M;if(!f){const q=I.length>0&&I[0].nodes.length>1,re=(Math.min(b,w)/2-H)/(I.length+(q?1:0));H=Math.min(H,re)}let Y=0;if(I.forEach(q=>{const Q=u===void 0?2*Math.PI-2*Math.PI/q.nodes.length:u;if(q.dTheta=Q/Math.max(1,q.nodes.length-1),q.nodes.length>1&&f){const re=Math.cos(q.dTheta)-Math.cos(0),de=Math.sin(q.dTheta)-Math.sin(0),oe=Math.sqrt(H*H/(re*re+de*de));Y=Math.max(oe,Y)}q.r=Y,Y+=H}),h){let q=0,Q=0;for(let re=0;re<I.length;re++){const oe=(I[re].r||0)-Q;q=Math.max(q,oe)}Q=0,I.forEach((re,de)=>{de===0&&(Q=re.r||0),re.r=Q,Q+=q})}return I.forEach(q=>{const Q=q.dTheta||0,re=q.r||0;q.nodes.forEach((de,oe)=>{const he=g+(d?1:-1)*Q*oe;de.data.x=E[0]+re*Math.cos(he),de.data.y=E[1]+re*Math.sin(he)})}),e&&_.forEach(q=>t.mergeNodeData(q.id,{x:q.data.x,y:q.data.y})),{nodes:_,edges:y}})}}function aG(r){const e=+this._x.call(null,r),t=+this._y.call(null,r);return MP(this.cover(e,t),e,t,r)}function MP(r,e,t,n){if(isNaN(e)||isNaN(t))return r;var i,a=r._root,s={data:n},o=r._x0,l=r._y0,c=r._x1,u=r._y1,d,h,f,g,p,v,m,y;if(!a)return r._root=s,r;for(;a.length;)if((p=e>=(d=(o+c)/2))?o=d:c=d,(v=t>=(h=(l+u)/2))?l=h:u=h,i=a,!(a=a[m=v<<1|p]))return i[m]=s,r;if(f=+r._x.call(null,a.data),g=+r._y.call(null,a.data),e===f&&t===g)return s.next=a,i?i[m]=s:r._root=s,r;do i=i?i[m]=new Array(4):r._root=new Array(4),(p=e>=(d=(o+c)/2))?o=d:c=d,(v=t>=(h=(l+u)/2))?l=h:u=h;while((m=v<<1|p)===(y=(g>=h)<<1|f>=d));return i[y]=a,i[m]=s,r}function sG(r){var e,t,n=r.length,i,a,s=new Array(n),o=new Array(n),l=1/0,c=1/0,u=-1/0,d=-1/0;for(t=0;t<n;++t)isNaN(i=+this._x.call(null,e=r[t]))||isNaN(a=+this._y.call(null,e))||(s[t]=i,o[t]=a,i<l&&(l=i),i>u&&(u=i),a<c&&(c=a),a>d&&(d=a));if(l>u||c>d)return this;for(this.cover(l,c).cover(u,d),t=0;t<n;++t)MP(this,s[t],o[t],r[t]);return this}function oG(r,e){if(isNaN(r=+r)||isNaN(e=+e))return this;var t=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(t))i=(t=Math.floor(r))+1,a=(n=Math.floor(e))+1;else{for(var s=i-t||1,o=this._root,l,c;t>r||r>=i||n>e||e>=a;)switch(c=(e<n)<<1|r<t,l=new Array(4),l[c]=o,o=l,s*=2,c){case 0:i=t+s,a=n+s;break;case 1:t=i-s,a=n+s;break;case 2:i=t+s,n=a-s;break;case 3:t=i-s,n=a-s;break}this._root&&this._root.length&&(this._root=o)}return this._x0=t,this._y0=n,this._x1=i,this._y1=a,this}function lG(){var r=[];return this.visit(function(e){if(!e.length)do r.push(e.data);while(e=e.next)}),r}function cG(r){return arguments.length?this.cover(+r[0][0],+r[0][1]).cover(+r[1][0],+r[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function cr(r,e,t,n,i){this.node=r,this.x0=e,this.y0=t,this.x1=n,this.y1=i}function uG(r,e,t){var n,i=this._x0,a=this._y0,s,o,l,c,u=this._x1,d=this._y1,h=[],f=this._root,g,p;for(f&&h.push(new cr(f,i,a,u,d)),t==null?t=1/0:(i=r-t,a=e-t,u=r+t,d=e+t,t*=t);g=h.pop();)if(!(!(f=g.node)||(s=g.x0)>u||(o=g.y0)>d||(l=g.x1)<i||(c=g.y1)<a))if(f.length){var v=(s+l)/2,m=(o+c)/2;h.push(new cr(f[3],v,m,l,c),new cr(f[2],s,m,v,c),new cr(f[1],v,o,l,m),new cr(f[0],s,o,v,m)),(p=(e>=m)<<1|r>=v)&&(g=h[h.length-1],h[h.length-1]=h[h.length-1-p],h[h.length-1-p]=g)}else{var y=r-+this._x.call(null,f.data),b=e-+this._y.call(null,f.data),w=y*y+b*b;if(w<t){var E=Math.sqrt(t=w);i=r-E,a=e-E,u=r+E,d=e+E,n=f.data}}return n}function dG(r){if(isNaN(u=+this._x.call(null,r))||isNaN(d=+this._y.call(null,r)))return this;var e,t=this._root,n,i,a,s=this._x0,o=this._y0,l=this._x1,c=this._y1,u,d,h,f,g,p,v,m;if(!t)return this;if(t.length)for(;;){if((g=u>=(h=(s+l)/2))?s=h:l=h,(p=d>=(f=(o+c)/2))?o=f:c=f,e=t,!(t=t[v=p<<1|g]))return this;if(!t.length)break;(e[v+1&3]||e[v+2&3]||e[v+3&3])&&(n=e,m=v)}for(;t.data!==r;)if(i=t,!(t=t.next))return this;return(a=t.next)&&delete t.next,i?(a?i.next=a:delete i.next,this):e?(a?e[v]=a:delete e[v],(t=e[0]||e[1]||e[2]||e[3])&&t===(e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[m]=t:this._root=t),this):(this._root=a,this)}function hG(r){for(var e=0,t=r.length;e<t;++e)this.remove(r[e]);return this}function fG(){return this._root}function gG(){var r=0;return this.visit(function(e){if(!e.length)do++r;while(e=e.next)}),r}function vG(r){var e=[],t,n=this._root,i,a,s,o,l;for(n&&e.push(new cr(n,this._x0,this._y0,this._x1,this._y1));t=e.pop();)if(!r(n=t.node,a=t.x0,s=t.y0,o=t.x1,l=t.y1)&&n.length){var c=(a+o)/2,u=(s+l)/2;(i=n[3])&&e.push(new cr(i,c,u,o,l)),(i=n[2])&&e.push(new cr(i,a,u,c,l)),(i=n[1])&&e.push(new cr(i,c,s,o,u)),(i=n[0])&&e.push(new cr(i,a,s,c,u))}return this}function pG(r){var e=[],t=[],n;for(this._root&&e.push(new cr(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var a,s=n.x0,o=n.y0,l=n.x1,c=n.y1,u=(s+l)/2,d=(o+c)/2;(a=i[0])&&e.push(new cr(a,s,o,u,d)),(a=i[1])&&e.push(new cr(a,u,o,l,d)),(a=i[2])&&e.push(new cr(a,s,d,u,c)),(a=i[3])&&e.push(new cr(a,u,d,l,c))}t.push(n)}for(;n=t.pop();)r(n.node,n.x0,n.y0,n.x1,n.y1);return this}function mG(r){return r[0]}function yG(r){return arguments.length?(this._x=r,this):this._x}function bG(r){return r[1]}function xG(r){return arguments.length?(this._y=r,this):this._y}function Qd(r,e,t){var n=new ex(e==null?mG:e,t==null?bG:t,NaN,NaN,NaN,NaN);return r==null?n:n.addAll(r)}function ex(r,e,t,n,i,a){this._x=r,this._y=e,this._x0=t,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function d2(r){for(var e={data:r.data},t=e;r=r.next;)t=t.next={data:r.data};return e}var fr=Qd.prototype=ex.prototype;fr.copy=function(){var r=new ex(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,t,n;if(!e)return r;if(!e.length)return r._root=d2(e),r;for(t=[{source:e,target:r._root=new Array(4)}];e=t.pop();)for(var i=0;i<4;++i)(n=e.source[i])&&(n.length?t.push({source:n,target:e.target[i]=new Array(4)}):e.target[i]=d2(n));return r};fr.add=aG;fr.addAll=sG;fr.cover=oG;fr.data=lG;fr.extent=cG;fr.find=uG;fr.remove=dG;fr.removeAll=hG;fr.root=fG;fr.size=gG;fr.visit=vG;fr.visitAfter=pG;fr.x=yG;fr.y=xG;function wG(r){const e=+this._x.call(null,r),t=+this._y.call(null,r),n=+this._z.call(null,r);return TP(this.cover(e,t,n),e,t,n,r)}function TP(r,e,t,n,i){if(isNaN(e)||isNaN(t)||isNaN(n))return r;var a,s=r._root,o={data:i},l=r._x0,c=r._y0,u=r._z0,d=r._x1,h=r._y1,f=r._z1,g,p,v,m,y,b,w,E,_,O,M;if(!s)return r._root=o,r;for(;s.length;)if((w=e>=(g=(l+d)/2))?l=g:d=g,(E=t>=(p=(c+h)/2))?c=p:h=p,(_=n>=(v=(u+f)/2))?u=v:f=v,a=s,!(s=s[O=_<<2|E<<1|w]))return a[O]=o,r;if(m=+r._x.call(null,s.data),y=+r._y.call(null,s.data),b=+r._z.call(null,s.data),e===m&&t===y&&n===b)return o.next=s,a?a[O]=o:r._root=o,r;do a=a?a[O]=new Array(8):r._root=new Array(8),(w=e>=(g=(l+d)/2))?l=g:d=g,(E=t>=(p=(c+h)/2))?c=p:h=p,(_=n>=(v=(u+f)/2))?u=v:f=v;while((O=_<<2|E<<1|w)===(M=(b>=v)<<2|(y>=p)<<1|m>=g));return a[M]=s,a[O]=o,r}function EG(r){Array.isArray(r)||(r=Array.from(r));const e=r.length,t=new Float64Array(e),n=new Float64Array(e),i=new Float64Array(e);let a=1/0,s=1/0,o=1/0,l=-1/0,c=-1/0,u=-1/0;for(let d=0,h,f,g,p;d<e;++d)isNaN(f=+this._x.call(null,h=r[d]))||isNaN(g=+this._y.call(null,h))||isNaN(p=+this._z.call(null,h))||(t[d]=f,n[d]=g,i[d]=p,f<a&&(a=f),f>l&&(l=f),g<s&&(s=g),g>c&&(c=g),p<o&&(o=p),p>u&&(u=p));if(a>l||s>c||o>u)return this;this.cover(a,s,o).cover(l,c,u);for(let d=0;d<e;++d)TP(this,t[d],n[d],i[d],r[d]);return this}function SG(r,e,t){if(isNaN(r=+r)||isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,i=this._y0,a=this._z0,s=this._x1,o=this._y1,l=this._z1;if(isNaN(n))s=(n=Math.floor(r))+1,o=(i=Math.floor(e))+1,l=(a=Math.floor(t))+1;else{for(var c=s-n||1,u=this._root,d,h;n>r||r>=s||i>e||e>=o||a>t||t>=l;)switch(h=(t<a)<<2|(e<i)<<1|r<n,d=new Array(8),d[h]=u,u=d,c*=2,h){case 0:s=n+c,o=i+c,l=a+c;break;case 1:n=s-c,o=i+c,l=a+c;break;case 2:s=n+c,i=o-c,l=a+c;break;case 3:n=s-c,i=o-c,l=a+c;break;case 4:s=n+c,o=i+c,a=l-c;break;case 5:n=s-c,o=i+c,a=l-c;break;case 6:s=n+c,i=o-c,a=l-c;break;case 7:n=s-c,i=o-c,a=l-c;break}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=i,this._z0=a,this._x1=s,this._y1=o,this._z1=l,this}function _G(){var r=[];return this.visit(function(e){if(!e.length)do r.push(e.data);while(e=e.next)}),r}function kG(r){return arguments.length?this.cover(+r[0][0],+r[0][1],+r[0][2]).cover(+r[1][0],+r[1][1],+r[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}function Lt(r,e,t,n,i,a,s){this.node=r,this.x0=e,this.y0=t,this.z0=n,this.x1=i,this.y1=a,this.z1=s}function MG(r,e,t,n){var i,a=this._x0,s=this._y0,o=this._z0,l,c,u,d,h,f,g=this._x1,p=this._y1,v=this._z1,m=[],y=this._root,b,w;for(y&&m.push(new Lt(y,a,s,o,g,p,v)),n==null?n=1/0:(a=r-n,s=e-n,o=t-n,g=r+n,p=e+n,v=t+n,n*=n);b=m.pop();)if(!(!(y=b.node)||(l=b.x0)>g||(c=b.y0)>p||(u=b.z0)>v||(d=b.x1)<a||(h=b.y1)<s||(f=b.z1)<o))if(y.length){var E=(l+d)/2,_=(c+h)/2,O=(u+f)/2;m.push(new Lt(y[7],E,_,O,d,h,f),new Lt(y[6],l,_,O,E,h,f),new Lt(y[5],E,c,O,d,_,f),new Lt(y[4],l,c,O,E,_,f),new Lt(y[3],E,_,u,d,h,O),new Lt(y[2],l,_,u,E,h,O),new Lt(y[1],E,c,u,d,_,O),new Lt(y[0],l,c,u,E,_,O)),(w=(t>=O)<<2|(e>=_)<<1|r>=E)&&(b=m[m.length-1],m[m.length-1]=m[m.length-1-w],m[m.length-1-w]=b)}else{var M=r-+this._x.call(null,y.data),N=e-+this._y.call(null,y.data),A=t-+this._z.call(null,y.data),P=M*M+N*N+A*A;if(P<n){var L=Math.sqrt(n=P);a=r-L,s=e-L,o=t-L,g=r+L,p=e+L,v=t+L,i=y.data}}return i}const TG=(r,e,t,n,i,a)=>Math.sqrt((r-n)**2+(e-i)**2+(t-a)**2);function OG(r,e,t,n){const i=[],a=r-n,s=e-n,o=t-n,l=r+n,c=e+n,u=t+n;return this.visit((d,h,f,g,p,v,m)=>{if(!d.length)do{const y=d.data;TG(r,e,t,this._x(y),this._y(y),this._z(y))<=n&&i.push(y)}while(d=d.next);return h>l||f>c||g>u||p<a||v<s||m<o}),i}function CG(r){if(isNaN(h=+this._x.call(null,r))||isNaN(f=+this._y.call(null,r))||isNaN(g=+this._z.call(null,r)))return this;var e,t=this._root,n,i,a,s=this._x0,o=this._y0,l=this._z0,c=this._x1,u=this._y1,d=this._z1,h,f,g,p,v,m,y,b,w,E,_;if(!t)return this;if(t.length)for(;;){if((y=h>=(p=(s+c)/2))?s=p:c=p,(b=f>=(v=(o+u)/2))?o=v:u=v,(w=g>=(m=(l+d)/2))?l=m:d=m,e=t,!(t=t[E=w<<2|b<<1|y]))return this;if(!t.length)break;(e[E+1&7]||e[E+2&7]||e[E+3&7]||e[E+4&7]||e[E+5&7]||e[E+6&7]||e[E+7&7])&&(n=e,_=E)}for(;t.data!==r;)if(i=t,!(t=t.next))return this;return(a=t.next)&&delete t.next,i?(a?i.next=a:delete i.next,this):e?(a?e[E]=a:delete e[E],(t=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&t===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[_]=t:this._root=t),this):(this._root=a,this)}function NG(r){for(var e=0,t=r.length;e<t;++e)this.remove(r[e]);return this}function AG(){return this._root}function PG(){var r=0;return this.visit(function(e){if(!e.length)do++r;while(e=e.next)}),r}function RG(r){var e=[],t,n=this._root,i,a,s,o,l,c,u;for(n&&e.push(new Lt(n,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=e.pop();)if(!r(n=t.node,a=t.x0,s=t.y0,o=t.z0,l=t.x1,c=t.y1,u=t.z1)&&n.length){var d=(a+l)/2,h=(s+c)/2,f=(o+u)/2;(i=n[7])&&e.push(new Lt(i,d,h,f,l,c,u)),(i=n[6])&&e.push(new Lt(i,a,h,f,d,c,u)),(i=n[5])&&e.push(new Lt(i,d,s,f,l,h,u)),(i=n[4])&&e.push(new Lt(i,a,s,f,d,h,u)),(i=n[3])&&e.push(new Lt(i,d,h,o,l,c,f)),(i=n[2])&&e.push(new Lt(i,a,h,o,d,c,f)),(i=n[1])&&e.push(new Lt(i,d,s,o,l,h,f)),(i=n[0])&&e.push(new Lt(i,a,s,o,d,h,f))}return this}function LG(r){var e=[],t=[],n;for(this._root&&e.push(new Lt(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));n=e.pop();){var i=n.node;if(i.length){var a,s=n.x0,o=n.y0,l=n.z0,c=n.x1,u=n.y1,d=n.z1,h=(s+c)/2,f=(o+u)/2,g=(l+d)/2;(a=i[0])&&e.push(new Lt(a,s,o,l,h,f,g)),(a=i[1])&&e.push(new Lt(a,h,o,l,c,f,g)),(a=i[2])&&e.push(new Lt(a,s,f,l,h,u,g)),(a=i[3])&&e.push(new Lt(a,h,f,l,c,u,g)),(a=i[4])&&e.push(new Lt(a,s,o,g,h,f,d)),(a=i[5])&&e.push(new Lt(a,h,o,g,c,f,d)),(a=i[6])&&e.push(new Lt(a,s,f,g,h,u,d)),(a=i[7])&&e.push(new Lt(a,h,f,g,c,u,d))}t.push(n)}for(;n=t.pop();)r(n.node,n.x0,n.y0,n.z0,n.x1,n.y1,n.z1);return this}function IG(r){return r[0]}function DG(r){return arguments.length?(this._x=r,this):this._x}function FG(r){return r[1]}function BG(r){return arguments.length?(this._y=r,this):this._y}function zG(r){return r[2]}function jG(r){return arguments.length?(this._z=r,this):this._z}function OP(r,e,t,n){var i=new tx(e==null?IG:e,t==null?FG:t,n==null?zG:n,NaN,NaN,NaN,NaN,NaN,NaN);return r==null?i:i.addAll(r)}function tx(r,e,t,n,i,a,s,o,l){this._x=r,this._y=e,this._z=t,this._x0=n,this._y0=i,this._z0=a,this._x1=s,this._y1=o,this._z1=l,this._root=void 0}function h2(r){for(var e={data:r.data},t=e;r=r.next;)t=t.next={data:r.data};return e}var Xn=OP.prototype=tx.prototype;Xn.copy=function(){var r=new tx(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),e=this._root,t,n;if(!e)return r;if(!e.length)return r._root=h2(e),r;for(t=[{source:e,target:r._root=new Array(8)}];e=t.pop();)for(var i=0;i<8;++i)(n=e.source[i])&&(n.length?t.push({source:n,target:e.target[i]=new Array(8)}):e.target[i]=h2(n));return r};Xn.add=wG;Xn.addAll=EG;Xn.cover=SG;Xn.data=_G;Xn.extent=kG;Xn.find=MG;Xn.findAllWithinRadius=OG;Xn.remove=CG;Xn.removeAll=NG;Xn.root=AG;Xn.size=PG;Xn.visit=RG;Xn.visitAfter=LG;Xn.x=DG;Xn.y=BG;Xn.z=jG;const $G=.81,lg=.1;function qG(r,e,t,n,i=2){const a=e/t,s=r.getAllNodes(),o=s.map((u,d)=>{const{nodeStrength:h,x:f,y:g,z:p,size:v}=u.data;return{x:f,y:g,z:p,size:v,index:d,id:u.id,vx:0,vy:0,vz:0,weight:a*h}}),l=(i===2?Qd(o,u=>u.x,u=>u.y):OP(o,u=>u.x,u=>u.y,u=>u.z)).visitAfter(GG),c=new Map;return o.forEach(u=>{c.set(u.id,u),VG(u,l,i)}),o.map((u,d)=>{const{id:h,data:f}=s[d],{mass:g=1}=f;n[h]={x:u.vx/g,y:u.vy/g,z:u.vz/g}}),n}function GG(r){let e=0,t=0,n=0,i=0,a=0;const s=r.length;if(s){for(let o=0;o<s;o++){const l=r[o];l&&l.weight&&(e+=l.weight,t+=l.x*l.weight,n+=l.y*l.weight,i+=l.z*l.weight,a+=l.size*l.weight)}r.x=t/e,r.y=n/e,r.z=i/e,r.size=a/e,r.weight=e}else{const o=r;r.x=o.data.x,r.y=o.data.y,r.z=o.data.z,r.size=o.data.size,r.weight=o.data.weight}}const WG=(r,e,t,n,i,a,s)=>{var o;if(((o=r.data)===null||o===void 0?void 0:o.id)===a.id)return;const l=[t,n,i][s-1],c=a.x-r.x||lg,u=a.y-r.y||lg,d=a.z-r.z||lg,h=[c,u,d],f=l-e;let g=0;for(let m=0;m<s;m++)g+=h[m]*h[m];const v=Math.sqrt(g)*g;if(f*f*$G<g){const m=r.weight/v;return a.vx+=c*m,a.vy+=u*m,a.vz+=d*m,!0}if(r.length)return!1;if(r.data!==a){const m=r.data.weight/v;a.vx+=c*m,a.vy+=u*m,a.vz+=d*m}};function VG(r,e,t){e.visit((n,i,a,s,o)=>WG(n,i,a,s,o,r,t))}const UG={dimensions:2,maxIteration:500,gravity:10,factor:1,edgeStrength:50,nodeStrength:1e3,coulombDisScale:.005,damping:.9,maxSpeed:200,minMovement:.4,interval:.02,linkDistance:200,clusterNodeStrength:20,preventOverlap:!0,distanceThresholdMode:"mean"};class CP{constructor(e={}){this.options=e,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},UG),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericForceLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window<"u"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&n<e;n++)this.runOneStep(this.lastCalcGraph,this.lastGraph,n,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericForceLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),a=t.getAllNodes(),s=t.getAllEdges(),o=this.formatOptions(i,t),{dimensions:l,width:c,height:u,nodeSize:d,getMass:h,nodeStrength:f,edgeStrength:g,linkDistance:p}=o,v=a.map((M,N)=>Object.assign(Object.assign({},M),{data:Object.assign(Object.assign({},M.data),{x:Ce(M.data.x)?M.data.x:Math.random()*c,y:Ce(M.data.y)?M.data.y:Math.random()*u,z:Ce(M.data.z)?M.data.z:Math.random()*Math.sqrt(c*u),size:d(M)||30,mass:h(M),nodeStrength:f(M)})})),m=s.map(M=>Object.assign(Object.assign({},M),{data:Object.assign(Object.assign({},M.data),{edgeStrength:g(M),linkDistance:p(M,t.getNode(M.source),t.getNode(M.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:s},{nodes:[],edges:s};const y={};a.forEach((M,N)=>{y[M.id]={x:0,y:0,z:0}});const b=new Pn({nodes:v,edges:m});this.formatCentripetal(o,b);const{maxIteration:w,minMovement:E,onTick:_}=o;if(this.lastLayoutNodes=v,this.lastLayoutEdges=m,this.lastAssign=e,this.lastGraph=t,this.lastCalcGraph=b,this.lastOptions=o,this.lastVelMap=y,typeof window>"u")return;let O=0;return new Promise(M=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&M({nodes:cg(t,v),edges:s}),this.runOneStep(b,t,O,y,o),this.updatePosition(t,b,y,o),e&&v.forEach(N=>t.mergeNodeData(N.id,{x:N.data.x,y:N.data.y,z:l===3?N.data.z:void 0})),_==null||_({nodes:cg(t,v),edges:s}),O++,(O>=w||this.judgingDistance<E)&&(window.clearInterval(this.timeInterval),M({nodes:cg(t,v),edges:s}))},0),this.running=!0})})}formatOptions(e,t){const n=Object.assign({},e),{width:i,height:a,getMass:s}=e;n.width=!i&&typeof window<"u"?window.innerWidth:i,n.height=!a&&typeof window<"u"?window.innerHeight:a,e.center||(n.center=[n.width/2,n.height/2]),s||(n.getMass=l=>{let c=1;Ce(l==null?void 0:l.data.mass)&&(c=l==null?void 0:l.data.mass);const u=t.getDegree(l.id,"both");return!u||u<5?c:u*5*c}),n.nodeSize=Qb(e.nodeSize,e.nodeSpacing);const o=e.linkDistance?ps(1,e.linkDistance):l=>1+n.nodeSize(t.getNode(l.source))+n.nodeSize(t.getNode(l.target));return n.linkDistance=o,n.nodeStrength=ps(1,e.nodeStrength),n.edgeStrength=ps(1,e.edgeStrength),n}formatCentripetal(e,t){const{dimensions:n,centripetalOptions:i,center:a,clusterNodeStrength:s,leafCluster:o,clustering:l,nodeClusterBy:c}=e,u=t.getAllNodes(),d=i||{leaf:2,single:2,others:1,center:m=>({x:a[0],y:a[1],z:n===3?a[2]:void 0})};typeof s!="function"&&(e.clusterNodeStrength=m=>s);let h,f;if(o&&c&&(h=f2(t,c),f=Array.from(new Set(u==null?void 0:u.map(m=>m.data[c])))||[],e.centripetalOptions=Object.assign(d,{single:100,leaf:m=>{const{siblingLeaves:y,sameTypeLeaves:b}=h[m.id]||{};return(b==null?void 0:b.length)===(y==null?void 0:y.length)||(f==null?void 0:f.length)===1?1:e.clusterNodeStrength(m)},others:1,center:m=>{const y=t.getDegree(m.id,"both");if(!y)return{x:100,y:100,z:0};let b;if(y===1){const{sameTypeLeaves:w=[]}=h[m.id]||{};w.length===1?b=void 0:w.length>1&&(b=g2(w))}else b=void 0;return{x:b==null?void 0:b.x,y:b==null?void 0:b.y,z:b==null?void 0:b.z}}})),l&&c){h||(h=f2(t,c)),f||(f=Array.from(new Set(u.map(y=>y.data[c])))),f=f.filter(y=>y!==void 0);const m={};f.forEach(y=>{const b=u.filter(w=>w.data[c]===y).map(w=>t.getNode(w.id));m[y]=g2(b)}),e.centripetalOptions=Object.assign(d,{single:y=>e.clusterNodeStrength(y),leaf:y=>e.clusterNodeStrength(y),others:y=>e.clusterNodeStrength(y),center:y=>{const b=m[y.data[c]];return{x:b==null?void 0:b.x,y:b==null?void 0:b.y,z:b==null?void 0:b.z}}})}const{leaf:g,single:p,others:v}=e.centripetalOptions||{};g&&typeof g!="function"&&(e.centripetalOptions.leaf=()=>g),p&&typeof p!="function"&&(e.centripetalOptions.single=()=>p),v&&typeof v!="function"&&(e.centripetalOptions.others=()=>v)}runOneStep(e,t,n,i,a){const s={},o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length))return;const{monitor:c}=a;if(this.calRepulsive(e,s,a),l&&this.calAttractive(e,s,a),this.calGravity(e,t,s,a),this.updateVelocity(e,s,i,a),c){const u=this.calTotalEnergy(s,o);c({energy:u,nodes:t.getAllNodes(),edges:t.getAllEdges(),iterations:n})}}calTotalEnergy(e,t){if(!(t!=null&&t.length))return 0;let n=0;return t.forEach((i,a)=>{const s=e[i.id].x,o=e[i.id].y,l=this.options.dimensions===3?e[i.id].z:0,c=s*s+o*o+l*l,{mass:u=1}=i.data;n+=u*c*.5}),n}calRepulsive(e,t,n){const{dimensions:i,factor:a,coulombDisScale:s}=n;qG(e,a,s*s,t,i)}calAttractive(e,t,n){const{dimensions:i,nodeSize:a}=n;e.getAllEdges().forEach((s,o)=>{const{source:l,target:c}=s,u=e.getNode(l),d=e.getNode(c);if(!u||!d)return;let h=d.data.x-u.data.x,f=d.data.y-u.data.y,g=i===3?d.data.z-u.data.z:0;!h&&!f&&(h=Math.random()*.01,f=Math.random()*.01,i===3&&!g&&(g=Math.random()*.01));const p=Math.sqrt(h*h+f*f+g*g);if(p<a(u)+a(d))return;const v=h/p,m=f/p,y=g/p,{linkDistance:b=200,edgeStrength:w=200}=s.data||{},_=(b-p)*w,O=u.data.mass||1,M=d.data.mass||1,N=1/O,A=1/M,P=v*_,L=m*_,I=y*_;t[l].x-=P*N,t[l].y-=L*N,t[l].z-=I*N,t[c].x+=P*A,t[c].y+=L*A,t[c].z+=I*A})}calGravity(e,t,n,i){const{getCenter:a}=i,s=e.getAllNodes(),o=t.getAllNodes(),l=t.getAllEdges(),{width:c,height:u,center:d,gravity:h,centripetalOptions:f}=i;s&&s.forEach(g=>{const{id:p,data:v}=g,{mass:m,x:y,y:b,z:w}=v,E=t.getNode(p);let _=0,O=0,M=0,N=h;const A=e.getDegree(p,"in"),P=e.getDegree(p,"out"),L=e.getDegree(p,"both"),I=a==null?void 0:a(E,L);if(I){const[G,H,Y]=I;_=y-G,O=b-H,N=Y}else _=y-d[0],O=b-d[1],M=w-d[2];if(N&&(n[p].x-=N*_/m,n[p].y-=N*O/m,n[p].z-=N*M/m),f){const{leaf:G,single:H,others:Y,center:W}=f,{x:q,y:Q,z:re,centerStrength:de}=(W==null?void 0:W(E,o,l,c,u))||{x:0,y:0,z:0,centerStrength:0};if(!Ce(q)||!Ce(Q))return;const oe=(y-q)/m,he=(b-Q)/m,X=(w-re)/m;if(de&&(n[p].x-=de*oe,n[p].y-=de*he,n[p].z-=de*X),L===0){const ne=H(E);if(!ne)return;n[p].x-=ne*oe,n[p].y-=ne*he,n[p].z-=ne*X;return}if(A===0||P===0){const ne=G(E,o,l);if(!ne)return;n[p].x-=ne*oe,n[p].y-=ne*he,n[p].z-=ne*X;return}const U=Y(E);if(!U)return;n[p].x-=U*oe,n[p].y-=U*he,n[p].z-=U*X}})}updateVelocity(e,t,n,i){const{damping:a,maxSpeed:s,interval:o,dimensions:l}=i,c=e.getAllNodes();c!=null&&c.length&&c.forEach(u=>{const{id:d}=u;let h=(n[d].x+t[d].x*o)*a||.01,f=(n[d].y+t[d].y*o)*a||.01,g=l===3?(n[d].z+t[d].z*o)*a||.01:0;const p=Math.sqrt(h*h+f*f+g*g);if(p>s){const v=s/p;h=v*h,f=v*f,g=v*g}n[d]={x:h,y:f,z:g}})}updatePosition(e,t,n,i){const{distanceThresholdMode:a,interval:s,dimensions:o}=i,l=t.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let c=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),l.forEach(u=>{const{id:d}=u,h=e.getNode(d);if(Ce(h.data.fx)&&Ce(h.data.fy)){t.mergeNodeData(d,{x:h.data.fx,y:h.data.fy,z:o===3?h.data.fz:void 0});return}const f=n[d].x*s,g=n[d].y*s,p=o===3?n[d].z*s:0;t.mergeNodeData(d,{x:u.data.x+f,y:u.data.y+g,z:u.data.z+p});const v=Math.sqrt(f*f+g*g+p*p);switch(a){case"max":this.judgingDistance<v&&(this.judgingDistance=v);break;case"min":this.judgingDistance>v&&(this.judgingDistance=v);break;default:c=c+v;break}}),(!a||a==="mean")&&(this.judgingDistance=c/l.length)}}const f2=(r,e)=>{const t=r.getAllNodes();if(!(t!=null&&t.length))return{};const n={};return t.forEach((i,a)=>{r.getDegree(i.id,"both")===1&&(n[i.id]=HG(r,"leaf",i,e))}),n},HG=(r,e,t,n)=>{const i=r.getDegree(t.id,"in"),a=r.getDegree(t.id,"out");let s=t,o=[];i===0?(s=r.getSuccessors(t.id)[0],o=r.getNeighbors(s.id)):a===0&&(s=r.getPredecessors(t.id)[0],o=r.getNeighbors(s.id)),o=o.filter(c=>r.getDegree(c.id,"in")===0||r.getDegree(c.id,"out")===0);const l=YG(r,e,n,t,o);return{coreNode:s,siblingLeaves:o,sameTypeLeaves:l}},YG=(r,e,t,n,i)=>{const a=n.data[t]||"";let s=(i==null?void 0:i.filter(o=>o.data[t]===a))||[];return s=s.filter(o=>r.getDegree(o.id,"in")===0||r.getDegree(o.id,"out")===0),s},g2=r=>{const e={x:0,y:0};r.forEach(n=>{const{x:i,y:a}=n.data;e.x+=i||0,e.y+=a||0});const t=r.length||1;return{x:e.x/t,y:e.y/t}},cg=(r,e)=>e.map(t=>{const{id:n,data:i}=t,a=r.getNode(n);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var lt={};const KG=Object.prototype.toString;function Ul(r){const e=KG.call(r);return e.endsWith("Array]")&&!e.includes("Big")}const XG=Object.freeze(Object.defineProperty({__proto__:null,isAnyArray:Ul},Symbol.toStringTag,{value:"Module"})),ZG=bC(XG);function JG(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ul(r))throw new TypeError("input must be an array");if(r.length===0)throw new TypeError("input must not be empty");var t=e.fromIndex,n=t===void 0?0:t,i=e.toIndex,a=i===void 0?r.length:i;if(n<0||n>=r.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>r.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var s=r[n],o=n+1;o<a;o++)r[o]>s&&(s=r[o]);return s}function QG(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ul(r))throw new TypeError("input must be an array");if(r.length===0)throw new TypeError("input must not be empty");var t=e.fromIndex,n=t===void 0?0:t,i=e.toIndex,a=i===void 0?r.length:i;if(n<0||n>=r.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>r.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var s=r[n],o=n+1;o<a;o++)r[o]<s&&(s=r[o]);return s}function eW(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Ul(r)){if(r.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var t;if(e.output!==void 0){if(!Ul(e.output))throw new TypeError("output option must be an array if specified");t=e.output}else t=new Array(r.length);var n=QG(r),i=JG(r);if(n===i)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var a=e.min,s=a===void 0?e.autoMinMax?n:0:a,o=e.max,l=o===void 0?e.autoMinMax?i:1:o;if(s>=l)throw new RangeError("min option must be smaller than max option");for(var c=(l-s)/(i-n),u=0;u<r.length;u++)t[u]=(r[u]-n)*c+s;return t}const tW=Object.freeze(Object.defineProperty({__proto__:null,default:eW},Symbol.toStringTag,{value:"Module"})),nW=bC(tW);var v2;function rW(){var Za,q1,Rn;if(v2)return lt;v2=1,Object.defineProperty(lt,"__esModule",{value:!0});var r=ZG,e=nW;const t=" ".repeat(2),n=" ".repeat(4);function i(){return a(this)}function a(R,T={}){const{maxRows:S=15,maxColumns:x=10,maxNumSize:k=8,padMinus:C="auto"}=T;return`${R.constructor.name} {
|
|
332
|
+
${t}[
|
|
333
|
+
${n}${s(R,S,x,k,C)}
|
|
334
|
+
${t}]
|
|
335
|
+
${t}rows: ${R.rows}
|
|
336
|
+
${t}columns: ${R.columns}
|
|
337
|
+
}`}function s(R,T,S,x,k){const{rows:C,columns:D}=R,B=Math.min(C,T),j=Math.min(D,S),$=[];if(k==="auto"){k=!1;e:for(let F=0;F<B;F++)for(let z=0;z<j;z++)if(R.get(F,z)<0){k=!0;break e}}for(let F=0;F<B;F++){let z=[];for(let Z=0;Z<j;Z++)z.push(o(R.get(F,Z),x,k));$.push(`${z.join(" ")}`)}return j!==D&&($[$.length-1]+=` ... ${D-S} more columns`),B!==C&&$.push(`... ${C-T} more rows`),$.join(`
|
|
338
|
+
${n}`)}function o(R,T,S){return(R>=0&&S?` ${l(R,T-1)}`:l(R,T)).padEnd(T)}function l(R,T){let S=R.toString();if(S.length<=T)return S;let x=R.toFixed(T);if(x.length>T&&(x=R.toFixed(Math.max(0,T-(x.length-T)))),x.length<=T&&!x.startsWith("0.000")&&!x.startsWith("-0.000"))return x;let k=R.toExponential(T);return k.length>T&&(k=R.toExponential(Math.max(0,T-(k.length-T)))),k.slice(0)}function c(R,T){R.prototype.add=function(x){return typeof x=="number"?this.addS(x):this.addM(x)},R.prototype.addS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)+x);return this},R.prototype.addM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)+x.get(k,C));return this},R.add=function(x,k){return new T(x).add(k)},R.prototype.sub=function(x){return typeof x=="number"?this.subS(x):this.subM(x)},R.prototype.subS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)-x);return this},R.prototype.subM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)-x.get(k,C));return this},R.sub=function(x,k){return new T(x).sub(k)},R.prototype.subtract=R.prototype.sub,R.prototype.subtractS=R.prototype.subS,R.prototype.subtractM=R.prototype.subM,R.subtract=R.sub,R.prototype.mul=function(x){return typeof x=="number"?this.mulS(x):this.mulM(x)},R.prototype.mulS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)*x);return this},R.prototype.mulM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)*x.get(k,C));return this},R.mul=function(x,k){return new T(x).mul(k)},R.prototype.multiply=R.prototype.mul,R.prototype.multiplyS=R.prototype.mulS,R.prototype.multiplyM=R.prototype.mulM,R.multiply=R.mul,R.prototype.div=function(x){return typeof x=="number"?this.divS(x):this.divM(x)},R.prototype.divS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)/x);return this},R.prototype.divM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)/x.get(k,C));return this},R.div=function(x,k){return new T(x).div(k)},R.prototype.divide=R.prototype.div,R.prototype.divideS=R.prototype.divS,R.prototype.divideM=R.prototype.divM,R.divide=R.div,R.prototype.mod=function(x){return typeof x=="number"?this.modS(x):this.modM(x)},R.prototype.modS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)%x);return this},R.prototype.modM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)%x.get(k,C));return this},R.mod=function(x,k){return new T(x).mod(k)},R.prototype.modulus=R.prototype.mod,R.prototype.modulusS=R.prototype.modS,R.prototype.modulusM=R.prototype.modM,R.modulus=R.mod,R.prototype.and=function(x){return typeof x=="number"?this.andS(x):this.andM(x)},R.prototype.andS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)&x);return this},R.prototype.andM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)&x.get(k,C));return this},R.and=function(x,k){return new T(x).and(k)},R.prototype.or=function(x){return typeof x=="number"?this.orS(x):this.orM(x)},R.prototype.orS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)|x);return this},R.prototype.orM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)|x.get(k,C));return this},R.or=function(x,k){return new T(x).or(k)},R.prototype.xor=function(x){return typeof x=="number"?this.xorS(x):this.xorM(x)},R.prototype.xorS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)^x);return this},R.prototype.xorM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)^x.get(k,C));return this},R.xor=function(x,k){return new T(x).xor(k)},R.prototype.leftShift=function(x){return typeof x=="number"?this.leftShiftS(x):this.leftShiftM(x)},R.prototype.leftShiftS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)<<x);return this},R.prototype.leftShiftM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)<<x.get(k,C));return this},R.leftShift=function(x,k){return new T(x).leftShift(k)},R.prototype.signPropagatingRightShift=function(x){return typeof x=="number"?this.signPropagatingRightShiftS(x):this.signPropagatingRightShiftM(x)},R.prototype.signPropagatingRightShiftS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)>>x);return this},R.prototype.signPropagatingRightShiftM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)>>x.get(k,C));return this},R.signPropagatingRightShift=function(x,k){return new T(x).signPropagatingRightShift(k)},R.prototype.rightShift=function(x){return typeof x=="number"?this.rightShiftS(x):this.rightShiftM(x)},R.prototype.rightShiftS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)>>>x);return this},R.prototype.rightShiftM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)>>>x.get(k,C));return this},R.rightShift=function(x,k){return new T(x).rightShift(k)},R.prototype.zeroFillRightShift=R.prototype.rightShift,R.prototype.zeroFillRightShiftS=R.prototype.rightShiftS,R.prototype.zeroFillRightShiftM=R.prototype.rightShiftM,R.zeroFillRightShift=R.rightShift,R.prototype.not=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,~this.get(x,k));return this},R.not=function(x){return new T(x).not()},R.prototype.abs=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.abs(this.get(x,k)));return this},R.abs=function(x){return new T(x).abs()},R.prototype.acos=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.acos(this.get(x,k)));return this},R.acos=function(x){return new T(x).acos()},R.prototype.acosh=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.acosh(this.get(x,k)));return this},R.acosh=function(x){return new T(x).acosh()},R.prototype.asin=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.asin(this.get(x,k)));return this},R.asin=function(x){return new T(x).asin()},R.prototype.asinh=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.asinh(this.get(x,k)));return this},R.asinh=function(x){return new T(x).asinh()},R.prototype.atan=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.atan(this.get(x,k)));return this},R.atan=function(x){return new T(x).atan()},R.prototype.atanh=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.atanh(this.get(x,k)));return this},R.atanh=function(x){return new T(x).atanh()},R.prototype.cbrt=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.cbrt(this.get(x,k)));return this},R.cbrt=function(x){return new T(x).cbrt()},R.prototype.ceil=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.ceil(this.get(x,k)));return this},R.ceil=function(x){return new T(x).ceil()},R.prototype.clz32=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.clz32(this.get(x,k)));return this},R.clz32=function(x){return new T(x).clz32()},R.prototype.cos=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.cos(this.get(x,k)));return this},R.cos=function(x){return new T(x).cos()},R.prototype.cosh=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.cosh(this.get(x,k)));return this},R.cosh=function(x){return new T(x).cosh()},R.prototype.exp=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.exp(this.get(x,k)));return this},R.exp=function(x){return new T(x).exp()},R.prototype.expm1=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.expm1(this.get(x,k)));return this},R.expm1=function(x){return new T(x).expm1()},R.prototype.floor=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.floor(this.get(x,k)));return this},R.floor=function(x){return new T(x).floor()},R.prototype.fround=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.fround(this.get(x,k)));return this},R.fround=function(x){return new T(x).fround()},R.prototype.log=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.log(this.get(x,k)));return this},R.log=function(x){return new T(x).log()},R.prototype.log1p=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.log1p(this.get(x,k)));return this},R.log1p=function(x){return new T(x).log1p()},R.prototype.log10=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.log10(this.get(x,k)));return this},R.log10=function(x){return new T(x).log10()},R.prototype.log2=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.log2(this.get(x,k)));return this},R.log2=function(x){return new T(x).log2()},R.prototype.round=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.round(this.get(x,k)));return this},R.round=function(x){return new T(x).round()},R.prototype.sign=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.sign(this.get(x,k)));return this},R.sign=function(x){return new T(x).sign()},R.prototype.sin=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.sin(this.get(x,k)));return this},R.sin=function(x){return new T(x).sin()},R.prototype.sinh=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.sinh(this.get(x,k)));return this},R.sinh=function(x){return new T(x).sinh()},R.prototype.sqrt=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.sqrt(this.get(x,k)));return this},R.sqrt=function(x){return new T(x).sqrt()},R.prototype.tan=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.tan(this.get(x,k)));return this},R.tan=function(x){return new T(x).tan()},R.prototype.tanh=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.tanh(this.get(x,k)));return this},R.tanh=function(x){return new T(x).tanh()},R.prototype.trunc=function(){for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.set(x,k,Math.trunc(this.get(x,k)));return this},R.trunc=function(x){return new T(x).trunc()},R.pow=function(x,k){return new T(x).pow(k)},R.prototype.pow=function(x){return typeof x=="number"?this.powS(x):this.powM(x)},R.prototype.powS=function(x){for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)**x);return this},R.prototype.powM=function(x){if(x=T.checkMatrix(x),this.rows!==x.rows||this.columns!==x.columns)throw new RangeError("Matrices dimensions must be equal");for(let k=0;k<this.rows;k++)for(let C=0;C<this.columns;C++)this.set(k,C,this.get(k,C)**x.get(k,C));return this}}function u(R,T,S){let x=S?R.rows:R.rows-1;if(T<0||T>x)throw new RangeError("Row index out of range")}function d(R,T,S){let x=S?R.columns:R.columns-1;if(T<0||T>x)throw new RangeError("Column index out of range")}function h(R,T){if(T.to1DArray&&(T=T.to1DArray()),T.length!==R.columns)throw new RangeError("vector size must be the same as the number of columns");return T}function f(R,T){if(T.to1DArray&&(T=T.to1DArray()),T.length!==R.rows)throw new RangeError("vector size must be the same as the number of rows");return T}function g(R,T){if(!r.isAnyArray(T))throw new TypeError("row indices must be an array");for(let S=0;S<T.length;S++)if(T[S]<0||T[S]>=R.rows)throw new RangeError("row indices are out of range")}function p(R,T){if(!r.isAnyArray(T))throw new TypeError("column indices must be an array");for(let S=0;S<T.length;S++)if(T[S]<0||T[S]>=R.columns)throw new RangeError("column indices are out of range")}function v(R,T,S,x,k){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(y("startRow",T),y("endRow",S),y("startColumn",x),y("endColumn",k),T>S||x>k||T<0||T>=R.rows||S<0||S>=R.rows||x<0||x>=R.columns||k<0||k>=R.columns)throw new RangeError("Submatrix indices are out of range")}function m(R,T=0){let S=[];for(let x=0;x<R;x++)S.push(T);return S}function y(R,T){if(typeof T!="number")throw new TypeError(`${R} must be a number`)}function b(R){if(R.isEmpty())throw new Error("Empty matrix has no elements to index")}function w(R){let T=m(R.rows);for(let S=0;S<R.rows;++S)for(let x=0;x<R.columns;++x)T[S]+=R.get(S,x);return T}function E(R){let T=m(R.columns);for(let S=0;S<R.rows;++S)for(let x=0;x<R.columns;++x)T[x]+=R.get(S,x);return T}function _(R){let T=0;for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)T+=R.get(S,x);return T}function O(R){let T=m(R.rows,1);for(let S=0;S<R.rows;++S)for(let x=0;x<R.columns;++x)T[S]*=R.get(S,x);return T}function M(R){let T=m(R.columns,1);for(let S=0;S<R.rows;++S)for(let x=0;x<R.columns;++x)T[x]*=R.get(S,x);return T}function N(R){let T=1;for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)T*=R.get(S,x);return T}function A(R,T,S){const x=R.rows,k=R.columns,C=[];for(let D=0;D<x;D++){let B=0,j=0,$=0;for(let F=0;F<k;F++)$=R.get(D,F)-S[D],B+=$,j+=$*$;T?C.push((j-B*B/k)/(k-1)):C.push((j-B*B/k)/k)}return C}function P(R,T,S){const x=R.rows,k=R.columns,C=[];for(let D=0;D<k;D++){let B=0,j=0,$=0;for(let F=0;F<x;F++)$=R.get(F,D)-S[D],B+=$,j+=$*$;T?C.push((j-B*B/x)/(x-1)):C.push((j-B*B/x)/x)}return C}function L(R,T,S){const x=R.rows,k=R.columns,C=x*k;let D=0,B=0,j=0;for(let $=0;$<x;$++)for(let F=0;F<k;F++)j=R.get($,F)-S,D+=j,B+=j*j;return T?(B-D*D/C)/(C-1):(B-D*D/C)/C}function I(R,T){for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)R.set(S,x,R.get(S,x)-T[S])}function G(R,T){for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)R.set(S,x,R.get(S,x)-T[x])}function H(R,T){for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)R.set(S,x,R.get(S,x)-T)}function Y(R){const T=[];for(let S=0;S<R.rows;S++){let x=0;for(let k=0;k<R.columns;k++)x+=R.get(S,k)**2/(R.columns-1);T.push(Math.sqrt(x))}return T}function W(R,T){for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)R.set(S,x,R.get(S,x)/T[S])}function q(R){const T=[];for(let S=0;S<R.columns;S++){let x=0;for(let k=0;k<R.rows;k++)x+=R.get(k,S)**2/(R.rows-1);T.push(Math.sqrt(x))}return T}function Q(R,T){for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)R.set(S,x,R.get(S,x)/T[x])}function re(R){const T=R.size-1;let S=0;for(let x=0;x<R.columns;x++)for(let k=0;k<R.rows;k++)S+=R.get(k,x)**2/T;return Math.sqrt(S)}function de(R,T){for(let S=0;S<R.rows;S++)for(let x=0;x<R.columns;x++)R.set(S,x,R.get(S,x)/T)}class oe{static from1DArray(T,S,x){if(T*S!==x.length)throw new RangeError("data length does not match given dimensions");let C=new U(T,S);for(let D=0;D<T;D++)for(let B=0;B<S;B++)C.set(D,B,x[D*S+B]);return C}static rowVector(T){let S=new U(1,T.length);for(let x=0;x<T.length;x++)S.set(0,x,T[x]);return S}static columnVector(T){let S=new U(T.length,1);for(let x=0;x<T.length;x++)S.set(x,0,T[x]);return S}static zeros(T,S){return new U(T,S)}static ones(T,S){return new U(T,S).fill(1)}static rand(T,S,x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{random:k=Math.random}=x;let C=new U(T,S);for(let D=0;D<T;D++)for(let B=0;B<S;B++)C.set(D,B,k());return C}static randInt(T,S,x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:k=0,max:C=1e3,random:D=Math.random}=x;if(!Number.isInteger(k))throw new TypeError("min must be an integer");if(!Number.isInteger(C))throw new TypeError("max must be an integer");if(k>=C)throw new RangeError("min must be smaller than max");let B=C-k,j=new U(T,S);for(let $=0;$<T;$++)for(let F=0;F<S;F++){let z=k+Math.round(D()*B);j.set($,F,z)}return j}static eye(T,S,x){S===void 0&&(S=T),x===void 0&&(x=1);let k=Math.min(T,S),C=this.zeros(T,S);for(let D=0;D<k;D++)C.set(D,D,x);return C}static diag(T,S,x){let k=T.length;S===void 0&&(S=k),x===void 0&&(x=S);let C=Math.min(k,S,x),D=this.zeros(S,x);for(let B=0;B<C;B++)D.set(B,B,T[B]);return D}static min(T,S){T=this.checkMatrix(T),S=this.checkMatrix(S);let x=T.rows,k=T.columns,C=new U(x,k);for(let D=0;D<x;D++)for(let B=0;B<k;B++)C.set(D,B,Math.min(T.get(D,B),S.get(D,B)));return C}static max(T,S){T=this.checkMatrix(T),S=this.checkMatrix(S);let x=T.rows,k=T.columns,C=new this(x,k);for(let D=0;D<x;D++)for(let B=0;B<k;B++)C.set(D,B,Math.max(T.get(D,B),S.get(D,B)));return C}static checkMatrix(T){return oe.isMatrix(T)?T:new U(T)}static isMatrix(T){return T!=null&&T.klass==="Matrix"}get size(){return this.rows*this.columns}apply(T){if(typeof T!="function")throw new TypeError("callback must be a function");for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)T.call(this,S,x);return this}to1DArray(){let T=[];for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)T.push(this.get(S,x));return T}to2DArray(){let T=[];for(let S=0;S<this.rows;S++){T.push([]);for(let x=0;x<this.columns;x++)T[S].push(this.get(S,x))}return T}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let T=0;T<this.rows;T++)for(let S=0;S<=T;S++)if(this.get(T,S)!==this.get(S,T))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let T=0;T<this.rows;T++)if(this.get(T,T)!==0)return!1;return!0}isEchelonForm(){let T=0,S=0,x=-1,k=!0,C=!1;for(;T<this.rows&&k;){for(S=0,C=!1;S<this.columns&&C===!1;)this.get(T,S)===0?S++:this.get(T,S)===1&&S>x?(C=!0,x=S):(k=!1,C=!0);T++}return k}isReducedEchelonForm(){let T=0,S=0,x=-1,k=!0,C=!1;for(;T<this.rows&&k;){for(S=0,C=!1;S<this.columns&&C===!1;)this.get(T,S)===0?S++:this.get(T,S)===1&&S>x?(C=!0,x=S):(k=!1,C=!0);for(let D=S+1;D<this.rows;D++)this.get(T,D)!==0&&(k=!1);T++}return k}echelonForm(){let T=this.clone(),S=0,x=0;for(;S<T.rows&&x<T.columns;){let k=S;for(let C=S;C<T.rows;C++)T.get(C,x)>T.get(k,x)&&(k=C);if(T.get(k,x)===0)x++;else{T.swapRows(S,k);let C=T.get(S,x);for(let D=x;D<T.columns;D++)T.set(S,D,T.get(S,D)/C);for(let D=S+1;D<T.rows;D++){let B=T.get(D,x)/T.get(S,x);T.set(D,x,0);for(let j=x+1;j<T.columns;j++)T.set(D,j,T.get(D,j)-T.get(S,j)*B)}S++,x++}}return T}reducedEchelonForm(){let T=this.echelonForm(),S=T.columns,x=T.rows,k=x-1;for(;k>=0;)if(T.maxRow(k)===0)k--;else{let C=0,D=!1;for(;C<x&&D===!1;)T.get(k,C)===1?D=!0:C++;for(let B=0;B<k;B++){let j=T.get(B,C);for(let $=C;$<S;$++){let F=T.get(B,$)-j*T.get(k,$);T.set(B,$,F)}}k--}return T}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(T={}){if(typeof T!="object")throw new TypeError("options must be an object");const{rows:S=1,columns:x=1}=T;if(!Number.isInteger(S)||S<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(x)||x<=0)throw new TypeError("columns must be a positive integer");let k=new U(this.rows*S,this.columns*x);for(let C=0;C<S;C++)for(let D=0;D<x;D++)k.setSubMatrix(this,this.rows*C,this.columns*D);return k}fill(T){for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,T);return this}neg(){return this.mulS(-1)}getRow(T){u(this,T);let S=[];for(let x=0;x<this.columns;x++)S.push(this.get(T,x));return S}getRowVector(T){return U.rowVector(this.getRow(T))}setRow(T,S){u(this,T),S=h(this,S);for(let x=0;x<this.columns;x++)this.set(T,x,S[x]);return this}swapRows(T,S){u(this,T),u(this,S);for(let x=0;x<this.columns;x++){let k=this.get(T,x);this.set(T,x,this.get(S,x)),this.set(S,x,k)}return this}getColumn(T){d(this,T);let S=[];for(let x=0;x<this.rows;x++)S.push(this.get(x,T));return S}getColumnVector(T){return U.columnVector(this.getColumn(T))}setColumn(T,S){d(this,T),S=f(this,S);for(let x=0;x<this.rows;x++)this.set(x,T,S[x]);return this}swapColumns(T,S){d(this,T),d(this,S);for(let x=0;x<this.rows;x++){let k=this.get(x,T);this.set(x,T,this.get(x,S)),this.set(x,S,k)}return this}addRowVector(T){T=h(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)+T[x]);return this}subRowVector(T){T=h(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)-T[x]);return this}mulRowVector(T){T=h(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)*T[x]);return this}divRowVector(T){T=h(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)/T[x]);return this}addColumnVector(T){T=f(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)+T[S]);return this}subColumnVector(T){T=f(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)-T[S]);return this}mulColumnVector(T){T=f(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)*T[S]);return this}divColumnVector(T){T=f(this,T);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)this.set(S,x,this.get(S,x)/T[S]);return this}mulRow(T,S){u(this,T);for(let x=0;x<this.columns;x++)this.set(T,x,this.get(T,x)*S);return this}mulColumn(T,S){d(this,T);for(let x=0;x<this.rows;x++)this.set(x,T,this.get(x,T)*S);return this}max(T){if(this.isEmpty())return NaN;switch(T){case"row":{const S=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)>S[x]&&(S[x]=this.get(x,k));return S}case"column":{const S=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)>S[k]&&(S[k]=this.get(x,k));return S}case void 0:{let S=this.get(0,0);for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)>S&&(S=this.get(x,k));return S}default:throw new Error(`invalid option: ${T}`)}}maxIndex(){b(this);let T=this.get(0,0),S=[0,0];for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)>T&&(T=this.get(x,k),S[0]=x,S[1]=k);return S}min(T){if(this.isEmpty())return NaN;switch(T){case"row":{const S=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)<S[x]&&(S[x]=this.get(x,k));return S}case"column":{const S=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)<S[k]&&(S[k]=this.get(x,k));return S}case void 0:{let S=this.get(0,0);for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)<S&&(S=this.get(x,k));return S}default:throw new Error(`invalid option: ${T}`)}}minIndex(){b(this);let T=this.get(0,0),S=[0,0];for(let x=0;x<this.rows;x++)for(let k=0;k<this.columns;k++)this.get(x,k)<T&&(T=this.get(x,k),S[0]=x,S[1]=k);return S}maxRow(T){if(u(this,T),this.isEmpty())return NaN;let S=this.get(T,0);for(let x=1;x<this.columns;x++)this.get(T,x)>S&&(S=this.get(T,x));return S}maxRowIndex(T){u(this,T),b(this);let S=this.get(T,0),x=[T,0];for(let k=1;k<this.columns;k++)this.get(T,k)>S&&(S=this.get(T,k),x[1]=k);return x}minRow(T){if(u(this,T),this.isEmpty())return NaN;let S=this.get(T,0);for(let x=1;x<this.columns;x++)this.get(T,x)<S&&(S=this.get(T,x));return S}minRowIndex(T){u(this,T),b(this);let S=this.get(T,0),x=[T,0];for(let k=1;k<this.columns;k++)this.get(T,k)<S&&(S=this.get(T,k),x[1]=k);return x}maxColumn(T){if(d(this,T),this.isEmpty())return NaN;let S=this.get(0,T);for(let x=1;x<this.rows;x++)this.get(x,T)>S&&(S=this.get(x,T));return S}maxColumnIndex(T){d(this,T),b(this);let S=this.get(0,T),x=[0,T];for(let k=1;k<this.rows;k++)this.get(k,T)>S&&(S=this.get(k,T),x[0]=k);return x}minColumn(T){if(d(this,T),this.isEmpty())return NaN;let S=this.get(0,T);for(let x=1;x<this.rows;x++)this.get(x,T)<S&&(S=this.get(x,T));return S}minColumnIndex(T){d(this,T),b(this);let S=this.get(0,T),x=[0,T];for(let k=1;k<this.rows;k++)this.get(k,T)<S&&(S=this.get(k,T),x[0]=k);return x}diag(){let T=Math.min(this.rows,this.columns),S=[];for(let x=0;x<T;x++)S.push(this.get(x,x));return S}norm(T="frobenius"){switch(T){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${T}`)}}cumulativeSum(){let T=0;for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)T+=this.get(S,x),this.set(S,x,T);return this}dot(T){oe.isMatrix(T)&&(T=T.to1DArray());let S=this.to1DArray();if(S.length!==T.length)throw new RangeError("vectors do not have the same size");let x=0;for(let k=0;k<S.length;k++)x+=S[k]*T[k];return x}mmul(T){T=U.checkMatrix(T);let S=this.rows,x=this.columns,k=T.columns,C=new U(S,k),D=new Float64Array(x);for(let B=0;B<k;B++){for(let j=0;j<x;j++)D[j]=T.get(j,B);for(let j=0;j<S;j++){let $=0;for(let F=0;F<x;F++)$+=this.get(j,F)*D[F];C.set(j,B,$)}}return C}strassen2x2(T){T=U.checkMatrix(T);let S=new U(2,2);const x=this.get(0,0),k=T.get(0,0),C=this.get(0,1),D=T.get(0,1),B=this.get(1,0),j=T.get(1,0),$=this.get(1,1),F=T.get(1,1),z=(x+$)*(k+F),Z=(B+$)*k,ie=x*(D-F),J=$*(j-k),ae=(x+C)*F,Se=(B-x)*(k+D),K=(C-$)*(j+F),be=z+J-ae+K,Ne=ie+ae,je=Z+J,Re=z-Z+ie+Se;return S.set(0,0,be),S.set(0,1,Ne),S.set(1,0,je),S.set(1,1,Re),S}strassen3x3(T){T=U.checkMatrix(T);let S=new U(3,3);const x=this.get(0,0),k=this.get(0,1),C=this.get(0,2),D=this.get(1,0),B=this.get(1,1),j=this.get(1,2),$=this.get(2,0),F=this.get(2,1),z=this.get(2,2),Z=T.get(0,0),ie=T.get(0,1),J=T.get(0,2),ae=T.get(1,0),Se=T.get(1,1),K=T.get(1,2),be=T.get(2,0),Ne=T.get(2,1),je=T.get(2,2),Re=(x+k+C-D-B-F-z)*Se,dt=(x-D)*(-ie+Se),Fe=B*(-Z+ie+ae-Se-K-be+je),Te=(-x+D+B)*(Z-ie+Se),Ke=(D+B)*(-Z+ie),ee=x*Z,pe=(-x+$+F)*(Z-J+K),Ae=(-x+$)*(J-K),ye=($+F)*(-Z+J),kt=(x+k+C-B-j-$-F)*K,mt=F*(-Z+J+ae-Se-K-be+Ne),Gt=(-C+F+z)*(Se+be-Ne),Kt=(C-z)*(Se-Ne),qn=C*be,Jr=(F+z)*(-be+Ne),_n=(-C+B+j)*(K+be-je),mi=(C-j)*(K-je),qi=(B+j)*(-be+je),ht=k*ae,Gn=j*Ne,kr=D*J,Mr=$*ie,kn=z*je,VL=ee+qn+ht,UL=Re+Te+Ke+ee+Gt+qn+Jr,HL=ee+pe+ye+kt+qn+_n+qi,YL=dt+Fe+Te+ee+qn+_n+mi,KL=dt+Te+Ke+ee+Gn,XL=qn+_n+mi+qi+kr,ZL=ee+pe+Ae+mt+Gt+Kt+qn,JL=Gt+Kt+qn+Jr+Mr,QL=ee+pe+Ae+ye+kn;return S.set(0,0,VL),S.set(0,1,UL),S.set(0,2,HL),S.set(1,0,YL),S.set(1,1,KL),S.set(1,2,XL),S.set(2,0,ZL),S.set(2,1,JL),S.set(2,2,QL),S}mmulStrassen(T){T=U.checkMatrix(T);let S=this.clone(),x=S.rows,k=S.columns,C=T.rows,D=T.columns;k!==C&&console.warn(`Multiplying ${x} x ${k} and ${C} x ${D} matrix: dimensions do not match.`);function B(z,Z,ie){let J=z.rows,ae=z.columns;if(J===Z&&ae===ie)return z;{let Se=oe.zeros(Z,ie);return Se=Se.setSubMatrix(z,0,0),Se}}let j=Math.max(x,C),$=Math.max(k,D);S=B(S,j,$),T=B(T,j,$);function F(z,Z,ie,J){if(ie<=512||J<=512)return z.mmul(Z);ie%2===1&&J%2===1?(z=B(z,ie+1,J+1),Z=B(Z,ie+1,J+1)):ie%2===1?(z=B(z,ie+1,J),Z=B(Z,ie+1,J)):J%2===1&&(z=B(z,ie,J+1),Z=B(Z,ie,J+1));let ae=parseInt(z.rows/2,10),Se=parseInt(z.columns/2,10),K=z.subMatrix(0,ae-1,0,Se-1),be=Z.subMatrix(0,ae-1,0,Se-1),Ne=z.subMatrix(0,ae-1,Se,z.columns-1),je=Z.subMatrix(0,ae-1,Se,Z.columns-1),Re=z.subMatrix(ae,z.rows-1,0,Se-1),dt=Z.subMatrix(ae,Z.rows-1,0,Se-1),Fe=z.subMatrix(ae,z.rows-1,Se,z.columns-1),Te=Z.subMatrix(ae,Z.rows-1,Se,Z.columns-1),Ke=F(oe.add(K,Fe),oe.add(be,Te),ae,Se),ee=F(oe.add(Re,Fe),be,ae,Se),pe=F(K,oe.sub(je,Te),ae,Se),Ae=F(Fe,oe.sub(dt,be),ae,Se),ye=F(oe.add(K,Ne),Te,ae,Se),kt=F(oe.sub(Re,K),oe.add(be,je),ae,Se),mt=F(oe.sub(Ne,Fe),oe.add(dt,Te),ae,Se),Gt=oe.add(Ke,Ae);Gt.sub(ye),Gt.add(mt);let Kt=oe.add(pe,ye),qn=oe.add(ee,Ae),Jr=oe.sub(Ke,ee);Jr.add(pe),Jr.add(kt);let _n=oe.zeros(2*Gt.rows,2*Gt.columns);return _n=_n.setSubMatrix(Gt,0,0),_n=_n.setSubMatrix(Kt,Gt.rows,0),_n=_n.setSubMatrix(qn,0,Gt.columns),_n=_n.setSubMatrix(Jr,Gt.rows,Gt.columns),_n.subMatrix(0,ie-1,0,J-1)}return F(S,T,j,$)}scaleRows(T={}){if(typeof T!="object")throw new TypeError("options must be an object");const{min:S=0,max:x=1}=T;if(!Number.isFinite(S))throw new TypeError("min must be a number");if(!Number.isFinite(x))throw new TypeError("max must be a number");if(S>=x)throw new RangeError("min must be smaller than max");let k=new U(this.rows,this.columns);for(let C=0;C<this.rows;C++){const D=this.getRow(C);D.length>0&&e(D,{min:S,max:x,output:D}),k.setRow(C,D)}return k}scaleColumns(T={}){if(typeof T!="object")throw new TypeError("options must be an object");const{min:S=0,max:x=1}=T;if(!Number.isFinite(S))throw new TypeError("min must be a number");if(!Number.isFinite(x))throw new TypeError("max must be a number");if(S>=x)throw new RangeError("min must be smaller than max");let k=new U(this.rows,this.columns);for(let C=0;C<this.columns;C++){const D=this.getColumn(C);D.length&&e(D,{min:S,max:x,output:D}),k.setColumn(C,D)}return k}flipRows(){const T=Math.ceil(this.columns/2);for(let S=0;S<this.rows;S++)for(let x=0;x<T;x++){let k=this.get(S,x),C=this.get(S,this.columns-1-x);this.set(S,x,C),this.set(S,this.columns-1-x,k)}return this}flipColumns(){const T=Math.ceil(this.rows/2);for(let S=0;S<this.columns;S++)for(let x=0;x<T;x++){let k=this.get(x,S),C=this.get(this.rows-1-x,S);this.set(x,S,C),this.set(this.rows-1-x,S,k)}return this}kroneckerProduct(T){T=U.checkMatrix(T);let S=this.rows,x=this.columns,k=T.rows,C=T.columns,D=new U(S*k,x*C);for(let B=0;B<S;B++)for(let j=0;j<x;j++)for(let $=0;$<k;$++)for(let F=0;F<C;F++)D.set(k*B+$,C*j+F,this.get(B,j)*T.get($,F));return D}kroneckerSum(T){if(T=U.checkMatrix(T),!this.isSquare()||!T.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let S=this.rows,x=T.rows,k=this.kroneckerProduct(U.eye(x,x)),C=U.eye(S,S).kroneckerProduct(T);return k.add(C)}transpose(){let T=new U(this.columns,this.rows);for(let S=0;S<this.rows;S++)for(let x=0;x<this.columns;x++)T.set(x,S,this.get(S,x));return T}sortRows(T=he){for(let S=0;S<this.rows;S++)this.setRow(S,this.getRow(S).sort(T));return this}sortColumns(T=he){for(let S=0;S<this.columns;S++)this.setColumn(S,this.getColumn(S).sort(T));return this}subMatrix(T,S,x,k){v(this,T,S,x,k);let C=new U(S-T+1,k-x+1);for(let D=T;D<=S;D++)for(let B=x;B<=k;B++)C.set(D-T,B-x,this.get(D,B));return C}subMatrixRow(T,S,x){if(S===void 0&&(S=0),x===void 0&&(x=this.columns-1),S>x||S<0||S>=this.columns||x<0||x>=this.columns)throw new RangeError("Argument out of range");let k=new U(T.length,x-S+1);for(let C=0;C<T.length;C++)for(let D=S;D<=x;D++){if(T[C]<0||T[C]>=this.rows)throw new RangeError(`Row index out of range: ${T[C]}`);k.set(C,D-S,this.get(T[C],D))}return k}subMatrixColumn(T,S,x){if(S===void 0&&(S=0),x===void 0&&(x=this.rows-1),S>x||S<0||S>=this.rows||x<0||x>=this.rows)throw new RangeError("Argument out of range");let k=new U(x-S+1,T.length);for(let C=0;C<T.length;C++)for(let D=S;D<=x;D++){if(T[C]<0||T[C]>=this.columns)throw new RangeError(`Column index out of range: ${T[C]}`);k.set(D-S,C,this.get(D,T[C]))}return k}setSubMatrix(T,S,x){if(T=U.checkMatrix(T),T.isEmpty())return this;let k=S+T.rows-1,C=x+T.columns-1;v(this,S,k,x,C);for(let D=0;D<T.rows;D++)for(let B=0;B<T.columns;B++)this.set(S+D,x+B,T.get(D,B));return this}selection(T,S){g(this,T),p(this,S);let x=new U(T.length,S.length);for(let k=0;k<T.length;k++){let C=T[k];for(let D=0;D<S.length;D++){let B=S[D];x.set(k,D,this.get(C,B))}}return x}trace(){let T=Math.min(this.rows,this.columns),S=0;for(let x=0;x<T;x++)S+=this.get(x,x);return S}clone(){return this.constructor.copy(this,new U(this.rows,this.columns))}static copy(T,S){for(const[x,k,C]of T.entries())S.set(x,k,C);return S}sum(T){switch(T){case"row":return w(this);case"column":return E(this);case void 0:return _(this);default:throw new Error(`invalid option: ${T}`)}}product(T){switch(T){case"row":return O(this);case"column":return M(this);case void 0:return N(this);default:throw new Error(`invalid option: ${T}`)}}mean(T){const S=this.sum(T);switch(T){case"row":{for(let x=0;x<this.rows;x++)S[x]/=this.columns;return S}case"column":{for(let x=0;x<this.columns;x++)S[x]/=this.rows;return S}case void 0:return S/this.size;default:throw new Error(`invalid option: ${T}`)}}variance(T,S={}){if(typeof T=="object"&&(S=T,T=void 0),typeof S!="object")throw new TypeError("options must be an object");const{unbiased:x=!0,mean:k=this.mean(T)}=S;if(typeof x!="boolean")throw new TypeError("unbiased must be a boolean");switch(T){case"row":{if(!r.isAnyArray(k))throw new TypeError("mean must be an array");return A(this,x,k)}case"column":{if(!r.isAnyArray(k))throw new TypeError("mean must be an array");return P(this,x,k)}case void 0:{if(typeof k!="number")throw new TypeError("mean must be a number");return L(this,x,k)}default:throw new Error(`invalid option: ${T}`)}}standardDeviation(T,S){typeof T=="object"&&(S=T,T=void 0);const x=this.variance(T,S);if(T===void 0)return Math.sqrt(x);for(let k=0;k<x.length;k++)x[k]=Math.sqrt(x[k]);return x}center(T,S={}){if(typeof T=="object"&&(S=T,T=void 0),typeof S!="object")throw new TypeError("options must be an object");const{center:x=this.mean(T)}=S;switch(T){case"row":{if(!r.isAnyArray(x))throw new TypeError("center must be an array");return I(this,x),this}case"column":{if(!r.isAnyArray(x))throw new TypeError("center must be an array");return G(this,x),this}case void 0:{if(typeof x!="number")throw new TypeError("center must be a number");return H(this,x),this}default:throw new Error(`invalid option: ${T}`)}}scale(T,S={}){if(typeof T=="object"&&(S=T,T=void 0),typeof S!="object")throw new TypeError("options must be an object");let x=S.scale;switch(T){case"row":{if(x===void 0)x=Y(this);else if(!r.isAnyArray(x))throw new TypeError("scale must be an array");return W(this,x),this}case"column":{if(x===void 0)x=q(this);else if(!r.isAnyArray(x))throw new TypeError("scale must be an array");return Q(this,x),this}case void 0:{if(x===void 0)x=re(this);else if(typeof x!="number")throw new TypeError("scale must be a number");return de(this,x),this}default:throw new Error(`invalid option: ${T}`)}}toString(T){return a(this,T)}[Symbol.iterator](){return this.entries()}*entries(){for(let T=0;T<this.rows;T++)for(let S=0;S<this.columns;S++)yield[T,S,this.get(T,S)]}*values(){for(let T=0;T<this.rows;T++)for(let S=0;S<this.columns;S++)yield this.get(T,S)}}oe.prototype.klass="Matrix",typeof Symbol<"u"&&(oe.prototype[Symbol.for("nodejs.util.inspect.custom")]=i);function he(R,T){return R-T}function X(R){return R.every(T=>typeof T=="number")}oe.random=oe.rand,oe.randomInt=oe.randInt,oe.diagonal=oe.diag,oe.prototype.diagonal=oe.prototype.diag,oe.identity=oe.eye,oe.prototype.negate=oe.prototype.neg,oe.prototype.tensorProduct=oe.prototype.kroneckerProduct;const Vs=class Vs extends oe{constructor(S,x){super();ef(this,Za);Nt(this,"data");if(Vs.isMatrix(S))tf(this,Za,q1).call(this,S.rows,S.columns),Vs.copy(S,this);else if(Number.isInteger(S)&&S>=0)tf(this,Za,q1).call(this,S,x);else if(r.isAnyArray(S)){const k=S;if(S=k.length,x=S?k[0].length:0,typeof x!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let C=0;C<S;C++){if(k[C].length!==x)throw new RangeError("Inconsistent array dimensions");if(!X(k[C]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(k[C]))}this.rows=S,this.columns=x}else throw new TypeError("First argument must be a positive number or an array")}set(S,x,k){return this.data[S][x]=k,this}get(S,x){return this.data[S][x]}removeRow(S){return u(this,S),this.data.splice(S,1),this.rows-=1,this}addRow(S,x){return x===void 0&&(x=S,S=this.rows),u(this,S,!0),x=Float64Array.from(h(this,x)),this.data.splice(S,0,x),this.rows+=1,this}removeColumn(S){d(this,S);for(let x=0;x<this.rows;x++){const k=new Float64Array(this.columns-1);for(let C=0;C<S;C++)k[C]=this.data[x][C];for(let C=S+1;C<this.columns;C++)k[C-1]=this.data[x][C];this.data[x]=k}return this.columns-=1,this}addColumn(S,x){typeof x>"u"&&(x=S,S=this.columns),d(this,S,!0),x=f(this,x);for(let k=0;k<this.rows;k++){const C=new Float64Array(this.columns+1);let D=0;for(;D<S;D++)C[D]=this.data[k][D];for(C[D++]=x[k];D<this.columns+1;D++)C[D]=this.data[k][D-1];this.data[k]=C}return this.columns+=1,this}};Za=new WeakSet,q1=function(S,x){if(this.data=[],Number.isInteger(x)&&x>=0)for(let k=0;k<S;k++)this.data.push(new Float64Array(x));else throw new TypeError("nColumns must be a positive integer");this.rows=S,this.columns=x};let U=Vs;c(oe,U);const Us=class Us extends oe{constructor(S){super();ef(this,Rn);if(U.isMatrix(S)){if(!S.isSymmetric())throw new TypeError("not symmetric data");kc(this,Rn,U.copy(S,new U(S.rows,S.rows)))}else if(Number.isInteger(S)&&S>=0)kc(this,Rn,new U(S,S));else if(kc(this,Rn,new U(S)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return Qr(this,Rn).size}get rows(){return Qr(this,Rn).rows}get columns(){return Qr(this,Rn).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(S){return U.isMatrix(S)&&S.klassType==="SymmetricMatrix"}static zeros(S){return new this(S)}static ones(S){return new this(S).fill(1)}clone(){const S=new Us(this.diagonalSize);for(const[x,k,C]of this.upperRightEntries())S.set(x,k,C);return S}toMatrix(){return new U(this)}get(S,x){return Qr(this,Rn).get(S,x)}set(S,x,k){return Qr(this,Rn).set(S,x,k),Qr(this,Rn).set(x,S,k),this}removeCross(S){return Qr(this,Rn).removeRow(S),Qr(this,Rn).removeColumn(S),this}addCross(S,x){x===void 0&&(x=S,S=this.diagonalSize);const k=x.slice();return k.splice(S,1),Qr(this,Rn).addRow(S,k),Qr(this,Rn).addColumn(S,x),this}applyMask(S){if(S.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const x=[];for(const[k,C]of S.entries())C||x.push(k);x.reverse();for(const k of x)this.removeCross(k);return this}toCompact(){const{diagonalSize:S}=this,x=new Array(S*(S+1)/2);for(let k=0,C=0,D=0;D<x.length;D++)x[D]=this.get(C,k),++k>=S&&(k=++C);return x}static fromCompact(S){const x=S.length,k=(Math.sqrt(8*x+1)-1)/2;if(!Number.isInteger(k))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(S)}`);const C=new Us(k);for(let D=0,B=0,j=0;j<x;j++)C.set(D,B,S[j]),++D>=k&&(D=++B);return C}*upperRightEntries(){for(let S=0,x=0;S<this.diagonalSize;void 0){const k=this.get(S,x);yield[S,x,k],++x>=this.diagonalSize&&(x=++S)}}*upperRightValues(){for(let S=0,x=0;S<this.diagonalSize;void 0)yield this.get(S,x),++x>=this.diagonalSize&&(x=++S)}};Rn=new WeakMap;let ne=Us;ne.prototype.klassType="SymmetricMatrix";class ue extends ne{static isDistanceMatrix(T){return ne.isSymmetricMatrix(T)&&T.klassSubType==="DistanceMatrix"}constructor(T){if(super(T),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(T,S,x){return T===S&&(x=0),super.set(T,S,x)}addCross(T,S){return S===void 0&&(S=T,T=this.diagonalSize),S=S.slice(),S[T]=0,super.addCross(T,S)}toSymmetricMatrix(){return new ne(this)}clone(){const T=new ue(this.diagonalSize);for(const[S,x,k]of this.upperRightEntries())S!==x&&T.set(S,x,k);return T}toCompact(){const{diagonalSize:T}=this,S=(T-1)*T/2,x=new Array(S);for(let k=1,C=0,D=0;D<x.length;D++)x[D]=this.get(C,k),++k>=T&&(k=++C+1);return x}static fromCompact(T){const S=T.length;if(S===0)return new this(0);const x=(Math.sqrt(8*S+1)+1)/2;if(!Number.isInteger(x))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(T)}`);const k=new this(x);for(let C=1,D=0,B=0;B<S;B++)k.set(C,D,T[B]),++C>=x&&(C=++D+1);return k}}ue.prototype.klassSubType="DistanceMatrix";class Me extends oe{constructor(T,S,x){super(),this.matrix=T,this.rows=S,this.columns=x}}class Be extends Me{constructor(T,S){d(T,S),super(T,T.rows,1),this.column=S}set(T,S,x){return this.matrix.set(T,this.column,x),this}get(T){return this.matrix.get(T,this.column)}}class Ve extends Me{constructor(T,S){p(T,S),super(T,T.rows,S.length),this.columnIndices=S}set(T,S,x){return this.matrix.set(T,this.columnIndices[S],x),this}get(T,S){return this.matrix.get(T,this.columnIndices[S])}}class Dt extends Me{constructor(T){super(T,T.rows,T.columns)}set(T,S,x){return this.matrix.set(T,this.columns-S-1,x),this}get(T,S){return this.matrix.get(T,this.columns-S-1)}}class on extends Me{constructor(T){super(T,T.rows,T.columns)}set(T,S,x){return this.matrix.set(this.rows-T-1,S,x),this}get(T,S){return this.matrix.get(this.rows-T-1,S)}}class _t extends Me{constructor(T,S){u(T,S),super(T,1,T.columns),this.row=S}set(T,S,x){return this.matrix.set(this.row,S,x),this}get(T,S){return this.matrix.get(this.row,S)}}class Yt extends Me{constructor(T,S){g(T,S),super(T,S.length,T.columns),this.rowIndices=S}set(T,S,x){return this.matrix.set(this.rowIndices[T],S,x),this}get(T,S){return this.matrix.get(this.rowIndices[T],S)}}class He extends Me{constructor(T,S,x){g(T,S),p(T,x),super(T,S.length,x.length),this.rowIndices=S,this.columnIndices=x}set(T,S,x){return this.matrix.set(this.rowIndices[T],this.columnIndices[S],x),this}get(T,S){return this.matrix.get(this.rowIndices[T],this.columnIndices[S])}}class ar extends Me{constructor(T,S,x,k,C){v(T,S,x,k,C),super(T,x-S+1,C-k+1),this.startRow=S,this.startColumn=k}set(T,S,x){return this.matrix.set(this.startRow+T,this.startColumn+S,x),this}get(T,S){return this.matrix.get(this.startRow+T,this.startColumn+S)}}class Je extends Me{constructor(T){super(T,T.columns,T.rows)}set(T,S,x){return this.matrix.set(S,T,x),this}get(T,S){return this.matrix.get(S,T)}}class hn extends oe{constructor(T,S={}){const{rows:x=1}=S;if(T.length%x!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=x,this.columns=T.length/x,this.data=T}set(T,S,x){let k=this._calculateIndex(T,S);return this.data[k]=x,this}get(T,S){let x=this._calculateIndex(T,S);return this.data[x]}_calculateIndex(T,S){return T*this.columns+S}}class Ct extends oe{constructor(T){super(),this.data=T,this.rows=T.length,this.columns=T[0].length}set(T,S,x){return this.data[T][S]=x,this}get(T,S){return this.data[T][S]}}function ca(R,T){if(r.isAnyArray(R))return R[0]&&r.isAnyArray(R[0])?new Ct(R):new hn(R,T);throw new Error("the argument is not an array")}class jn{constructor(T){T=Ct.checkMatrix(T);let S=T.clone(),x=S.rows,k=S.columns,C=new Float64Array(x),D=1,B,j,$,F,z,Z,ie,J,ae;for(B=0;B<x;B++)C[B]=B;for(J=new Float64Array(x),j=0;j<k;j++){for(B=0;B<x;B++)J[B]=S.get(B,j);for(B=0;B<x;B++){for(ae=Math.min(B,j),z=0,$=0;$<ae;$++)z+=S.get(B,$)*J[$];J[B]-=z,S.set(B,j,J[B])}for(F=j,B=j+1;B<x;B++)Math.abs(J[B])>Math.abs(J[F])&&(F=B);if(F!==j){for($=0;$<k;$++)Z=S.get(F,$),S.set(F,$,S.get(j,$)),S.set(j,$,Z);ie=C[F],C[F]=C[j],C[j]=ie,D=-D}if(j<x&&S.get(j,j)!==0)for(B=j+1;B<x;B++)S.set(B,j,S.get(B,j)/S.get(j,j))}this.LU=S,this.pivotVector=C,this.pivotSign=D}isSingular(){let T=this.LU,S=T.columns;for(let x=0;x<S;x++)if(T.get(x,x)===0)return!0;return!1}solve(T){T=U.checkMatrix(T);let S=this.LU;if(S.rows!==T.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let k=T.columns,C=T.subMatrixRow(this.pivotVector,0,k-1),D=S.columns,B,j,$;for($=0;$<D;$++)for(B=$+1;B<D;B++)for(j=0;j<k;j++)C.set(B,j,C.get(B,j)-C.get($,j)*S.get(B,$));for($=D-1;$>=0;$--){for(j=0;j<k;j++)C.set($,j,C.get($,j)/S.get($,$));for(B=0;B<$;B++)for(j=0;j<k;j++)C.set(B,j,C.get(B,j)-C.get($,j)*S.get(B,$))}return C}get determinant(){let T=this.LU;if(!T.isSquare())throw new Error("Matrix must be square");let S=this.pivotSign,x=T.columns;for(let k=0;k<x;k++)S*=T.get(k,k);return S}get lowerTriangularMatrix(){let T=this.LU,S=T.rows,x=T.columns,k=new U(S,x);for(let C=0;C<S;C++)for(let D=0;D<x;D++)C>D?k.set(C,D,T.get(C,D)):C===D?k.set(C,D,1):k.set(C,D,0);return k}get upperTriangularMatrix(){let T=this.LU,S=T.rows,x=T.columns,k=new U(S,x);for(let C=0;C<S;C++)for(let D=0;D<x;D++)C<=D?k.set(C,D,T.get(C,D)):k.set(C,D,0);return k}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Qt(R,T){let S=0;return Math.abs(R)>Math.abs(T)?(S=T/R,Math.abs(R)*Math.sqrt(1+S*S)):T!==0?(S=R/T,Math.abs(T)*Math.sqrt(1+S*S)):0}class ut{constructor(T){T=Ct.checkMatrix(T);let S=T.clone(),x=T.rows,k=T.columns,C=new Float64Array(k),D,B,j,$;for(j=0;j<k;j++){let F=0;for(D=j;D<x;D++)F=Qt(F,S.get(D,j));if(F!==0){for(S.get(j,j)<0&&(F=-F),D=j;D<x;D++)S.set(D,j,S.get(D,j)/F);for(S.set(j,j,S.get(j,j)+1),B=j+1;B<k;B++){for($=0,D=j;D<x;D++)$+=S.get(D,j)*S.get(D,B);for($=-$/S.get(j,j),D=j;D<x;D++)S.set(D,B,S.get(D,B)+$*S.get(D,j))}}C[j]=-F}this.QR=S,this.Rdiag=C}solve(T){T=U.checkMatrix(T);let S=this.QR,x=S.rows;if(T.rows!==x)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let k=T.columns,C=T.clone(),D=S.columns,B,j,$,F;for($=0;$<D;$++)for(j=0;j<k;j++){for(F=0,B=$;B<x;B++)F+=S.get(B,$)*C.get(B,j);for(F=-F/S.get($,$),B=$;B<x;B++)C.set(B,j,C.get(B,j)+F*S.get(B,$))}for($=D-1;$>=0;$--){for(j=0;j<k;j++)C.set($,j,C.get($,j)/this.Rdiag[$]);for(B=0;B<$;B++)for(j=0;j<k;j++)C.set(B,j,C.get(B,j)-C.get($,j)*S.get(B,$))}return C.subMatrix(0,D-1,0,k-1)}isFullRank(){let T=this.QR.columns;for(let S=0;S<T;S++)if(this.Rdiag[S]===0)return!1;return!0}get upperTriangularMatrix(){let T=this.QR,S=T.columns,x=new U(S,S),k,C;for(k=0;k<S;k++)for(C=0;C<S;C++)k<C?x.set(k,C,T.get(k,C)):k===C?x.set(k,C,this.Rdiag[k]):x.set(k,C,0);return x}get orthogonalMatrix(){let T=this.QR,S=T.rows,x=T.columns,k=new U(S,x),C,D,B,j;for(B=x-1;B>=0;B--){for(C=0;C<S;C++)k.set(C,B,0);for(k.set(B,B,1),D=B;D<x;D++)if(T.get(B,B)!==0){for(j=0,C=B;C<S;C++)j+=T.get(C,B)*k.get(C,D);for(j=-j/T.get(B,B),C=B;C<S;C++)k.set(C,D,k.get(C,D)+j*T.get(C,B))}}return k}}class fn{constructor(T,S={}){if(T=Ct.checkMatrix(T),T.isEmpty())throw new Error("Matrix must be non-empty");let x=T.rows,k=T.columns;const{computeLeftSingularVectors:C=!0,computeRightSingularVectors:D=!0,autoTranspose:B=!1}=S;let j=!!C,$=!!D,F=!1,z;if(x<k)if(!B)z=T.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{z=T.transpose(),x=z.rows,k=z.columns,F=!0;let ee=j;j=$,$=ee}else z=T.clone();let Z=Math.min(x,k),ie=Math.min(x+1,k),J=new Float64Array(ie),ae=new U(x,Z),Se=new U(k,k),K=new Float64Array(k),be=new Float64Array(x),Ne=new Float64Array(ie);for(let ee=0;ee<ie;ee++)Ne[ee]=ee;let je=Math.min(x-1,k),Re=Math.max(0,Math.min(k-2,x)),dt=Math.max(je,Re);for(let ee=0;ee<dt;ee++){if(ee<je){J[ee]=0;for(let pe=ee;pe<x;pe++)J[ee]=Qt(J[ee],z.get(pe,ee));if(J[ee]!==0){z.get(ee,ee)<0&&(J[ee]=-J[ee]);for(let pe=ee;pe<x;pe++)z.set(pe,ee,z.get(pe,ee)/J[ee]);z.set(ee,ee,z.get(ee,ee)+1)}J[ee]=-J[ee]}for(let pe=ee+1;pe<k;pe++){if(ee<je&&J[ee]!==0){let Ae=0;for(let ye=ee;ye<x;ye++)Ae+=z.get(ye,ee)*z.get(ye,pe);Ae=-Ae/z.get(ee,ee);for(let ye=ee;ye<x;ye++)z.set(ye,pe,z.get(ye,pe)+Ae*z.get(ye,ee))}K[pe]=z.get(ee,pe)}if(j&&ee<je)for(let pe=ee;pe<x;pe++)ae.set(pe,ee,z.get(pe,ee));if(ee<Re){K[ee]=0;for(let pe=ee+1;pe<k;pe++)K[ee]=Qt(K[ee],K[pe]);if(K[ee]!==0){K[ee+1]<0&&(K[ee]=0-K[ee]);for(let pe=ee+1;pe<k;pe++)K[pe]/=K[ee];K[ee+1]+=1}if(K[ee]=-K[ee],ee+1<x&&K[ee]!==0){for(let pe=ee+1;pe<x;pe++)be[pe]=0;for(let pe=ee+1;pe<x;pe++)for(let Ae=ee+1;Ae<k;Ae++)be[pe]+=K[Ae]*z.get(pe,Ae);for(let pe=ee+1;pe<k;pe++){let Ae=-K[pe]/K[ee+1];for(let ye=ee+1;ye<x;ye++)z.set(ye,pe,z.get(ye,pe)+Ae*be[ye])}}if($)for(let pe=ee+1;pe<k;pe++)Se.set(pe,ee,K[pe])}}let Fe=Math.min(k,x+1);if(je<k&&(J[je]=z.get(je,je)),x<Fe&&(J[Fe-1]=0),Re+1<Fe&&(K[Re]=z.get(Re,Fe-1)),K[Fe-1]=0,j){for(let ee=je;ee<Z;ee++){for(let pe=0;pe<x;pe++)ae.set(pe,ee,0);ae.set(ee,ee,1)}for(let ee=je-1;ee>=0;ee--)if(J[ee]!==0){for(let pe=ee+1;pe<Z;pe++){let Ae=0;for(let ye=ee;ye<x;ye++)Ae+=ae.get(ye,ee)*ae.get(ye,pe);Ae=-Ae/ae.get(ee,ee);for(let ye=ee;ye<x;ye++)ae.set(ye,pe,ae.get(ye,pe)+Ae*ae.get(ye,ee))}for(let pe=ee;pe<x;pe++)ae.set(pe,ee,-ae.get(pe,ee));ae.set(ee,ee,1+ae.get(ee,ee));for(let pe=0;pe<ee-1;pe++)ae.set(pe,ee,0)}else{for(let pe=0;pe<x;pe++)ae.set(pe,ee,0);ae.set(ee,ee,1)}}if($)for(let ee=k-1;ee>=0;ee--){if(ee<Re&&K[ee]!==0)for(let pe=ee+1;pe<k;pe++){let Ae=0;for(let ye=ee+1;ye<k;ye++)Ae+=Se.get(ye,ee)*Se.get(ye,pe);Ae=-Ae/Se.get(ee+1,ee);for(let ye=ee+1;ye<k;ye++)Se.set(ye,pe,Se.get(ye,pe)+Ae*Se.get(ye,ee))}for(let pe=0;pe<k;pe++)Se.set(pe,ee,0);Se.set(ee,ee,1)}let Te=Fe-1,Ke=Number.EPSILON;for(;Fe>0;){let ee,pe;for(ee=Fe-2;ee>=-1&&ee!==-1;ee--){const Ae=Number.MIN_VALUE+Ke*Math.abs(J[ee]+Math.abs(J[ee+1]));if(Math.abs(K[ee])<=Ae||Number.isNaN(K[ee])){K[ee]=0;break}}if(ee===Fe-2)pe=4;else{let Ae;for(Ae=Fe-1;Ae>=ee&&Ae!==ee;Ae--){let ye=(Ae!==Fe?Math.abs(K[Ae]):0)+(Ae!==ee+1?Math.abs(K[Ae-1]):0);if(Math.abs(J[Ae])<=Ke*ye){J[Ae]=0;break}}Ae===ee?pe=3:Ae===Fe-1?pe=1:(pe=2,ee=Ae)}switch(ee++,pe){case 1:{let Ae=K[Fe-2];K[Fe-2]=0;for(let ye=Fe-2;ye>=ee;ye--){let kt=Qt(J[ye],Ae),mt=J[ye]/kt,Gt=Ae/kt;if(J[ye]=kt,ye!==ee&&(Ae=-Gt*K[ye-1],K[ye-1]=mt*K[ye-1]),$)for(let Kt=0;Kt<k;Kt++)kt=mt*Se.get(Kt,ye)+Gt*Se.get(Kt,Fe-1),Se.set(Kt,Fe-1,-Gt*Se.get(Kt,ye)+mt*Se.get(Kt,Fe-1)),Se.set(Kt,ye,kt)}break}case 2:{let Ae=K[ee-1];K[ee-1]=0;for(let ye=ee;ye<Fe;ye++){let kt=Qt(J[ye],Ae),mt=J[ye]/kt,Gt=Ae/kt;if(J[ye]=kt,Ae=-Gt*K[ye],K[ye]=mt*K[ye],j)for(let Kt=0;Kt<x;Kt++)kt=mt*ae.get(Kt,ye)+Gt*ae.get(Kt,ee-1),ae.set(Kt,ee-1,-Gt*ae.get(Kt,ye)+mt*ae.get(Kt,ee-1)),ae.set(Kt,ye,kt)}break}case 3:{const Ae=Math.max(Math.abs(J[Fe-1]),Math.abs(J[Fe-2]),Math.abs(K[Fe-2]),Math.abs(J[ee]),Math.abs(K[ee])),ye=J[Fe-1]/Ae,kt=J[Fe-2]/Ae,mt=K[Fe-2]/Ae,Gt=J[ee]/Ae,Kt=K[ee]/Ae,qn=((kt+ye)*(kt-ye)+mt*mt)/2,Jr=ye*mt*(ye*mt);let _n=0;(qn!==0||Jr!==0)&&(qn<0?_n=0-Math.sqrt(qn*qn+Jr):_n=Math.sqrt(qn*qn+Jr),_n=Jr/(qn+_n));let mi=(Gt+ye)*(Gt-ye)+_n,qi=Gt*Kt;for(let ht=ee;ht<Fe-1;ht++){let Gn=Qt(mi,qi);Gn===0&&(Gn=Number.MIN_VALUE);let kr=mi/Gn,Mr=qi/Gn;if(ht!==ee&&(K[ht-1]=Gn),mi=kr*J[ht]+Mr*K[ht],K[ht]=kr*K[ht]-Mr*J[ht],qi=Mr*J[ht+1],J[ht+1]=kr*J[ht+1],$)for(let kn=0;kn<k;kn++)Gn=kr*Se.get(kn,ht)+Mr*Se.get(kn,ht+1),Se.set(kn,ht+1,-Mr*Se.get(kn,ht)+kr*Se.get(kn,ht+1)),Se.set(kn,ht,Gn);if(Gn=Qt(mi,qi),Gn===0&&(Gn=Number.MIN_VALUE),kr=mi/Gn,Mr=qi/Gn,J[ht]=Gn,mi=kr*K[ht]+Mr*J[ht+1],J[ht+1]=-Mr*K[ht]+kr*J[ht+1],qi=Mr*K[ht+1],K[ht+1]=kr*K[ht+1],j&&ht<x-1)for(let kn=0;kn<x;kn++)Gn=kr*ae.get(kn,ht)+Mr*ae.get(kn,ht+1),ae.set(kn,ht+1,-Mr*ae.get(kn,ht)+kr*ae.get(kn,ht+1)),ae.set(kn,ht,Gn)}K[Fe-2]=mi;break}case 4:{if(J[ee]<=0&&(J[ee]=J[ee]<0?-J[ee]:0,$))for(let Ae=0;Ae<=Te;Ae++)Se.set(Ae,ee,-Se.get(Ae,ee));for(;ee<Te&&!(J[ee]>=J[ee+1]);){let Ae=J[ee];if(J[ee]=J[ee+1],J[ee+1]=Ae,$&&ee<k-1)for(let ye=0;ye<k;ye++)Ae=Se.get(ye,ee+1),Se.set(ye,ee+1,Se.get(ye,ee)),Se.set(ye,ee,Ae);if(j&&ee<x-1)for(let ye=0;ye<x;ye++)Ae=ae.get(ye,ee+1),ae.set(ye,ee+1,ae.get(ye,ee)),ae.set(ye,ee,Ae);ee++}Fe--;break}}}if(F){let ee=Se;Se=ae,ae=ee}this.m=x,this.n=k,this.s=J,this.U=ae,this.V=Se}solve(T){let S=T,x=this.threshold,k=this.s.length,C=U.zeros(k,k);for(let Z=0;Z<k;Z++)Math.abs(this.s[Z])<=x?C.set(Z,Z,0):C.set(Z,Z,1/this.s[Z]);let D=this.U,B=this.rightSingularVectors,j=B.mmul(C),$=B.rows,F=D.rows,z=U.zeros($,F);for(let Z=0;Z<$;Z++)for(let ie=0;ie<F;ie++){let J=0;for(let ae=0;ae<k;ae++)J+=j.get(Z,ae)*D.get(ie,ae);z.set(Z,ie,J)}return z.mmul(S)}solveForDiagonal(T){return this.solve(U.diag(T))}inverse(){let T=this.V,S=this.threshold,x=T.rows,k=T.columns,C=new U(x,this.s.length);for(let F=0;F<x;F++)for(let z=0;z<k;z++)Math.abs(this.s[z])>S&&C.set(F,z,T.get(F,z)/this.s[z]);let D=this.U,B=D.rows,j=D.columns,$=new U(x,B);for(let F=0;F<x;F++)for(let z=0;z<B;z++){let Z=0;for(let ie=0;ie<j;ie++)Z+=C.get(F,ie)*D.get(z,ie);$.set(F,z,Z)}return $}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let T=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,S=0,x=this.s;for(let k=0,C=x.length;k<C;k++)x[k]>T&&S++;return S}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return U.diag(this.s)}}function $n(R,T=!1){return R=Ct.checkMatrix(R),T?new fn(R).inverse():gr(R,U.eye(R.rows))}function gr(R,T,S=!1){return R=Ct.checkMatrix(R),T=Ct.checkMatrix(T),S?new fn(R).solve(T):R.isSquare()?new jn(R).solve(T):new ut(R).solve(T)}function _r(R){if(R=U.checkMatrix(R),R.isSquare()){if(R.columns===0)return 1;let T,S,x,k;if(R.columns===2)return T=R.get(0,0),S=R.get(0,1),x=R.get(1,0),k=R.get(1,1),T*k-S*x;if(R.columns===3){let C,D,B;return C=new He(R,[1,2],[1,2]),D=new He(R,[1,2],[0,2]),B=new He(R,[1,2],[0,1]),T=R.get(0,0),S=R.get(0,1),x=R.get(0,2),T*_r(C)-S*_r(D)+x*_r(B)}else return new jn(R).determinant}else throw Error("determinant can only be calculated for a square matrix")}function zr(R,T){let S=[];for(let x=0;x<R;x++)x!==T&&S.push(x);return S}function ua(R,T,S,x=1e-9,k=1e-9){if(R>k)return new Array(T.rows+1).fill(0);{let C=T.addRow(S,[0]);for(let D=0;D<C.rows;D++)Math.abs(C.get(D,0))<x&&C.set(D,0,0);return C.to1DArray()}}function da(R,T={}){const{thresholdValue:S=1e-9,thresholdError:x=1e-9}=T;R=U.checkMatrix(R);let k=R.rows,C=new U(k,k);for(let D=0;D<k;D++){let B=U.columnVector(R.getRow(D)),j=R.subMatrixRow(zr(k,D)).transpose(),F=new fn(j).solve(B),z=U.sub(B,j.mmul(F)).abs().max();C.setRow(D,ua(z,F,D,S,x))}return C}function Yo(R,T=Number.EPSILON){if(R=U.checkMatrix(R),R.isEmpty())return R.transpose();let S=new fn(R,{autoTranspose:!0}),x=S.leftSingularVectors,k=S.rightSingularVectors,C=S.diagonal;for(let D=0;D<C.length;D++)Math.abs(C[D])>T?C[D]=1/C[D]:C[D]=0;return k.mmul(U.diag(C).mmul(x.transpose()))}function qs(R,T=R,S={}){R=new U(R);let x=!1;if(typeof T=="object"&&!U.isMatrix(T)&&!r.isAnyArray(T)?(S=T,T=R,x=!0):T=new U(T),R.rows!==T.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:k=!0}=S;k&&(R=R.center("column"),x||(T=T.center("column")));const C=R.transpose().mmul(T);for(let D=0;D<C.rows;D++)for(let B=0;B<C.columns;B++)C.set(D,B,C.get(D,B)*(1/(R.rows-1)));return C}function jr(R,T=R,S={}){R=new U(R);let x=!1;if(typeof T=="object"&&!U.isMatrix(T)&&!r.isAnyArray(T)?(S=T,T=R,x=!0):T=new U(T),R.rows!==T.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:k=!0,scale:C=!0}=S;k&&(R.center("column"),x||T.center("column")),C&&(R.scale("column"),x||T.scale("column"));const D=R.standardDeviation("column",{unbiased:!0}),B=x?D:T.standardDeviation("column",{unbiased:!0}),j=R.transpose().mmul(T);for(let $=0;$<j.rows;$++)for(let F=0;F<j.columns;F++)j.set($,F,j.get($,F)*(1/(D[$]*B[F]))*(1/(R.rows-1)));return j}class Jn{constructor(T,S={}){const{assumeSymmetric:x=!1}=S;if(T=Ct.checkMatrix(T),!T.isSquare())throw new Error("Matrix is not a square matrix");if(T.isEmpty())throw new Error("Matrix must be non-empty");let k=T.columns,C=new U(k,k),D=new Float64Array(k),B=new Float64Array(k),j=T,$,F,z=!1;if(x?z=!0:z=T.isSymmetric(),z){for($=0;$<k;$++)for(F=0;F<k;F++)C.set($,F,j.get($,F));Jh(k,B,D,C),$i(k,B,D,C)}else{let Z=new U(k,k),ie=new Float64Array(k);for(F=0;F<k;F++)for($=0;$<k;$++)Z.set($,F,j.get($,F));ha(k,Z,ie,C),Ko(k,B,D,C,Z)}this.n=k,this.e=B,this.d=D,this.V=C}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let T=this.n,S=this.e,x=this.d,k=new U(T,T),C,D;for(C=0;C<T;C++){for(D=0;D<T;D++)k.set(C,D,0);k.set(C,C,x[C]),S[C]>0?k.set(C,C+1,S[C]):S[C]<0&&k.set(C,C-1,S[C])}return k}}function Jh(R,T,S,x){let k,C,D,B,j,$,F,z;for(j=0;j<R;j++)S[j]=x.get(R-1,j);for(B=R-1;B>0;B--){for(z=0,D=0,$=0;$<B;$++)z=z+Math.abs(S[$]);if(z===0)for(T[B]=S[B-1],j=0;j<B;j++)S[j]=x.get(B-1,j),x.set(B,j,0),x.set(j,B,0);else{for($=0;$<B;$++)S[$]/=z,D+=S[$]*S[$];for(k=S[B-1],C=Math.sqrt(D),k>0&&(C=-C),T[B]=z*C,D=D-k*C,S[B-1]=k-C,j=0;j<B;j++)T[j]=0;for(j=0;j<B;j++){for(k=S[j],x.set(j,B,k),C=T[j]+x.get(j,j)*k,$=j+1;$<=B-1;$++)C+=x.get($,j)*S[$],T[$]+=x.get($,j)*k;T[j]=C}for(k=0,j=0;j<B;j++)T[j]/=D,k+=T[j]*S[j];for(F=k/(D+D),j=0;j<B;j++)T[j]-=F*S[j];for(j=0;j<B;j++){for(k=S[j],C=T[j],$=j;$<=B-1;$++)x.set($,j,x.get($,j)-(k*T[$]+C*S[$]));S[j]=x.get(B-1,j),x.set(B,j,0)}}S[B]=D}for(B=0;B<R-1;B++){if(x.set(R-1,B,x.get(B,B)),x.set(B,B,1),D=S[B+1],D!==0){for($=0;$<=B;$++)S[$]=x.get($,B+1)/D;for(j=0;j<=B;j++){for(C=0,$=0;$<=B;$++)C+=x.get($,B+1)*x.get($,j);for($=0;$<=B;$++)x.set($,j,x.get($,j)-C*S[$])}}for($=0;$<=B;$++)x.set($,B+1,0)}for(j=0;j<R;j++)S[j]=x.get(R-1,j),x.set(R-1,j,0);x.set(R-1,R-1,1),T[0]=0}function $i(R,T,S,x){let k,C,D,B,j,$,F,z,Z,ie,J,ae,Se,K,be,Ne;for(D=1;D<R;D++)T[D-1]=T[D];T[R-1]=0;let je=0,Re=0,dt=Number.EPSILON;for($=0;$<R;$++){for(Re=Math.max(Re,Math.abs(S[$])+Math.abs(T[$])),F=$;F<R&&!(Math.abs(T[F])<=dt*Re);)F++;if(F>$)do{for(k=S[$],z=(S[$+1]-k)/(2*T[$]),Z=Qt(z,1),z<0&&(Z=-Z),S[$]=T[$]/(z+Z),S[$+1]=T[$]*(z+Z),ie=S[$+1],C=k-S[$],D=$+2;D<R;D++)S[D]-=C;for(je=je+C,z=S[F],J=1,ae=J,Se=J,K=T[$+1],be=0,Ne=0,D=F-1;D>=$;D--)for(Se=ae,ae=J,Ne=be,k=J*T[D],C=J*z,Z=Qt(z,T[D]),T[D+1]=be*Z,be=T[D]/Z,J=z/Z,z=J*S[D]-be*k,S[D+1]=C+be*(J*k+be*S[D]),j=0;j<R;j++)C=x.get(j,D+1),x.set(j,D+1,be*x.get(j,D)+J*C),x.set(j,D,J*x.get(j,D)-be*C);z=-be*Ne*Se*K*T[$]/ie,T[$]=be*z,S[$]=J*z}while(Math.abs(T[$])>dt*Re);S[$]=S[$]+je,T[$]=0}for(D=0;D<R-1;D++){for(j=D,z=S[D],B=D+1;B<R;B++)S[B]<z&&(j=B,z=S[B]);if(j!==D)for(S[j]=S[D],S[D]=z,B=0;B<R;B++)z=x.get(B,D),x.set(B,D,x.get(B,j)),x.set(B,j,z)}}function ha(R,T,S,x){let k=0,C=R-1,D,B,j,$,F,z,Z;for(z=k+1;z<=C-1;z++){for(Z=0,$=z;$<=C;$++)Z=Z+Math.abs(T.get($,z-1));if(Z!==0){for(j=0,$=C;$>=z;$--)S[$]=T.get($,z-1)/Z,j+=S[$]*S[$];for(B=Math.sqrt(j),S[z]>0&&(B=-B),j=j-S[z]*B,S[z]=S[z]-B,F=z;F<R;F++){for(D=0,$=C;$>=z;$--)D+=S[$]*T.get($,F);for(D=D/j,$=z;$<=C;$++)T.set($,F,T.get($,F)-D*S[$])}for($=0;$<=C;$++){for(D=0,F=C;F>=z;F--)D+=S[F]*T.get($,F);for(D=D/j,F=z;F<=C;F++)T.set($,F,T.get($,F)-D*S[F])}S[z]=Z*S[z],T.set(z,z-1,Z*B)}}for($=0;$<R;$++)for(F=0;F<R;F++)x.set($,F,$===F?1:0);for(z=C-1;z>=k+1;z--)if(T.get(z,z-1)!==0){for($=z+1;$<=C;$++)S[$]=T.get($,z-1);for(F=z;F<=C;F++){for(B=0,$=z;$<=C;$++)B+=S[$]*x.get($,F);for(B=B/S[z]/T.get(z,z-1),$=z;$<=C;$++)x.set($,F,x.get($,F)+B*S[$])}}}function Ko(R,T,S,x,k){let C=R-1,D=0,B=R-1,j=Number.EPSILON,$=0,F=0,z=0,Z=0,ie=0,J=0,ae=0,Se=0,K,be,Ne,je,Re,dt,Fe,Te,Ke,ee,pe,Ae,ye,kt,mt;for(K=0;K<R;K++)for((K<D||K>B)&&(S[K]=k.get(K,K),T[K]=0),be=Math.max(K-1,0);be<R;be++)F=F+Math.abs(k.get(K,be));for(;C>=D;){for(je=C;je>D&&(J=Math.abs(k.get(je-1,je-1))+Math.abs(k.get(je,je)),J===0&&(J=F),!(Math.abs(k.get(je,je-1))<j*J));)je--;if(je===C)k.set(C,C,k.get(C,C)+$),S[C]=k.get(C,C),T[C]=0,C--,Se=0;else if(je===C-1){if(Fe=k.get(C,C-1)*k.get(C-1,C),z=(k.get(C-1,C-1)-k.get(C,C))/2,Z=z*z+Fe,ae=Math.sqrt(Math.abs(Z)),k.set(C,C,k.get(C,C)+$),k.set(C-1,C-1,k.get(C-1,C-1)+$),Te=k.get(C,C),Z>=0){for(ae=z>=0?z+ae:z-ae,S[C-1]=Te+ae,S[C]=S[C-1],ae!==0&&(S[C]=Te-Fe/ae),T[C-1]=0,T[C]=0,Te=k.get(C,C-1),J=Math.abs(Te)+Math.abs(ae),z=Te/J,Z=ae/J,ie=Math.sqrt(z*z+Z*Z),z=z/ie,Z=Z/ie,be=C-1;be<R;be++)ae=k.get(C-1,be),k.set(C-1,be,Z*ae+z*k.get(C,be)),k.set(C,be,Z*k.get(C,be)-z*ae);for(K=0;K<=C;K++)ae=k.get(K,C-1),k.set(K,C-1,Z*ae+z*k.get(K,C)),k.set(K,C,Z*k.get(K,C)-z*ae);for(K=D;K<=B;K++)ae=x.get(K,C-1),x.set(K,C-1,Z*ae+z*x.get(K,C)),x.set(K,C,Z*x.get(K,C)-z*ae)}else S[C-1]=Te+z,S[C]=Te+z,T[C-1]=ae,T[C]=-ae;C=C-2,Se=0}else{if(Te=k.get(C,C),Ke=0,Fe=0,je<C&&(Ke=k.get(C-1,C-1),Fe=k.get(C,C-1)*k.get(C-1,C)),Se===10){for($+=Te,K=D;K<=C;K++)k.set(K,K,k.get(K,K)-Te);J=Math.abs(k.get(C,C-1))+Math.abs(k.get(C-1,C-2)),Te=Ke=.75*J,Fe=-.4375*J*J}if(Se===30&&(J=(Ke-Te)/2,J=J*J+Fe,J>0)){for(J=Math.sqrt(J),Ke<Te&&(J=-J),J=Te-Fe/((Ke-Te)/2+J),K=D;K<=C;K++)k.set(K,K,k.get(K,K)-J);$+=J,Te=Ke=Fe=.964}for(Se=Se+1,Re=C-2;Re>=je&&(ae=k.get(Re,Re),ie=Te-ae,J=Ke-ae,z=(ie*J-Fe)/k.get(Re+1,Re)+k.get(Re,Re+1),Z=k.get(Re+1,Re+1)-ae-ie-J,ie=k.get(Re+2,Re+1),J=Math.abs(z)+Math.abs(Z)+Math.abs(ie),z=z/J,Z=Z/J,ie=ie/J,!(Re===je||Math.abs(k.get(Re,Re-1))*(Math.abs(Z)+Math.abs(ie))<j*(Math.abs(z)*(Math.abs(k.get(Re-1,Re-1))+Math.abs(ae)+Math.abs(k.get(Re+1,Re+1))))));)Re--;for(K=Re+2;K<=C;K++)k.set(K,K-2,0),K>Re+2&&k.set(K,K-3,0);for(Ne=Re;Ne<=C-1&&(kt=Ne!==C-1,Ne!==Re&&(z=k.get(Ne,Ne-1),Z=k.get(Ne+1,Ne-1),ie=kt?k.get(Ne+2,Ne-1):0,Te=Math.abs(z)+Math.abs(Z)+Math.abs(ie),Te!==0&&(z=z/Te,Z=Z/Te,ie=ie/Te)),Te!==0);Ne++)if(J=Math.sqrt(z*z+Z*Z+ie*ie),z<0&&(J=-J),J!==0){for(Ne!==Re?k.set(Ne,Ne-1,-J*Te):je!==Re&&k.set(Ne,Ne-1,-k.get(Ne,Ne-1)),z=z+J,Te=z/J,Ke=Z/J,ae=ie/J,Z=Z/z,ie=ie/z,be=Ne;be<R;be++)z=k.get(Ne,be)+Z*k.get(Ne+1,be),kt&&(z=z+ie*k.get(Ne+2,be),k.set(Ne+2,be,k.get(Ne+2,be)-z*ae)),k.set(Ne,be,k.get(Ne,be)-z*Te),k.set(Ne+1,be,k.get(Ne+1,be)-z*Ke);for(K=0;K<=Math.min(C,Ne+3);K++)z=Te*k.get(K,Ne)+Ke*k.get(K,Ne+1),kt&&(z=z+ae*k.get(K,Ne+2),k.set(K,Ne+2,k.get(K,Ne+2)-z*ie)),k.set(K,Ne,k.get(K,Ne)-z),k.set(K,Ne+1,k.get(K,Ne+1)-z*Z);for(K=D;K<=B;K++)z=Te*x.get(K,Ne)+Ke*x.get(K,Ne+1),kt&&(z=z+ae*x.get(K,Ne+2),x.set(K,Ne+2,x.get(K,Ne+2)-z*ie)),x.set(K,Ne,x.get(K,Ne)-z),x.set(K,Ne+1,x.get(K,Ne+1)-z*Z)}}}if(F!==0){for(C=R-1;C>=0;C--)if(z=S[C],Z=T[C],Z===0)for(je=C,k.set(C,C,1),K=C-1;K>=0;K--){for(Fe=k.get(K,K)-z,ie=0,be=je;be<=C;be++)ie=ie+k.get(K,be)*k.get(be,C);if(T[K]<0)ae=Fe,J=ie;else if(je=K,T[K]===0?k.set(K,C,Fe!==0?-ie/Fe:-ie/(j*F)):(Te=k.get(K,K+1),Ke=k.get(K+1,K),Z=(S[K]-z)*(S[K]-z)+T[K]*T[K],dt=(Te*J-ae*ie)/Z,k.set(K,C,dt),k.set(K+1,C,Math.abs(Te)>Math.abs(ae)?(-ie-Fe*dt)/Te:(-J-Ke*dt)/ae)),dt=Math.abs(k.get(K,C)),j*dt*dt>1)for(be=K;be<=C;be++)k.set(be,C,k.get(be,C)/dt)}else if(Z<0)for(je=C-1,Math.abs(k.get(C,C-1))>Math.abs(k.get(C-1,C))?(k.set(C-1,C-1,Z/k.get(C,C-1)),k.set(C-1,C,-(k.get(C,C)-z)/k.get(C,C-1))):(mt=Gs(0,-k.get(C-1,C),k.get(C-1,C-1)-z,Z),k.set(C-1,C-1,mt[0]),k.set(C-1,C,mt[1])),k.set(C,C-1,0),k.set(C,C,1),K=C-2;K>=0;K--){for(ee=0,pe=0,be=je;be<=C;be++)ee=ee+k.get(K,be)*k.get(be,C-1),pe=pe+k.get(K,be)*k.get(be,C);if(Fe=k.get(K,K)-z,T[K]<0)ae=Fe,ie=ee,J=pe;else if(je=K,T[K]===0?(mt=Gs(-ee,-pe,Fe,Z),k.set(K,C-1,mt[0]),k.set(K,C,mt[1])):(Te=k.get(K,K+1),Ke=k.get(K+1,K),Ae=(S[K]-z)*(S[K]-z)+T[K]*T[K]-Z*Z,ye=(S[K]-z)*2*Z,Ae===0&&ye===0&&(Ae=j*F*(Math.abs(Fe)+Math.abs(Z)+Math.abs(Te)+Math.abs(Ke)+Math.abs(ae))),mt=Gs(Te*ie-ae*ee+Z*pe,Te*J-ae*pe-Z*ee,Ae,ye),k.set(K,C-1,mt[0]),k.set(K,C,mt[1]),Math.abs(Te)>Math.abs(ae)+Math.abs(Z)?(k.set(K+1,C-1,(-ee-Fe*k.get(K,C-1)+Z*k.get(K,C))/Te),k.set(K+1,C,(-pe-Fe*k.get(K,C)-Z*k.get(K,C-1))/Te)):(mt=Gs(-ie-Ke*k.get(K,C-1),-J-Ke*k.get(K,C),ae,Z),k.set(K+1,C-1,mt[0]),k.set(K+1,C,mt[1]))),dt=Math.max(Math.abs(k.get(K,C-1)),Math.abs(k.get(K,C))),j*dt*dt>1)for(be=K;be<=C;be++)k.set(be,C-1,k.get(be,C-1)/dt),k.set(be,C,k.get(be,C)/dt)}for(K=0;K<R;K++)if(K<D||K>B)for(be=K;be<R;be++)x.set(K,be,k.get(K,be));for(be=R-1;be>=D;be--)for(K=D;K<=B;K++){for(ae=0,Ne=D;Ne<=Math.min(be,B);Ne++)ae=ae+x.get(K,Ne)*k.get(Ne,be);x.set(K,be,ae)}}}function Gs(R,T,S,x){let k,C;return Math.abs(S)>Math.abs(x)?(k=x/S,C=S+k*x,[(R+k*T)/C,(T-k*R)/C]):(k=S/x,C=x+k*S,[(k*R+T)/C,(k*T-R)/C])}class Xo{constructor(T){if(T=Ct.checkMatrix(T),!T.isSymmetric())throw new Error("Matrix is not symmetric");let S=T,x=S.rows,k=new U(x,x),C=!0,D,B,j;for(B=0;B<x;B++){let $=0;for(j=0;j<B;j++){let F=0;for(D=0;D<j;D++)F+=k.get(j,D)*k.get(B,D);F=(S.get(B,j)-F)/k.get(j,j),k.set(B,j,F),$=$+F*F}for($=S.get(B,B)-$,C&=$>0,k.set(B,B,Math.sqrt(Math.max($,0))),j=B+1;j<x;j++)k.set(B,j,0)}this.L=k,this.positiveDefinite=!!C}isPositiveDefinite(){return this.positiveDefinite}solve(T){T=Ct.checkMatrix(T);let S=this.L,x=S.rows;if(T.rows!==x)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let k=T.columns,C=T.clone(),D,B,j;for(j=0;j<x;j++)for(B=0;B<k;B++){for(D=0;D<j;D++)C.set(j,B,C.get(j,B)-C.get(D,B)*S.get(j,D));C.set(j,B,C.get(j,B)/S.get(j,j))}for(j=x-1;j>=0;j--)for(B=0;B<k;B++){for(D=j+1;D<x;D++)C.set(j,B,C.get(j,B)-C.get(D,B)*S.get(D,j));C.set(j,B,C.get(j,B)/S.get(j,j))}return C}get lowerTriangularMatrix(){return this.L}}class Ws{constructor(T,S={}){T=Ct.checkMatrix(T);let{Y:x}=S;const{scaleScores:k=!1,maxIterations:C=1e3,terminationCriteria:D=1e-10}=S;let B;if(x){if(r.isAnyArray(x)&&typeof x[0]=="number"?x=U.columnVector(x):x=Ct.checkMatrix(x),x.rows!==T.rows)throw new Error("Y should have the same number of rows as X");B=x.getColumnVector(0)}else B=T.getColumnVector(0);let j=1,$,F,z,Z;for(let ie=0;ie<C&&j>D;ie++)z=T.transpose().mmul(B).div(B.transpose().mmul(B).get(0,0)),z=z.div(z.norm()),$=T.mmul(z).div(z.transpose().mmul(z).get(0,0)),ie>0&&(j=$.clone().sub(Z).pow(2).sum()),Z=$.clone(),x?(F=x.transpose().mmul($).div($.transpose().mmul($).get(0,0)),F=F.div(F.norm()),B=x.mmul(F).div(F.transpose().mmul(F).get(0,0))):B=$;if(x){let ie=T.transpose().mmul($).div($.transpose().mmul($).get(0,0));ie=ie.div(ie.norm());let J=T.clone().sub($.clone().mmul(ie.transpose())),ae=B.transpose().mmul($).div($.transpose().mmul($).get(0,0)),Se=x.clone().sub($.clone().mulS(ae.get(0,0)).mmul(F.transpose()));this.t=$,this.p=ie.transpose(),this.w=z.transpose(),this.q=F,this.u=B,this.s=$.transpose().mmul($),this.xResidual=J,this.yResidual=Se,this.betas=ae}else this.w=z.transpose(),this.s=$.transpose().mmul($).sqrt(),k?this.t=$.clone().div(this.s.get(0,0)):this.t=$,this.xResidual=T.sub($.mmul(z.transpose()))}}return lt.AbstractMatrix=oe,lt.CHO=Xo,lt.CholeskyDecomposition=Xo,lt.DistanceMatrix=ue,lt.EVD=Jn,lt.EigenvalueDecomposition=Jn,lt.LU=jn,lt.LuDecomposition=jn,lt.Matrix=U,lt.MatrixColumnSelectionView=Ve,lt.MatrixColumnView=Be,lt.MatrixFlipColumnView=Dt,lt.MatrixFlipRowView=on,lt.MatrixRowSelectionView=Yt,lt.MatrixRowView=_t,lt.MatrixSelectionView=He,lt.MatrixSubView=ar,lt.MatrixTransposeView=Je,lt.NIPALS=Ws,lt.Nipals=Ws,lt.QR=ut,lt.QrDecomposition=ut,lt.SVD=fn,lt.SingularValueDecomposition=fn,lt.SymmetricMatrix=ne,lt.WrapperMatrix1D=hn,lt.WrapperMatrix2D=Ct,lt.correlation=jr,lt.covariance=qs,lt.default=U,lt.determinant=_r,lt.inverse=$n,lt.linearDependencies=da,lt.pseudoInverse=Yo,lt.solve=gr,lt.wrap=ca,lt}var eh=rW();const p2=ec(eh),Na=eh.Matrix,NP=eh.SingularValueDecomposition;p2.Matrix?p2.Matrix:eh.Matrix;const iW={center:[0,0],linkDistance:50};class AP{constructor(e={}){this.options=e,this.id="mds",this.options=Object.assign(Object.assign({},iW),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,e,t)})}genericMDSLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a=[0,0],linkDistance:s=50}=i,o=t.getAllNodes(),l=t.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return Ds(t,e,a);const c=kP({nodes:o,edges:l}),u=_P(c);aW(u);const d=Kq(u,s),h=sW(d),f=[];return h.forEach((p,v)=>{const m=Rr(o[v]);m.data.x=p[0]+a[0],m.data.y=p[1]+a[1],f.push(m)}),e&&f.forEach(p=>t.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:l}})}}const aW=r=>{let e=-999999;r.forEach(t=>{t.forEach(n=>{n!==1/0&&e<n&&(e=n)})}),r.forEach((t,n)=>{t.forEach((i,a)=>{i===1/0&&(r[n][a]=e)})})},sW=r=>{const t=Na.mul(Na.pow(r,2),-.5),n=t.mean("row"),i=t.mean("column"),a=t.mean();t.add(a).subRowVector(n).subColumnVector(i);const s=new NP(t),o=Na.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>Na.mul([l],[o]).toJSON()[0].splice(0,2))};function G1(r){return!!r.tick&&!!r.stop}const oW={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},lW={center:[0,0],comboPadding:10,treeKey:"combo"};class cW{constructor(e={}){this.options=e,this.id="comboCombined",this.options=Object.assign(Object.assign({},lW),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,e,t)})}genericComboCombinedLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:s,outerLayout:o}=i,l=t.getAllNodes().filter(M=>!M.data._isCombo),c=t.getAllNodes().filter(M=>M.data._isCombo),u=t.getAllEdges(),d=l==null?void 0:l.length;if(!d||d===1)return Ds(t,e,a);const h=[],f=new Map;l.forEach(M=>{f.set(M.id,M)});const g=new Map;c.forEach(M=>{g.set(M.id,M)});const p=new Map,v=this.getInnerGraphs(t,s,f,g,u,i,p);yield Promise.all(v);const m=new Map,y=[],b=new Map;let w=!0;t.getRoots(s).forEach(M=>{const N=p.get(M.id),A=g.get(M.id)||f.get(M.id),P={id:M.id,data:Object.assign(Object.assign({},M.data),{x:N.data.x||A.data.x,y:N.data.y||A.data.y,fx:N.data.fx||A.data.fx,fy:N.data.fy||A.data.fy,mass:N.data.mass||A.data.mass,size:N.data.size})};y.push(P),m.set(M.id,!0),!isNaN(P.data.x)&&P.data.x!==0&&!isNaN(P.data.y)&&P.data.y!==0?w=!1:(P.data.x=Math.random()*100,P.data.y=Math.random()*100),z1(t,[M],L=>{L.id!==M.id&&b.set(L.id,M.id)},"TB",s)});const E=[];u.forEach(M=>{const N=b.get(M.source)||M.source,A=b.get(M.target)||M.target;N!==A&&m.has(N)&&m.has(A)&&E.push({id:M.id,source:N,target:A,data:{}})});let _;if(y!=null&&y.length){if(y.length===1)y[0].data.x=a[0],y[0].data.y=a[1];else{const M=new Pn({nodes:y,edges:E}),N=o||new CP;w&&oW[N.id]&&(yield(y.length<100?new AP:new $1).assign(M));const A=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},N.id==="force"?{gravity:1,factor:4,linkDistance:(P,L,I)=>{const G=Math.max(...L.data.size)||32,H=Math.max(...I.data.size)||32;return G/2+H/2+200}}:{});_=yield m2(N,M,A)}p.forEach(M=>{var N;const A=_.nodes.find(I=>I.id===M.id);if(A){const{x:I,y:G}=A.data;M.data.visited=!0,M.data.x=I,M.data.y=G,h.push({id:M.id,data:{x:I,y:G}})}const{x:P,y:L}=M.data;(N=M.data.nodes)===null||N===void 0||N.forEach(I=>{h.push({id:I.id,data:{x:I.data.x+P,y:I.data.y+L}})})}),p.forEach(({data:M})=>{const{x:N,y:A,visited:P,nodes:L}=M;L==null||L.forEach(I=>{if(!P){const G=h.find(H=>H.id===I.id);G.data.x+=N||0,G.data.y+=A||0}})})}return e&&h.forEach(M=>{t.mergeNodeData(M.id,{x:M.data.x,y:M.data.y})}),{nodes:h,edges:u}})}initVals(e){const t=Object.assign({},e),{nodeSize:n,spacing:i,comboPadding:a}=e;let s,o;if(Ce(i)?o=()=>i:Ie(i)?o=i:o=()=>0,t.spacing=o,!n)s=c=>{const u=o(c);return c.size?Ki(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+u)/2:pn(c.size)?((c.size.width>c.size.height?c.size.width:c.size.height)+u)/2:(c.size+u)/2:32+u/2};else if(Ie(n))s=c=>{const u=n(c),d=o(c);return Ki(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+d)/2:((u||32)+d)/2};else if(Ki(n)){const u=(n[0]>n[1]?n[0]:n[1])/2;s=d=>u+o(d)/2}else{const c=n/2;s=u=>c+o(u)/2}t.nodeSize=s;let l;return Ce(a)?l=()=>a:Ki(a)?l=()=>Math.max.apply(null,a):Ie(a)?l=a:l=()=>0,t.comboPadding=l,t}getInnerGraphs(e,t,n,i,a,s,o){const{nodeSize:l,comboPadding:c,spacing:u,innerLayout:d}=s,h=d||new $1({}),f={center:[0,0],preventOverlap:!0,nodeSpacing:u},g=[],p=v=>{let m=(c==null?void 0:c(v))||10;return Ki(m)&&(m=Math.max(...m)),{size:m?[m*2,m*2]:[30,30],padding:m}};return e.getRoots(t).forEach(v=>{o.set(v.id,{id:v.id,data:{nodes:[],size:p(v).size}});let m=Promise.resolve();z1(e,[v],y=>{var b;if(!y.data._isCombo)return;const{size:w,padding:E}=p(y);if(!(!((b=e.getChildren(y.id,t))===null||b===void 0)&&b.length))o.set(y.id,{id:y.id,data:Object.assign(Object.assign({},y.data),{size:w})});else{const _=o.get(y.id);o.set(y.id,{id:y.id,data:Object.assign({nodes:[]},_==null?void 0:_.data)});const O=new Map,M=e.getChildren(y.id,t).map(P=>{if(P.data._isCombo)return o.has(P.id)||o.set(P.id,{id:P.id,data:Object.assign({},P.data)}),O.set(P.id,!0),o.get(P.id);const L=n.get(P.id)||i.get(P.id);return O.set(P.id,!0),{id:P.id,data:Object.assign(Object.assign({},L.data),P.data)}}),N={nodes:M,edges:a.filter(P=>O.has(P.source)&&O.has(P.target))};let A=1/0;M.forEach(P=>{var L;let{size:I}=P.data;I||(I=((L=o.get(P.id))===null||L===void 0?void 0:L.data.size)||(l==null?void 0:l(P))||[30,30]),Ce(I)&&(I=[I,I]);const[G,H]=I;A>G&&(A=G),A>H&&(A=H),P.data.size=I}),m=m.then(()=>rt(this,void 0,void 0,function*(){const P=new Pn(N);yield m2(h,P,f,!0);const{minX:L,minY:I,maxX:G,maxY:H}=Xq(M),Y={x:(G+L)/2,y:(H+I)/2};N.nodes.forEach(q=>{q.data.x-=Y.x,q.data.y-=Y.y});const W=[Math.max(G-L,A)+E*2,Math.max(H-I,A)+E*2];o.get(y.id).data.size=W,o.get(y.id).data.nodes=M}))}return!0},"BT",t),g.push(m)}),g}}function m2(r,e,t,n){var i;return rt(this,void 0,void 0,function*(){return G1(r)?(r.execute(e,t),r.stop(),r.tick((i=t.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(e,t):yield r.execute(e,t)})}function uW(r,e){var t,n=1;r==null&&(r=0),e==null&&(e=0);function i(){var a,s=t.length,o,l=0,c=0;for(a=0;a<s;++a)o=t[a],l+=o.x,c+=o.y;for(l=(l/s-r)*n,c=(c/s-e)*n,a=0;a<s;++a)o=t[a],o.x-=l,o.y-=c}return i.initialize=function(a){t=a},i.x=function(a){return arguments.length?(r=+a,i):r},i.y=function(a){return arguments.length?(e=+a,i):e},i.strength=function(a){return arguments.length?(n=+a,i):n},i}function Cn(r){return function(){return r}}function Aa(r){return(r()-.5)*1e-6}function dW(r){return r.x+r.vx}function hW(r){return r.y+r.vy}function fW(r){var e,t,n,i=1,a=1;typeof r!="function"&&(r=Cn(r==null?1:+r));function s(){for(var c,u=e.length,d,h,f,g,p,v,m=0;m<a;++m)for(d=Qd(e,dW,hW).visitAfter(o),c=0;c<u;++c)h=e[c],p=t[h.index],v=p*p,f=h.x+h.vx,g=h.y+h.vy,d.visit(y);function y(b,w,E,_,O){var M=b.data,N=b.r,A=p+N;if(M){if(M.index>h.index){var P=f-M.x-M.vx,L=g-M.y-M.vy,I=P*P+L*L;I<A*A&&(P===0&&(P=Aa(n),I+=P*P),L===0&&(L=Aa(n),I+=L*L),I=(A-(I=Math.sqrt(I)))/I*i,h.vx+=(P*=I)*(A=(N*=N)/(v+N)),h.vy+=(L*=I)*A,M.vx-=P*(A=1-A),M.vy-=L*A)}return}return w>f+A||_<f-A||E>g+A||O<g-A}}function o(c){if(c.data)return c.r=t[c.data.index];for(var u=c.r=0;u<4;++u)c[u]&&c[u].r>c.r&&(c.r=c[u].r)}function l(){if(e){var c,u=e.length,d;for(t=new Array(u),c=0;c<u;++c)d=e[c],t[d.index]=+r(d,c,e)}}return s.initialize=function(c,u){e=c,n=u,l()},s.iterations=function(c){return arguments.length?(a=+c,s):a},s.strength=function(c){return arguments.length?(i=+c,s):i},s.radius=function(c){return arguments.length?(r=typeof c=="function"?c:Cn(+c),l(),s):r},s}function gW(r){return r.index}function y2(r,e){var t=r.get(e);if(!t)throw new Error("node not found: "+e);return t}function vW(r){var e=gW,t=d,n,i=Cn(30),a,s,o,l,c,u=1;r==null&&(r=[]);function d(v){return 1/Math.min(o[v.source.index],o[v.target.index])}function h(v){for(var m=0,y=r.length;m<u;++m)for(var b=0,w,E,_,O,M,N,A;b<y;++b)w=r[b],E=w.source,_=w.target,O=_.x+_.vx-E.x-E.vx||Aa(c),M=_.y+_.vy-E.y-E.vy||Aa(c),N=Math.sqrt(O*O+M*M),N=(N-a[b])/N*v*n[b],O*=N,M*=N,_.vx-=O*(A=l[b]),_.vy-=M*A,E.vx+=O*(A=1-A),E.vy+=M*A}function f(){if(s){var v,m=s.length,y=r.length,b=new Map(s.map((E,_)=>[e(E,_,s),E])),w;for(v=0,o=new Array(m);v<y;++v)w=r[v],w.index=v,typeof w.source!="object"&&(w.source=y2(b,w.source)),typeof w.target!="object"&&(w.target=y2(b,w.target)),o[w.source.index]=(o[w.source.index]||0)+1,o[w.target.index]=(o[w.target.index]||0)+1;for(v=0,l=new Array(y);v<y;++v)w=r[v],l[v]=o[w.source.index]/(o[w.source.index]+o[w.target.index]);n=new Array(y),g(),a=new Array(y),p()}}function g(){if(s)for(var v=0,m=r.length;v<m;++v)n[v]=+t(r[v],v,r)}function p(){if(s)for(var v=0,m=r.length;v<m;++v)a[v]=+i(r[v],v,r)}return h.initialize=function(v,m){s=v,c=m,f()},h.links=function(v){return arguments.length?(r=v,f(),h):r},h.id=function(v){return arguments.length?(e=v,h):e},h.iterations=function(v){return arguments.length?(u=+v,h):u},h.strength=function(v){return arguments.length?(t=typeof v=="function"?v:Cn(+v),g(),h):t},h.distance=function(v){return arguments.length?(i=typeof v=="function"?v:Cn(+v),p(),h):i},h}var pW={value:()=>{}};function PP(){for(var r=0,e=arguments.length,t={},n;r<e;++r){if(!(n=arguments[r]+"")||n in t||/[\s.]/.test(n))throw new Error("illegal type: "+n);t[n]=[]}return new Pu(t)}function Pu(r){this._=r}function mW(r,e){return r.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");if(i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}Pu.prototype=PP.prototype={constructor:Pu,on:function(r,e){var t=this._,n=mW(r+"",t),i,a=-1,s=n.length;if(arguments.length<2){for(;++a<s;)if((i=(r=n[a]).type)&&(i=yW(t[i],r.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++a<s;)if(i=(r=n[a]).type)t[i]=b2(t[i],r.name,e);else if(e==null)for(i in t)t[i]=b2(t[i],r.name,null);return this},copy:function(){var r={},e=this._;for(var t in e)r[t]=e[t].slice();return new Pu(r)},call:function(r,e){if((i=arguments.length-2)>0)for(var t=new Array(i),n=0,i,a;n<i;++n)t[n]=arguments[n+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(a=this._[r],n=0,i=a.length;n<i;++n)a[n].value.apply(e,t)},apply:function(r,e,t){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var n=this._[r],i=0,a=n.length;i<a;++i)n[i].value.apply(e,t)}};function yW(r,e){for(var t=0,n=r.length,i;t<n;++t)if((i=r[t]).name===e)return i.value}function b2(r,e,t){for(var n=0,i=r.length;n<i;++n)if(r[n].name===e){r[n]=pW,r=r.slice(0,n).concat(r.slice(n+1));break}return t!=null&&r.push({name:e,value:t}),r}var Po=0,vl=0,il=0,RP=1e3,ud,pl,dd=0,Ts=0,th=0,Hl=typeof performance=="object"&&performance.now?performance:Date,LP=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function IP(){return Ts||(LP(bW),Ts=Hl.now()+th)}function bW(){Ts=0}function W1(){this._call=this._time=this._next=null}W1.prototype=DP.prototype={constructor:W1,restart:function(r,e,t){if(typeof r!="function")throw new TypeError("callback is not a function");t=(t==null?IP():+t)+(e==null?0:+e),!this._next&&pl!==this&&(pl?pl._next=this:ud=this,pl=this),this._call=r,this._time=t,V1()},stop:function(){this._call&&(this._call=null,this._time=1/0,V1())}};function DP(r,e,t){var n=new W1;return n.restart(r,e,t),n}function xW(){IP(),++Po;for(var r=ud,e;r;)(e=Ts-r._time)>=0&&r._call.call(void 0,e),r=r._next;--Po}function x2(){Ts=(dd=Hl.now())+th,Po=vl=0;try{xW()}finally{Po=0,EW(),Ts=0}}function wW(){var r=Hl.now(),e=r-dd;e>RP&&(th-=e,dd=r)}function EW(){for(var r,e=ud,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),r=e,e=e._next):(t=e._next,e._next=null,e=r?r._next=t:ud=t);pl=r,V1(n)}function V1(r){if(!Po){vl&&(vl=clearTimeout(vl));var e=r-Ts;e>24?(r<1/0&&(vl=setTimeout(x2,r-Hl.now()-th)),il&&(il=clearInterval(il))):(il||(dd=Hl.now(),il=setInterval(wW,RP)),Po=1,LP(x2))}}const SW=1664525,_W=1013904223,w2=4294967296;function kW(){let r=1;return()=>(r=(SW*r+_W)%w2)/w2}function MW(r){return r.x}function TW(r){return r.y}var OW=10,CW=Math.PI*(3-Math.sqrt(5));function NW(r){var e,t=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=DP(d),c=PP("tick","end"),u=kW();r==null&&(r=[]);function d(){h(),c.call("tick",e),t<n&&(l.stop(),c.call("end",e))}function h(p){var v,m=r.length,y;p===void 0&&(p=1);for(var b=0;b<p;++b)for(t+=(a-t)*i,o.forEach(function(w){w(t)}),v=0;v<m;++v)y=r[v],y.fx==null?y.x+=y.vx*=s:(y.x=y.fx,y.vx=0),y.fy==null?y.y+=y.vy*=s:(y.y=y.fy,y.vy=0);return e}function f(){for(var p=0,v=r.length,m;p<v;++p){if(m=r[p],m.index=p,m.fx!=null&&(m.x=m.fx),m.fy!=null&&(m.y=m.fy),isNaN(m.x)||isNaN(m.y)){var y=OW*Math.sqrt(.5+p),b=p*CW;m.x=y*Math.cos(b),m.y=y*Math.sin(b)}(isNaN(m.vx)||isNaN(m.vy))&&(m.vx=m.vy=0)}}function g(p){return p.initialize&&p.initialize(r,u),p}return f(),e={tick:h,restart:function(){return l.restart(d),e},stop:function(){return l.stop(),e},nodes:function(p){return arguments.length?(r=p,f(),o.forEach(g),e):r},alpha:function(p){return arguments.length?(t=+p,e):t},alphaMin:function(p){return arguments.length?(n=+p,e):n},alphaDecay:function(p){return arguments.length?(i=+p,e):+i},alphaTarget:function(p){return arguments.length?(a=+p,e):a},velocityDecay:function(p){return arguments.length?(s=1-p,e):1-s},randomSource:function(p){return arguments.length?(u=p,o.forEach(g),e):u},force:function(p,v){return arguments.length>1?(v==null?o.delete(p):o.set(p,g(v)),e):o.get(p)},find:function(p,v,m){var y=0,b=r.length,w,E,_,O,M;for(m==null?m=1/0:m*=m,y=0;y<b;++y)O=r[y],w=p-O.x,E=v-O.y,_=w*w+E*E,_<m&&(M=O,m=_);return M},on:function(p,v){return arguments.length>1?(c.on(p,v),e):c.on(p)}}}function AW(){var r,e,t,n,i=Cn(-30),a,s=1,o=1/0,l=.81;function c(f){var g,p=r.length,v=Qd(r,MW,TW).visitAfter(d);for(n=f,g=0;g<p;++g)e=r[g],v.visit(h)}function u(){if(r){var f,g=r.length,p;for(a=new Array(g),f=0;f<g;++f)p=r[f],a[p.index]=+i(p,f,r)}}function d(f){var g=0,p,v,m=0,y,b,w;if(f.length){for(y=b=w=0;w<4;++w)(p=f[w])&&(v=Math.abs(p.value))&&(g+=p.value,m+=v,y+=v*p.x,b+=v*p.y);f.x=y/m,f.y=b/m}else{p=f,p.x=p.data.x,p.y=p.data.y;do g+=a[p.data.index];while(p=p.next)}f.value=g}function h(f,g,p,v){if(!f.value)return!0;var m=f.x-e.x,y=f.y-e.y,b=v-g,w=m*m+y*y;if(b*b/l<w)return w<o&&(m===0&&(m=Aa(t),w+=m*m),y===0&&(y=Aa(t),w+=y*y),w<s&&(w=Math.sqrt(s*w)),e.vx+=m*f.value*n/w,e.vy+=y*f.value*n/w),!0;if(f.length||w>=o)return;(f.data!==e||f.next)&&(m===0&&(m=Aa(t),w+=m*m),y===0&&(y=Aa(t),w+=y*y),w<s&&(w=Math.sqrt(s*w)));do f.data!==e&&(b=a[f.data.index]*n/w,e.vx+=m*b,e.vy+=y*b);while(f=f.next)}return c.initialize=function(f,g){r=f,t=g,u()},c.strength=function(f){return arguments.length?(i=typeof f=="function"?f:Cn(+f),u(),c):i},c.distanceMin=function(f){return arguments.length?(s=f*f,c):Math.sqrt(s)},c.distanceMax=function(f){return arguments.length?(o=f*f,c):Math.sqrt(o)},c.theta=function(f){return arguments.length?(l=f*f,c):Math.sqrt(l)},c}function PW(r,e,t){var n,i=Cn(.1),a,s;typeof r!="function"&&(r=Cn(+r)),e==null&&(e=0),t==null&&(t=0);function o(c){for(var u=0,d=n.length;u<d;++u){var h=n[u],f=h.x-e||1e-6,g=h.y-t||1e-6,p=Math.sqrt(f*f+g*g),v=(s[u]-p)*a[u]*c/p;h.vx+=f*v,h.vy+=g*v}}function l(){if(n){var c,u=n.length;for(a=new Array(u),s=new Array(u),c=0;c<u;++c)s[c]=+r(n[c],c,n),a[c]=isNaN(s[c])?0:+i(n[c],c,n)}}return o.initialize=function(c){n=c,l()},o.strength=function(c){return arguments.length?(i=typeof c=="function"?c:Cn(+c),l(),o):i},o.radius=function(c){return arguments.length?(r=typeof c=="function"?c:Cn(+c),l(),o):r},o.x=function(c){return arguments.length?(e=+c,o):e},o.y=function(c){return arguments.length?(t=+c,o):t},o}function RW(r){var e=Cn(.1),t,n,i;typeof r!="function"&&(r=Cn(r==null?0:+r));function a(o){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vx+=(i[l]-u.x)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:Cn(+o),s(),a):e},a.x=function(o){return arguments.length?(r=typeof o=="function"?o:Cn(+o),s(),a):r},a}function LW(r){var e=Cn(.1),t,n,i;typeof r!="function"&&(r=Cn(r==null?0:+r));function a(o){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vy+=(i[l]-u.y)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:Cn(+o),s(),a):e},a.y=function(o){return arguments.length?(r=typeof o=="function"?o:Cn(+o),s(),a):r},a}class IW{constructor(e){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:vW,manyBody:AW,center:uW,collide:fW,radial:PW,x:RW,y:LW},this.options={link:{id:t=>t.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},hr(this.options,e),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericLayout(!0,e,t)})}stop(){this.simulation.stop()}tick(e){return this.simulation.tick(e),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(e,t){const n=this.context.nodes.find(i=>i.id===e);n&&t.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];n[s]=i}})}getOptions(e){var t,n;const i=hr({},this.options,e);return i.collide&&((t=i.collide)===null||t===void 0?void 0:t.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(e,t,n){var i;return rt(this,void 0,void 0,function*(){const a=this.getOptions(n),s=t.getAllNodes().map(({id:u,data:d})=>Object.assign(Object.assign({id:u},d),xs(d.data,this.config.inputNodeAttrs))),o=t.getAllEdges().map(u=>Object.assign({},u));Object.assign(this.context,{assign:e,nodes:s,edges:o,graph:t});const l=new Promise(u=>{this.resolver=u}),c=this.setSimulation(a);return c.nodes(s),(i=c.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:e,nodes:t,edges:n,graph:i}=this.context,a=t.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),xs(o,this.config.outputNodeAttrs))})),s=n.map(({id:o,source:l,target:c,data:u})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof c=="object"?c.id:c,data:u}));return e&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return NW()}setSimulation(e){const t=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=t.on("tick",()=>{var n;return(n=e.onTick)===null||n===void 0?void 0:n.call(e,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),E2(t,this.config.simulationAttrs.map(n=>[n,e[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(e[n]){let s=t.force(a);s||(s=i(),t.force(a,s)),E2(s,Object.entries(e[a]))}else t.force(a,null)}),t}}const E2=(r,e)=>e.reduce((t,[n,i])=>!t[n]||i===void 0?t:t[n].call(r,i),r);var ug,S2;function DW(){if(S2)return ug;S2=1;function r(){this.__data__=[],this.size=0}return ug=r,ug}var dg,_2;function jo(){if(_2)return dg;_2=1;function r(e,t){return e===t||e!==e&&t!==t}return dg=r,dg}var hg,k2;function nh(){if(k2)return hg;k2=1;var r=jo();function e(t,n){for(var i=t.length;i--;)if(r(t[i][0],n))return i;return-1}return hg=e,hg}var fg,M2;function FW(){if(M2)return fg;M2=1;var r=nh(),e=Array.prototype,t=e.splice;function n(i){var a=this.__data__,s=r(a,i);if(s<0)return!1;var o=a.length-1;return s==o?a.pop():t.call(a,s,1),--this.size,!0}return fg=n,fg}var gg,T2;function BW(){if(T2)return gg;T2=1;var r=nh();function e(t){var n=this.__data__,i=r(n,t);return i<0?void 0:n[i][1]}return gg=e,gg}var vg,O2;function zW(){if(O2)return vg;O2=1;var r=nh();function e(t){return r(this.__data__,t)>-1}return vg=e,vg}var pg,C2;function jW(){if(C2)return pg;C2=1;var r=nh();function e(t,n){var i=this.__data__,a=r(i,t);return a<0?(++this.size,i.push([t,n])):i[a][1]=n,this}return pg=e,pg}var mg,N2;function rh(){if(N2)return mg;N2=1;var r=DW(),e=FW(),t=BW(),n=zW(),i=jW();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var c=s[o];this.set(c[0],c[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,mg=a,mg}var yg,A2;function $W(){if(A2)return yg;A2=1;var r=rh();function e(){this.__data__=new r,this.size=0}return yg=e,yg}var bg,P2;function qW(){if(P2)return bg;P2=1;function r(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}return bg=r,bg}var xg,R2;function GW(){if(R2)return xg;R2=1;function r(e){return this.__data__.get(e)}return xg=r,xg}var wg,L2;function WW(){if(L2)return wg;L2=1;function r(e){return this.__data__.has(e)}return wg=r,wg}var Eg,I2;function FP(){if(I2)return Eg;I2=1;var r=typeof Mc=="object"&&Mc&&Mc.Object===Object&&Mc;return Eg=r,Eg}var Sg,D2;function gi(){if(D2)return Sg;D2=1;var r=FP(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=r||e||Function("return this")();return Sg=t,Sg}var _g,F2;function $o(){if(F2)return _g;F2=1;var r=gi(),e=r.Symbol;return _g=e,_g}var kg,B2;function VW(){if(B2)return kg;B2=1;var r=$o(),e=Object.prototype,t=e.hasOwnProperty,n=e.toString,i=r?r.toStringTag:void 0;function a(s){var o=t.call(s,i),l=s[i];try{s[i]=void 0;var c=!0}catch{}var u=n.call(s);return c&&(o?s[i]=l:delete s[i]),u}return kg=a,kg}var Mg,z2;function UW(){if(z2)return Mg;z2=1;var r=Object.prototype,e=r.toString;function t(n){return e.call(n)}return Mg=t,Mg}var Tg,j2;function Fs(){if(j2)return Tg;j2=1;var r=$o(),e=VW(),t=UW(),n="[object Null]",i="[object Undefined]",a=r?r.toStringTag:void 0;function s(o){return o==null?o===void 0?i:n:a&&a in Object(o)?e(o):t(o)}return Tg=s,Tg}var Og,$2;function Xr(){if($2)return Og;$2=1;function r(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}return Og=r,Og}var Cg,q2;function yc(){if(q2)return Cg;q2=1;var r=Fs(),e=Xr(),t="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function s(o){if(!e(o))return!1;var l=r(o);return l==n||l==i||l==t||l==a}return Cg=s,Cg}var Ng,G2;function HW(){if(G2)return Ng;G2=1;var r=gi(),e=r["__core-js_shared__"];return Ng=e,Ng}var Ag,W2;function YW(){if(W2)return Ag;W2=1;var r=HW(),e=function(){var n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function t(n){return!!e&&e in n}return Ag=t,Ag}var Pg,V2;function BP(){if(V2)return Pg;V2=1;var r=Function.prototype,e=r.toString;function t(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return Pg=t,Pg}var Rg,U2;function KW(){if(U2)return Rg;U2=1;var r=yc(),e=YW(),t=Xr(),n=BP(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,s=Function.prototype,o=Object.prototype,l=s.toString,c=o.hasOwnProperty,u=RegExp("^"+l.call(c).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(h){if(!t(h)||e(h))return!1;var f=r(h)?u:a;return f.test(n(h))}return Rg=d,Rg}var Lg,H2;function XW(){if(H2)return Lg;H2=1;function r(e,t){return e==null?void 0:e[t]}return Lg=r,Lg}var Ig,Y2;function Bs(){if(Y2)return Ig;Y2=1;var r=KW(),e=XW();function t(n,i){var a=e(n,i);return r(a)?a:void 0}return Ig=t,Ig}var Dg,K2;function nx(){if(K2)return Dg;K2=1;var r=Bs(),e=gi(),t=r(e,"Map");return Dg=t,Dg}var Fg,X2;function ih(){if(X2)return Fg;X2=1;var r=Bs(),e=r(Object,"create");return Fg=e,Fg}var Bg,Z2;function ZW(){if(Z2)return Bg;Z2=1;var r=ih();function e(){this.__data__=r?r(null):{},this.size=0}return Bg=e,Bg}var zg,J2;function JW(){if(J2)return zg;J2=1;function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}return zg=r,zg}var jg,Q2;function QW(){if(Q2)return jg;Q2=1;var r=ih(),e="__lodash_hash_undefined__",t=Object.prototype,n=t.hasOwnProperty;function i(a){var s=this.__data__;if(r){var o=s[a];return o===e?void 0:o}return n.call(s,a)?s[a]:void 0}return jg=i,jg}var $g,eS;function eV(){if(eS)return $g;eS=1;var r=ih(),e=Object.prototype,t=e.hasOwnProperty;function n(i){var a=this.__data__;return r?a[i]!==void 0:t.call(a,i)}return $g=n,$g}var qg,tS;function tV(){if(tS)return qg;tS=1;var r=ih(),e="__lodash_hash_undefined__";function t(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=r&&i===void 0?e:i,this}return qg=t,qg}var Gg,nS;function nV(){if(nS)return Gg;nS=1;var r=ZW(),e=JW(),t=QW(),n=eV(),i=tV();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var c=s[o];this.set(c[0],c[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,Gg=a,Gg}var Wg,rS;function rV(){if(rS)return Wg;rS=1;var r=nV(),e=rh(),t=nx();function n(){this.size=0,this.__data__={hash:new r,map:new(t||e),string:new r}}return Wg=n,Wg}var Vg,iS;function iV(){if(iS)return Vg;iS=1;function r(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}return Vg=r,Vg}var Ug,aS;function ah(){if(aS)return Ug;aS=1;var r=iV();function e(t,n){var i=t.__data__;return r(n)?i[typeof n=="string"?"string":"hash"]:i.map}return Ug=e,Ug}var Hg,sS;function aV(){if(sS)return Hg;sS=1;var r=ah();function e(t){var n=r(this,t).delete(t);return this.size-=n?1:0,n}return Hg=e,Hg}var Yg,oS;function sV(){if(oS)return Yg;oS=1;var r=ah();function e(t){return r(this,t).get(t)}return Yg=e,Yg}var Kg,lS;function oV(){if(lS)return Kg;lS=1;var r=ah();function e(t){return r(this,t).has(t)}return Kg=e,Kg}var Xg,cS;function lV(){if(cS)return Xg;cS=1;var r=ah();function e(t,n){var i=r(this,t),a=i.size;return i.set(t,n),this.size+=i.size==a?0:1,this}return Xg=e,Xg}var Zg,uS;function rx(){if(uS)return Zg;uS=1;var r=rV(),e=aV(),t=sV(),n=oV(),i=lV();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var c=s[o];this.set(c[0],c[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,Zg=a,Zg}var Jg,dS;function cV(){if(dS)return Jg;dS=1;var r=rh(),e=nx(),t=rx(),n=200;function i(a,s){var o=this.__data__;if(o instanceof r){var l=o.__data__;if(!e||l.length<n-1)return l.push([a,s]),this.size=++o.size,this;o=this.__data__=new t(l)}return o.set(a,s),this.size=o.size,this}return Jg=i,Jg}var Qg,hS;function sh(){if(hS)return Qg;hS=1;var r=rh(),e=$W(),t=qW(),n=GW(),i=WW(),a=cV();function s(o){var l=this.__data__=new r(o);this.size=l.size}return s.prototype.clear=e,s.prototype.delete=t,s.prototype.get=n,s.prototype.has=i,s.prototype.set=a,Qg=s,Qg}var ev,fS;function ix(){if(fS)return ev;fS=1;function r(e,t){for(var n=-1,i=e==null?0:e.length;++n<i&&t(e[n],n,e)!==!1;);return e}return ev=r,ev}var tv,gS;function zP(){if(gS)return tv;gS=1;var r=Bs(),e=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch{}}();return tv=e,tv}var nv,vS;function oh(){if(vS)return nv;vS=1;var r=zP();function e(t,n,i){n=="__proto__"&&r?r(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}return nv=e,nv}var rv,pS;function lh(){if(pS)return rv;pS=1;var r=oh(),e=jo(),t=Object.prototype,n=t.hasOwnProperty;function i(a,s,o){var l=a[s];(!(n.call(a,s)&&e(l,o))||o===void 0&&!(s in a))&&r(a,s,o)}return rv=i,rv}var iv,mS;function bc(){if(mS)return iv;mS=1;var r=lh(),e=oh();function t(n,i,a,s){var o=!a;a||(a={});for(var l=-1,c=i.length;++l<c;){var u=i[l],d=s?s(a[u],n[u],u,a,n):void 0;d===void 0&&(d=n[u]),o?e(a,u,d):r(a,u,d)}return a}return iv=t,iv}var av,yS;function uV(){if(yS)return av;yS=1;function r(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}return av=r,av}var sv,bS;function ji(){if(bS)return sv;bS=1;function r(e){return e!=null&&typeof e=="object"}return sv=r,sv}var ov,xS;function dV(){if(xS)return ov;xS=1;var r=Fs(),e=ji(),t="[object Arguments]";function n(i){return e(i)&&r(i)==t}return ov=n,ov}var lv,wS;function xc(){if(wS)return lv;wS=1;var r=dV(),e=ji(),t=Object.prototype,n=t.hasOwnProperty,i=t.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(s){return e(s)&&n.call(s,"callee")&&!i.call(s,"callee")};return lv=a,lv}var cv,ES;function Sn(){if(ES)return cv;ES=1;var r=Array.isArray;return cv=r,cv}var ml={exports:{}},uv,SS;function hV(){if(SS)return uv;SS=1;function r(){return!1}return uv=r,uv}ml.exports;var _S;function qo(){return _S||(_S=1,function(r,e){var t=gi(),n=hV(),i=e&&!e.nodeType&&e,a=i&&!0&&r&&!r.nodeType&&r,s=a&&a.exports===i,o=s?t.Buffer:void 0,l=o?o.isBuffer:void 0,c=l||n;r.exports=c}(ml,ml.exports)),ml.exports}var dv,kS;function ch(){if(kS)return dv;kS=1;var r=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function t(n,i){var a=typeof n;return i=i==null?r:i,!!i&&(a=="number"||a!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<i}return dv=t,dv}var hv,MS;function ax(){if(MS)return hv;MS=1;var r=9007199254740991;function e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=r}return hv=e,hv}var fv,TS;function fV(){if(TS)return fv;TS=1;var r=Fs(),e=ax(),t=ji(),n="[object Arguments]",i="[object Array]",a="[object Boolean]",s="[object Date]",o="[object Error]",l="[object Function]",c="[object Map]",u="[object Number]",d="[object Object]",h="[object RegExp]",f="[object Set]",g="[object String]",p="[object WeakMap]",v="[object ArrayBuffer]",m="[object DataView]",y="[object Float32Array]",b="[object Float64Array]",w="[object Int8Array]",E="[object Int16Array]",_="[object Int32Array]",O="[object Uint8Array]",M="[object Uint8ClampedArray]",N="[object Uint16Array]",A="[object Uint32Array]",P={};P[y]=P[b]=P[w]=P[E]=P[_]=P[O]=P[M]=P[N]=P[A]=!0,P[n]=P[i]=P[v]=P[a]=P[m]=P[s]=P[o]=P[l]=P[c]=P[u]=P[d]=P[h]=P[f]=P[g]=P[p]=!1;function L(I){return t(I)&&e(I.length)&&!!P[r(I)]}return fv=L,fv}var gv,OS;function uh(){if(OS)return gv;OS=1;function r(e){return function(t){return e(t)}}return gv=r,gv}var yl={exports:{}};yl.exports;var CS;function sx(){return CS||(CS=1,function(r,e){var t=FP(),n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,s=a&&t.process,o=function(){try{var l=i&&i.require&&i.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();r.exports=o}(yl,yl.exports)),yl.exports}var vv,NS;function wc(){if(NS)return vv;NS=1;var r=fV(),e=uh(),t=sx(),n=t&&t.isTypedArray,i=n?e(n):r;return vv=i,vv}var pv,AS;function jP(){if(AS)return pv;AS=1;var r=uV(),e=xc(),t=Sn(),n=qo(),i=ch(),a=wc(),s=Object.prototype,o=s.hasOwnProperty;function l(c,u){var d=t(c),h=!d&&e(c),f=!d&&!h&&n(c),g=!d&&!h&&!f&&a(c),p=d||h||f||g,v=p?r(c.length,String):[],m=v.length;for(var y in c)(u||o.call(c,y))&&!(p&&(y=="length"||f&&(y=="offset"||y=="parent")||g&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||i(y,m)))&&v.push(y);return v}return pv=l,pv}var mv,PS;function dh(){if(PS)return mv;PS=1;var r=Object.prototype;function e(t){var n=t&&t.constructor,i=typeof n=="function"&&n.prototype||r;return t===i}return mv=e,mv}var yv,RS;function $P(){if(RS)return yv;RS=1;function r(e,t){return function(n){return e(t(n))}}return yv=r,yv}var bv,LS;function gV(){if(LS)return bv;LS=1;var r=$P(),e=r(Object.keys,Object);return bv=e,bv}var xv,IS;function ox(){if(IS)return xv;IS=1;var r=dh(),e=gV(),t=Object.prototype,n=t.hasOwnProperty;function i(a){if(!r(a))return e(a);var s=[];for(var o in Object(a))n.call(a,o)&&o!="constructor"&&s.push(o);return s}return xv=i,xv}var wv,DS;function oa(){if(DS)return wv;DS=1;var r=yc(),e=ax();function t(n){return n!=null&&e(n.length)&&!r(n)}return wv=t,wv}var Ev,FS;function Ka(){if(FS)return Ev;FS=1;var r=jP(),e=ox(),t=oa();function n(i){return t(i)?r(i):e(i)}return Ev=n,Ev}var Sv,BS;function vV(){if(BS)return Sv;BS=1;var r=bc(),e=Ka();function t(n,i){return n&&r(i,e(i),n)}return Sv=t,Sv}var _v,zS;function pV(){if(zS)return _v;zS=1;function r(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}return _v=r,_v}var kv,jS;function mV(){if(jS)return kv;jS=1;var r=Xr(),e=dh(),t=pV(),n=Object.prototype,i=n.hasOwnProperty;function a(s){if(!r(s))return t(s);var o=e(s),l=[];for(var c in s)c=="constructor"&&(o||!i.call(s,c))||l.push(c);return l}return kv=a,kv}var Mv,$S;function zs(){if($S)return Mv;$S=1;var r=jP(),e=mV(),t=oa();function n(i){return t(i)?r(i,!0):e(i)}return Mv=n,Mv}var Tv,qS;function yV(){if(qS)return Tv;qS=1;var r=bc(),e=zs();function t(n,i){return n&&r(i,e(i),n)}return Tv=t,Tv}var bl={exports:{}};bl.exports;var GS;function qP(){return GS||(GS=1,function(r,e){var t=gi(),n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,s=a?t.Buffer:void 0,o=s?s.allocUnsafe:void 0;function l(c,u){if(u)return c.slice();var d=c.length,h=o?o(d):new c.constructor(d);return c.copy(h),h}r.exports=l}(bl,bl.exports)),bl.exports}var Ov,WS;function GP(){if(WS)return Ov;WS=1;function r(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}return Ov=r,Ov}var Cv,VS;function WP(){if(VS)return Cv;VS=1;function r(e,t){for(var n=-1,i=e==null?0:e.length,a=0,s=[];++n<i;){var o=e[n];t(o,n,e)&&(s[a++]=o)}return s}return Cv=r,Cv}var Nv,US;function VP(){if(US)return Nv;US=1;function r(){return[]}return Nv=r,Nv}var Av,HS;function lx(){if(HS)return Av;HS=1;var r=WP(),e=VP(),t=Object.prototype,n=t.propertyIsEnumerable,i=Object.getOwnPropertySymbols,a=i?function(s){return s==null?[]:(s=Object(s),r(i(s),function(o){return n.call(s,o)}))}:e;return Av=a,Av}var Pv,YS;function bV(){if(YS)return Pv;YS=1;var r=bc(),e=lx();function t(n,i){return r(n,e(n),i)}return Pv=t,Pv}var Rv,KS;function cx(){if(KS)return Rv;KS=1;function r(e,t){for(var n=-1,i=t.length,a=e.length;++n<i;)e[a+n]=t[n];return e}return Rv=r,Rv}var Lv,XS;function hh(){if(XS)return Lv;XS=1;var r=$P(),e=r(Object.getPrototypeOf,Object);return Lv=e,Lv}var Iv,ZS;function UP(){if(ZS)return Iv;ZS=1;var r=cx(),e=hh(),t=lx(),n=VP(),i=Object.getOwnPropertySymbols,a=i?function(s){for(var o=[];s;)r(o,t(s)),s=e(s);return o}:n;return Iv=a,Iv}var Dv,JS;function xV(){if(JS)return Dv;JS=1;var r=bc(),e=UP();function t(n,i){return r(n,e(n),i)}return Dv=t,Dv}var Fv,QS;function HP(){if(QS)return Fv;QS=1;var r=cx(),e=Sn();function t(n,i,a){var s=i(n);return e(n)?s:r(s,a(n))}return Fv=t,Fv}var Bv,e_;function YP(){if(e_)return Bv;e_=1;var r=HP(),e=lx(),t=Ka();function n(i){return r(i,t,e)}return Bv=n,Bv}var zv,t_;function wV(){if(t_)return zv;t_=1;var r=HP(),e=UP(),t=zs();function n(i){return r(i,t,e)}return zv=n,zv}var jv,n_;function EV(){if(n_)return jv;n_=1;var r=Bs(),e=gi(),t=r(e,"DataView");return jv=t,jv}var $v,r_;function SV(){if(r_)return $v;r_=1;var r=Bs(),e=gi(),t=r(e,"Promise");return $v=t,$v}var qv,i_;function KP(){if(i_)return qv;i_=1;var r=Bs(),e=gi(),t=r(e,"Set");return qv=t,qv}var Gv,a_;function _V(){if(a_)return Gv;a_=1;var r=Bs(),e=gi(),t=r(e,"WeakMap");return Gv=t,Gv}var Wv,s_;function Go(){if(s_)return Wv;s_=1;var r=EV(),e=nx(),t=SV(),n=KP(),i=_V(),a=Fs(),s=BP(),o="[object Map]",l="[object Object]",c="[object Promise]",u="[object Set]",d="[object WeakMap]",h="[object DataView]",f=s(r),g=s(e),p=s(t),v=s(n),m=s(i),y=a;return(r&&y(new r(new ArrayBuffer(1)))!=h||e&&y(new e)!=o||t&&y(t.resolve())!=c||n&&y(new n)!=u||i&&y(new i)!=d)&&(y=function(b){var w=a(b),E=w==l?b.constructor:void 0,_=E?s(E):"";if(_)switch(_){case f:return h;case g:return o;case p:return c;case v:return u;case m:return d}return w}),Wv=y,Wv}var Vv,o_;function kV(){if(o_)return Vv;o_=1;var r=Object.prototype,e=r.hasOwnProperty;function t(n){var i=n.length,a=new n.constructor(i);return i&&typeof n[0]=="string"&&e.call(n,"index")&&(a.index=n.index,a.input=n.input),a}return Vv=t,Vv}var Uv,l_;function XP(){if(l_)return Uv;l_=1;var r=gi(),e=r.Uint8Array;return Uv=e,Uv}var Hv,c_;function ux(){if(c_)return Hv;c_=1;var r=XP();function e(t){var n=new t.constructor(t.byteLength);return new r(n).set(new r(t)),n}return Hv=e,Hv}var Yv,u_;function MV(){if(u_)return Yv;u_=1;var r=ux();function e(t,n){var i=n?r(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.byteLength)}return Yv=e,Yv}var Kv,d_;function TV(){if(d_)return Kv;d_=1;var r=/\w*$/;function e(t){var n=new t.constructor(t.source,r.exec(t));return n.lastIndex=t.lastIndex,n}return Kv=e,Kv}var Xv,h_;function OV(){if(h_)return Xv;h_=1;var r=$o(),e=r?r.prototype:void 0,t=e?e.valueOf:void 0;function n(i){return t?Object(t.call(i)):{}}return Xv=n,Xv}var Zv,f_;function ZP(){if(f_)return Zv;f_=1;var r=ux();function e(t,n){var i=n?r(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}return Zv=e,Zv}var Jv,g_;function CV(){if(g_)return Jv;g_=1;var r=ux(),e=MV(),t=TV(),n=OV(),i=ZP(),a="[object Boolean]",s="[object Date]",o="[object Map]",l="[object Number]",c="[object RegExp]",u="[object Set]",d="[object String]",h="[object Symbol]",f="[object ArrayBuffer]",g="[object DataView]",p="[object Float32Array]",v="[object Float64Array]",m="[object Int8Array]",y="[object Int16Array]",b="[object Int32Array]",w="[object Uint8Array]",E="[object Uint8ClampedArray]",_="[object Uint16Array]",O="[object Uint32Array]";function M(N,A,P){var L=N.constructor;switch(A){case f:return r(N);case a:case s:return new L(+N);case g:return e(N,P);case p:case v:case m:case y:case b:case w:case E:case _:case O:return i(N,P);case o:return new L;case l:case d:return new L(N);case c:return t(N);case u:return new L;case h:return n(N)}}return Jv=M,Jv}var Qv,v_;function JP(){if(v_)return Qv;v_=1;var r=Xr(),e=Object.create,t=function(){function n(){}return function(i){if(!r(i))return{};if(e)return e(i);n.prototype=i;var a=new n;return n.prototype=void 0,a}}();return Qv=t,Qv}var ep,p_;function QP(){if(p_)return ep;p_=1;var r=JP(),e=hh(),t=dh();function n(i){return typeof i.constructor=="function"&&!t(i)?r(e(i)):{}}return ep=n,ep}var tp,m_;function NV(){if(m_)return tp;m_=1;var r=Go(),e=ji(),t="[object Map]";function n(i){return e(i)&&r(i)==t}return tp=n,tp}var np,y_;function AV(){if(y_)return np;y_=1;var r=NV(),e=uh(),t=sx(),n=t&&t.isMap,i=n?e(n):r;return np=i,np}var rp,b_;function PV(){if(b_)return rp;b_=1;var r=Go(),e=ji(),t="[object Set]";function n(i){return e(i)&&r(i)==t}return rp=n,rp}var ip,x_;function RV(){if(x_)return ip;x_=1;var r=PV(),e=uh(),t=sx(),n=t&&t.isSet,i=n?e(n):r;return ip=i,ip}var ap,w_;function eR(){if(w_)return ap;w_=1;var r=sh(),e=ix(),t=lh(),n=vV(),i=yV(),a=qP(),s=GP(),o=bV(),l=xV(),c=YP(),u=wV(),d=Go(),h=kV(),f=CV(),g=QP(),p=Sn(),v=qo(),m=AV(),y=Xr(),b=RV(),w=Ka(),E=zs(),_=1,O=2,M=4,N="[object Arguments]",A="[object Array]",P="[object Boolean]",L="[object Date]",I="[object Error]",G="[object Function]",H="[object GeneratorFunction]",Y="[object Map]",W="[object Number]",q="[object Object]",Q="[object RegExp]",re="[object Set]",de="[object String]",oe="[object Symbol]",he="[object WeakMap]",X="[object ArrayBuffer]",U="[object DataView]",ne="[object Float32Array]",ue="[object Float64Array]",Me="[object Int8Array]",Be="[object Int16Array]",Ve="[object Int32Array]",Dt="[object Uint8Array]",on="[object Uint8ClampedArray]",_t="[object Uint16Array]",Yt="[object Uint32Array]",He={};He[N]=He[A]=He[X]=He[U]=He[P]=He[L]=He[ne]=He[ue]=He[Me]=He[Be]=He[Ve]=He[Y]=He[W]=He[q]=He[Q]=He[re]=He[de]=He[oe]=He[Dt]=He[on]=He[_t]=He[Yt]=!0,He[I]=He[G]=He[he]=!1;function ar(Je,hn,Ct,ca,jn,Qt){var ut,fn=hn&_,$n=hn&O,gr=hn&M;if(Ct&&(ut=jn?Ct(Je,ca,jn,Qt):Ct(Je)),ut!==void 0)return ut;if(!y(Je))return Je;var _r=p(Je);if(_r){if(ut=h(Je),!fn)return s(Je,ut)}else{var zr=d(Je),ua=zr==G||zr==H;if(v(Je))return a(Je,fn);if(zr==q||zr==N||ua&&!jn){if(ut=$n||ua?{}:g(Je),!fn)return $n?l(Je,i(ut,Je)):o(Je,n(ut,Je))}else{if(!He[zr])return jn?Je:{};ut=f(Je,zr,fn)}}Qt||(Qt=new r);var da=Qt.get(Je);if(da)return da;Qt.set(Je,ut),b(Je)?Je.forEach(function(jr){ut.add(ar(jr,hn,Ct,jr,Je,Qt))}):m(Je)&&Je.forEach(function(jr,Jn){ut.set(Jn,ar(jr,hn,Ct,Jn,Je,Qt))});var Yo=gr?$n?u:c:$n?E:w,qs=_r?void 0:Yo(Je);return e(qs||Je,function(jr,Jn){qs&&(Jn=jr,jr=Je[Jn]),t(ut,Jn,ar(jr,hn,Ct,Jn,Je,Qt))}),ut}return ap=ar,ap}var sp,E_;function LV(){if(E_)return sp;E_=1;var r=eR(),e=4;function t(n){return r(n,e)}return sp=t,sp}var op,S_;function dx(){if(S_)return op;S_=1;function r(e){return function(){return e}}return op=r,op}var lp,__;function IV(){if(__)return lp;__=1;function r(e){return function(t,n,i){for(var a=-1,s=Object(t),o=i(t),l=o.length;l--;){var c=o[e?l:++a];if(n(s[c],c,s)===!1)break}return t}}return lp=r,lp}var cp,k_;function hx(){if(k_)return cp;k_=1;var r=IV(),e=r();return cp=e,cp}var up,M_;function fx(){if(M_)return up;M_=1;var r=hx(),e=Ka();function t(n,i){return n&&r(n,i,e)}return up=t,up}var dp,T_;function DV(){if(T_)return dp;T_=1;var r=oa();function e(t,n){return function(i,a){if(i==null)return i;if(!r(i))return t(i,a);for(var s=i.length,o=n?s:-1,l=Object(i);(n?o--:++o<s)&&a(l[o],o,l)!==!1;);return i}}return dp=e,dp}var hp,O_;function fh(){if(O_)return hp;O_=1;var r=fx(),e=DV(),t=e(r);return hp=t,hp}var fp,C_;function js(){if(C_)return fp;C_=1;function r(e){return e}return fp=r,fp}var gp,N_;function tR(){if(N_)return gp;N_=1;var r=js();function e(t){return typeof t=="function"?t:r}return gp=e,gp}var vp,A_;function nR(){if(A_)return vp;A_=1;var r=ix(),e=fh(),t=tR(),n=Sn();function i(a,s){var o=n(a)?r:e;return o(a,t(s))}return vp=i,vp}var pp,P_;function rR(){return P_||(P_=1,pp=nR()),pp}var mp,R_;function FV(){if(R_)return mp;R_=1;var r=fh();function e(t,n){var i=[];return r(t,function(a,s,o){n(a,s,o)&&i.push(a)}),i}return mp=e,mp}var yp,L_;function BV(){if(L_)return yp;L_=1;var r="__lodash_hash_undefined__";function e(t){return this.__data__.set(t,r),this}return yp=e,yp}var bp,I_;function zV(){if(I_)return bp;I_=1;function r(e){return this.__data__.has(e)}return bp=r,bp}var xp,D_;function iR(){if(D_)return xp;D_=1;var r=rx(),e=BV(),t=zV();function n(i){var a=-1,s=i==null?0:i.length;for(this.__data__=new r;++a<s;)this.add(i[a])}return n.prototype.add=n.prototype.push=e,n.prototype.has=t,xp=n,xp}var wp,F_;function jV(){if(F_)return wp;F_=1;function r(e,t){for(var n=-1,i=e==null?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}return wp=r,wp}var Ep,B_;function aR(){if(B_)return Ep;B_=1;function r(e,t){return e.has(t)}return Ep=r,Ep}var Sp,z_;function sR(){if(z_)return Sp;z_=1;var r=iR(),e=jV(),t=aR(),n=1,i=2;function a(s,o,l,c,u,d){var h=l&n,f=s.length,g=o.length;if(f!=g&&!(h&&g>f))return!1;var p=d.get(s),v=d.get(o);if(p&&v)return p==o&&v==s;var m=-1,y=!0,b=l&i?new r:void 0;for(d.set(s,o),d.set(o,s);++m<f;){var w=s[m],E=o[m];if(c)var _=h?c(E,w,m,o,s,d):c(w,E,m,s,o,d);if(_!==void 0){if(_)continue;y=!1;break}if(b){if(!e(o,function(O,M){if(!t(b,M)&&(w===O||u(w,O,l,c,d)))return b.push(M)})){y=!1;break}}else if(!(w===E||u(w,E,l,c,d))){y=!1;break}}return d.delete(s),d.delete(o),y}return Sp=a,Sp}var _p,j_;function $V(){if(j_)return _p;j_=1;function r(e){var t=-1,n=Array(e.size);return e.forEach(function(i,a){n[++t]=[a,i]}),n}return _p=r,_p}var kp,$_;function gx(){if($_)return kp;$_=1;function r(e){var t=-1,n=Array(e.size);return e.forEach(function(i){n[++t]=i}),n}return kp=r,kp}var Mp,q_;function qV(){if(q_)return Mp;q_=1;var r=$o(),e=XP(),t=jo(),n=sR(),i=$V(),a=gx(),s=1,o=2,l="[object Boolean]",c="[object Date]",u="[object Error]",d="[object Map]",h="[object Number]",f="[object RegExp]",g="[object Set]",p="[object String]",v="[object Symbol]",m="[object ArrayBuffer]",y="[object DataView]",b=r?r.prototype:void 0,w=b?b.valueOf:void 0;function E(_,O,M,N,A,P,L){switch(M){case y:if(_.byteLength!=O.byteLength||_.byteOffset!=O.byteOffset)return!1;_=_.buffer,O=O.buffer;case m:return!(_.byteLength!=O.byteLength||!P(new e(_),new e(O)));case l:case c:case h:return t(+_,+O);case u:return _.name==O.name&&_.message==O.message;case f:case p:return _==O+"";case d:var I=i;case g:var G=N&s;if(I||(I=a),_.size!=O.size&&!G)return!1;var H=L.get(_);if(H)return H==O;N|=o,L.set(_,O);var Y=n(I(_),I(O),N,A,P,L);return L.delete(_),Y;case v:if(w)return w.call(_)==w.call(O)}return!1}return Mp=E,Mp}var Tp,G_;function GV(){if(G_)return Tp;G_=1;var r=YP(),e=1,t=Object.prototype,n=t.hasOwnProperty;function i(a,s,o,l,c,u){var d=o&e,h=r(a),f=h.length,g=r(s),p=g.length;if(f!=p&&!d)return!1;for(var v=f;v--;){var m=h[v];if(!(d?m in s:n.call(s,m)))return!1}var y=u.get(a),b=u.get(s);if(y&&b)return y==s&&b==a;var w=!0;u.set(a,s),u.set(s,a);for(var E=d;++v<f;){m=h[v];var _=a[m],O=s[m];if(l)var M=d?l(O,_,m,s,a,u):l(_,O,m,a,s,u);if(!(M===void 0?_===O||c(_,O,o,l,u):M)){w=!1;break}E||(E=m=="constructor")}if(w&&!E){var N=a.constructor,A=s.constructor;N!=A&&"constructor"in a&&"constructor"in s&&!(typeof N=="function"&&N instanceof N&&typeof A=="function"&&A instanceof A)&&(w=!1)}return u.delete(a),u.delete(s),w}return Tp=i,Tp}var Op,W_;function WV(){if(W_)return Op;W_=1;var r=sh(),e=sR(),t=qV(),n=GV(),i=Go(),a=Sn(),s=qo(),o=wc(),l=1,c="[object Arguments]",u="[object Array]",d="[object Object]",h=Object.prototype,f=h.hasOwnProperty;function g(p,v,m,y,b,w){var E=a(p),_=a(v),O=E?u:i(p),M=_?u:i(v);O=O==c?d:O,M=M==c?d:M;var N=O==d,A=M==d,P=O==M;if(P&&s(p)){if(!s(v))return!1;E=!0,N=!1}if(P&&!N)return w||(w=new r),E||o(p)?e(p,v,m,y,b,w):t(p,v,O,m,y,b,w);if(!(m&l)){var L=N&&f.call(p,"__wrapped__"),I=A&&f.call(v,"__wrapped__");if(L||I){var G=L?p.value():p,H=I?v.value():v;return w||(w=new r),b(G,H,m,y,w)}}return P?(w||(w=new r),n(p,v,m,y,b,w)):!1}return Op=g,Op}var Cp,V_;function oR(){if(V_)return Cp;V_=1;var r=WV(),e=ji();function t(n,i,a,s,o){return n===i?!0:n==null||i==null||!e(n)&&!e(i)?n!==n&&i!==i:r(n,i,a,s,t,o)}return Cp=t,Cp}var Np,U_;function VV(){if(U_)return Np;U_=1;var r=sh(),e=oR(),t=1,n=2;function i(a,s,o,l){var c=o.length,u=c,d=!l;if(a==null)return!u;for(a=Object(a);c--;){var h=o[c];if(d&&h[2]?h[1]!==a[h[0]]:!(h[0]in a))return!1}for(;++c<u;){h=o[c];var f=h[0],g=a[f],p=h[1];if(d&&h[2]){if(g===void 0&&!(f in a))return!1}else{var v=new r;if(l)var m=l(g,p,f,a,s,v);if(!(m===void 0?e(p,g,t|n,l,v):m))return!1}}return!0}return Np=i,Np}var Ap,H_;function lR(){if(H_)return Ap;H_=1;var r=Xr();function e(t){return t===t&&!r(t)}return Ap=e,Ap}var Pp,Y_;function UV(){if(Y_)return Pp;Y_=1;var r=lR(),e=Ka();function t(n){for(var i=e(n),a=i.length;a--;){var s=i[a],o=n[s];i[a]=[s,o,r(o)]}return i}return Pp=t,Pp}var Rp,K_;function cR(){if(K_)return Rp;K_=1;function r(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}return Rp=r,Rp}var Lp,X_;function HV(){if(X_)return Lp;X_=1;var r=VV(),e=UV(),t=cR();function n(i){var a=e(i);return a.length==1&&a[0][2]?t(a[0][0],a[0][1]):function(s){return s===i||r(s,i,a)}}return Lp=n,Lp}var Ip,Z_;function Wo(){if(Z_)return Ip;Z_=1;var r=Fs(),e=ji(),t="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&r(i)==t}return Ip=n,Ip}var Dp,J_;function vx(){if(J_)return Dp;J_=1;var r=Sn(),e=Wo(),t=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function i(a,s){if(r(a))return!1;var o=typeof a;return o=="number"||o=="symbol"||o=="boolean"||a==null||e(a)?!0:n.test(a)||!t.test(a)||s!=null&&a in Object(s)}return Dp=i,Dp}var Fp,Q_;function YV(){if(Q_)return Fp;Q_=1;var r=rx(),e="Expected a function";function t(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new TypeError(e);var a=function(){var s=arguments,o=i?i.apply(this,s):s[0],l=a.cache;if(l.has(o))return l.get(o);var c=n.apply(this,s);return a.cache=l.set(o,c)||l,c};return a.cache=new(t.Cache||r),a}return t.Cache=r,Fp=t,Fp}var Bp,ek;function KV(){if(ek)return Bp;ek=1;var r=YV(),e=500;function t(n){var i=r(n,function(s){return a.size===e&&a.clear(),s}),a=i.cache;return i}return Bp=t,Bp}var zp,tk;function XV(){if(tk)return zp;tk=1;var r=KV(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,t=/\\(\\)?/g,n=r(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(e,function(s,o,l,c){a.push(l?c.replace(t,"$1"):o||s)}),a});return zp=n,zp}var jp,nk;function gh(){if(nk)return jp;nk=1;function r(e,t){for(var n=-1,i=e==null?0:e.length,a=Array(i);++n<i;)a[n]=t(e[n],n,e);return a}return jp=r,jp}var $p,rk;function ZV(){if(rk)return $p;rk=1;var r=$o(),e=gh(),t=Sn(),n=Wo(),i=r?r.prototype:void 0,a=i?i.toString:void 0;function s(o){if(typeof o=="string")return o;if(t(o))return e(o,s)+"";if(n(o))return a?a.call(o):"";var l=o+"";return l=="0"&&1/o==-1/0?"-0":l}return $p=s,$p}var qp,ik;function uR(){if(ik)return qp;ik=1;var r=ZV();function e(t){return t==null?"":r(t)}return qp=e,qp}var Gp,ak;function vh(){if(ak)return Gp;ak=1;var r=Sn(),e=vx(),t=XV(),n=uR();function i(a,s){return r(a)?a:e(a,s)?[a]:t(n(a))}return Gp=i,Gp}var Wp,sk;function Ec(){if(sk)return Wp;sk=1;var r=Wo();function e(t){if(typeof t=="string"||r(t))return t;var n=t+"";return n=="0"&&1/t==-1/0?"-0":n}return Wp=e,Wp}var Vp,ok;function ph(){if(ok)return Vp;ok=1;var r=vh(),e=Ec();function t(n,i){i=r(i,n);for(var a=0,s=i.length;n!=null&&a<s;)n=n[e(i[a++])];return a&&a==s?n:void 0}return Vp=t,Vp}var Up,lk;function JV(){if(lk)return Up;lk=1;var r=ph();function e(t,n,i){var a=t==null?void 0:r(t,n);return a===void 0?i:a}return Up=e,Up}var Hp,ck;function QV(){if(ck)return Hp;ck=1;function r(e,t){return e!=null&&t in Object(e)}return Hp=r,Hp}var Yp,uk;function dR(){if(uk)return Yp;uk=1;var r=vh(),e=xc(),t=Sn(),n=ch(),i=ax(),a=Ec();function s(o,l,c){l=r(l,o);for(var u=-1,d=l.length,h=!1;++u<d;){var f=a(l[u]);if(!(h=o!=null&&c(o,f)))break;o=o[f]}return h||++u!=d?h:(d=o==null?0:o.length,!!d&&i(d)&&n(f,d)&&(t(o)||e(o)))}return Yp=s,Yp}var Kp,dk;function hR(){if(dk)return Kp;dk=1;var r=QV(),e=dR();function t(n,i){return n!=null&&e(n,i,r)}return Kp=t,Kp}var Xp,hk;function e7(){if(hk)return Xp;hk=1;var r=oR(),e=JV(),t=hR(),n=vx(),i=lR(),a=cR(),s=Ec(),o=1,l=2;function c(u,d){return n(u)&&i(d)?a(s(u),d):function(h){var f=e(h,u);return f===void 0&&f===d?t(h,u):r(d,f,o|l)}}return Xp=c,Xp}var Zp,fk;function fR(){if(fk)return Zp;fk=1;function r(e){return function(t){return t==null?void 0:t[e]}}return Zp=r,Zp}var Jp,gk;function t7(){if(gk)return Jp;gk=1;var r=ph();function e(t){return function(n){return r(n,t)}}return Jp=e,Jp}var Qp,vk;function n7(){if(vk)return Qp;vk=1;var r=fR(),e=t7(),t=vx(),n=Ec();function i(a){return t(a)?r(n(a)):e(a)}return Qp=i,Qp}var e0,pk;function la(){if(pk)return e0;pk=1;var r=HV(),e=e7(),t=js(),n=Sn(),i=n7();function a(s){return typeof s=="function"?s:s==null?t:typeof s=="object"?n(s)?e(s[0],s[1]):r(s):i(s)}return e0=a,e0}var t0,mk;function gR(){if(mk)return t0;mk=1;var r=WP(),e=FV(),t=la(),n=Sn();function i(a,s){var o=n(a)?r:e;return o(a,t(s,3))}return t0=i,t0}var n0,yk;function r7(){if(yk)return n0;yk=1;var r=Object.prototype,e=r.hasOwnProperty;function t(n,i){return n!=null&&e.call(n,i)}return n0=t,n0}var r0,bk;function vR(){if(bk)return r0;bk=1;var r=r7(),e=dR();function t(n,i){return n!=null&&e(n,i,r)}return r0=t,r0}var i0,xk;function i7(){if(xk)return i0;xk=1;var r=ox(),e=Go(),t=xc(),n=Sn(),i=oa(),a=qo(),s=dh(),o=wc(),l="[object Map]",c="[object Set]",u=Object.prototype,d=u.hasOwnProperty;function h(f){if(f==null)return!0;if(i(f)&&(n(f)||typeof f=="string"||typeof f.splice=="function"||a(f)||o(f)||t(f)))return!f.length;var g=e(f);if(g==l||g==c)return!f.size;if(s(f))return!r(f).length;for(var p in f)if(d.call(f,p))return!1;return!0}return i0=h,i0}var a0,wk;function pR(){if(wk)return a0;wk=1;function r(e){return e===void 0}return a0=r,a0}var s0,Ek;function mR(){if(Ek)return s0;Ek=1;var r=fh(),e=oa();function t(n,i){var a=-1,s=e(n)?Array(n.length):[];return r(n,function(o,l,c){s[++a]=i(o,l,c)}),s}return s0=t,s0}var o0,Sk;function yR(){if(Sk)return o0;Sk=1;var r=gh(),e=la(),t=mR(),n=Sn();function i(a,s){var o=n(a)?r:t;return o(a,e(s,3))}return o0=i,o0}var l0,_k;function a7(){if(_k)return l0;_k=1;function r(e,t,n,i){var a=-1,s=e==null?0:e.length;for(i&&s&&(n=e[++a]);++a<s;)n=t(n,e[a],a,e);return n}return l0=r,l0}var c0,kk;function s7(){if(kk)return c0;kk=1;function r(e,t,n,i,a){return a(e,function(s,o,l){n=i?(i=!1,s):t(n,s,o,l)}),n}return c0=r,c0}var u0,Mk;function bR(){if(Mk)return u0;Mk=1;var r=a7(),e=fh(),t=la(),n=s7(),i=Sn();function a(s,o,l){var c=i(s)?r:n,u=arguments.length<3;return c(s,t(o,4),l,u,e)}return u0=a,u0}var d0,Tk;function o7(){if(Tk)return d0;Tk=1;var r=Fs(),e=Sn(),t=ji(),n="[object String]";function i(a){return typeof a=="string"||!e(a)&&t(a)&&r(a)==n}return d0=i,d0}var h0,Ok;function l7(){if(Ok)return h0;Ok=1;var r=fR(),e=r("length");return h0=e,h0}var f0,Ck;function c7(){if(Ck)return f0;Ck=1;var r="\\ud800-\\udfff",e="\\u0300-\\u036f",t="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=e+t+n,a="\\ufe0e\\ufe0f",s="\\u200d",o=RegExp("["+s+r+i+a+"]");function l(c){return o.test(c)}return f0=l,f0}var g0,Nk;function u7(){if(Nk)return g0;Nk=1;var r="\\ud800-\\udfff",e="\\u0300-\\u036f",t="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=e+t+n,a="\\ufe0e\\ufe0f",s="["+r+"]",o="["+i+"]",l="\\ud83c[\\udffb-\\udfff]",c="(?:"+o+"|"+l+")",u="[^"+r+"]",d="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",f="\\u200d",g=c+"?",p="["+a+"]?",v="(?:"+f+"(?:"+[u,d,h].join("|")+")"+p+g+")*",m=p+g+v,y="(?:"+[u+o+"?",o,d,h,s].join("|")+")",b=RegExp(l+"(?="+l+")|"+y+m,"g");function w(E){for(var _=b.lastIndex=0;b.test(E);)++_;return _}return g0=w,g0}var v0,Ak;function d7(){if(Ak)return v0;Ak=1;var r=l7(),e=c7(),t=u7();function n(i){return e(i)?t(i):r(i)}return v0=n,v0}var p0,Pk;function h7(){if(Pk)return p0;Pk=1;var r=ox(),e=Go(),t=oa(),n=o7(),i=d7(),a="[object Map]",s="[object Set]";function o(l){if(l==null)return 0;if(t(l))return n(l)?i(l):l.length;var c=e(l);return c==a||c==s?l.size:r(l).length}return p0=o,p0}var m0,Rk;function f7(){if(Rk)return m0;Rk=1;var r=ix(),e=JP(),t=fx(),n=la(),i=hh(),a=Sn(),s=qo(),o=yc(),l=Xr(),c=wc();function u(d,h,f){var g=a(d),p=g||s(d)||c(d);if(h=n(h,4),f==null){var v=d&&d.constructor;p?f=g?new v:[]:l(d)?f=o(v)?e(i(d)):{}:f={}}return(p?r:t)(d,function(m,y,b){return h(f,m,y,b)}),f}return m0=u,m0}var y0,Lk;function g7(){if(Lk)return y0;Lk=1;var r=$o(),e=xc(),t=Sn(),n=r?r.isConcatSpreadable:void 0;function i(a){return t(a)||e(a)||!!(n&&a&&a[n])}return y0=i,y0}var b0,Ik;function px(){if(Ik)return b0;Ik=1;var r=cx(),e=g7();function t(n,i,a,s,o){var l=-1,c=n.length;for(a||(a=e),o||(o=[]);++l<c;){var u=n[l];i>0&&a(u)?i>1?t(u,i-1,a,s,o):r(o,u):s||(o[o.length]=u)}return o}return b0=t,b0}var x0,Dk;function v7(){if(Dk)return x0;Dk=1;function r(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}return x0=r,x0}var w0,Fk;function xR(){if(Fk)return w0;Fk=1;var r=v7(),e=Math.max;function t(n,i,a){return i=e(i===void 0?n.length-1:i,0),function(){for(var s=arguments,o=-1,l=e(s.length-i,0),c=Array(l);++o<l;)c[o]=s[i+o];o=-1;for(var u=Array(i+1);++o<i;)u[o]=s[o];return u[i]=a(c),r(n,this,u)}}return w0=t,w0}var E0,Bk;function p7(){if(Bk)return E0;Bk=1;var r=dx(),e=zP(),t=js(),n=e?function(i,a){return e(i,"toString",{configurable:!0,enumerable:!1,value:r(a),writable:!0})}:t;return E0=n,E0}var S0,zk;function m7(){if(zk)return S0;zk=1;var r=800,e=16,t=Date.now;function n(i){var a=0,s=0;return function(){var o=t(),l=e-(o-s);if(s=o,l>0){if(++a>=r)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return S0=n,S0}var _0,jk;function wR(){if(jk)return _0;jk=1;var r=p7(),e=m7(),t=e(r);return _0=t,_0}var k0,$k;function mh(){if($k)return k0;$k=1;var r=js(),e=xR(),t=wR();function n(i,a){return t(e(i,a,r),i+"")}return k0=n,k0}var M0,qk;function ER(){if(qk)return M0;qk=1;function r(e,t,n,i){for(var a=e.length,s=n+(i?1:-1);i?s--:++s<a;)if(t(e[s],s,e))return s;return-1}return M0=r,M0}var T0,Gk;function y7(){if(Gk)return T0;Gk=1;function r(e){return e!==e}return T0=r,T0}var O0,Wk;function b7(){if(Wk)return O0;Wk=1;function r(e,t,n){for(var i=n-1,a=e.length;++i<a;)if(e[i]===t)return i;return-1}return O0=r,O0}var C0,Vk;function x7(){if(Vk)return C0;Vk=1;var r=ER(),e=y7(),t=b7();function n(i,a,s){return a===a?t(i,a,s):r(i,e,s)}return C0=n,C0}var N0,Uk;function w7(){if(Uk)return N0;Uk=1;var r=x7();function e(t,n){var i=t==null?0:t.length;return!!i&&r(t,n,0)>-1}return N0=e,N0}var A0,Hk;function E7(){if(Hk)return A0;Hk=1;function r(e,t,n){for(var i=-1,a=e==null?0:e.length;++i<a;)if(n(t,e[i]))return!0;return!1}return A0=r,A0}var P0,Yk;function S7(){if(Yk)return P0;Yk=1;function r(){}return P0=r,P0}var R0,Kk;function _7(){if(Kk)return R0;Kk=1;var r=KP(),e=S7(),t=gx(),n=1/0,i=r&&1/t(new r([,-0]))[1]==n?function(a){return new r(a)}:e;return R0=i,R0}var L0,Xk;function k7(){if(Xk)return L0;Xk=1;var r=iR(),e=w7(),t=E7(),n=aR(),i=_7(),a=gx(),s=200;function o(l,c,u){var d=-1,h=e,f=l.length,g=!0,p=[],v=p;if(u)g=!1,h=t;else if(f>=s){var m=c?null:i(l);if(m)return a(m);g=!1,h=n,v=new r}else v=c?[]:p;e:for(;++d<f;){var y=l[d],b=c?c(y):y;if(y=u||y!==0?y:0,g&&b===b){for(var w=v.length;w--;)if(v[w]===b)continue e;c&&v.push(b),p.push(y)}else h(v,b,u)||(v!==p&&v.push(b),p.push(y))}return p}return L0=o,L0}var I0,Zk;function SR(){if(Zk)return I0;Zk=1;var r=oa(),e=ji();function t(n){return e(n)&&r(n)}return I0=t,I0}var D0,Jk;function M7(){if(Jk)return D0;Jk=1;var r=px(),e=mh(),t=k7(),n=SR(),i=e(function(a){return t(r(a,1,n,!0))});return D0=i,D0}var F0,Qk;function T7(){if(Qk)return F0;Qk=1;var r=gh();function e(t,n){return r(n,function(i){return t[i]})}return F0=e,F0}var B0,eM;function _R(){if(eM)return B0;eM=1;var r=T7(),e=Ka();function t(n){return n==null?[]:r(n,e(n))}return B0=t,B0}var z0,tM;function Zr(){if(tM)return z0;tM=1;var r;if(typeof fb=="function")try{r={clone:LV(),constant:dx(),each:rR(),filter:gR(),has:vR(),isArray:Sn(),isEmpty:i7(),isFunction:yc(),isUndefined:pR(),keys:Ka(),map:yR(),reduce:bR(),size:h7(),transform:f7(),union:M7(),values:_R()}}catch{}return r||(r=window._),z0=r,z0}var j0,nM;function mx(){if(nM)return j0;nM=1;var r=Zr();j0=i;var e="\0",t="\0",n="";function i(u){this._isDirected=r.has(u,"directed")?u.directed:!0,this._isMultigraph=r.has(u,"multigraph")?u.multigraph:!1,this._isCompound=r.has(u,"compound")?u.compound:!1,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[t]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(u){return this._label=u,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(u){return r.isFunction(u)||(u=r.constant(u)),this._defaultNodeLabelFn=u,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return r.keys(this._nodes)},i.prototype.sources=function(){var u=this;return r.filter(this.nodes(),function(d){return r.isEmpty(u._in[d])})},i.prototype.sinks=function(){var u=this;return r.filter(this.nodes(),function(d){return r.isEmpty(u._out[d])})},i.prototype.setNodes=function(u,d){var h=arguments,f=this;return r.each(u,function(g){h.length>1?f.setNode(g,d):f.setNode(g)}),this},i.prototype.setNode=function(u,d){return r.has(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=d),this):(this._nodes[u]=arguments.length>1?d:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=t,this._children[u]={},this._children[t][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)},i.prototype.node=function(u){return this._nodes[u]},i.prototype.hasNode=function(u){return r.has(this._nodes,u)},i.prototype.removeNode=function(u){var d=this;if(r.has(this._nodes,u)){var h=function(f){d.removeEdge(d._edgeObjs[f])};delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],r.each(this.children(u),function(f){d.setParent(f)}),delete this._children[u]),r.each(r.keys(this._in[u]),h),delete this._in[u],delete this._preds[u],r.each(r.keys(this._out[u]),h),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this},i.prototype.setParent=function(u,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(d))d=t;else{d+="";for(var h=d;!r.isUndefined(h);h=this.parent(h))if(h===u)throw new Error("Setting "+d+" as parent of "+u+" would create a cycle");this.setNode(d)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=d,this._children[d][u]=!0,this},i.prototype._removeFromParentsChildList=function(u){delete this._children[this._parent[u]][u]},i.prototype.parent=function(u){if(this._isCompound){var d=this._parent[u];if(d!==t)return d}},i.prototype.children=function(u){if(r.isUndefined(u)&&(u=t),this._isCompound){var d=this._children[u];if(d)return r.keys(d)}else{if(u===t)return this.nodes();if(this.hasNode(u))return[]}},i.prototype.predecessors=function(u){var d=this._preds[u];if(d)return r.keys(d)},i.prototype.successors=function(u){var d=this._sucs[u];if(d)return r.keys(d)},i.prototype.neighbors=function(u){var d=this.predecessors(u);if(d)return r.union(d,this.successors(u))},i.prototype.isLeaf=function(u){var d;return this.isDirected()?d=this.successors(u):d=this.neighbors(u),d.length===0},i.prototype.filterNodes=function(u){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var h=this;r.each(this._nodes,function(p,v){u(v)&&d.setNode(v,p)}),r.each(this._edgeObjs,function(p){d.hasNode(p.v)&&d.hasNode(p.w)&&d.setEdge(p,h.edge(p))});var f={};function g(p){var v=h.parent(p);return v===void 0||d.hasNode(v)?(f[p]=v,v):v in f?f[v]:g(v)}return this._isCompound&&r.each(d.nodes(),function(p){d.setParent(p,g(p))}),d},i.prototype.setDefaultEdgeLabel=function(u){return r.isFunction(u)||(u=r.constant(u)),this._defaultEdgeLabelFn=u,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return r.values(this._edgeObjs)},i.prototype.setPath=function(u,d){var h=this,f=arguments;return r.reduce(u,function(g,p){return f.length>1?h.setEdge(g,p,d):h.setEdge(g,p),p}),this},i.prototype.setEdge=function(){var u,d,h,f,g=!1,p=arguments[0];typeof p=="object"&&p!==null&&"v"in p?(u=p.v,d=p.w,h=p.name,arguments.length===2&&(f=arguments[1],g=!0)):(u=p,d=arguments[1],h=arguments[3],arguments.length>2&&(f=arguments[2],g=!0)),u=""+u,d=""+d,r.isUndefined(h)||(h=""+h);var v=o(this._isDirected,u,d,h);if(r.has(this._edgeLabels,v))return g&&(this._edgeLabels[v]=f),this;if(!r.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(d),this._edgeLabels[v]=g?f:this._defaultEdgeLabelFn(u,d,h);var m=l(this._isDirected,u,d,h);return u=m.v,d=m.w,Object.freeze(m),this._edgeObjs[v]=m,a(this._preds[d],u),a(this._sucs[u],d),this._in[d][v]=m,this._out[u][v]=m,this._edgeCount++,this},i.prototype.edge=function(u,d,h){var f=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,u,d,h);return this._edgeLabels[f]},i.prototype.hasEdge=function(u,d,h){var f=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,u,d,h);return r.has(this._edgeLabels,f)},i.prototype.removeEdge=function(u,d,h){var f=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,u,d,h),g=this._edgeObjs[f];return g&&(u=g.v,d=g.w,delete this._edgeLabels[f],delete this._edgeObjs[f],s(this._preds[d],u),s(this._sucs[u],d),delete this._in[d][f],delete this._out[u][f],this._edgeCount--),this},i.prototype.inEdges=function(u,d){var h=this._in[u];if(h){var f=r.values(h);return d?r.filter(f,function(g){return g.v===d}):f}},i.prototype.outEdges=function(u,d){var h=this._out[u];if(h){var f=r.values(h);return d?r.filter(f,function(g){return g.w===d}):f}},i.prototype.nodeEdges=function(u,d){var h=this.inEdges(u,d);if(h)return h.concat(this.outEdges(u,d))};function a(u,d){u[d]?u[d]++:u[d]=1}function s(u,d){--u[d]||delete u[d]}function o(u,d,h,f){var g=""+d,p=""+h;if(!u&&g>p){var v=g;g=p,p=v}return g+n+p+n+(r.isUndefined(f)?e:f)}function l(u,d,h,f){var g=""+d,p=""+h;if(!u&&g>p){var v=g;g=p,p=v}var m={v:g,w:p};return f&&(m.name=f),m}function c(u,d){return o(u,d.v,d.w,d.name)}return j0}var $0,rM;function O7(){return rM||(rM=1,$0="2.1.8"),$0}var q0,iM;function C7(){return iM||(iM=1,q0={Graph:mx(),version:O7()}),q0}var G0,aM;function N7(){if(aM)return G0;aM=1;var r=Zr(),e=mx();G0={write:t,read:a};function t(s){var o={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:n(s),edges:i(s)};return r.isUndefined(s.graph())||(o.value=r.clone(s.graph())),o}function n(s){return r.map(s.nodes(),function(o){var l=s.node(o),c=s.parent(o),u={v:o};return r.isUndefined(l)||(u.value=l),r.isUndefined(c)||(u.parent=c),u})}function i(s){return r.map(s.edges(),function(o){var l=s.edge(o),c={v:o.v,w:o.w};return r.isUndefined(o.name)||(c.name=o.name),r.isUndefined(l)||(c.value=l),c})}function a(s){var o=new e(s.options).setGraph(s.value);return r.each(s.nodes,function(l){o.setNode(l.v,l.value),l.parent&&o.setParent(l.v,l.parent)}),r.each(s.edges,function(l){o.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),o}return G0}var W0,sM;function A7(){if(sM)return W0;sM=1;var r=Zr();W0=e;function e(t){var n={},i=[],a;function s(o){r.has(n,o)||(n[o]=!0,a.push(o),r.each(t.successors(o),s),r.each(t.predecessors(o),s))}return r.each(t.nodes(),function(o){a=[],s(o),a.length&&i.push(a)}),i}return W0}var V0,oM;function kR(){if(oM)return V0;oM=1;var r=Zr();V0=e;function e(){this._arr=[],this._keyIndices={}}return e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(t){return t.key})},e.prototype.has=function(t){return r.has(this._keyIndices,t)},e.prototype.priority=function(t){var n=this._keyIndices[t];if(n!==void 0)return this._arr[n].priority},e.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(t,n){var i=this._keyIndices;if(t=String(t),!r.has(i,t)){var a=this._arr,s=a.length;return i[t]=s,a.push({key:t,priority:n}),this._decrease(s),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},e.prototype.decrease=function(t,n){var i=this._keyIndices[t];if(n>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[i].priority+" New: "+n);this._arr[i].priority=n,this._decrease(i)},e.prototype._heapify=function(t){var n=this._arr,i=2*t,a=i+1,s=t;i<n.length&&(s=n[i].priority<n[s].priority?i:s,a<n.length&&(s=n[a].priority<n[s].priority?a:s),s!==t&&(this._swap(t,s),this._heapify(s)))},e.prototype._decrease=function(t){for(var n=this._arr,i=n[t].priority,a;t!==0&&(a=t>>1,!(n[a].priority<i));)this._swap(t,a),t=a},e.prototype._swap=function(t,n){var i=this._arr,a=this._keyIndices,s=i[t],o=i[n];i[t]=o,i[n]=s,a[o.key]=t,a[s.key]=n},V0}var U0,lM;function MR(){if(lM)return U0;lM=1;var r=Zr(),e=kR();U0=n;var t=r.constant(1);function n(a,s,o,l){return i(a,String(s),o||t,l||function(c){return a.outEdges(c)})}function i(a,s,o,l){var c={},u=new e,d,h,f=function(g){var p=g.v!==d?g.v:g.w,v=c[p],m=o(g),y=h.distance+m;if(m<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+g+" Weight: "+m);y<v.distance&&(v.distance=y,v.predecessor=d,u.decrease(p,y))};for(a.nodes().forEach(function(g){var p=g===s?0:Number.POSITIVE_INFINITY;c[g]={distance:p},u.add(g,p)});u.size()>0&&(d=u.removeMin(),h=c[d],h.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(f);return c}return U0}var H0,cM;function P7(){if(cM)return H0;cM=1;var r=MR(),e=Zr();H0=t;function t(n,i,a){return e.transform(n.nodes(),function(s,o){s[o]=r(n,o,i,a)},{})}return H0}var Y0,uM;function TR(){if(uM)return Y0;uM=1;var r=Zr();Y0=e;function e(t){var n=0,i=[],a={},s=[];function o(l){var c=a[l]={onStack:!0,lowlink:n,index:n++};if(i.push(l),t.successors(l).forEach(function(h){r.has(a,h)?a[h].onStack&&(c.lowlink=Math.min(c.lowlink,a[h].index)):(o(h),c.lowlink=Math.min(c.lowlink,a[h].lowlink))}),c.lowlink===c.index){var u=[],d;do d=i.pop(),a[d].onStack=!1,u.push(d);while(l!==d);s.push(u)}}return t.nodes().forEach(function(l){r.has(a,l)||o(l)}),s}return Y0}var K0,dM;function R7(){if(dM)return K0;dM=1;var r=Zr(),e=TR();K0=t;function t(n){return r.filter(e(n),function(i){return i.length>1||i.length===1&&n.hasEdge(i[0],i[0])})}return K0}var X0,hM;function L7(){if(hM)return X0;hM=1;var r=Zr();X0=t;var e=r.constant(1);function t(i,a,s){return n(i,a||e,s||function(o){return i.outEdges(o)})}function n(i,a,s){var o={},l=i.nodes();return l.forEach(function(c){o[c]={},o[c][c]={distance:0},l.forEach(function(u){c!==u&&(o[c][u]={distance:Number.POSITIVE_INFINITY})}),s(c).forEach(function(u){var d=u.v===c?u.w:u.v,h=a(u);o[c][d]={distance:h,predecessor:c}})}),l.forEach(function(c){var u=o[c];l.forEach(function(d){var h=o[d];l.forEach(function(f){var g=h[c],p=u[f],v=h[f],m=g.distance+p.distance;m<v.distance&&(v.distance=m,v.predecessor=p.predecessor)})})}),o}return X0}var Z0,fM;function OR(){if(fM)return Z0;fM=1;var r=Zr();Z0=e,e.CycleException=t;function e(n){var i={},a={},s=[];function o(l){if(r.has(a,l))throw new t;r.has(i,l)||(a[l]=!0,i[l]=!0,r.each(n.predecessors(l),o),delete a[l],s.push(l))}if(r.each(n.sinks(),o),r.size(i)!==n.nodeCount())throw new t;return s}function t(){}return t.prototype=new Error,Z0}var J0,gM;function I7(){if(gM)return J0;gM=1;var r=OR();J0=e;function e(t){try{r(t)}catch(n){if(n instanceof r.CycleException)return!1;throw n}return!0}return J0}var Q0,vM;function CR(){if(vM)return Q0;vM=1;var r=Zr();Q0=e;function e(n,i,a){r.isArray(i)||(i=[i]);var s=(n.isDirected()?n.successors:n.neighbors).bind(n),o=[],l={};return r.each(i,function(c){if(!n.hasNode(c))throw new Error("Graph does not have node: "+c);t(n,c,a==="post",l,s,o)}),o}function t(n,i,a,s,o,l){r.has(s,i)||(s[i]=!0,a||l.push(i),r.each(o(i),function(c){t(n,c,a,s,o,l)}),a&&l.push(i))}return Q0}var em,pM;function D7(){if(pM)return em;pM=1;var r=CR();em=e;function e(t,n){return r(t,n,"post")}return em}var tm,mM;function F7(){if(mM)return tm;mM=1;var r=CR();tm=e;function e(t,n){return r(t,n,"pre")}return tm}var nm,yM;function B7(){if(yM)return nm;yM=1;var r=Zr(),e=mx(),t=kR();nm=n;function n(i,a){var s=new e,o={},l=new t,c;function u(h){var f=h.v===c?h.w:h.v,g=l.priority(f);if(g!==void 0){var p=a(h);p<g&&(o[f]=c,l.decrease(f,p))}}if(i.nodeCount()===0)return s;r.each(i.nodes(),function(h){l.add(h,Number.POSITIVE_INFINITY),s.setNode(h)}),l.decrease(i.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),r.has(o,c))s.setEdge(c,o[c]);else{if(d)throw new Error("Input graph is not connected: "+i);d=!0}i.nodeEdges(c).forEach(u)}return s}return nm}var rm,bM;function z7(){return bM||(bM=1,rm={components:A7(),dijkstra:MR(),dijkstraAll:P7(),findCycles:R7(),floydWarshall:L7(),isAcyclic:I7(),postorder:D7(),preorder:F7(),prim:B7(),tarjan:TR(),topsort:OR()}),rm}var im,xM;function j7(){if(xM)return im;xM=1;var r=C7();return im={Graph:r.Graph,json:N7(),alg:z7(),version:r.version},im}var am,wM;function hi(){if(wM)return am;wM=1;var r;if(typeof fb=="function")try{r=j7()}catch{}return r||(r=window.graphlib),am=r,am}var sm,EM;function $7(){if(EM)return sm;EM=1;var r=eR(),e=1,t=4;function n(i){return r(i,e|t)}return sm=n,sm}var om,SM;function yh(){if(SM)return om;SM=1;var r=jo(),e=oa(),t=ch(),n=Xr();function i(a,s,o){if(!n(o))return!1;var l=typeof s;return(l=="number"?e(o)&&t(s,o.length):l=="string"&&s in o)?r(o[s],a):!1}return om=i,om}var lm,_M;function q7(){if(_M)return lm;_M=1;var r=mh(),e=jo(),t=yh(),n=zs(),i=Object.prototype,a=i.hasOwnProperty,s=r(function(o,l){o=Object(o);var c=-1,u=l.length,d=u>2?l[2]:void 0;for(d&&t(l[0],l[1],d)&&(u=1);++c<u;)for(var h=l[c],f=n(h),g=-1,p=f.length;++g<p;){var v=f[g],m=o[v];(m===void 0||e(m,i[v])&&!a.call(o,v))&&(o[v]=h[v])}return o});return lm=s,lm}var cm,kM;function G7(){if(kM)return cm;kM=1;var r=la(),e=oa(),t=Ka();function n(i){return function(a,s,o){var l=Object(a);if(!e(a)){var c=r(s,3);a=t(a),s=function(d){return c(l[d],d,l)}}var u=i(a,s,o);return u>-1?l[c?a[u]:u]:void 0}}return cm=n,cm}var um,MM;function W7(){if(MM)return um;MM=1;var r=/\s/;function e(t){for(var n=t.length;n--&&r.test(t.charAt(n)););return n}return um=e,um}var dm,TM;function V7(){if(TM)return dm;TM=1;var r=W7(),e=/^\s+/;function t(n){return n&&n.slice(0,r(n)+1).replace(e,"")}return dm=t,dm}var hm,OM;function U7(){if(OM)return hm;OM=1;var r=V7(),e=Xr(),t=Wo(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=parseInt;function l(c){if(typeof c=="number")return c;if(t(c))return n;if(e(c)){var u=typeof c.valueOf=="function"?c.valueOf():c;c=e(u)?u+"":u}if(typeof c!="string")return c===0?c:+c;c=r(c);var d=a.test(c);return d||s.test(c)?o(c.slice(2),d?2:8):i.test(c)?n:+c}return hm=l,hm}var fm,CM;function NR(){if(CM)return fm;CM=1;var r=U7(),e=1/0,t=17976931348623157e292;function n(i){if(!i)return i===0?i:0;if(i=r(i),i===e||i===-1/0){var a=i<0?-1:1;return a*t}return i===i?i:0}return fm=n,fm}var gm,NM;function H7(){if(NM)return gm;NM=1;var r=NR();function e(t){var n=r(t),i=n%1;return n===n?i?n-i:n:0}return gm=e,gm}var vm,AM;function Y7(){if(AM)return vm;AM=1;var r=ER(),e=la(),t=H7(),n=Math.max;function i(a,s,o){var l=a==null?0:a.length;if(!l)return-1;var c=o==null?0:t(o);return c<0&&(c=n(l+c,0)),r(a,e(s,3),c)}return vm=i,vm}var pm,PM;function K7(){if(PM)return pm;PM=1;var r=G7(),e=Y7(),t=r(e);return pm=t,pm}var mm,RM;function AR(){if(RM)return mm;RM=1;var r=px();function e(t){var n=t==null?0:t.length;return n?r(t,1):[]}return mm=e,mm}var ym,LM;function X7(){if(LM)return ym;LM=1;var r=hx(),e=tR(),t=zs();function n(i,a){return i==null?i:r(i,e(a),t)}return ym=n,ym}var bm,IM;function Z7(){if(IM)return bm;IM=1;function r(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}return bm=r,bm}var xm,DM;function J7(){if(DM)return xm;DM=1;var r=oh(),e=fx(),t=la();function n(i,a){var s={};return a=t(a,3),e(i,function(o,l,c){r(s,l,a(o,l,c))}),s}return xm=n,xm}var wm,FM;function yx(){if(FM)return wm;FM=1;var r=Wo();function e(t,n,i){for(var a=-1,s=t.length;++a<s;){var o=t[a],l=n(o);if(l!=null&&(c===void 0?l===l&&!r(l):i(l,c)))var c=l,u=o}return u}return wm=e,wm}var Em,BM;function Q7(){if(BM)return Em;BM=1;function r(e,t){return e>t}return Em=r,Em}var Sm,zM;function eU(){if(zM)return Sm;zM=1;var r=yx(),e=Q7(),t=js();function n(i){return i&&i.length?r(i,t,e):void 0}return Sm=n,Sm}var _m,jM;function PR(){if(jM)return _m;jM=1;var r=oh(),e=jo();function t(n,i,a){(a!==void 0&&!e(n[i],a)||a===void 0&&!(i in n))&&r(n,i,a)}return _m=t,_m}var km,$M;function tU(){if($M)return km;$M=1;var r=Fs(),e=hh(),t=ji(),n="[object Object]",i=Function.prototype,a=Object.prototype,s=i.toString,o=a.hasOwnProperty,l=s.call(Object);function c(u){if(!t(u)||r(u)!=n)return!1;var d=e(u);if(d===null)return!0;var h=o.call(d,"constructor")&&d.constructor;return typeof h=="function"&&h instanceof h&&s.call(h)==l}return km=c,km}var Mm,qM;function RR(){if(qM)return Mm;qM=1;function r(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}return Mm=r,Mm}var Tm,GM;function nU(){if(GM)return Tm;GM=1;var r=bc(),e=zs();function t(n){return r(n,e(n))}return Tm=t,Tm}var Om,WM;function rU(){if(WM)return Om;WM=1;var r=PR(),e=qP(),t=ZP(),n=GP(),i=QP(),a=xc(),s=Sn(),o=SR(),l=qo(),c=yc(),u=Xr(),d=tU(),h=wc(),f=RR(),g=nU();function p(v,m,y,b,w,E,_){var O=f(v,y),M=f(m,y),N=_.get(M);if(N){r(v,y,N);return}var A=E?E(O,M,y+"",v,m,_):void 0,P=A===void 0;if(P){var L=s(M),I=!L&&l(M),G=!L&&!I&&h(M);A=M,L||I||G?s(O)?A=O:o(O)?A=n(O):I?(P=!1,A=e(M,!0)):G?(P=!1,A=t(M,!0)):A=[]:d(M)||a(M)?(A=O,a(O)?A=g(O):(!u(O)||c(O))&&(A=i(M))):P=!1}P&&(_.set(M,A),w(A,M,b,E,_),_.delete(M)),r(v,y,A)}return Om=p,Om}var Cm,VM;function iU(){if(VM)return Cm;VM=1;var r=sh(),e=PR(),t=hx(),n=rU(),i=Xr(),a=zs(),s=RR();function o(l,c,u,d,h){l!==c&&t(c,function(f,g){if(h||(h=new r),i(f))n(l,c,g,u,o,d,h);else{var p=d?d(s(l,g),f,g+"",l,c,h):void 0;p===void 0&&(p=f),e(l,g,p)}},a)}return Cm=o,Cm}var Nm,UM;function aU(){if(UM)return Nm;UM=1;var r=mh(),e=yh();function t(n){return r(function(i,a){var s=-1,o=a.length,l=o>1?a[o-1]:void 0,c=o>2?a[2]:void 0;for(l=n.length>3&&typeof l=="function"?(o--,l):void 0,c&&e(a[0],a[1],c)&&(l=o<3?void 0:l,o=1),i=Object(i);++s<o;){var u=a[s];u&&n(i,u,s,l)}return i})}return Nm=t,Nm}var Am,HM;function sU(){if(HM)return Am;HM=1;var r=iU(),e=aU(),t=e(function(n,i,a){r(n,i,a)});return Am=t,Am}var Pm,YM;function LR(){if(YM)return Pm;YM=1;function r(e,t){return e<t}return Pm=r,Pm}var Rm,KM;function oU(){if(KM)return Rm;KM=1;var r=yx(),e=LR(),t=js();function n(i){return i&&i.length?r(i,t,e):void 0}return Rm=n,Rm}var Lm,XM;function lU(){if(XM)return Lm;XM=1;var r=yx(),e=la(),t=LR();function n(i,a){return i&&i.length?r(i,e(a,2),t):void 0}return Lm=n,Lm}var Im,ZM;function cU(){if(ZM)return Im;ZM=1;var r=gi(),e=function(){return r.Date.now()};return Im=e,Im}var Dm,JM;function uU(){if(JM)return Dm;JM=1;var r=lh(),e=vh(),t=ch(),n=Xr(),i=Ec();function a(s,o,l,c){if(!n(s))return s;o=e(o,s);for(var u=-1,d=o.length,h=d-1,f=s;f!=null&&++u<d;){var g=i(o[u]),p=l;if(g==="__proto__"||g==="constructor"||g==="prototype")return s;if(u!=h){var v=f[g];p=c?c(v,g,f):void 0,p===void 0&&(p=n(v)?v:t(o[u+1])?[]:{})}r(f,g,p),f=f[g]}return s}return Dm=a,Dm}var Fm,QM;function dU(){if(QM)return Fm;QM=1;var r=ph(),e=uU(),t=vh();function n(i,a,s){for(var o=-1,l=a.length,c={};++o<l;){var u=a[o],d=r(i,u);s(d,u)&&e(c,t(u,i),d)}return c}return Fm=n,Fm}var Bm,eT;function hU(){if(eT)return Bm;eT=1;var r=dU(),e=hR();function t(n,i){return r(n,i,function(a,s){return e(n,s)})}return Bm=t,Bm}var zm,tT;function fU(){if(tT)return zm;tT=1;var r=AR(),e=xR(),t=wR();function n(i){return t(e(i,void 0,r),i+"")}return zm=n,zm}var jm,nT;function gU(){if(nT)return jm;nT=1;var r=hU(),e=fU(),t=e(function(n,i){return n==null?{}:r(n,i)});return jm=t,jm}var $m,rT;function vU(){if(rT)return $m;rT=1;var r=Math.ceil,e=Math.max;function t(n,i,a,s){for(var o=-1,l=e(r((i-n)/(a||1)),0),c=Array(l);l--;)c[s?l:++o]=n,n+=a;return c}return $m=t,$m}var qm,iT;function pU(){if(iT)return qm;iT=1;var r=vU(),e=yh(),t=NR();function n(i){return function(a,s,o){return o&&typeof o!="number"&&e(a,s,o)&&(s=o=void 0),a=t(a),s===void 0?(s=a,a=0):s=t(s),o=o===void 0?a<s?1:-1:t(o),r(a,s,o,i)}}return qm=n,qm}var Gm,aT;function mU(){if(aT)return Gm;aT=1;var r=pU(),e=r();return Gm=e,Gm}var Wm,sT;function yU(){if(sT)return Wm;sT=1;function r(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}return Wm=r,Wm}var Vm,oT;function bU(){if(oT)return Vm;oT=1;var r=Wo();function e(t,n){if(t!==n){var i=t!==void 0,a=t===null,s=t===t,o=r(t),l=n!==void 0,c=n===null,u=n===n,d=r(n);if(!c&&!d&&!o&&t>n||o&&l&&u&&!c&&!d||a&&l&&u||!i&&u||!s)return 1;if(!a&&!o&&!d&&t<n||d&&i&&s&&!a&&!o||c&&i&&s||!l&&s||!u)return-1}return 0}return Vm=e,Vm}var Um,lT;function xU(){if(lT)return Um;lT=1;var r=bU();function e(t,n,i){for(var a=-1,s=t.criteria,o=n.criteria,l=s.length,c=i.length;++a<l;){var u=r(s[a],o[a]);if(u){if(a>=c)return u;var d=i[a];return u*(d=="desc"?-1:1)}}return t.index-n.index}return Um=e,Um}var Hm,cT;function wU(){if(cT)return Hm;cT=1;var r=gh(),e=ph(),t=la(),n=mR(),i=yU(),a=uh(),s=xU(),o=js(),l=Sn();function c(u,d,h){d.length?d=r(d,function(p){return l(p)?function(v){return e(v,p.length===1?p[0]:p)}:p}):d=[o];var f=-1;d=r(d,a(t));var g=n(u,function(p,v,m){var y=r(d,function(b){return b(p)});return{criteria:y,index:++f,value:p}});return i(g,function(p,v){return s(p,v,h)})}return Hm=c,Hm}var Ym,uT;function EU(){if(uT)return Ym;uT=1;var r=px(),e=wU(),t=mh(),n=yh(),i=t(function(a,s){if(a==null)return[];var o=s.length;return o>1&&n(a,s[0],s[1])?s=[]:o>2&&n(s[0],s[1],s[2])&&(s=[s[0]]),e(a,r(s,1),[])});return Ym=i,Ym}var Km,dT;function SU(){if(dT)return Km;dT=1;var r=uR(),e=0;function t(n){var i=++e;return r(n)+i}return Km=t,Km}var Xm,hT;function _U(){if(hT)return Xm;hT=1;function r(e,t,n){for(var i=-1,a=e.length,s=t.length,o={};++i<a;){var l=i<s?t[i]:void 0;n(o,e[i],l)}return o}return Xm=r,Xm}var Zm,fT;function kU(){if(fT)return Zm;fT=1;var r=lh(),e=_U();function t(n,i){return e(n||[],i||[],r)}return Zm=t,Zm}var Jm,gT;function Jt(){if(gT)return Jm;gT=1;var r;if(typeof fb=="function")try{r={cloneDeep:$7(),constant:dx(),defaults:q7(),each:rR(),filter:gR(),find:K7(),flatten:AR(),forEach:nR(),forIn:X7(),has:vR(),isUndefined:pR(),last:Z7(),map:yR(),mapValues:J7(),max:eU(),merge:sU(),min:oU(),minBy:lU(),now:cU(),pick:gU(),range:mU(),reduce:bR(),sortBy:EU(),uniqueId:SU(),values:_R(),zipObject:kU()}}catch{}return r||(r=window._),Jm=r,Jm}var Qm,vT;function MU(){if(vT)return Qm;vT=1,Qm=r;function r(){var n={};n._next=n._prev=n,this._sentinel=n}r.prototype.dequeue=function(){var n=this._sentinel,i=n._prev;if(i!==n)return e(i),i},r.prototype.enqueue=function(n){var i=this._sentinel;n._prev&&n._next&&e(n),n._next=i._next,i._next._prev=n,i._next=n,n._prev=i},r.prototype.toString=function(){for(var n=[],i=this._sentinel,a=i._prev;a!==i;)n.push(JSON.stringify(a,t)),a=a._prev;return"["+n.join(", ")+"]"};function e(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function t(n,i){if(n!=="_next"&&n!=="_prev")return i}return Qm}var ey,pT;function TU(){if(pT)return ey;pT=1;var r=Jt(),e=hi().Graph,t=MU();ey=i;var n=r.constant(1);function i(c,u){if(c.nodeCount()<=1)return[];var d=o(c,u||n),h=a(d.graph,d.buckets,d.zeroIdx);return r.flatten(r.map(h,function(f){return c.outEdges(f.v,f.w)}),!0)}function a(c,u,d){for(var h=[],f=u[u.length-1],g=u[0],p;c.nodeCount();){for(;p=g.dequeue();)s(c,u,d,p);for(;p=f.dequeue();)s(c,u,d,p);if(c.nodeCount()){for(var v=u.length-2;v>0;--v)if(p=u[v].dequeue(),p){h=h.concat(s(c,u,d,p,!0));break}}}return h}function s(c,u,d,h,f){var g=f?[]:void 0;return r.forEach(c.inEdges(h.v),function(p){var v=c.edge(p),m=c.node(p.v);f&&g.push({v:p.v,w:p.w}),m.out-=v,l(u,d,m)}),r.forEach(c.outEdges(h.v),function(p){var v=c.edge(p),m=p.w,y=c.node(m);y.in-=v,l(u,d,y)}),c.removeNode(h.v),g}function o(c,u){var d=new e,h=0,f=0;r.forEach(c.nodes(),function(v){d.setNode(v,{v,in:0,out:0})}),r.forEach(c.edges(),function(v){var m=d.edge(v.v,v.w)||0,y=u(v),b=m+y;d.setEdge(v.v,v.w,b),f=Math.max(f,d.node(v.v).out+=y),h=Math.max(h,d.node(v.w).in+=y)});var g=r.range(f+h+3).map(function(){return new t}),p=h+1;return r.forEach(d.nodes(),function(v){l(g,p,d.node(v))}),{graph:d,buckets:g,zeroIdx:p}}function l(c,u,d){d.out?d.in?c[d.out-d.in+u].enqueue(d):c[c.length-1].enqueue(d):c[0].enqueue(d)}return ey}var ty,mT;function OU(){if(mT)return ty;mT=1;var r=Jt(),e=TU();ty={run:t,undo:i};function t(a){var s=a.graph().acyclicer==="greedy"?e(a,o(a)):n(a);r.forEach(s,function(l){var c=a.edge(l);a.removeEdge(l),c.forwardName=l.name,c.reversed=!0,a.setEdge(l.w,l.v,c,r.uniqueId("rev"))});function o(l){return function(c){return l.edge(c).weight}}}function n(a){var s=[],o={},l={};function c(u){r.has(l,u)||(l[u]=!0,o[u]=!0,r.forEach(a.outEdges(u),function(d){r.has(o,d.w)?s.push(d):c(d.w)}),delete o[u])}return r.forEach(a.nodes(),c),s}function i(a){r.forEach(a.edges(),function(s){var o=a.edge(s);if(o.reversed){a.removeEdge(s);var l=o.forwardName;delete o.reversed,delete o.forwardName,a.setEdge(s.w,s.v,o,l)}})}return ty}var ny,yT;function Sr(){if(yT)return ny;yT=1;var r=Jt(),e=hi().Graph;ny={addDummyNode:t,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:s,intersectRect:o,buildLayerMatrix:l,normalizeRanks:c,removeEmptyRanks:u,addBorderNode:d,maxRank:h,partition:f,time:g,notime:p};function t(v,m,y,b){var w;do w=r.uniqueId(b);while(v.hasNode(w));return y.dummy=m,v.setNode(w,y),w}function n(v){var m=new e().setGraph(v.graph());return r.forEach(v.nodes(),function(y){m.setNode(y,v.node(y))}),r.forEach(v.edges(),function(y){var b=m.edge(y.v,y.w)||{weight:0,minlen:1},w=v.edge(y);m.setEdge(y.v,y.w,{weight:b.weight+w.weight,minlen:Math.max(b.minlen,w.minlen)})}),m}function i(v){var m=new e({multigraph:v.isMultigraph()}).setGraph(v.graph());return r.forEach(v.nodes(),function(y){v.children(y).length||m.setNode(y,v.node(y))}),r.forEach(v.edges(),function(y){m.setEdge(y,v.edge(y))}),m}function a(v){var m=r.map(v.nodes(),function(y){var b={};return r.forEach(v.outEdges(y),function(w){b[w.w]=(b[w.w]||0)+v.edge(w).weight}),b});return r.zipObject(v.nodes(),m)}function s(v){var m=r.map(v.nodes(),function(y){var b={};return r.forEach(v.inEdges(y),function(w){b[w.v]=(b[w.v]||0)+v.edge(w).weight}),b});return r.zipObject(v.nodes(),m)}function o(v,m){var y=v.x,b=v.y,w=m.x-y,E=m.y-b,_=v.width/2,O=v.height/2;if(!w&&!E)throw new Error("Not possible to find intersection inside of the rectangle");var M,N;return Math.abs(E)*_>Math.abs(w)*O?(E<0&&(O=-O),M=O*w/E,N=O):(w<0&&(_=-_),M=_,N=_*E/w),{x:y+M,y:b+N}}function l(v){var m=r.map(r.range(h(v)+1),function(){return[]});return r.forEach(v.nodes(),function(y){var b=v.node(y),w=b.rank;r.isUndefined(w)||(m[w][b.order]=y)}),m}function c(v){var m=r.min(r.map(v.nodes(),function(y){return v.node(y).rank}));r.forEach(v.nodes(),function(y){var b=v.node(y);r.has(b,"rank")&&(b.rank-=m)})}function u(v){var m=r.min(r.map(v.nodes(),function(E){return v.node(E).rank})),y=[];r.forEach(v.nodes(),function(E){var _=v.node(E).rank-m;y[_]||(y[_]=[]),y[_].push(E)});var b=0,w=v.graph().nodeRankFactor;r.forEach(y,function(E,_){r.isUndefined(E)&&_%w!==0?--b:b&&r.forEach(E,function(O){v.node(O).rank+=b})})}function d(v,m,y,b){var w={width:0,height:0};return arguments.length>=4&&(w.rank=y,w.order=b),t(v,"border",w,m)}function h(v){return r.max(r.map(v.nodes(),function(m){var y=v.node(m).rank;if(!r.isUndefined(y))return y}))}function f(v,m){var y={lhs:[],rhs:[]};return r.forEach(v,function(b){m(b)?y.lhs.push(b):y.rhs.push(b)}),y}function g(v,m){var y=r.now();try{return m()}finally{console.log(v+" time: "+(r.now()-y)+"ms")}}function p(v,m){return m()}return ny}var ry,bT;function CU(){if(bT)return ry;bT=1;var r=Jt(),e=Sr();ry={run:t,undo:i};function t(a){a.graph().dummyChains=[],r.forEach(a.edges(),function(s){n(a,s)})}function n(a,s){var o=s.v,l=a.node(o).rank,c=s.w,u=a.node(c).rank,d=s.name,h=a.edge(s),f=h.labelRank;if(u!==l+1){a.removeEdge(s);var g,p,v;for(v=0,++l;l<u;++v,++l)h.points=[],p={width:0,height:0,edgeLabel:h,edgeObj:s,rank:l},g=e.addDummyNode(a,"edge",p,"_d"),l===f&&(p.width=h.width,p.height=h.height,p.dummy="edge-label",p.labelpos=h.labelpos),a.setEdge(o,g,{weight:h.weight},d),v===0&&a.graph().dummyChains.push(g),o=g;a.setEdge(o,c,{weight:h.weight},d)}}function i(a){r.forEach(a.graph().dummyChains,function(s){var o=a.node(s),l=o.edgeLabel,c;for(a.setEdge(o.edgeObj,l);o.dummy;)c=a.successors(s)[0],a.removeNode(s),l.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(l.x=o.x,l.y=o.y,l.width=o.width,l.height=o.height),s=c,o=a.node(s)})}return ry}var iy,xT;function hd(){if(xT)return iy;xT=1;var r=Jt();iy={longestPath:e,slack:t};function e(n){var i={};function a(s){var o=n.node(s);if(r.has(i,s))return o.rank;i[s]=!0;var l=r.min(r.map(n.outEdges(s),function(c){return a(c.w)-n.edge(c).minlen}));return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),o.rank=l}r.forEach(n.sources(),a)}function t(n,i){return n.node(i.w).rank-n.node(i.v).rank-n.edge(i).minlen}return iy}var ay,wT;function IR(){if(wT)return ay;wT=1;var r=Jt(),e=hi().Graph,t=hd().slack;ay=n;function n(o){var l=new e({directed:!1}),c=o.nodes()[0],u=o.nodeCount();l.setNode(c,{});for(var d,h;i(l,o)<u;)d=a(l,o),h=l.hasNode(d.v)?t(o,d):-t(o,d),s(l,o,h);return l}function i(o,l){function c(u){r.forEach(l.nodeEdges(u),function(d){var h=d.v,f=u===h?d.w:h;!o.hasNode(f)&&!t(l,d)&&(o.setNode(f,{}),o.setEdge(u,f,{}),c(f))})}return r.forEach(o.nodes(),c),o.nodeCount()}function a(o,l){return r.minBy(l.edges(),function(c){if(o.hasNode(c.v)!==o.hasNode(c.w))return t(l,c)})}function s(o,l,c){r.forEach(o.nodes(),function(u){l.node(u).rank+=c})}return ay}var sy,ET;function NU(){if(ET)return sy;ET=1;var r=Jt(),e=IR(),t=hd().slack,n=hd().longestPath,i=hi().alg.preorder,a=hi().alg.postorder,s=Sr().simplify;sy=o,o.initLowLimValues=d,o.initCutValues=l,o.calcCutValue=u,o.leaveEdge=f,o.enterEdge=g,o.exchangeEdges=p;function o(b){b=s(b),n(b);var w=e(b);d(w),l(w,b);for(var E,_;E=f(w);)_=g(w,b,E),p(w,b,E,_)}function l(b,w){var E=a(b,b.nodes());E=E.slice(0,E.length-1),r.forEach(E,function(_){c(b,w,_)})}function c(b,w,E){var _=b.node(E),O=_.parent;b.edge(E,O).cutvalue=u(b,w,E)}function u(b,w,E){var _=b.node(E),O=_.parent,M=!0,N=w.edge(E,O),A=0;return N||(M=!1,N=w.edge(O,E)),A=N.weight,r.forEach(w.nodeEdges(E),function(P){var L=P.v===E,I=L?P.w:P.v;if(I!==O){var G=L===M,H=w.edge(P).weight;if(A+=G?H:-H,m(b,E,I)){var Y=b.edge(E,I).cutvalue;A+=G?-Y:Y}}}),A}function d(b,w){arguments.length<2&&(w=b.nodes()[0]),h(b,{},1,w)}function h(b,w,E,_,O){var M=E,N=b.node(_);return w[_]=!0,r.forEach(b.neighbors(_),function(A){r.has(w,A)||(E=h(b,w,E,A,_))}),N.low=M,N.lim=E++,O?N.parent=O:delete N.parent,E}function f(b){return r.find(b.edges(),function(w){return b.edge(w).cutvalue<0})}function g(b,w,E){var _=E.v,O=E.w;w.hasEdge(_,O)||(_=E.w,O=E.v);var M=b.node(_),N=b.node(O),A=M,P=!1;M.lim>N.lim&&(A=N,P=!0);var L=r.filter(w.edges(),function(I){return P===y(b,b.node(I.v),A)&&P!==y(b,b.node(I.w),A)});return r.minBy(L,function(I){return t(w,I)})}function p(b,w,E,_){var O=E.v,M=E.w;b.removeEdge(O,M),b.setEdge(_.v,_.w,{}),d(b),l(b,w),v(b,w)}function v(b,w){var E=r.find(b.nodes(),function(O){return!w.node(O).parent}),_=i(b,E);_=_.slice(1),r.forEach(_,function(O){var M=b.node(O).parent,N=w.edge(O,M),A=!1;N||(N=w.edge(M,O),A=!0),w.node(O).rank=w.node(M).rank+(A?N.minlen:-N.minlen)})}function m(b,w,E){return b.hasEdge(w,E)}function y(b,w,E){return E.low<=w.lim&&w.lim<=E.lim}return sy}var oy,ST;function AU(){if(ST)return oy;ST=1;var r=hd(),e=r.longestPath,t=IR(),n=NU();oy=i;function i(l){switch(l.graph().ranker){case"network-simplex":o(l);break;case"tight-tree":s(l);break;case"longest-path":a(l);break;default:o(l)}}var a=e;function s(l){e(l),t(l)}function o(l){n(l)}return oy}var ly,_T;function PU(){if(_T)return ly;_T=1;var r=Jt();ly=e;function e(i){var a=n(i);r.forEach(i.graph().dummyChains,function(s){for(var o=i.node(s),l=o.edgeObj,c=t(i,a,l.v,l.w),u=c.path,d=c.lca,h=0,f=u[h],g=!0;s!==l.w;){if(o=i.node(s),g){for(;(f=u[h])!==d&&i.node(f).maxRank<o.rank;)h++;f===d&&(g=!1)}if(!g){for(;h<u.length-1&&i.node(f=u[h+1]).minRank<=o.rank;)h++;f=u[h]}i.setParent(s,f),s=i.successors(s)[0]}})}function t(i,a,s,o){var l=[],c=[],u=Math.min(a[s].low,a[o].low),d=Math.max(a[s].lim,a[o].lim),h,f;h=s;do h=i.parent(h),l.push(h);while(h&&(a[h].low>u||d>a[h].lim));for(f=h,h=o;(h=i.parent(h))!==f;)c.push(h);return{path:l.concat(c.reverse()),lca:f}}function n(i){var a={},s=0;function o(l){var c=s;r.forEach(i.children(l),o),a[l]={low:c,lim:s++}}return r.forEach(i.children(),o),a}return ly}var cy,kT;function RU(){if(kT)return cy;kT=1;var r=Jt(),e=Sr();cy={run:t,cleanup:s};function t(o){var l=e.addDummyNode(o,"root",{},"_root"),c=i(o),u=r.max(r.values(c))-1,d=2*u+1;o.graph().nestingRoot=l,r.forEach(o.edges(),function(f){o.edge(f).minlen*=d});var h=a(o)+1;r.forEach(o.children(),function(f){n(o,l,d,h,u,c,f)}),o.graph().nodeRankFactor=d}function n(o,l,c,u,d,h,f){var g=o.children(f);if(!g.length){f!==l&&o.setEdge(l,f,{weight:0,minlen:c});return}var p=e.addBorderNode(o,"_bt"),v=e.addBorderNode(o,"_bb"),m=o.node(f);o.setParent(p,f),m.borderTop=p,o.setParent(v,f),m.borderBottom=v,r.forEach(g,function(y){n(o,l,c,u,d,h,y);var b=o.node(y),w=b.borderTop?b.borderTop:y,E=b.borderBottom?b.borderBottom:y,_=b.borderTop?u:2*u,O=w!==E?1:d-h[f]+1;o.setEdge(p,w,{weight:_,minlen:O,nestingEdge:!0}),o.setEdge(E,v,{weight:_,minlen:O,nestingEdge:!0})}),o.parent(f)||o.setEdge(l,p,{weight:0,minlen:d+h[f]})}function i(o){var l={};function c(u,d){var h=o.children(u);h&&h.length&&r.forEach(h,function(f){c(f,d+1)}),l[u]=d}return r.forEach(o.children(),function(u){c(u,1)}),l}function a(o){return r.reduce(o.edges(),function(l,c){return l+o.edge(c).weight},0)}function s(o){var l=o.graph();o.removeNode(l.nestingRoot),delete l.nestingRoot,r.forEach(o.edges(),function(c){var u=o.edge(c);u.nestingEdge&&o.removeEdge(c)})}return cy}var uy,MT;function LU(){if(MT)return uy;MT=1;var r=Jt(),e=Sr();uy=t;function t(i){function a(s){var o=i.children(s),l=i.node(s);if(o.length&&r.forEach(o,a),r.has(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(var c=l.minRank,u=l.maxRank+1;c<u;++c)n(i,"borderLeft","_bl",s,l,c),n(i,"borderRight","_br",s,l,c)}}r.forEach(i.children(),a)}function n(i,a,s,o,l,c){var u={width:0,height:0,rank:c,borderType:a},d=l[a][c-1],h=e.addDummyNode(i,"border",u,s);l[a][c]=h,i.setParent(h,o),d&&i.setEdge(d,h,{weight:1})}return uy}var dy,TT;function IU(){if(TT)return dy;TT=1;var r=Jt();dy={adjust:e,undo:t};function e(c){var u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){var u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&a(c),(u==="lr"||u==="rl")&&(o(c),n(c))}function n(c){r.forEach(c.nodes(),function(u){i(c.node(u))}),r.forEach(c.edges(),function(u){i(c.edge(u))})}function i(c){var u=c.width;c.width=c.height,c.height=u}function a(c){r.forEach(c.nodes(),function(u){s(c.node(u))}),r.forEach(c.edges(),function(u){var d=c.edge(u);r.forEach(d.points,s),r.has(d,"y")&&s(d)})}function s(c){c.y=-c.y}function o(c){r.forEach(c.nodes(),function(u){l(c.node(u))}),r.forEach(c.edges(),function(u){var d=c.edge(u);r.forEach(d.points,l),r.has(d,"x")&&l(d)})}function l(c){var u=c.x;c.x=c.y,c.y=u}return dy}var hy,OT;function DU(){if(OT)return hy;OT=1;var r=Jt();hy=e;function e(t){var n={},i=r.filter(t.nodes(),function(c){return!t.children(c).length}),a=r.max(r.map(i,function(c){return t.node(c).rank})),s=r.map(r.range(a+1),function(){return[]});function o(c){if(!r.has(n,c)){n[c]=!0;var u=t.node(c);s[u.rank].push(c),r.forEach(t.successors(c),o)}}var l=r.sortBy(i,function(c){return t.node(c).rank});return r.forEach(l,o),s}return hy}var fy,CT;function FU(){if(CT)return fy;CT=1;var r=Jt();fy=e;function e(n,i){for(var a=0,s=1;s<i.length;++s)a+=t(n,i[s-1],i[s]);return a}function t(n,i,a){for(var s=r.zipObject(a,r.map(a,function(h,f){return f})),o=r.flatten(r.map(i,function(h){return r.sortBy(r.map(n.outEdges(h),function(f){return{pos:s[f.w],weight:n.edge(f).weight}}),"pos")}),!0),l=1;l<a.length;)l<<=1;var c=2*l-1;l-=1;var u=r.map(new Array(c),function(){return 0}),d=0;return r.forEach(o.forEach(function(h){var f=h.pos+l;u[f]+=h.weight;for(var g=0;f>0;)f%2&&(g+=u[f+1]),f=f-1>>1,u[f]+=h.weight;d+=h.weight*g})),d}return fy}var gy,NT;function BU(){if(NT)return gy;NT=1;var r=Jt();gy=e;function e(t,n){return r.map(n,function(i){var a=t.inEdges(i);if(a.length){var s=r.reduce(a,function(o,l){var c=t.edge(l),u=t.node(l.v);return{sum:o.sum+c.weight*u.order,weight:o.weight+c.weight}},{sum:0,weight:0});return{v:i,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:i}})}return gy}var vy,AT;function zU(){if(AT)return vy;AT=1;var r=Jt();vy=e;function e(i,a){var s={};r.forEach(i,function(l,c){var u=s[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:c};r.isUndefined(l.barycenter)||(u.barycenter=l.barycenter,u.weight=l.weight)}),r.forEach(a.edges(),function(l){var c=s[l.v],u=s[l.w];!r.isUndefined(c)&&!r.isUndefined(u)&&(u.indegree++,c.out.push(s[l.w]))});var o=r.filter(s,function(l){return!l.indegree});return t(o)}function t(i){var a=[];function s(c){return function(u){u.merged||(r.isUndefined(u.barycenter)||r.isUndefined(c.barycenter)||u.barycenter>=c.barycenter)&&n(c,u)}}function o(c){return function(u){u.in.push(c),--u.indegree===0&&i.push(u)}}for(;i.length;){var l=i.pop();a.push(l),r.forEach(l.in.reverse(),s(l)),r.forEach(l.out,o(l))}return r.map(r.filter(a,function(c){return!c.merged}),function(c){return r.pick(c,["vs","i","barycenter","weight"])})}function n(i,a){var s=0,o=0;i.weight&&(s+=i.barycenter*i.weight,o+=i.weight),a.weight&&(s+=a.barycenter*a.weight,o+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=s/o,i.weight=o,i.i=Math.min(a.i,i.i),a.merged=!0}return vy}var py,PT;function jU(){if(PT)return py;PT=1;var r=Jt(),e=Sr();py=t;function t(a,s){var o=e.partition(a,function(p){return r.has(p,"barycenter")}),l=o.lhs,c=r.sortBy(o.rhs,function(p){return-p.i}),u=[],d=0,h=0,f=0;l.sort(i(!!s)),f=n(u,c,f),r.forEach(l,function(p){f+=p.vs.length,u.push(p.vs),d+=p.barycenter*p.weight,h+=p.weight,f=n(u,c,f)});var g={vs:r.flatten(u,!0)};return h&&(g.barycenter=d/h,g.weight=h),g}function n(a,s,o){for(var l;s.length&&(l=r.last(s)).i<=o;)s.pop(),a.push(l.vs),o++;return o}function i(a){return function(s,o){return s.barycenter<o.barycenter?-1:s.barycenter>o.barycenter?1:a?o.i-s.i:s.i-o.i}}return py}var my,RT;function $U(){if(RT)return my;RT=1;var r=Jt(),e=BU(),t=zU(),n=jU();my=i;function i(o,l,c,u){var d=o.children(l),h=o.node(l),f=h?h.borderLeft:void 0,g=h?h.borderRight:void 0,p={};f&&(d=r.filter(d,function(E){return E!==f&&E!==g}));var v=e(o,d);r.forEach(v,function(E){if(o.children(E.v).length){var _=i(o,E.v,c,u);p[E.v]=_,r.has(_,"barycenter")&&s(E,_)}});var m=t(v,c);a(m,p);var y=n(m,u);if(f&&(y.vs=r.flatten([f,y.vs,g],!0),o.predecessors(f).length)){var b=o.node(o.predecessors(f)[0]),w=o.node(o.predecessors(g)[0]);r.has(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+b.order+w.order)/(y.weight+2),y.weight+=2}return y}function a(o,l){r.forEach(o,function(c){c.vs=r.flatten(c.vs.map(function(u){return l[u]?l[u].vs:u}),!0)})}function s(o,l){r.isUndefined(o.barycenter)?(o.barycenter=l.barycenter,o.weight=l.weight):(o.barycenter=(o.barycenter*o.weight+l.barycenter*l.weight)/(o.weight+l.weight),o.weight+=l.weight)}return my}var yy,LT;function qU(){if(LT)return yy;LT=1;var r=Jt(),e=hi().Graph;yy=t;function t(i,a,s){var o=n(i),l=new e({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(c){return i.node(c)});return r.forEach(i.nodes(),function(c){var u=i.node(c),d=i.parent(c);(u.rank===a||u.minRank<=a&&a<=u.maxRank)&&(l.setNode(c),l.setParent(c,d||o),r.forEach(i[s](c),function(h){var f=h.v===c?h.w:h.v,g=l.edge(f,c),p=r.isUndefined(g)?0:g.weight;l.setEdge(f,c,{weight:i.edge(h).weight+p})}),r.has(u,"minRank")&&l.setNode(c,{borderLeft:u.borderLeft[a],borderRight:u.borderRight[a]}))}),l}function n(i){for(var a;i.hasNode(a=r.uniqueId("_root")););return a}return yy}var by,IT;function GU(){if(IT)return by;IT=1;var r=Jt();by=e;function e(t,n,i){var a={},s;r.forEach(i,function(o){for(var l=t.parent(o),c,u;l;){if(c=t.parent(l),c?(u=a[c],a[c]=l):(u=s,s=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return by}var xy,DT;function WU(){if(DT)return xy;DT=1;var r=Jt(),e=DU(),t=FU(),n=$U(),i=qU(),a=GU(),s=hi().Graph,o=Sr();xy=l;function l(h){var f=o.maxRank(h),g=c(h,r.range(1,f+1),"inEdges"),p=c(h,r.range(f-1,-1,-1),"outEdges"),v=e(h);d(h,v);for(var m=Number.POSITIVE_INFINITY,y,b=0,w=0;w<4;++b,++w){u(b%2?g:p,b%4>=2),v=o.buildLayerMatrix(h);var E=t(h,v);E<m&&(w=0,y=r.cloneDeep(v),m=E)}d(h,y)}function c(h,f,g){return r.map(f,function(p){return i(h,p,g)})}function u(h,f){var g=new s;r.forEach(h,function(p){var v=p.graph().root,m=n(p,v,g,f);r.forEach(m.vs,function(y,b){p.node(y).order=b}),a(p,g,m.vs)})}function d(h,f){r.forEach(f,function(g){r.forEach(g,function(p,v){h.node(p).order=v})})}return xy}var wy,FT;function VU(){if(FT)return wy;FT=1;var r=Jt(),e=hi().Graph,t=Sr();wy={positionX:g,findType1Conflicts:n,findType2Conflicts:i,addConflict:s,hasConflict:o,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:h,findSmallestWidthAlignment:d,balance:f};function n(m,y){var b={};function w(E,_){var O=0,M=0,N=E.length,A=r.last(_);return r.forEach(_,function(P,L){var I=a(m,P),G=I?m.node(I).order:N;(I||P===A)&&(r.forEach(_.slice(M,L+1),function(H){r.forEach(m.predecessors(H),function(Y){var W=m.node(Y),q=W.order;(q<O||G<q)&&!(W.dummy&&m.node(H).dummy)&&s(b,Y,H)})}),M=L+1,O=G)}),_}return r.reduce(y,w),b}function i(m,y){var b={};function w(_,O,M,N,A){var P;r.forEach(r.range(O,M),function(L){P=_[L],m.node(P).dummy&&r.forEach(m.predecessors(P),function(I){var G=m.node(I);G.dummy&&(G.order<N||G.order>A)&&s(b,I,P)})})}function E(_,O){var M=-1,N,A=0;return r.forEach(O,function(P,L){if(m.node(P).dummy==="border"){var I=m.predecessors(P);I.length&&(N=m.node(I[0]).order,w(O,A,L,M,N),A=L,M=N)}w(O,A,O.length,N,_.length)}),O}return r.reduce(y,E),b}function a(m,y){if(m.node(y).dummy)return r.find(m.predecessors(y),function(b){return m.node(b).dummy})}function s(m,y,b){if(y>b){var w=y;y=b,b=w}var E=m[y];E||(m[y]=E={}),E[b]=!0}function o(m,y,b){if(y>b){var w=y;y=b,b=w}return r.has(m[y],b)}function l(m,y,b,w){var E={},_={},O={};return r.forEach(y,function(M){r.forEach(M,function(N,A){E[N]=N,_[N]=N,O[N]=A})}),r.forEach(y,function(M){var N=-1;r.forEach(M,function(A){var P=w(A);if(P.length){P=r.sortBy(P,function(Y){return O[Y]});for(var L=(P.length-1)/2,I=Math.floor(L),G=Math.ceil(L);I<=G;++I){var H=P[I];_[A]===A&&N<O[H]&&!o(b,A,H)&&(_[H]=A,_[A]=E[A]=E[H],N=O[H])}}})}),{root:E,align:_}}function c(m,y,b,w,E){var _={},O=u(m,y,b,E),M=E?"borderLeft":"borderRight";function N(L,I){for(var G=O.nodes(),H=G.pop(),Y={};H;)Y[H]?L(H):(Y[H]=!0,G.push(H),G=G.concat(I(H))),H=G.pop()}function A(L){_[L]=O.inEdges(L).reduce(function(I,G){return Math.max(I,_[G.v]+O.edge(G))},0)}function P(L){var I=O.outEdges(L).reduce(function(H,Y){return Math.min(H,_[Y.w]-O.edge(Y))},Number.POSITIVE_INFINITY),G=m.node(L);I!==Number.POSITIVE_INFINITY&&G.borderType!==M&&(_[L]=Math.max(_[L],I))}return N(A,O.predecessors.bind(O)),N(P,O.successors.bind(O)),r.forEach(w,function(L){_[L]=_[b[L]]}),_}function u(m,y,b,w){var E=new e,_=m.graph(),O=p(_.nodesep,_.edgesep,w);return r.forEach(y,function(M){var N;r.forEach(M,function(A){var P=b[A];if(E.setNode(P),N){var L=b[N],I=E.edge(L,P);E.setEdge(L,P,Math.max(O(m,A,N),I||0))}N=A})}),E}function d(m,y){return r.minBy(r.values(y),function(b){var w=Number.NEGATIVE_INFINITY,E=Number.POSITIVE_INFINITY;return r.forIn(b,function(_,O){var M=v(m,O)/2;w=Math.max(_+M,w),E=Math.min(_-M,E)}),w-E})}function h(m,y){var b=r.values(y),w=r.min(b),E=r.max(b);r.forEach(["u","d"],function(_){r.forEach(["l","r"],function(O){var M=_+O,N=m[M],A;if(N!==y){var P=r.values(N);A=O==="l"?w-r.min(P):E-r.max(P),A&&(m[M]=r.mapValues(N,function(L){return L+A}))}})})}function f(m,y){return r.mapValues(m.ul,function(b,w){if(y)return m[y.toLowerCase()][w];var E=r.sortBy(r.map(m,w));return(E[1]+E[2])/2})}function g(m){var y=t.buildLayerMatrix(m),b=r.merge(n(m,y),i(m,y)),w={},E;r.forEach(["u","d"],function(O){E=O==="u"?y:r.values(y).reverse(),r.forEach(["l","r"],function(M){M==="r"&&(E=r.map(E,function(L){return r.values(L).reverse()}));var N=(O==="u"?m.predecessors:m.successors).bind(m),A=l(m,E,b,N),P=c(m,E,A.root,A.align,M==="r");M==="r"&&(P=r.mapValues(P,function(L){return-L})),w[O+M]=P})});var _=d(m,w);return h(w,_),f(w,m.graph().align)}function p(m,y,b){return function(w,E,_){var O=w.node(E),M=w.node(_),N=0,A;if(N+=O.width/2,r.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":A=-O.width/2;break;case"r":A=O.width/2;break}if(A&&(N+=b?A:-A),A=0,N+=(O.dummy?y:m)/2,N+=(M.dummy?y:m)/2,N+=M.width/2,r.has(M,"labelpos"))switch(M.labelpos.toLowerCase()){case"l":A=M.width/2;break;case"r":A=-M.width/2;break}return A&&(N+=b?A:-A),A=0,N}}function v(m,y){return m.node(y).width}return wy}var Ey,BT;function UU(){if(BT)return Ey;BT=1;var r=Jt(),e=Sr(),t=VU().positionX;Ey=n;function n(a){a=e.asNonCompoundGraph(a),i(a),r.forEach(t(a),function(s,o){a.node(o).x=s})}function i(a){var s=e.buildLayerMatrix(a),o=a.graph().ranksep,l=0;r.forEach(s,function(c){var u=r.max(r.map(c,function(d){return a.node(d).height}));r.forEach(c,function(d){a.node(d).y=l+u/2}),l+=u+o})}return Ey}var Sy,zT;function HU(){if(zT)return Sy;zT=1;var r=Jt(),e=OU(),t=CU(),n=AU(),i=Sr().normalizeRanks,a=PU(),s=Sr().removeEmptyRanks,o=RU(),l=LU(),c=IU(),u=WU(),d=UU(),h=Sr(),f=hi().Graph;Sy=g;function g(X,U){var ne=U&&U.debugTiming?h.time:h.notime;ne("layout",function(){var ue=ne(" buildLayoutGraph",function(){return N(X)});ne(" runLayout",function(){p(ue,ne)}),ne(" updateInputGraph",function(){v(X,ue)})})}function p(X,U){U(" makeSpaceForEdgeLabels",function(){A(X)}),U(" removeSelfEdges",function(){Q(X)}),U(" acyclic",function(){e.run(X)}),U(" nestingGraph.run",function(){o.run(X)}),U(" rank",function(){n(h.asNonCompoundGraph(X))}),U(" injectEdgeLabelProxies",function(){P(X)}),U(" removeEmptyRanks",function(){s(X)}),U(" nestingGraph.cleanup",function(){o.cleanup(X)}),U(" normalizeRanks",function(){i(X)}),U(" assignRankMinMax",function(){L(X)}),U(" removeEdgeLabelProxies",function(){I(X)}),U(" normalize.run",function(){t.run(X)}),U(" parentDummyChains",function(){a(X)}),U(" addBorderSegments",function(){l(X)}),U(" order",function(){u(X)}),U(" insertSelfEdges",function(){re(X)}),U(" adjustCoordinateSystem",function(){c.adjust(X)}),U(" position",function(){d(X)}),U(" positionSelfEdges",function(){de(X)}),U(" removeBorderNodes",function(){q(X)}),U(" normalize.undo",function(){t.undo(X)}),U(" fixupEdgeLabelCoords",function(){Y(X)}),U(" undoCoordinateSystem",function(){c.undo(X)}),U(" translateGraph",function(){G(X)}),U(" assignNodeIntersects",function(){H(X)}),U(" reversePoints",function(){W(X)}),U(" acyclic.undo",function(){e.undo(X)})}function v(X,U){r.forEach(X.nodes(),function(ne){var ue=X.node(ne),Me=U.node(ne);ue&&(ue.x=Me.x,ue.y=Me.y,U.children(ne).length&&(ue.width=Me.width,ue.height=Me.height))}),r.forEach(X.edges(),function(ne){var ue=X.edge(ne),Me=U.edge(ne);ue.points=Me.points,r.has(Me,"x")&&(ue.x=Me.x,ue.y=Me.y)}),X.graph().width=U.graph().width,X.graph().height=U.graph().height}var m=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],w=["width","height"],E={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],O={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"];function N(X){var U=new f({multigraph:!0,compound:!0}),ne=he(X.graph());return U.setGraph(r.merge({},y,oe(ne,m),r.pick(ne,b))),r.forEach(X.nodes(),function(ue){var Me=he(X.node(ue));U.setNode(ue,r.defaults(oe(Me,w),E)),U.setParent(ue,X.parent(ue))}),r.forEach(X.edges(),function(ue){var Me=he(X.edge(ue));U.setEdge(ue,r.merge({},O,oe(Me,_),r.pick(Me,M)))}),U}function A(X){var U=X.graph();U.ranksep/=2,r.forEach(X.edges(),function(ne){var ue=X.edge(ne);ue.minlen*=2,ue.labelpos.toLowerCase()!=="c"&&(U.rankdir==="TB"||U.rankdir==="BT"?ue.width+=ue.labeloffset:ue.height+=ue.labeloffset)})}function P(X){r.forEach(X.edges(),function(U){var ne=X.edge(U);if(ne.width&&ne.height){var ue=X.node(U.v),Me=X.node(U.w),Be={rank:(Me.rank-ue.rank)/2+ue.rank,e:U};h.addDummyNode(X,"edge-proxy",Be,"_ep")}})}function L(X){var U=0;r.forEach(X.nodes(),function(ne){var ue=X.node(ne);ue.borderTop&&(ue.minRank=X.node(ue.borderTop).rank,ue.maxRank=X.node(ue.borderBottom).rank,U=r.max(U,ue.maxRank))}),X.graph().maxRank=U}function I(X){r.forEach(X.nodes(),function(U){var ne=X.node(U);ne.dummy==="edge-proxy"&&(X.edge(ne.e).labelRank=ne.rank,X.removeNode(U))})}function G(X){var U=Number.POSITIVE_INFINITY,ne=0,ue=Number.POSITIVE_INFINITY,Me=0,Be=X.graph(),Ve=Be.marginx||0,Dt=Be.marginy||0;function on(_t){var Yt=_t.x,He=_t.y,ar=_t.width,Je=_t.height;U=Math.min(U,Yt-ar/2),ne=Math.max(ne,Yt+ar/2),ue=Math.min(ue,He-Je/2),Me=Math.max(Me,He+Je/2)}r.forEach(X.nodes(),function(_t){on(X.node(_t))}),r.forEach(X.edges(),function(_t){var Yt=X.edge(_t);r.has(Yt,"x")&&on(Yt)}),U-=Ve,ue-=Dt,r.forEach(X.nodes(),function(_t){var Yt=X.node(_t);Yt.x-=U,Yt.y-=ue}),r.forEach(X.edges(),function(_t){var Yt=X.edge(_t);r.forEach(Yt.points,function(He){He.x-=U,He.y-=ue}),r.has(Yt,"x")&&(Yt.x-=U),r.has(Yt,"y")&&(Yt.y-=ue)}),Be.width=ne-U+Ve,Be.height=Me-ue+Dt}function H(X){r.forEach(X.edges(),function(U){var ne=X.edge(U),ue=X.node(U.v),Me=X.node(U.w),Be,Ve;ne.points?(Be=ne.points[0],Ve=ne.points[ne.points.length-1]):(ne.points=[],Be=Me,Ve=ue),ne.points.unshift(h.intersectRect(ue,Be)),ne.points.push(h.intersectRect(Me,Ve))})}function Y(X){r.forEach(X.edges(),function(U){var ne=X.edge(U);if(r.has(ne,"x"))switch((ne.labelpos==="l"||ne.labelpos==="r")&&(ne.width-=ne.labeloffset),ne.labelpos){case"l":ne.x-=ne.width/2+ne.labeloffset;break;case"r":ne.x+=ne.width/2+ne.labeloffset;break}})}function W(X){r.forEach(X.edges(),function(U){var ne=X.edge(U);ne.reversed&&ne.points.reverse()})}function q(X){r.forEach(X.nodes(),function(U){if(X.children(U).length){var ne=X.node(U),ue=X.node(ne.borderTop),Me=X.node(ne.borderBottom),Be=X.node(r.last(ne.borderLeft)),Ve=X.node(r.last(ne.borderRight));ne.width=Math.abs(Ve.x-Be.x),ne.height=Math.abs(Me.y-ue.y),ne.x=Be.x+ne.width/2,ne.y=ue.y+ne.height/2}}),r.forEach(X.nodes(),function(U){X.node(U).dummy==="border"&&X.removeNode(U)})}function Q(X){r.forEach(X.edges(),function(U){if(U.v===U.w){var ne=X.node(U.v);ne.selfEdges||(ne.selfEdges=[]),ne.selfEdges.push({e:U,label:X.edge(U)}),X.removeEdge(U)}})}function re(X){var U=h.buildLayerMatrix(X);r.forEach(U,function(ne){var ue=0;r.forEach(ne,function(Me,Be){var Ve=X.node(Me);Ve.order=Be+ue,r.forEach(Ve.selfEdges,function(Dt){h.addDummyNode(X,"selfedge",{width:Dt.label.width,height:Dt.label.height,rank:Ve.rank,order:Be+ ++ue,e:Dt.e,label:Dt.label},"_se")}),delete Ve.selfEdges})})}function de(X){r.forEach(X.nodes(),function(U){var ne=X.node(U);if(ne.dummy==="selfedge"){var ue=X.node(ne.e.v),Me=ue.x+ue.width/2,Be=ue.y,Ve=ne.x-Me,Dt=ue.height/2;X.setEdge(ne.e,ne.label),X.removeNode(U),ne.label.points=[{x:Me+2*Ve/3,y:Be-Dt},{x:Me+5*Ve/6,y:Be-Dt},{x:Me+Ve,y:Be},{x:Me+5*Ve/6,y:Be+Dt},{x:Me+2*Ve/3,y:Be+Dt}],ne.label.x=ne.x,ne.label.y=ne.y}})}function oe(X,U){return r.mapValues(r.pick(X,U),Number)}function he(X){var U={};return r.forEach(X,function(ne,ue){U[ue.toLowerCase()]=ne}),U}return Sy}var _y,jT;function YU(){if(jT)return _y;jT=1;var r=Jt(),e=Sr(),t=hi().Graph;_y={debugOrdering:n};function n(i){var a=e.buildLayerMatrix(i),s=new t({compound:!0,multigraph:!0}).setGraph({});return r.forEach(i.nodes(),function(o){s.setNode(o,{label:o}),s.setParent(o,"layer"+i.node(o).rank)}),r.forEach(i.edges(),function(o){s.setEdge(o.v,o.w,{},o.name)}),r.forEach(a,function(o,l){var c="layer"+l;s.setNode(c,{rank:"same"}),r.reduce(o,function(u,d){return s.setEdge(u,d,{style:"invis"}),d})}),s}return _y}var ky,$T;function KU(){return $T||($T=1,ky="0.8.5"),ky}var My,qT;function XU(){return qT||(qT=1,My={graphlib:hi(),layout:HU(),debug:YU(),util:{time:Sr().time,notime:Sr().notime},version:KU()}),My}var DR=XU();const ZU=ec(DR);class bh{constructor(e){this.id="dagre",this.options={},Object.assign(this.options,bh.defaultOptions,e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,Object.assign(Object.assign({},this.options),t))})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,Object.assign(Object.assign({},this.options),t))})}genericDagreLayout(e,t,n){return rt(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new DR.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const s=t.getAllNodes(),o=t.getAllEdges();[...s,...o].some(({id:c})=>Ce(c))&&console.error("Dagre layout only support string id, it will convert number to string."),t.getAllNodes().forEach(c=>{const{id:u}=c,d=Object.assign({},c.data);if(i!==void 0){const[h,f]=mc(Ie(i)?i(c):i);Object.assign(d,{width:h,height:f})}a.setNode(u.toString(),d)}),t.getAllEdges().forEach(({id:c,source:u,target:d})=>{a.setEdge(u.toString(),d.toString(),{id:c})}),ZU.layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(c=>{const u=a.node(c);l.nodes.push({id:c,data:u}),e&&t.mergeNodeData(c,u)}),a.edges().forEach(c=>{const u=a.edge(c),{id:d}=u,h=un(u,["id"]),{v:f,w:g}=c;l.edges.push({id:d,source:f,target:g,data:h}),e&&t.mergeEdgeData(d,h)}),l})}}bh.defaultOptions={};class bx{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){const t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){const t=e.rx-this.rx,n=e.ry-this.ry;let i=Math.hypot(t,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(e.degree+1)/i;this.fx+=a*t/i,this.fy+=a*n/i}in(e){return e.contains(this.rx,this.ry)}add(e){const t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,i=(this.ry*this.mass+e.ry*e.mass)/t,a=this.degree+e.degree,s={rx:n,ry:i,mass:t,degree:a};return new bx(s)}}class go{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){const n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){const e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new go(i)}NE(){const e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new go(i)}SW(){const e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new go(i)}SE(){const e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new go(i)}}class vo{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new vo(this.quad.NW()),this.NE=new vo(this.quad.NE()),this.SW=new vo(this.quad.SW()),this.SE=new vo(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){this.quad&&(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{const t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/n<this.theta?e.addForce(this.body):(this.NW&&this.NW.updateForce(e),this.NE&&this.NE.updateForce(e),this.SW&&this.SW.updateForce(e),this.SE&&this.SE.updateForce(e))}}}const JU={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class QU{constructor(e={}){this.options=e,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},JU),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,e,t)})}genericForceAtlas2Layout(e,t,n){return rt(this,void 0,void 0,function*(){const i=t.getAllEdges(),a=t.getAllNodes(),s=this.formatOptions(n,a.length),{width:o,height:l,prune:c,maxIteration:u,nodeSize:d,center:h}=s;if(!(a!=null&&a.length)||a.length===1)return Ds(t,e,h);const f=a.map(m=>Rr(m,[o,l])),g=i.filter(m=>{const{source:y,target:b}=m;return y!==b}),p=new Pn({nodes:f,edges:g}),v=this.getSizes(p,d);if(this.run(p,t,u,v,e,s),c){for(let y=0;y<g.length;y+=1){const{source:b,target:w}=g[y],E=p.getDegree(b),_=p.getDegree(b);if(E<=1){const O=p.getNode(w);p.mergeNodeData(b,{x:O.data.x,y:O.data.y})}else if(_<=1){const O=p.getNode(b);p.mergeNodeData(w,{x:O.data.x,y:O.data.y})}}const m=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(p,t,100,v,e,m)}return{nodes:f,edges:i}})}getSizes(e,t){const n=e.getAllNodes(),i={};for(let a=0;a<n.length;a+=1){const s=n[a];i[s.id]=Qb(t,void 0)(s)}return i}formatOptions(e={},t){const n=Object.assign(Object.assign({},this.options),e),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:c,kr:u,kg:d}=n;return n.width=!a&&typeof window<"u"?window.innerWidth:a,n.height=!s&&typeof window<"u"?window.innerHeight:s,n.center=i||[n.width/2,n.height/2],o===void 0&&t>250&&(n.barnesHut=!0),l===void 0&&t>100&&(n.prune=!0),c===0&&!l?(n.maxIteration=250,t<=200&&t>100?n.maxIteration=1e3:t>200&&(n.maxIteration=1200)):c===0&&l&&(n.maxIteration=100,t<=200&&t>100?n.maxIteration=500:t>200&&(n.maxIteration=950)),u||(n.kr=50,t>100&&t<=500?n.kr=20:t>500&&(n.kr=1)),d||(n.kg=20,t>100&&t<=500?n.kg=10:t>500&&(n.kg=1)),n}run(e,t,n,i,a,s){const{kr:o,barnesHut:l,onTick:c}=s,u=e.getAllNodes();let d=0,h=n;const f={},g={},p={};for(let v=0;v<u.length;v+=1){const{data:m,id:y}=u[v];if(f[y]=[0,0],l){const b={id:v,rx:m.x,ry:m.y,mass:1,g:o,degree:e.getDegree(y)};p[y]=new bx(b)}}for(;h>0;)d=this.oneStep(e,{iter:h,preventOverlapIters:50,krPrime:100,sg:d,forces:f,preForces:g,bodies:p,sizes:i},s),h--,c==null||c({nodes:u,edges:t.getAllEdges()});return e}oneStep(e,t,n){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:c,sizes:u}=t;let{forces:d}=t;const{preventOverlap:h,barnesHut:f}=n,g=e.getAllNodes();for(let p=0;p<g.length;p+=1){const{id:v}=g[p];l[v]=[...d[v]],d[v]=[0,0]}return d=this.getAttrForces(e,i,a,u,d,n),f&&(h&&i>a||!h)?d=this.getOptRepGraForces(e,d,c,n):d=this.getRepGraForces(e,i,a,d,s,u,n),this.updatePos(e,d,l,o,n)}getAttrForces(e,t,n,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:c,prune:u}=s,d=e.getAllEdges();for(let h=0;h<d.length;h+=1){const{source:f,target:g}=d[h],p=e.getNode(f),v=e.getNode(g),m=e.getDegree(f),y=e.getDegree(g);if(u&&(m<=1||y<=1))continue;const b=[v.data.x-p.data.x,v.data.y-p.data.y];let w=Math.hypot(b[0],b[1]);w=w<1e-4?1e-4:w,b[0]=b[0]/w,b[1]=b[1]/w,o&&t<n&&(w=w-i[f]-i[g]);let E=w,_=E;c==="linlog"&&(E=Math.log(1+w),_=E),l&&(E=w/m,_=w/y),o&&t<n&&w<=0?(E=0,_=0):o&&t<n&&w>0&&(E=w,_=w),a[f][0]+=E*b[0],a[g][0]-=_*b[0],a[f][1]+=E*b[1],a[g][1]-=_*b[1]}return a}getOptRepGraForces(e,t,n,i){const{kg:a,center:s,prune:o}=i,l=e.getAllNodes(),c=l.length;let u=9e10,d=-9e10,h=9e10,f=-9e10;for(let y=0;y<c;y+=1){const{id:b,data:w}=l[y];o&&e.getDegree(b)<=1||(n[b].setPos(w.x,w.y),w.x>=d&&(d=w.x),w.x<=u&&(u=w.x),w.y>=f&&(f=w.y),w.y<=h&&(h=w.y))}const g=Math.max(d-u,f-h),p={xmid:(d+u)/2,ymid:(f+h)/2,length:g,massCenter:s,mass:c},v=new go(p),m=new vo(v);for(let y=0;y<c;y+=1){const{id:b}=l[y];o&&e.getDegree(b)<=1||n[b].in(v)&&m.insert(n[b])}for(let y=0;y<c;y+=1){const{id:b,data:w}=l[y],E=e.getDegree(b);if(o&&E<=1)continue;n[b].resetForce(),m.updateForce(n[b]),t[b][0]-=n[b].fx,t[b][1]-=n[b].fy;const _=[w.x-s[0],w.y-s[1]];let O=Math.hypot(_[0],_[1]);O=O<1e-4?1e-4:O,_[0]=_[0]/O,_[1]=_[1]/O;const M=a*(E+1);t[b][0]-=M*_[0],t[b][1]-=M*_[1]}return t}getRepGraForces(e,t,n,i,a,s,o){const{preventOverlap:l,kr:c,kg:u,center:d,prune:h}=o,f=e.getAllNodes(),g=f.length;for(let p=0;p<g;p+=1){const v=f[p],m=e.getDegree(v.id);for(let E=p+1;E<g;E+=1){const _=f[E],O=e.getDegree(_.id);if(h&&(m<=1||O<=1))continue;const M=[_.data.x-v.data.x,_.data.y-v.data.y];let N=Math.hypot(M[0],M[1]);N=N<1e-4?1e-4:N,M[0]=M[0]/N,M[1]=M[1]/N,l&&t<n&&(N=N-s[v.id]-s[_.id]);let A=c*(m+1)*(O+1)/N;l&&t<n&&N<0?A=a*(m+1)*(O+1):l&&t<n&&N===0?A=0:l&&t<n&&N>0&&(A=c*(m+1)*(O+1)/N),i[v.id][0]-=A*M[0],i[_.id][0]+=A*M[0],i[v.id][1]-=A*M[1],i[_.id][1]+=A*M[1]}const y=[v.data.x-d[0],v.data.y-d[1]],b=Math.hypot(y[0],y[1]);y[0]=y[0]/b,y[1]=y[1]/b;const w=u*(m+1);i[v.id][0]-=w*y[0],i[v.id][1]-=w*y[1]}return i}updatePos(e,t,n,i,a){const{ks:s,tao:o,prune:l,ksmax:c}=a,u=e.getAllNodes(),d=u.length,h=[],f=[];let g=0,p=0,v=i;for(let y=0;y<d;y+=1){const{id:b}=u[y],w=e.getDegree(b);if(l&&w<=1)continue;const E=[t[b][0]-n[b][0],t[b][1]-n[b][1]],_=Math.hypot(E[0],E[1]),O=[t[b][0]+n[b][0],t[b][1]+n[b][1]],M=Math.hypot(O[0],O[1]);h[y]=_,f[y]=M/2,g+=(w+1)*h[y],p+=(w+1)*f[y]}const m=v;v=o*p/g,m!==0&&(v=v>1.5*m?1.5*m:v);for(let y=0;y<d;y+=1){const{id:b,data:w}=u[y],E=e.getDegree(b);if(l&&E<=1||Ce(w.fx)&&Ce(w.fy))continue;let _=s*v/(1+v*Math.sqrt(h[y])),O=Math.hypot(t[b][0],t[b][1]);O=O<1e-4?1e-4:O;const M=c/O;_=_>M?M:_;const N=_*t[b][0],A=_*t[b][1];e.mergeNodeData(b,{x:w.x+N,y:w.y+A})}return v}}const eH={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},tH=800;class nH{constructor(e={}){this.options=e,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},eH),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window<"u"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;n<e;n++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericFruchtermanLayout(e,t,n){return rt(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:s,height:o,center:l,clustering:c,nodeClusterBy:u,maxIteration:d,onTick:h}=i,f=t.getAllNodes(),g=t.getAllEdges();if(!(f!=null&&f.length)){const b={nodes:[],edges:g};return this.lastResult=b,b}if(f.length===1){e&&t.mergeNodeData(f[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const b={nodes:[Object.assign(Object.assign({},f[0]),{data:Object.assign(Object.assign({},f[0].data),{x:l[0],y:l[1],z:a===3?l[2]:void 0})})],edges:g};return this.lastResult=b,b}const p=f.map(b=>Rr(b,[s,o])),v=new Pn({nodes:p,edges:g}),m={};if(c&&p.forEach(b=>{const w=b.data[u];m[w]||(m[w]={name:w,cx:0,cy:0,count:0})}),this.lastLayoutNodes=p,this.lastLayoutEdges=g,this.lastAssign=e,this.lastGraph=v,this.lastOptions=i,this.lastClusterMap=m,typeof window>"u")return;let y=0;return new Promise(b=>{this.timeInterval=window.setInterval(()=>{if(!this.running){b({nodes:p,edges:g});return}this.runOneStep(v,m,i),e&&p.forEach(({id:w,data:E})=>t.mergeNodeData(w,{x:E.x,y:E.y,z:a===3?E.z:void 0})),h==null||h({nodes:p,edges:g}),y++,y>=d&&(window.clearInterval(this.timeInterval),b({nodes:p,edges:g}))},0),this.running=!0})})}formatOptions(e={}){const t=Object.assign(Object.assign({},this.options),e),{clustering:n,nodeClusterBy:i}=t,{center:a,width:s,height:o}=t;return t.width=!s&&typeof window<"u"?window.innerWidth:s,t.height=!o&&typeof window<"u"?window.innerHeight:o,t.center=a||[t.width/2,t.height/2],t.clustering=n&&!!i,t}runOneStep(e,t,n){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:c,clustering:u,nodeClusterBy:d,clusterGravity:h}=n,f=a*s,g=Math.sqrt(f)/10,p=e.getAllNodes(),v=f/(p.length+1),m=Math.sqrt(v),y={};if(this.applyCalculate(e,y,m,v),u){for(const w in t)t[w].cx=0,t[w].cy=0,t[w].count=0;p.forEach(w=>{const{data:E}=w,_=t[E[d]];Ce(E.x)&&(_.cx+=E.x),Ce(E.y)&&(_.cy+=E.y),_.count++});for(const w in t)t[w].cx/=t[w].count,t[w].cy/=t[w].count;const b=h||o;p.forEach((w,E)=>{const{id:_,data:O}=w;if(!Ce(O.x)||!Ce(O.y))return;const M=t[O[d]],N=Math.sqrt((O.x-M.cx)*(O.x-M.cx)+(O.y-M.cy)*(O.y-M.cy)),A=m*b;y[_].x-=A*(O.x-M.cx)/N,y[_].y-=A*(O.y-M.cy)/N})}p.forEach((b,w)=>{const{id:E,data:_}=b;if(!Ce(_.x)||!Ce(_.y))return;const O=.01*m*o;y[E].x-=O*(_.x-l[0]),y[E].y-=O*(_.y-l[1]),i===3&&(y[E].z-=O*(_.z-l[2]))}),p.forEach((b,w)=>{const{id:E,data:_}=b;if(Ce(_.fx)&&Ce(_.fy)){_.x=_.fx,_.y=_.fy,i===3&&(_.z=_.fz);return}if(!Ce(_.x)||!Ce(_.y))return;const O=Math.sqrt(y[E].x*y[E].x+y[E].y*y[E].y+(i===3?y[E].z*y[E].z:0));if(O>0){const M=Math.min(g*(c/tH),O);e.mergeNodeData(E,{x:_.x+y[E].x/O*M,y:_.y+y[E].y/O*M,z:i===3?_.z+y[E].z/O*M:void 0})}})}applyCalculate(e,t,n,i){this.calRepulsive(e,t,i),this.calAttractive(e,t,n)}calRepulsive(e,t,n){const i=e.getAllNodes();i.forEach(({data:a,id:s},o)=>{t[s]={x:0,y:0,z:0},i.forEach(({data:l,id:c},u)=>{if(o<=u||!Ce(a.x)||!Ce(l.x)||!Ce(a.y)||!Ce(l.y))return;let d=a.x-l.x,h=a.y-l.y,f=this.options.dimensions===3?a.z-l.z:0,g=d*d+h*h+f*f;g===0&&(g=1,d=.01,h=.01,f=.01);const p=n/g,v=d*p,m=h*p,y=f*p;t[s].x+=v,t[s].y+=m,t[c].x-=v,t[c].y-=m,this.options.dimensions===3&&(t[s].z+=y,t[c].z-=y)})})}calAttractive(e,t,n){e.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=e.getNode(s),{data:c}=e.getNode(o);if(!Ce(c.x)||!Ce(l.x)||!Ce(c.y)||!Ce(l.y))return;const u=c.x-l.x,d=c.y-l.y,h=this.options.dimensions===3?c.z-l.z:0,f=Math.sqrt(u*u+d*d+h*h)/n,g=u*f,p=d*f,v=h*f;t[s].x+=g,t[s].y+=p,t[o].x-=g,t[o].y-=p,this.options.dimensions===3&&(t[s].z+=v,t[o].z-=v)})}}const rH={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class iH{constructor(e={}){this.options=e,this.id="grid",this.options=Object.assign(Object.assign({},rH),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericGridLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,e,t)})}genericGridLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:c,cols:u,nodeSpacing:d,nodeSize:h,width:f,height:g,position:p}=i;let{sortBy:v}=i;const m=t.getAllNodes(),y=t.getAllEdges(),b=m==null?void 0:m.length;if(!b||b===1)return Ds(t,e,a);const w=m.map(H=>Rr(H));v!=="id"&&(!gt(v)||w[0].data[v]===void 0)&&(v="degree"),v==="degree"?w.sort((H,Y)=>t.getDegree(Y.id,"both")-t.getDegree(H.id,"both")):v==="id"?w.sort((H,Y)=>Ce(Y.id)&&Ce(H.id)?Y.id-H.id:`${H.id}`.localeCompare(`${Y.id}`)):w.sort((H,Y)=>Y.data[v]-H.data[v]);const E=!f&&typeof window<"u"?window.innerWidth:f,_=!g&&typeof window<"u"?window.innerHeight:g,O=b,M={rows:c,cols:u};if(c!=null&&u!=null)M.rows=c,M.cols=u;else if(c!=null&&u==null)M.rows=c,M.cols=Math.ceil(O/M.rows);else if(c==null&&u!=null)M.cols=u,M.rows=Math.ceil(O/M.cols);else{const H=Math.sqrt(O*_/E);M.rows=Math.round(H),M.cols=Math.round(E/_*H)}if(M.rows=Math.max(M.rows,1),M.cols=Math.max(M.cols,1),M.cols*M.rows>O){const H=fu(M),Y=gu(M);(H-1)*Y>=O?fu(M,H-1):(Y-1)*H>=O&&gu(M,Y-1)}else for(;M.cols*M.rows<O;){const H=fu(M),Y=gu(M);(Y+1)*H>=O?gu(M,Y+1):fu(M,H+1)}let N=s?0:E/M.cols,A=s?0:_/M.rows;if(l||d){const H=ps(10,d),Y=Jb(30,h,!1);w.forEach(W=>{(!W.data.x||!W.data.y)&&(W.data.x=0,W.data.y=0);const q=t.getNode(W.id),[Q,re]=mc(Y(q)||30),de=H!==void 0?H(W):o,oe=Q+de,he=re+de;N=Math.max(N,oe),A=Math.max(A,he)})}const P={},L={row:0,col:0},I={};for(let H=0;H<w.length;H++){const Y=w[H];let W;if(p&&(W=p(t.getNode(Y.id))),W&&(W.row!==void 0||W.col!==void 0)){const q={row:W.row,col:W.col};if(q.col===void 0)for(q.col=0;U1(P,q);)q.col++;else if(q.row===void 0)for(q.row=0;U1(P,q);)q.row++;I[Y.id]=q,FR(P,q)}aH(Y,a,N,A,I,M,L,P)}const G={nodes:w,edges:y};return e&&w.forEach(H=>{t.mergeNodeData(H.id,{x:H.data.x,y:H.data.y})}),G})}}const fu=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=e:r.cols=e,t},gu=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=e:r.cols=e,t},U1=(r,e)=>r[`c-${e.row}-${e.col}`]||!1,FR=(r,e)=>r[`c-${e.row}-${e.col}`]=!0,GT=(r,e)=>{const t=r.cols||5;e.col++,e.col>=t&&(e.col=0,e.row++)},aH=(r,e,t,n,i,a,s,o)=>{let l,c;const u=i[r.id];if(u)l=u.col*t+t/2+e[0],c=u.row*n+n/2+e[1];else{for(;U1(o,s);)GT(a,s);l=s.col*t+t/2+e[0],c=s.row*n+n/2+e[1],FR(o,s),GT(a,s)}r.data.x=l,r.data.y=c},sH=(r,e,t)=>{try{const n=Na.mul(Na.pow(e,2),-.5),i=n.mean("row"),a=n.mean("column"),s=n.mean();n.add(s).subRowVector(i).subColumnVector(a);const o=new NP(n),l=Na.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(c=>Na.mul([c],[l]).toJSON()[0].splice(0,r))}catch{const i=[];for(let a=0;a<e.length;a++){const s=Math.random()*t,o=Math.random()*t;i.push([s,o])}return i}},oH=800,lH={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},cH=(r,e)=>{const t=Object.assign(Object.assign({},lH),e),{positions:n,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:c,radii:u=[],nodeSizeFunc:d}=t,h=r.getAllNodes(),f=[],g=a/10;for(let p=0;p<i;p++)n.forEach((v,m)=>{f[m]={x:0,y:0}}),uH(h,n,f,s,u,d),dH(n,f,o,l,c,g,a,u);return n},uH=(r,e,t,n,i,a)=>{e.forEach((s,o)=>{t[o]={x:0,y:0},e.forEach((l,c)=>{if(o===c||i[o]!==i[c])return;let u=s.x-l.x,d=s.y-l.y,h=Math.sqrt(u*u+d*d);if(h===0){h=1;const f=o>c?1:-1;u=.01*f,d=.01*f}if(h<a(r[o])/2+a(r[c])/2){const f=n*n/h;t[o].x+=u/h*f,t[o].y+=d/h*f}})})},dH=(r,e,t,n,i,a,s,o)=>{const l=a||s/10;return n&&e.forEach((c,u)=>{const d=r[u].x-r[i].x,h=r[u].y-r[i].y,f=Math.sqrt(d*d+h*h);let g=h/f,p=-d/f;const v=Math.sqrt(c.x*c.x+c.y*c.y);let m=Math.acos((g*c.x+p*c.y)/v);m>Math.PI/2&&(m-=Math.PI/2,g*=-1,p*=-1);const y=Math.cos(m)*v;c.x=g*y,c.y=p*y}),r.forEach((c,u)=>{if(u===i)return;const d=Math.sqrt(e[u].x*e[u].x+e[u].y*e[u].y);if(d>0&&u!==i){const h=Math.min(l*(t/oH),d);if(c.x+=e[u].x/d*h,c.y+=e[u].y/d*h,n){let f=c.x-r[i].x,g=c.y-r[i].y;const p=Math.sqrt(f*f+g*g);f=f/p*o[u],g=g/p*o[u],c.x=r[i].x+f,c.y=r[i].y+g}}}),r},hH={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class fH{constructor(e={}){this.options=e,this.id="radial",this.options=Object.assign(Object.assign({},hH),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,e,t)})}genericRadialLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,focusNode:l,unitRadius:c,nodeSize:u,nodeSpacing:d,strictRadial:h,preventOverlap:f,maxPreventOverlapIteration:g,sortBy:p,linkDistance:v=50,sortStrength:m=10,maxIteration:y=1e3}=i,b=t.getAllNodes(),w=t.getAllEdges(),E=!a&&typeof window<"u"?window.innerWidth:a,_=!s&&typeof window<"u"?window.innerHeight:s,O=o||[E/2,_/2];if(!(b!=null&&b.length)||b.length===1)return Ds(t,e,O);let M=b[0];if(gt(l)){for(let ue=0;ue<b.length;ue++)if(b[ue].id===l){M=b[ue];break}}else M=l||b[0];const N=pH(b,M.id),A=kP({nodes:b,edges:w}),P=_P(A),L=yH(P,N);mH(P,N,L+1);const I=P[N];let G=E-O[0]>O[0]?O[0]:E-O[0],H=_-O[1]>O[1]?O[1]:_-O[1];G===0&&(G=E/2),H===0&&(H=_/2);const Y=Math.min(G,H),W=Math.max(...I),q=[],Q=c||Y/W;I.forEach((ue,Me)=>{q[Me]=ue*Q});const re=gH(b,P,v,q,Q,p,m),de=vH(re),oe=sH(v,re,v);let he=oe.map(([ue,Me])=>({x:(isNaN(ue)?Math.random()*v:ue)-oe[N][0],y:(isNaN(Me)?Math.random()*v:Me)-oe[N][1]}));this.run(y,he,de,re,q,N);let X;if(f){X=Qb(u,d);const ue={nodes:b,nodeSizeFunc:X,positions:he,radii:q,height:_,width:E,strictRadial:!!h,focusIdx:N,iterations:g||200,k:he.length/4.5};he=cH(t,ue)}const U=[];return he.forEach((ue,Me)=>{const Be=Rr(b[Me]);Be.data.x=ue.x+O[0],Be.data.y=ue.y+O[1],U.push(Be)}),e&&U.forEach(ue=>t.mergeNodeData(ue.id,{x:ue.data.x,y:ue.data.y})),{nodes:U,edges:w}})}run(e,t,n,i,a,s){for(let o=0;o<=e;o++){const l=o/e;this.oneIteration(l,t,a,i,n,s)}}oneIteration(e,t,n,i,a,s){const o=1-e;t.forEach((l,c)=>{const u=c2(l,{x:0,y:0}),d=u===0?0:1/u;if(c===s)return;let h=0,f=0,g=0;t.forEach((v,m)=>{if(c===m)return;const y=c2(l,v),b=y===0?0:1/y,w=i[m][c];g+=a[c][m],h+=a[c][m]*(v.x+w*(l.x-v.x)*b),f+=a[c][m]*(v.y+w*(l.y-v.y)*b)});const p=n[c]===0?0:1/n[c];g*=o,g+=e*p*p,h*=o,h+=e*p*l.x*d,l.x=h/g,f*=o,f+=e*p*l.y*d,l.y=f/g})}}const gH=(r,e,t,n,i,a,s)=>{if(!r)return[];const o=[];if(e){const l={};e.forEach((c,u)=>{const d=[];c.forEach((h,f)=>{var g,p;if(u===f)d.push(0);else if(n[u]===n[f])if(a==="data")d.push(h*(Math.abs(u-f)*s)/(n[u]/i));else if(a){let v,m;if(l[r[u].id])v=l[r[u].id];else{const y=(a==="id"?r[u].id:(g=r[u].data)===null||g===void 0?void 0:g[a])||0;gt(y)?v=y.charCodeAt(0):v=y,l[r[u].id]=v}if(l[r[f].id])m=l[r[f].id];else{const y=(a==="id"?r[f].id:(p=r[f].data)===null||p===void 0?void 0:p[a])||0;gt(y)?m=y.charCodeAt(0):m=y,l[r[f].id]=m}d.push(h*(Math.abs(v-m)*s)/(n[u]/i))}else d.push(h*t/(n[u]/i));else{const v=(t+i)/2;d.push(h*v)}}),o.push(d)})}return o},vH=r=>{const e=r.length,t=r[0].length,n=[];for(let i=0;i<e;i++){const a=[];for(let s=0;s<t;s++)r[i][s]!==0?a.push(1/(r[i][s]*r[i][s])):a.push(0);n.push(a)}return n},pH=(r,e)=>{let t=-1;return r.forEach((n,i)=>{n.id===e&&(t=i)}),Math.max(t,0)},mH=(r,e,t)=>{const n=r.length;for(let i=0;i<n;i++)if(r[e][i]===1/0){r[e][i]=t,r[i][e]=t;for(let a=0;a<n;a++)r[i][a]!==1/0&&r[e][a]===1/0&&(r[e][a]=t+r[i][a],r[a][e]=t+r[i][a])}for(let i=0;i<n;i++)if(i!==e){for(let a=0;a<n;a++)if(r[i][a]===1/0){let s=Math.abs(r[e][i]-r[e][a]);s=s===0?1:s,r[i][a]=s}}},yH=(r,e)=>{let t=0;for(let n=0;n<r[e].length;n++)r[e][n]!==1/0&&(t=r[e][n]>t?r[e][n]:t);return t},bH={center:[0,0],width:300,height:300};class xH{constructor(e={}){this.options=e,this.id="random",this.options=Object.assign(Object.assign({},bH),e)}execute(e,t){return rt(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,e,t)})}assign(e,t){return rt(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,e,t)})}genericRandomLayout(e,t,n){return rt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o}=i,l=t.getAllNodes(),c=.9,u=!s&&typeof window<"u"?window.innerWidth:s,d=!o&&typeof window<"u"?window.innerHeight:o,h=a||[u/2,d/2],f=[];return l&&l.forEach(p=>{f.push({id:p.id,data:{x:(Math.random()-.5)*c*u+h[0],y:(Math.random()-.5)*c*d+h[1]}})}),e&&f.forEach(p=>t.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:t.getAllEdges()}})}}/**
|
|
339
|
+
* @license
|
|
340
|
+
* Copyright 2019 Google LLC
|
|
341
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
342
|
+
*/const BR=Symbol("Comlink.proxy"),wH=Symbol("Comlink.endpoint"),zR=Symbol("Comlink.releaseProxy"),Ty=Symbol("Comlink.finalizer"),Ru=Symbol("Comlink.thrown"),jR=r=>typeof r=="object"&&r!==null||typeof r=="function",EH={canHandle:r=>jR(r)&&r[BR],serialize(r){const{port1:e,port2:t}=new MessageChannel;return qR(r,e),[t,[t]]},deserialize(r){return r.start(),WR(r)}},SH={canHandle:r=>jR(r)&&Ru in r,serialize({value:r}){let e;return r instanceof Error?e={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:e={isError:!1,value:r},[e,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},$R=new Map([["proxy",EH],["throw",SH]]);function _H(r,e){for(const t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function qR(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!_H(t,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}const{id:a,type:s,path:o}=Object.assign({path:[]},i.data),l=(i.data.argumentList||[]).map(ss);let c;try{const u=o.slice(0,-1).reduce((h,f)=>h[f],r),d=o.reduce((h,f)=>h[f],r);switch(s){case"GET":c=d;break;case"SET":u[o.slice(-1)[0]]=ss(i.data.value),c=!0;break;case"APPLY":c=d.apply(u,l);break;case"CONSTRUCT":{const h=new d(...l);c=NH(h)}break;case"ENDPOINT":{const{port1:h,port2:f}=new MessageChannel;qR(r,f),c=CH(h,[h])}break;case"RELEASE":c=void 0;break;default:return}}catch(u){c={value:u,[Ru]:0}}Promise.resolve(c).catch(u=>({value:u,[Ru]:0})).then(u=>{const[d,h]=vd(u);e.postMessage(Object.assign(Object.assign({},d),{id:a}),h),s==="RELEASE"&&(e.removeEventListener("message",n),GR(e),Ty in r&&typeof r[Ty]=="function"&&r[Ty]())}).catch(u=>{const[d,h]=vd({value:new TypeError("Unserializable return value"),[Ru]:0});e.postMessage(Object.assign(Object.assign({},d),{id:a}),h)})}),e.start&&e.start()}function kH(r){return r.constructor.name==="MessagePort"}function GR(r){kH(r)&&r.close()}function WR(r,e){const t=new Map;return r.addEventListener("message",function(i){const{data:a}=i;if(!a||!a.id)return;const s=t.get(a.id);if(s)try{s(a)}finally{t.delete(a.id)}}),H1(r,t,[],e)}function vu(r){if(r)throw new Error("Proxy has been released and is not useable")}function VR(r){return oo(r,new Map,{type:"RELEASE"}).then(()=>{GR(r)})}const fd=new WeakMap,gd="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{const e=(fd.get(r)||0)-1;fd.set(r,e),e===0&&VR(r)});function MH(r,e){const t=(fd.get(e)||0)+1;fd.set(e,t),gd&&gd.register(r,e,r)}function TH(r){gd&&gd.unregister(r)}function H1(r,e,t=[],n=function(){}){let i=!1;const a=new Proxy(n,{get(s,o){if(vu(i),o===zR)return()=>{TH(a),VR(r),e.clear(),i=!0};if(o==="then"){if(t.length===0)return{then:()=>a};const l=oo(r,e,{type:"GET",path:t.map(c=>c.toString())}).then(ss);return l.then.bind(l)}return H1(r,e,[...t,o])},set(s,o,l){vu(i);const[c,u]=vd(l);return oo(r,e,{type:"SET",path:[...t,o].map(d=>d.toString()),value:c},u).then(ss)},apply(s,o,l){vu(i);const c=t[t.length-1];if(c===wH)return oo(r,e,{type:"ENDPOINT"}).then(ss);if(c==="bind")return H1(r,e,t.slice(0,-1));const[u,d]=WT(l);return oo(r,e,{type:"APPLY",path:t.map(h=>h.toString()),argumentList:u},d).then(ss)},construct(s,o){vu(i);const[l,c]=WT(o);return oo(r,e,{type:"CONSTRUCT",path:t.map(u=>u.toString()),argumentList:l},c).then(ss)}});return MH(a,r),a}function OH(r){return Array.prototype.concat.apply([],r)}function WT(r){const e=r.map(vd);return[e.map(t=>t[0]),OH(e.map(t=>t[1]))]}const UR=new WeakMap;function CH(r,e){return UR.set(r,e),r}function NH(r){return Object.assign(r,{[BR]:!0})}function vd(r){for(const[e,t]of $R)if(t.canHandle(r)){const[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},UR.get(r)||[]]}function ss(r){switch(r.type){case"HANDLER":return $R.get(r.name).deserialize(r.value);case"RAW":return r.value}}function oo(r,e,t,n){return new Promise(i=>{const a=AH();e.set(a,i),r.start&&r.start(),r.postMessage(Object.assign({id:a},t),n)})}function AH(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class PH extends Wd{constructor(e,t,n){super(),this.graph=e,this.layout=t,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=WR(new Worker(new URL("https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1741151084229/files/dist/assets/worker-BZwDflls.js",import.meta.url),{type:"module"})),this.running&&(this.running=!1,this.execute())}execute(){var e;return rt(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const t=this.layout.options,{onTick:n}=t,i=un(t,["onTick"]),a={};Object.keys(i).forEach(c=>{Ie(i[c])||(a[c]=i[c])});const s={layout:{id:this.layout.id,options:a,iterations:(e=this.options)===null||e===void 0?void 0:e.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(s,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[zR]()}isRunning(){return this.running}}var RH=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class xh extends Vd{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const e=this.context.model.getRootsData();if(!(ki(e)||e.length>2))return e[0]}formatSize(e){const t=typeof e=="function"?e:()=>e;return n=>Ir(t(n))}doLayout(e,t){const{hGap:n,getRibSep:i,vGap:a,nodeSize:s,height:o}=t,{model:l}=this.context,c=this.formatSize(s);let u=c(e)[0]+i(e);const d=(b,w=0)=>{var E;return w+=n*((b.children||[]).length+1),(E=b.children)===null||E===void 0||E.forEach(_=>{var O;(O=l.getNodeLikeDatum(_).children)===null||O===void 0||O.forEach(N=>{const A=l.getNodeLikeDatum(N);w=d(A,w)})}),w},h=b=>{if(b.depth===1)return u;const w=l.getParentData(b.id,"tree");if(eo(b)){const E=l.getParentData(w.id,"tree"),_=p(b)-p(E);return h(w)+_*n/a}else{const E=(w.children||[]).indexOf(b.id),_=l.getNodeData((w.children||[]).slice(E));return f(w)-_.reduce((O,M)=>O+d(M),0)-c(w)[0]/2}},f=i1(b=>{if(Oy(b))return c(b)[0]/2;const w=l.getParentData(b.id,"tree");if(eo(b))return h(b)+d(b)+c(b)[0]/2;{const E=p(b)-p(w),_=n/a;return h(b)+E*_}},b=>b.id),g=b=>p(l.getParentData(b,"tree")),p=i1(b=>{if(Oy(b))return o/2;if(eo(b)){const w=l.getParentData(b.id,"tree"),E=w.children.indexOf(b.id);if(E===0)return g(w.id)+a;const _=l.getNodeLikeDatum(w.children[E-1]);if(ki(_.children))return p(_)+a;const O=l.getDescendantsData(_.id);return Math.max(...O.map(M=>eo(M)?g(M.id):p(M)))+a}else{if(ki(b.children))return g(b.id)+a;const w=l.getNodeLikeDatum(b.children.slice(-1)[0]);if(ki(w.children))return p(w)+a;const E=l.getDescendantsData(b.id).slice(-1)[0];return(eo(E)?g(E.id):p(E))+a}},b=>b.id);let v=0;const m={nodes:[],edges:[]},y=b=>{var w;(w=b.children)===null||w===void 0||w.forEach(N=>y(l.getNodeLikeDatum(N)));const E=p(b),_=f(b);if(m.nodes.push({id:b.id,x:_,y:E}),Oy(b))return;const O=l.getRelatedEdgesData(b.id,"in")[0],M=[h(b),eo(b)?E:g(b.id)];m.edges.push({id:te(O),controlPoints:[M],relatedNodeId:b.id}),v=Math.max(v,_+i(b)),b.depth===1&&(u=v)};return y(e),m}placeAlterative(e,t){const n=(t.children||[]).filter((o,l)=>l%2!==0);if(n.length===0)return e;const{model:i}=this.context,a=e.nodes.find(o=>o.id===t.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(ki(l))return!1;const c=l.length===1?o:l[l.length-2].id;return n.includes(c)};e.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),e.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(e,t){return e.nodes.forEach(n=>n.x=t.width-n.x),e.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[t.width-i[0],i[1]])}),e}execute(e,t){return RH(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},xh.defaultOptions),this.options),t),{direction:i,nodeSize:a}=n,s=this.getRoot();if(!s)return e;const o=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(e.nodes||[]).map(h=>o(h)[1]))),n.hGap||(n.hGap=Math.max(...(e.nodes||[]).map(h=>o(h)[0])));let l=this.doLayout(s,n);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,n));const{model:c}=this.context,u=[],d=[];return l.nodes.forEach(h=>{const{id:f,x:g,y:p}=h,v=c.getNodeLikeDatum(f);u.push(VT(v,{x:g,y:p}))}),l.edges.forEach(h=>{const{id:f,controlPoints:g}=h,p=c.getEdgeDatum(f);d.push(VT(p,{controlPoints:g}))}),{nodes:u,edges:d}})}}xh.defaultOptions={direction:"RL",getRibSep:()=>60};const VT=(r,e)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),e)}),Oy=r=>r.depth===0,eo=r=>(r.depth||(r.depth=0))%2===0;var LH=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class wh extends Vd{constructor(){super(...arguments),this.id="snake"}formatSize(e,t){const n=typeof t=="function"?t:()=>t;return e.reduce((i,a)=>{const[s,o]=Ir(n(a))||[0,0];return[Math.max(i[0],s),Math.max(i[1],o)]},[0,0])}validate(e){const{nodes:t=[],edges:n=[]}=e,i={},a={},s={};t.forEach(h=>{i[h.id]=0,a[h.id]=0,s[h.id]=[]}),n.forEach(h=>{i[h.target]++,a[h.source]++,s[h.source].push(h.target)});const o=new Set,l=h=>{o.has(h)||(o.add(h),s[h].forEach(l))};if(l(t[0].id),o.size!==t.length)return!1;const c=t.filter(h=>i[h.id]===0),u=t.filter(h=>a[h.id]===0);return!(c.length!==1||u.length!==1||t.filter(h=>i[h.id]===1&&a[h.id]===1).length!==t.length-2)}execute(e,t){return LH(this,void 0,void 0,function*(){var n;if(!this.validate(e))return e;const{nodeSize:i,padding:a,sortBy:s,cols:o,colGap:l,rowGap:c,clockwise:u,width:d,height:h}=Object.assign({},wh.defaultOptions,this.options,t),[f,g,p,v]=Fi(a),m=this.formatSize(e.nodes||[],i),y=Math.ceil((e.nodes||[]).length/o);let b=l||(d-v-g-o*m[0])/(o-1),w=c||(h-f-p-y*m[1])/(y-1);return(w===1/0||w<0)&&(w=0),(b===1/0||b<0)&&(b=0),{nodes:((s?(n=e.nodes)===null||n===void 0?void 0:n.sort(s):IH(e))||[]).map((O,M)=>{const N=Math.floor(M/o),A=M%o,P=u?N%2===0?A:o-1-A:N%2===0?o-1-A:A,L=v+P*(m[0]+b)+m[0]/2,I=f+N*(m[1]+w)+m[1]/2;return{id:O.id,style:{x:L,y:I}}})}})}}wh.defaultOptions={padding:0,cols:5,clockwise:!0};function IH(r){const{nodes:e=[],edges:t=[]}=r,n={},i={};e.forEach(o=>{n[o.id]=0,i[o.id]=[]}),t.forEach(o=>{n[o.target]++,i[o.source].push(o.target)});const a=[],s=[];for(e.forEach(o=>{n[o.id]===0&&a.push(o.id)});a.length>0;){const o=a.shift(),l=e.find(c=>c.id===o);s.push(l),i[o].forEach(c=>{n[c]--,n[c]===0&&a.push(c)})}return s}const DH=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],FH=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],BH=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],zH=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],jH=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];class Zn extends Fb{}function Vo(r,e=!0,t){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),e&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),t&&Object.assign(n.style,t),n}function Y1(r,e="div",t={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const s=document.createElement(e);return s.innerHTML=n,s.id=r,Object.assign(s.style,t),i.appendChild(s),s}var $H=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Eh extends Zn{constructor(e,t){super(e,Object.assign({},Eh.defaultOptions,t)),this.$element=Vo("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return $H(this,void 0,void 0,function*(){t.update.call(this,e),Object.assign(this.$element.style,bb(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}Eh.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function xx(r,e,t,n,i,a){const s=r,o=e,l=t-s,c=n-o;let u=i-s,d=a-o,h=u*l+d*c,f=0;h<=0?f=0:(u=l-u,d=c-d,h=u*l+d*c,h<=0?f=0:f=h*h/(l*l+c*c));const g=u*u+d*d-f;return g<0?0:g}function Pa(r,e,t,n){return(r-t)*(r-t)+(e-n)*(e-n)}function UT(r,e,t,n,i){return Pa(r,e,t,n)<i*i}function qH(r){if(!Number.isFinite(r))return t=>t;if(r===0)return Math.round;const e=Math.pow(10,r);return t=>Math.round(t*e)/e}function HR(r){const e=Math.min(r.x1,r.x2),t=Math.max(r.x1,r.x2),n=Math.min(r.y1,r.y2),i=Math.max(r.y1,r.y2);return{x:e,y:n,x2:t,y2:i,width:t-e,height:i-n}}class Fn{constructor(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i}equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2}draw(e){e.moveTo(this.x1,this.y1),e.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(e){return new Fn(e.x1,e.y1,e.x2,e.y2)}cuts(e,t){if(this.y1===this.y2||t<this.y1&&t<=this.y2||t>this.y1&&t>=this.y2||e>this.x1&&e>=this.x2)return!1;if(e<this.x1&&e<=this.x2)return!0;const n=this.x1+(t-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return e<=n}distSquare(e,t){return xx(this.x1,this.y1,this.x2,this.y2,e,t)}ptClose(e,t,n){if(this.x1<this.x2){if(e<this.x1-n||e>this.x2+n)return!1}else if(e<this.x2-n||e>this.x1+n)return!1;if(this.y1<this.y2){if(t<this.y1-n||t>this.y2+n)return!1}else if(t<this.y2-n||t>this.y1+n)return!1;return!0}}var ln;(function(r){r[r.POINT=1]="POINT",r[r.PARALLEL=2]="PARALLEL",r[r.COINCIDENT=3]="COINCIDENT",r[r.NONE=4]="NONE"})(ln||(ln={}));class Cy{constructor(e,t=0,n=0){this.state=e,this.x=t,this.y=n}}function pu(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;return 0<=a&&a<=1&&0<=s&&s<=1?new Cy(ln.POINT,r.x1+a*(r.x2-r.x1),r.y1+a*(r.y2-r.y1)):new Cy(ln.NONE)}return new Cy(t===0||n===0?ln.COINCIDENT:ln.PARALLEL)}function YR(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function GH(r,e){function t(i,a,s,o){let l=YR(e,new Fn(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let n=t(r.x,r.y,r.x2,r.y);return n+=t(r.x,r.y,r.x,r.y2),n>1||(n+=t(r.x,r.y2,r.x2,r.y2),n>1)?!0:(n+=t(r.x2,r.y,r.x2,r.y2),n>0)}var cn;(function(r){r[r.LEFT=0]="LEFT",r[r.TOP=1]="TOP",r[r.RIGHT=2]="RIGHT",r[r.BOTTOM=3]="BOTTOM"})(cn||(cn={}));function Lu(r,e,t){const n=new Set;return r.width<=0?(n.add(cn.LEFT),n.add(cn.RIGHT)):e<r.x?n.add(cn.LEFT):e>r.x+r.width&&n.add(cn.RIGHT),r.height<=0?(n.add(cn.TOP),n.add(cn.BOTTOM)):t<r.y?n.add(cn.TOP):t>r.y+r.height&&n.add(cn.BOTTOM),n}function KR(r,e){let t=e.x1,n=e.y1;const i=e.x2,a=e.y2,s=Array.from(Lu(r,i,a));if(s.length===0)return!0;let o=Lu(r,t,n);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(cn.RIGHT)||o.has(cn.LEFT)){let l=r.x;o.has(cn.RIGHT)&&(l+=r.width),n=n+(l-t)*(a-n)/(i-t),t=l}else{let l=r.y;o.has(cn.BOTTOM)&&(l+=r.height),t=t+(l-n)*(i-t)/(a-n),n=l}o=Lu(r,t,n)}return!0}function WH(r,e){let t=Number.POSITIVE_INFINITY,n=0;function i(a,s,o,l){let c=YR(e,new Fn(a,s,o,l));c=Math.abs(c-.5),c>=0&&c<=1&&(n++,c<t&&(t=c))}return i(r.x,r.y,r.x2,r.y),i(r.x,r.y,r.x,r.y2),n>1||(i(r.x,r.y2,r.x2,r.y2),n>1)?t:(i(r.x2,r.y,r.x2,r.y2),n===0?-1:t)}function VH(r,e){let t=0;const n=pu(r,new Fn(e.x,e.y,e.x2,e.y));t+=n.state===ln.POINT?1:0;const i=pu(r,new Fn(e.x,e.y,e.x,e.y2));t+=i.state===ln.POINT?1:0;const a=pu(r,new Fn(e.x,e.y2,e.x2,e.y2));t+=a.state===ln.POINT?1:0;const s=pu(r,new Fn(e.x2,e.y,e.x2,e.y2));return t+=s.state===ln.POINT?1:0,{top:n,left:i,bottom:a,right:s,count:t}}class tr{constructor(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(e){return new tr(e.x,e.y,e.width,e.height)}equals(e){return this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height}clone(){return new tr(this.x,this.y,this.width,this.height)}add(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x+e.width),a=Math.max(this.y2,e.y+e.height);this.x=t,this.y=n,this.width=i-t,this.height=a-n}addPoint(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x),a=Math.max(this.y2,e.y);this.x=t,this.y=n,this.width=i-t,this.height=a-n}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(e){e.rect(this.x,this.y,this.width,this.height)}containsPt(e,t){return e>=this.x&&e<=this.x2&&t>=this.y&&t<=this.y2}get area(){return this.width*this.height}intersects(e){return this.area<=0||e.width<=0||e.height<=0?!1:e.x+e.width>this.x&&e.y+e.height>this.y&&e.x<this.x2&&e.y<this.y2}distSquare(e,t){if(this.containsPt(e,t))return 0;const n=Lu(this,e,t);return n.has(cn.TOP)?n.has(cn.LEFT)?Pa(e,t,this.x,this.y):n.has(cn.RIGHT)?Pa(e,t,this.x2,this.y):(this.y-t)*(this.y-t):n.has(cn.BOTTOM)?n.has(cn.LEFT)?Pa(e,t,this.x,this.y2):n.has(cn.RIGHT)?Pa(e,t,this.x2,this.y2):(t-this.y2)*(t-this.y2):n.has(cn.LEFT)?(this.x-e)*(this.x-e):n.has(cn.RIGHT)?(e-this.x2)*(e-this.x2):0}}function UH(r){if(r.length===0)return null;const e=r[0],t=new tr(e.x,e.y,0,0);for(const n of r)t.addPoint(n);return t}class pd{constructor(e,t,n){this.cx=e,this.cy=t,this.radius=n}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(e){return new pd(e.cx,e.cy,e.radius)}containsPt(e,t){return Pa(this.cx,this.cy,e,t)<this.radius*this.radius}distSquare(e,t){const n=Pa(this.cx,this.cy,e,t);if(n<this.radius*this.radius)return 0;const i=Math.sqrt(n)-this.radius;return i*i}draw(e){e.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class ms{constructor(e,t=0,n=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=e,this.i=t,this.j=n,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(e,t){return new ms(this.pixelGroup,e.x,e.y,t.x,t.y,e.width,e.height)}static fromPixelRegion(e,t){return new ms(t,0,0,e.x,e.y,Math.ceil(e.width/t),Math.ceil(e.height/t))}copy(e,t){return new ms(this.pixelGroup,this.scaleX(t.x),this.scaleY(t.y),t.x,t.y,e.width,e.height,e.area)}boundX(e){return e<this.i?this.i:e>=this.width?this.width-1:e}boundY(e){return e<this.j?this.j:e>=this.height?this.height-1:e}scaleX(e){return this.boundX(Math.floor((e-this.pixelX)/this.pixelGroup))}scaleY(e){return this.boundY(Math.floor((e-this.pixelY)/this.pixelGroup))}scale(e){const t=this.scaleX(e.x),n=this.scaleY(e.y),i=this.boundX(Math.ceil((e.x+e.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((e.y+e.height-this.pixelY)/this.pixelGroup)),s=i-t,o=a-n;return new tr(t,n,s,o)}invertScaleX(e){return Math.round(e*this.pixelGroup+this.pixelX)}invertScaleY(e){return Math.round(e*this.pixelGroup+this.pixelY)}addPadding(e,t){const n=Math.ceil(t/this.pixelGroup),i=this.boundX(e.x-n),a=this.boundY(e.y-n),s=this.boundX(e.x2+n),o=this.boundY(e.y2+n),l=s-i,c=o-a;return new tr(i,a,l,c)}get(e,t){return e<0||t<0||e>=this.width||t>=this.height?Number.NaN:this.area[e+t*this.width]}inc(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]+=n)}set(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]=n)}incArea(e,t){if(e.width<=0||e.height<=0||t===0)return;const n=this.width,i=e.width,a=Math.max(0,e.i),s=Math.max(0,e.j),o=Math.min(e.i+e.width,n),l=Math.min(e.j+e.height,this.height);if(!(l<=0||o<=0||a>=n||l>=this.height))for(let c=s;c<l;c++){const u=(c-e.j)*i,d=c*n;for(let h=a;h<o;h++){const f=e.area[h-e.i+u];f!==0&&(this.area[h+d]+=t*f)}}}fill(e){this.area.fill(e)}fillArea(e,t){const n=e.x+e.y*this.width;for(let i=0;i<e.height;i++){const a=n+i*this.width;this.area.fill(t,a,a+e.width)}}fillHorizontalLine(e,t,n,i){const a=e+t*this.width;this.area.fill(i,a,a+n)}fillVerticalLine(e,t,n,i){const a=e+t*this.width;for(let s=0;s<n;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let e="";for(let t=0;t<this.height;t++){const n=t*this.width;for(let i=0;i<this.width;i++){const a=this.area[n+i];e+=a.toFixed(1).padStart(6),e+=" "}e+=`
|
|
343
|
+
`}return e}draw(e,t=!0){if(this.width<=0||this.height<=0)return;e.save(),t&&e.translate(this.pixelX,this.pixelY);const n=this.area.reduce((s,o)=>Math.min(s,o),Number.POSITIVE_INFINITY),i=this.area.reduce((s,o)=>Math.max(s,o),Number.NEGATIVE_INFINITY),a=s=>(s-n)/(i-n);e.scale(this.pixelGroup,this.pixelGroup);for(let s=0;s<this.width;s++)for(let o=0;o<this.height;o++){const l=this.area[s+o*this.width];e.fillStyle=`rgba(0, 0, 0, ${a(l)})`,e.fillRect(s,o,1,1)}e.restore()}drawThreshold(e,t,n=!0){if(!(this.width<=0||this.height<=0)){e.save(),n&&e.translate(this.pixelX,this.pixelY),e.scale(this.pixelGroup,this.pixelGroup);for(let i=0;i<this.width;i++)for(let a=0;a<this.height;a++){const s=this.area[i+a*this.width];e.fillStyle=s>t?"black":"white",e.fillRect(i,a,1,1)}e.restore()}}}function XR(r,e){const t=n=>({x:n.x-e,y:n.y-e,width:n.width+2*e,height:n.height+2*e});return Array.isArray(r)?r.map(t):t(r)}function HT(r,e,t){return ZR(Object.assign(HR(r),{distSquare:(n,i)=>xx(r.x1,r.y1,r.x2,r.y2,n,i)}),e,t)}function ZR(r,e,t){const n=XR(r,t),i=e.scale(n),a=e.createSub(i,n);return HH(a,e,t,(s,o)=>r.distSquare(s,o)),a}function HH(r,e,t,n){const i=t*t;for(let a=0;a<r.height;a++)for(let s=0;s<r.width;s++){const o=e.invertScaleX(r.i+s),l=e.invertScaleY(r.j+a),c=n(o,l);if(c===0){r.set(s,a,i);continue}if(c<i){const u=t-Math.sqrt(c);r.set(s,a,u*u)}}return r}function YH(r,e,t){const n=e.scale(r),i=e.addPadding(n,t),a=e.createSub(i,{x:r.x-t,y:r.y-t}),s=n.x-i.x,o=n.y-i.y,l=i.x2-n.x2,c=i.y2-n.y2,u=i.width-s-l,d=i.height-o-c,h=t*t;a.fillArea({x:s,y:o,width:u+1,height:d+1},h);const f=[0],g=Math.max(o,s,l,c);{const y=e.invertScaleX(n.x+n.width/2);for(let b=1;b<g;b++){const w=e.invertScaleY(n.y-b),E=r.distSquare(y,w);if(E<h){const _=t-Math.sqrt(E);f.push(_*_)}else break}}const p=[],v=Math.max(s,l),m=Math.max(o,l);for(let y=1;y<v;y++){const b=e.invertScaleX(n.x-y),w=[];for(let E=1;E<m;E++){const _=e.invertScaleY(n.y-E),O=r.distSquare(b,_);if(O<h){const M=t-Math.sqrt(O);w.push(M*M)}else w.push(0)}p.push(w)}for(let y=1;y<Math.min(o,f.length);y++){const b=f[y];a.fillHorizontalLine(s,o-y,u+1,b)}for(let y=1;y<Math.min(c,f.length);y++){const b=f[y];a.fillHorizontalLine(s,o+d+y,u+1,b)}for(let y=1;y<Math.min(s,f.length);y++){const b=f[y];a.fillVerticalLine(s-y,o,d+1,b)}for(let y=1;y<Math.min(c,f.length);y++){const b=f[y];a.fillVerticalLine(s+u+y,o,d+1,b)}for(let y=1;y<s;y++){const b=p[y-1],w=s-y;for(let E=1;E<o;E++)a.set(w,o-E,b[E-1]);for(let E=1;E<c;E++)a.set(w,o+d+E,b[E-1])}for(let y=1;y<l;y++){const b=p[y-1],w=s+u+y;for(let E=1;E<o;E++)a.set(w,o-E,b[E-1]);for(let E=1;E<c;E++)a.set(w,o+d+E,b[E-1])}return a}function Wt(r,e){return{x:r,y:e}}function KH(r,e,t,n){if(r.length===0)return[];const i=eY(r);return i.map((a,s)=>{const o=i.slice(0,s);return XH(e,a,o,t,n)}).flat()}function XH(r,e,t,n,i){const a=Wt(e.cx,e.cy),s=QH(a,t,r);if(s==null)return[];const o=new Fn(a.x,a.y,s.cx,s.cy),l=ZH(o,r,n,i);return JH(l,r)}function ZH(r,e,t,n){const i=[],a=[];a.push(r);let s=!0;for(let o=0;o<t&&s;o++)for(s=!1;!s&&a.length>0;){const l=a.pop(),c=JR(e,l),u=c?VH(l,c):null;if(!c||!u||u.count!==2){s||i.push(l);continue}let d=n,h=yu(c,d,u,!0),f=va(h,a)||va(h,i),g=mu(h,e);for(;!f&&g&&d>=1;)d/=1.5,h=yu(c,d,u,!0),f=va(h,a)||va(h,i),g=mu(h,e);if(h&&!f&&!g&&(a.push(new Fn(l.x1,l.y1,h.x,h.y)),a.push(new Fn(h.x,h.y,l.x2,l.y2)),s=!0),s)continue;d=n,h=yu(c,d,u,!1);let p=va(h,a)||va(h,i);for(g=mu(h,e);!p&&g&&d>=1;)d/=1.5,h=yu(c,d,u,!1),p=va(h,a)||va(h,i),g=mu(h,e);h&&!p&&(a.push(new Fn(l.x1,l.y1,h.x,h.y)),a.push(new Fn(h.x,h.y,l.x2,l.y2)),s=!0),s||i.push(l)}for(;a.length>0;)i.push(a.pop());return i}function JH(r,e){const t=[];for(;r.length>0;){const n=r.pop();if(r.length===0){t.push(n);break}const i=r.pop(),a=new Fn(n.x1,n.y1,i.x2,i.y2);JR(e,a)?(t.push(n),r.push(i)):r.push(a)}return t}function QH(r,e,t){let n=Number.POSITIVE_INFINITY;return e.reduce((i,a)=>{const s=Pa(r.x,r.y,a.cx,a.cy);if(s>n)return i;const o=new Fn(r.x,r.y,a.cx,a.cy),l=tY(t,o);return s*(l+1)*(l+1)<n&&(i=a,n=s*(l+1)*(l+1)),i},null)}function eY(r){if(r.length<2)return r;let e=0,t=0;return r.forEach(n=>{e+=n.cx,t+=n.cy}),e/=r.length,t/=r.length,r.map(n=>{const i=e-n.cx,a=t-n.cy,s=i*i+a*a;return[n,s]}).sort((n,i)=>n[1]-i[1]).map(n=>n[0])}function mu(r,e){return e.some(t=>t.containsPt(r.x,r.y))}function va(r,e){return e.some(t=>!!(UT(t.x1,t.y1,r.x,r.y,.001)||UT(t.x2,t.y2,r.x,r.y,.001)))}function JR(r,e){let t=Number.POSITIVE_INFINITY,n=null;for(const i of r){if(!KR(i,e))continue;const a=WH(i,e);a>=0&&a<t&&(n=i,t=a)}return n}function tY(r,e){return r.reduce((t,n)=>KR(n,e)&&GH(n,e)?t+1:t,0)}function yu(r,e,t,n){const i=t.top,a=t.left,s=t.bottom,o=t.right;if(n){if(a.state===ln.POINT){if(i.state===ln.POINT)return Wt(r.x-e,r.y-e);if(s.state===ln.POINT)return Wt(r.x-e,r.y2+e);const h=r.width*r.height;return r.width*((a.y-r.y+(o.y-r.y))*.5)<h*.5?a.y>o.y?Wt(r.x-e,r.y-e):Wt(r.x2+e,r.y-e):a.y<o.y?Wt(r.x-e,r.y2+e):Wt(r.x2+e,r.y2+e)}if(o.state===ln.POINT){if(i.state===ln.POINT)return Wt(r.x2+e,r.y-e);if(s.state===ln.POINT)return Wt(r.x2+e,r.y2+e)}const u=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<u*.5?i.x>s.x?Wt(r.x-e,r.y-e):Wt(r.x-e,r.y2+e):i.x<s.x?Wt(r.x2+e,r.y-e):Wt(r.x2+e,r.y2+e)}if(a.state===ln.POINT){if(i.state===ln.POINT)return Wt(r.x2+e,r.y2+e);if(s.state===ln.POINT)return Wt(r.x2+e,r.y-e);const u=r.height*r.width;return r.width*((a.y-r.y+(o.y-r.y))*.5)<u*.5?a.y>o.y?Wt(r.x2+e,r.y2+e):Wt(r.x-e,r.y2+e):a.y<o.y?Wt(r.x2+e,r.y-e):Wt(r.x-e,r.y-e)}if(o.state===ln.POINT){if(i.state===ln.POINT)return Wt(r.x-e,r.y2+e);if(s.state===ln.POINT)return Wt(r.x-e,r.y-e)}const l=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<l*.5?i.x>s.x?Wt(r.x2+e,r.y2+e):Wt(r.x2+e,r.y-e):i.x<s.x?Wt(r.x-e,r.y2+e):Wt(r.x-e,r.y-e)}function nY(r,e,t,n){if(!(r.closed?t<r.length:t<r.length-1))return!1;const a=r.get(e),s=r.get(t+1);for(let o=e+1;o<=t;o++){const l=r.get(o);if(xx(a.x,a.y,s.x,s.y,l.x,l.y)>n)return!1}return!0}function rY(r=0){return e=>{if(r<0||e.length<3)return e;const t=[];let n=0;const i=r*r;for(;n<e.length;){let a=n+1;for(;nY(e,n,a,i);)a++;t.push(e.get(n)),n=a}return new Uo(t)}}function iY(r,e){switch(r){case-2:return(((-e+3)*e-3)*e+1)/6;case-1:return((3*e-6)*e*e+4)/6;case 0:return(((-3*e+3)*e+3)*e+1)/6;case 1:return e*e*e/6;default:throw new Error("unknown error")}}function aY(r=6){function a(s,o,l){let c=0,u=0;for(let d=-2;d<=1;d++){const h=s.get(o+d),f=iY(d,l);c+=f*h.x,u+=f*h.y}return{x:c,y:u}}return s=>{if(s.length<3)return s;const o=[],l=s.closed,c=s.length+3-1+(l?0:2);o.push(a(s,2-(l?0:2),0));for(let u=2-(l?0:2);u<c;u++)for(let d=1;d<=r;d++)o.push(a(s,u,d/r));return new Uo(o)}}function sY(r=8){return e=>{let t=r,n=e.length;if(t>1)for(n=Math.floor(e.length/t);n<3&&t>1;)t-=1,n=Math.floor(e.length/t);const i=[];for(let a=0,s=0;s<n;s++,a+=t)i.push(e.get(a));return new Uo(i)}}class Uo{constructor(e=[],t=!0){this.points=e,this.closed=t}get(e){const t=e,n=this.points.length;return e<0?this.closed?this.get(e+n):this.points[0]:e>=n?this.closed?this.get(e-n):this.points[n-1]:this.points[t]}get length(){return this.points.length}toString(e=1/0){const t=this.points;if(t.length===0)return"";const n=typeof e=="function"?e:qH(e);let i="M";for(const a of t)i+=`${n(a.x)},${n(a.y)} L`;return i=i.slice(0,-1),this.closed&&(i+=" Z"),i}draw(e){const t=this.points;if(t.length!==0){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(const n of t)e.lineTo(n.x,n.y);this.closed&&e.closePath()}}sample(e){return sY(e)(this)}simplify(e){return rY(e)(this)}bSplines(e){return aY(e)(this)}apply(e){return e(this)}containsElements(e){const t=UH(this.points);return t?e.every(n=>t.containsPt(n.cx,n.cy)&&this.withinArea(n.cx,n.cy)):!1}withinArea(e,t){if(this.length===0)return!1;let n=0;const i=this.points[0],a=new Fn(i.x,i.y,i.x,i.y);for(let s=1;s<this.points.length;s++){const o=this.points[s];a.x1=a.x2,a.y1=a.y2,a.x2=o.x,a.y2=o.y,a.cuts(e,t)&&n++}return a.x1=a.x2,a.y1=a.y2,a.x2=i.x,a.y2=i.y,a.cuts(e,t)&&n++,n%2===1}}class oY{constructor(e=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=e}add(e){this.set.add(`${e.x}x${e.y}`),this.arr[this.count++]=e}contains(e){return this.set.has(`${e.x}x${e.y}`)}isFirst(e){if(this.count===0)return!1;const t=this.arr[0];return t!=null&&t.x===e.x&&t.y===e.y}path(){return new Uo(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(e){return this.arr[e]}get length(){return this.count}}const al=0,bu=1,xu=2,Ny=3;function lY(r,e){const t=(Math.floor(r.width)+Math.floor(r.height))*2,n=new oY(t);function i(l,c,u,d){const h=r.get(l,c);return Number.isNaN(h)?Number.NaN:h>e?u+d:u}function a(l,c){let u=al;return u=i(l,c,u,1),u=i(l+1,c,u,2),u=i(l,c+1,u,4),u=i(l+1,c+1,u,8),Number.isNaN(u)?-1:u}let s=bu;function o(l,c){let u=l,d=c,h=r.invertScaleX(u),f=r.invertScaleY(d);for(let g=0;g<r.width*r.height;g++){const p={x:h,y:f};if(n.contains(p)){if(n.isFirst(p))return!0}else n.add(p);const v=a(u,d);switch(v){case-1:return!0;case 0:case 3:case 2:case 7:s=xu;break;case 12:case 14:case 4:s=Ny;break;case 6:s=s===al?Ny:xu;break;case 1:case 13:case 5:s=al;break;case 9:s=s===xu?al:bu;break;case 10:case 8:case 11:s=bu;break;default:return console.warn("Marching squares invalid state: "+v),!0}switch(s){case al:d--,f-=r.pixelGroup;break;case bu:d++,f+=r.pixelGroup;break;case Ny:u--,h-=r.pixelGroup;break;case xu:u++,h+=r.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+v),!0}}return!0}for(let l=0;l<r.width;l++)for(let c=0;c<r.height;c++){if(r.get(l,c)<=e)continue;const u=a(l,c);if(!(u<0||u===15)&&o(l,c))return n.path()}return null}const Sh={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function Ol(r){return r!=null&&typeof r.radius=="number"}function YT(r,e){if(Ol(r)!==Ol(e))return!1;if(Ol(r)){const n=e;return r.cx===n.cx&&r.cy===n.cy&&r.radius===n.radius}const t=e;return r.x===t.x&&r.y===t.y&&r.width===t.width&&r.height===t.height}var ni;(function(r){r[r.MEMBERS=0]="MEMBERS",r[r.NON_MEMBERS=1]="NON_MEMBERS",r[r.EDGES=2]="EDGES"})(ni||(ni={}));let KT=class{constructor(e={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new tr(0,0,0,0),this.potentialArea=new ms(1,0,0,0,0,0,0),this.o=Object.assign({},Sh,e)}pushMember(...e){if(e.length!==0){this.dirty.add(ni.MEMBERS);for(const t of e)this.members.push({raw:t,obj:Ol(t)?pd.from(t):tr.from(t),area:null})}}removeMember(e){const t=this.members.findIndex(n=>YT(n.raw,e));return t<0?!1:(this.members.splice(t,1),this.dirty.add(ni.MEMBERS),!0)}removeNonMember(e){const t=this.nonMembers.findIndex(n=>YT(n.raw,e));return t<0?!1:(this.nonMembers.splice(t,1),this.dirty.add(ni.NON_MEMBERS),!0)}removeEdge(e){const t=this.edges.findIndex(n=>n.obj.equals(e));return t<0?!1:(this.edges.splice(t,1),this.dirty.add(ni.NON_MEMBERS),!0)}pushNonMember(...e){if(e.length!==0){this.dirty.add(ni.NON_MEMBERS);for(const t of e)this.nonMembers.push({raw:t,obj:Ol(t)?pd.from(t):tr.from(t),area:null})}}pushEdge(...e){if(e.length!==0){this.dirty.add(ni.EDGES);for(const t of e)this.edges.push({raw:t,obj:Fn.from(t),area:null})}}update(){const e=this.dirty.has(ni.MEMBERS),t=this.dirty.has(ni.NON_MEMBERS);let n=this.dirty.has(ni.EDGES);this.dirty.clear();const i=this.members.map(c=>c.obj);if(this.o.virtualEdges&&(e||t)){const c=this.nonMembers.map(h=>h.obj),u=KH(i,c,this.o.maxRoutingIterations,this.o.morphBuffer),d=new Map(this.virtualEdges.map(h=>[h.obj.toString(),h.area]));this.virtualEdges=u.map(h=>{var f;return{raw:h,obj:h,area:(f=d.get(h.toString()))!==null&&f!==void 0?f:null}}),n=!0}let a=!1;if(e||n){const c=this.virtualEdges.concat(this.edges).map(f=>f.obj),u=uY(i,c),d=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,h=tr.from(XR(u,d));h.equals(this.activeRegion)||(a=!0,this.activeRegion=h)}if(a){const c=Math.ceil(this.activeRegion.width/this.o.pixelGroup),u=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=ms.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(d=>d.area=null),this.nonMembers.forEach(d=>d.area=null),this.edges.forEach(d=>d.area=null),this.virtualEdges.forEach(d=>d.area=null)):(c!==this.potentialArea.width||u!==this.potentialArea.height)&&(this.potentialArea=ms.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const s=new Map,o=c=>{if(c.area){const u=`${c.obj.width}x${c.obj.height}x${c.obj instanceof tr?"R":"C"}`;s.set(u,c.area)}},l=c=>{if(c.area)return;const u=`${c.obj.width}x${c.obj.height}x${c.obj instanceof tr?"R":"C"}`;if(s.has(u)){const h=s.get(u);c.area=this.potentialArea.copy(h,{x:c.obj.x-this.o.nodeR1,y:c.obj.y-this.o.nodeR1});return}const d=c.obj instanceof tr?YH(c.obj,this.potentialArea,this.o.nodeR1):ZR(c.obj,this.potentialArea,this.o.nodeR1);c.area=d,s.set(u,d)};this.members.forEach(o),this.nonMembers.forEach(o),this.members.forEach(l),this.nonMembers.forEach(c=>{this.activeRegion.intersects(c.obj)?l(c):c.area=null}),this.edges.forEach(c=>{c.area||(c.area=HT(c.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(c=>{c.area||(c.area=HT(c.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(e){for(const t of this.members)t.obj.draw(e)}drawNonMembers(e){for(const t of this.nonMembers)t.obj.draw(e)}drawEdges(e){for(const t of this.edges)t.obj.draw(e)}drawPotentialArea(e,t=!0){this.potentialArea.draw(e,t)}compute(){if(this.members.length===0)return new Uo([]);this.dirty.size>0&&this.update();const{o:e,potentialArea:t}=this,n=this.members.map(o=>o.area),i=this.virtualEdges.concat(this.edges).map(o=>o.area),a=this.nonMembers.filter(o=>o.area!=null).map(o=>o.area),s=this.members.map(o=>o.obj);return cY(t,n,i,a,o=>o.containsElements(s),e)}};function cY(r,e,t,n,i,a={}){const s=Object.assign({},Sh,a);let o=s.threshold,l=s.memberInfluenceFactor,c=s.edgeInfluenceFactor,u=s.nonMemberInfluenceFactor;const d=(s.nodeR0-s.nodeR1)*(s.nodeR0-s.nodeR1),h=(s.edgeR0-s.edgeR1)*(s.edgeR0-s.edgeR1);for(let f=0;f<s.maxMarchingIterations;f++){if(r.clear(),l!==0){const p=l/d;for(const v of e)r.incArea(v,p)}if(c!==0){const p=c/h;for(const v of t)r.incArea(v,p)}if(u!==0){const p=u/d;for(const v of n)r.incArea(v,p)}const g=lY(r,o);if(g&&i(g))return g;if(o*=.95,f<=s.maxMarchingIterations*.5)l*=1.2,c*=1.2;else if(u!==0&&n.length>0)u*=.8;else break}return new Uo([])}function uY(r,e){if(r.length===0)return new tr(0,0,0,0);const t=tr.from(r[0]);for(const n of r)t.add(n);for(const n of e)t.add(HR(n));return t}var dY=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class _h extends Zn{constructor(e,t){super(e,hr({},_h.defaultOptions,t)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:n,bubbleSetOptions:i}=this.parseOptions();sn(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new hc({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=te(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,s=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&sn(a,s)&&sn(o,l))return this.path;const{enter:c=[],exit:u=[]}=Ia(s,a,v=>v),{enter:d=[],exit:h=[]}=Ia(l,o,v=>v);n&&(u.push(n),c.push(n));const f=(v,m,y)=>{v.forEach(b=>{const w=y?this.members:this.avoidMembers,E=y?"pushMember":"pushNonMember",_=y?"removeMember":"removeNonMember";if(m){let O;i.getElementType(b)==="edge"?([O]=fY(i,b),this.bubbleSets.pushEdge(O)):([O]=hY(i,b),this.bubbleSets[E](O)),w.set(b,O)}else{const O=w.get(b);O&&(i.getElementType(b)==="edge"?this.bubbleSets.removeEdge(O):this.bubbleSets[_](O),w.delete(b))}})};f(u,!1,!0),f(c,!0,!0),f(h,!1,!1),f(d,!0,!1);const p=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=DA(p.points.map(Un)),this.path},this.bindEvents(),this.bubbleSets=new KT(this.options)}bindEvents(){this.context.graph.on(we.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(we.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new KT(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const e=this.options,{type:t,key:n,members:i,avoidMembers:a}=e,s=dY(e,["type","key","members","avoidMembers"]),o=Object.keys(s).reduce((l,c)=>(c in Sh?l.bubbleSetOptions[c]=s[c]:l.style[c]=s[c],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:t,key:n,members:i,avoidMembers:a},o)}addMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n))),this.options.members=[...new Set([...this.options.members,...t])],this.drawBubbleSets()}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),this.drawBubbleSets()}updateMember(e){this.options.members=Ie(e)?e(this.options.members):e,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!t.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...t])],this.drawBubbleSets()}removeAvoidMember(e){const t=Array.isArray(e)?e:[e];this.options.avoidMembers.some(n=>t.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n)),this.drawBubbleSets())}updateAvoidMember(e){this.options.avoidMembers=Array.isArray(e)?e:[e],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(we.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(we.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}_h.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},Sh);const hY=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getElementRenderBounds(n);return new tr(i.min[0],i.min[1],Bi(i),zi(i))}),fY=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),s=r.getElementPosition(i.target);return Fn.from({x1:a[0],y1:a[1],x2:s[0],y2:s[1]})});function gY(r){return`
|
|
344
|
+
<ul class="g6-contextmenu-ul">
|
|
345
|
+
${r.map(e=>`<li class="g6-contextmenu-li" value="${e.value}">${e.name}</li>`).join("")}
|
|
346
|
+
</ul>
|
|
347
|
+
`}const vY=`
|
|
348
|
+
.g6-contextmenu {
|
|
349
|
+
font-size: 12px;
|
|
350
|
+
background-color: rgba(255, 255, 255, 0.96);
|
|
351
|
+
border-radius: 4px;
|
|
352
|
+
overflow: hidden;
|
|
353
|
+
box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 12px 0px;
|
|
354
|
+
transition: visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s, left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.g6-contextmenu-ul {
|
|
358
|
+
max-width: 256px;
|
|
359
|
+
min-width: 96px;
|
|
360
|
+
list-style: none;
|
|
361
|
+
padding: 0;
|
|
362
|
+
margin: 0;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.g6-contextmenu-li {
|
|
366
|
+
padding: 8px 12px;
|
|
367
|
+
cursor: pointer;
|
|
368
|
+
user-select: none;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.g6-contextmenu-li:hover {
|
|
372
|
+
background-color: #f5f5f5;
|
|
373
|
+
cursor: pointer;
|
|
374
|
+
}
|
|
375
|
+
`;var XT=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class kh extends Zn{constructor(e,t){super(e,Object.assign({},kh.defaultOptions,t)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:a}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const s=n.target.getAttribute("value");i==null||i(s,n.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(t)}initElement(){this.$element=Vo("contextmenu",!1,{zIndex:"99"});const{className:e}=this.options;e&&this.$element.classList.add(e),this.context.canvas.getContainer().appendChild(this.$element),Y1("g6-contextmenu-css","style",{},vY,document.head)}show(e){return XT(this,void 0,void 0,function*(){const{enable:t,offset:n}=this.options;if(typeof t=="function"&&!t(e)||!t){this.hide();return}const i=yield this.getDOMContent(e);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const a=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${e.client.x-a.left+n[0]}px`,this.$element.style.top=`${e.client.y-a.top+n[1]}px`,this.$element.style.display="block",this.targetElement=e.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(e){return XT(this,void 0,void 0,function*(){const{getContent:t,getItems:n}=this.options;return n?gY(yield n(e)):yield t(e)})}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`canvas:${t}`,this.onTriggerEvent),e.on(`node:${t}`,this.onTriggerEvent),e.on(`edge:${t}`,this.onTriggerEvent),e.on(`combo:${t}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`canvas:${t}`,this.onTriggerEvent),e.off(`node:${t}`,this.onTriggerEvent),e.off(`edge:${t}`,this.onTriggerEvent),e.off(`combo:${t}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}kh.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class Mh extends Zn{constructor(e,t){super(e,Object.assign({},Mh.defaultOptions,t)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,a=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:s,iterRate:o,divRate:l}=this.options;let{lambda:c,divisions:u,iterations:d}=this.options;for(let h=0;h<s;h++){for(let f=0;f<d;f++){const g={};a.forEach(p=>{var v;if(p.source===p.target)return;const m=te(p);g[m]=this.getEdgeForces(p,u,c);for(let y=0;y<u+1;y++)(v=this.edgePoints)[m]||(v[m]=[]),this.edgePoints[m][y]=Ze(this.edgePoints[m][y],g[m][y])})}c/=2,u*=l,d*=o,this.divideEdges(u)}a.forEach(h=>{const f=te(h),g=i.getElement(f);g==null||g.update({d:Ub(this.edgePoints[f])})})},this.bindEvents()}get nodeMap(){const e=this.context.model.getNodeData();return Object.fromEntries(e.map(t=>[te(t),ks(On(t))]))}divideEdges(e){this.context.model.getEdgeData().forEach(n=>{var i;const a=te(n);(i=this.edgePoints)[a]||(i[a]=[]);const s=this.nodeMap[n.source],o=this.nodeMap[n.target];if(e===1)this.edgePoints[a].push(s),this.edgePoints[a].push(di(Ze(s,o),2)),this.edgePoints[a].push(o);else{const c=(this.edgePoints[a].length===0?$t(s,o):xY(this.edgePoints[a]))/(e+1);let u=c;const d=[s];for(let h=1;h<this.edgePoints[a].length;h++){const f=this.edgePoints[a][h-1],g=this.edgePoints[a][h];let p=$t(g,f);for(;p>u;){const v=u/p,m=Ze(f,Hi(St(g,f),v));d.push(m),p-=u,u=c}u-=p}d.push(o),this.edgePoints[a]=d}})}getVectorPosition(e){const t=this.nodeMap[e.source],n=this.nodeMap[e.target],[i,a]=St(n,t),s=$t(t,n);return{source:t,target:n,vx:i,vy:a,length:s}}measureEdgeCompatibility(e,t){const n=this.getVectorPosition(e),i=this.getVectorPosition(t),a=pY(n,i),s=mY(n,i),o=yY(n,i),l=bY(n,i);return a*s*o*l}getEdgeBundles(){const e={},t=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,a)=>{n.forEach((s,o)=>{var l,c;if(o<=a)return;this.measureEdgeCompatibility(i,s)>=t&&(e[l=te(i)]||(e[l]=[]),e[te(i)].push(s),e[c=te(s)]||(e[c]=[]),e[te(s)].push(i))})}),e}getSpringForce(e,t){const{pre:n,cur:i,next:a}=e;return Hi(St(Ze(n,a),Hi(i,2)),t)}getElectrostaticForce(e,t){ki(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[te(t)];let i=[0,0];return n==null||n.forEach(a=>{const s=this.edgePoints[te(a)][e],o=this.edgePoints[te(t)][e],l=St(s,o),c=$t(s,o);i=Ze(i,Hi(l,1/c))}),i}getEdgeForces(e,t,n){const i=this.nodeMap[e.source],a=this.nodeMap[e.target],s=this.options.K/($t(i,a)*(t+1)),o=[[0,0]],l=te(e);for(let c=1;c<t;c++){const u=this.getSpringForce({pre:this.edgePoints[l][c-1],cur:this.edgePoints[l][c],next:this.edgePoints[l][c+1]||[0,0]},s),d=this.getElectrostaticForce(c,e);o.push(Hi(Ze(u,d),n))}return o.push([0,0]),o}bindEvents(){const{graph:e}=this.context;e.on(we.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:e}=this.context;e.off(we.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}Mh.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const pY=(r,e)=>Math.abs(bj([r.vx,r.vy],[e.vx,e.vy])/(r.length*e.length)),mY=(r,e)=>{const t=(r.length+e.length)/2;return 2/(t/Math.min(r.length,e.length)+Math.max(r.length,e.length)/t)},yY=(r,e)=>{const t=(r.length+e.length)/2,n=di(Ze(r.source,r.target),2),i=di(Ze(e.source,e.target),2);return t/(t+$t(n,i))},ZT=(r,e)=>{if(e.source[0]===e.target[0])return[e.source[0],r[1]];if(e.source[1]===e.target[1])return[r[0],e.source[1]];const t=(e.source[1]-e.target[1])/(e.source[0]-e.target[0]),n=(t*t*e.source[0]+t*(r[1]-e.source[1])+r[0])/(t*t+1),i=t*(n-e.source[0])+e.source[1];return[n,i]},JT=(r,e)=>{const t=ZT(e.source,r),n=ZT(e.target,r),i=di(Ze(t,n),2),a=di(Ze(r.source,r.target),2);return $t(t,n)===0?0:Math.max(0,1-2*$t(a,i)/$t(t,n))},bY=(r,e)=>Math.min(JT(r,e),JT(e,r)),xY=r=>{let e=0;for(let t=1;t<r.length;t++)e+=$t(r[t],r[t-1]);return e},wY={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},QT=.05;class Th extends Zn{constructor(e,t){super(e,Object.assign({},Th.defaultOptions,t)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Un(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},wY,this.options.style);this.isLensOn||(this.lens=new fc({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,si(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,a=i.getData();if(!n)return a;const{nodes:s,edges:o,combos:l}=a;return{nodes:s.filter(c=>n(te(c),"node")),edges:o.filter(c=>n(te(c),"edge")),combos:l.filter(c=>n(te(c),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:a}=this.getFilterData(),s=i.filter(c=>$t(On(c),n)<this.r),o=s.map(c=>te(c)),l=a.filter(c=>{const{source:u,target:d}=c,h=o.includes(u),f=o.includes(d);switch(this.options.nodeType){case"both":return h&&f;case"either":return h!==f;case"source":return h&&!f;case"target":return!h&&f;default:return!1}});return{nodes:s,edges:l}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:s,edges:o}=this.getFocusElements(a),l=new Set,c=u=>{const d=te(u);l.add(d);const h=n.getElement(d);if(!h)return;const f=this.shapes.get(d)||h.cloneNode();f.setPosition(h.getPosition()),f.id=h.id,this.shapes.has(d)?Object.entries(h.attributes).forEach(([v,m])=>{f.style[v]!==m&&(f.style[v]=m)}):(this.canvas.appendChild(f),this.shapes.set(d,f));const g=i.getElementType(d),p=this.getElementStyle(g,u);f.update(p)};s.forEach(c),o.forEach(c),this.shapes.forEach((u,d)=>{l.has(d)||(u.destroy(),this.shapes.delete(d))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:a,clientY:s,deltaX:o,deltaY:l}=n,{graph:c,canvas:u}=this.context,d=c.getCanvasByClient([a,s]),h=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||$t(d,h)>this.r)return;const{maxR:f,minR:g}=this.options,p=o+l>0?1/(1-QT):1-QT,v=Math.min(...u.getSize())/2;this.r=Math.max(g||0,Math.min(f||v,this.r*p)),this.renderLens(h),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const a=Un(n.canvas),s=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||$t(a,s)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Un(n.canvas);this.renderLens(i),this.renderFocusElements()},this.onDragEnd=()=>{this.isLensDragging=!1},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}getElementStyle(e,t){const n=e==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(t):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.addEventListener(ce.CLICK,this.onEdgeFilter),n==="pointermove"?a.addEventListener(ce.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.addEventListener(ce.DRAG_START,this.onDragStart),a.addEventListener(ce.DRAG,this.onDrag),a.addEventListener(ce.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.addEventListener(ce.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.removeEventListener(ce.CLICK,this.onEdgeFilter),n==="pointermove"?a.removeEventListener(ce.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.removeEventListener(ce.DRAG_START,this.onDragStart),a.removeEventListener(ce.DRAG,this.onDrag),a.removeEventListener(ce.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.removeEventListener(ce.WHEEL,this.scaleRByWheel))}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((e,t)=>{e.destroy(),this.shapes.delete(t)}),super.destroy()}}Th.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const EY={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},eO=.05,tO=.1;class Oh extends Zn{constructor(e,t){super(e,Object.assign({},Oh.defaultOptions,t)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Un(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},EY,this.options.style);this.isLensOn||(this.lens=new fc({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,si(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,s=new Map,o=new Map;n.getNodeData().forEach(c=>{const u=On(c),d=$t(u,i);if(d>this.r)return;const h=a*d/(this.d*d+this.r),[f,g]=u,[p,v]=i,m=(f-p)/d,y=(g-v)/d,b=[p+h*m,v+h*y],w=te(c),E=this.getNodeStyle(c),_=xs(n.getElementRenderStyle(w),Object.keys(E));s.set(w,Object.assign(Object.assign({},si(b)),E)),o.set(w,Object.assign(Object.assign({},si(u)),_))}),this.updateStyle(s,o)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:a,element:s}=this.context,{enter:o,exit:l,keep:c}=Ia(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),h=>h),u=new Set,d=(h,f)=>{const g=s.getElement(h);g==null||g.update(f),a.getRelatedEdgesData(h).forEach(p=>{u.add(te(p))})};[...o,...c].forEach(h=>{d(h,n.get(h))}),l.forEach(h=>{d(h,this.prevOriginStyleMap.get(h)),this.prevOriginStyleMap.delete(h)}),u.forEach(h=>{const f=s.getElement(h);f==null||f.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((h,f)=>{this.prevOriginStyleMap.has(f)||this.prevOriginStyleMap.set(f,h)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=n,s=this.context.graph.getCanvasByClient([i,a]),o=this.lens.getCenter();return!($t(s,o)>this.r)},this.scaleR=n=>{const{maxR:i,minR:a}=this.options,s=n?1/(1-eO):1-eO,o=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||o,this.r*s))},this.scaleD=n=>{const{maxD:i,minD:a}=this.options,s=n?this.d+tO:this.d-tO;this.d=Math.max(a,Math.min(i,s))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleR(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleD(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=Un(n.canvas),a=this.lens.getCenter();return!($t(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Un(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleR(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleD(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.addEventListener(ce.CLICK,this.onCreateFisheye),n==="pointermove"&&s.addEventListener(ce.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.addEventListener(ce.DRAG_START,this.onDragStart),s.addEventListener(ce.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.addEventListener(ce.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.addEventListener(ce.WHEEL,o,{passive:!1})}}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.removeEventListener(ce.CLICK,this.onCreateFisheye),n==="pointermove"&&s.removeEventListener(ce.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.removeEventListener(ce.DRAG_START,this.onDragStart),s.removeEventListener(ce.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.removeEventListener(ce.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.removeEventListener(ce.WHEEL,o)}}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){var e;this.unbindEvents(),this.isLensOn&&((e=this.lens)===null||e===void 0||e.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}Oh.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class Ch extends Zn{constructor(e,t){super(e,Object.assign({},Ch.defaultOptions,t)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,a,s;const o=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(o),o?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(s=(a=this.options).onExit)===null||s===void 0||s.call(a)},this.shortcut=new Do(e.graph),this.bindEvents(),this.style=document.createElement("style"),document.head.appendChild(this.style),this.style.innerHTML=`
|
|
376
|
+
:not(:root):fullscreen::backdrop {
|
|
377
|
+
background: transparent;
|
|
378
|
+
}
|
|
379
|
+
`}bindEvents(){this.unbindEvents(),this.shortcut.unbindAll();const{request:e=[],exit:t=[]}=this.options.trigger;this.shortcut.bind(e,this.request),this.shortcut.bind(t,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(t=>{document.removeEventListener(t,this.onFullscreenChange,!1)})}setGraphSize(e=!0){var t,n;let i,a;e?(i=((t=globalThis.screen)===null||t===void 0?void 0:t.width)||0,a=((n=globalThis.screen)===null||n===void 0?void 0:n.height)||0,this.graphSize=this.context.graph.getSize()):[i,a]=this.graphSize,this.context.graph.setSize(i,a),this.context.graph.render()}request(){document.fullscreenElement||!SY()||this.$el.requestFullscreen().catch(e=>{Di.warn(`Error attempting to enable full-screen: ${e.message} (${e.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}Ch.defaultOptions={trigger:{},autoFit:!0};function SY(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class Nh extends Zn{constructor(e,t){super(e,Object.assign({},Nh.defaultOptions,t)),this.$element=Vo("grid-line",!0),this.offset=[0,0],this.onTransform=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.context.canvas.getContainer().prepend(this.$element),this.updateStyle(),this.bindEvents()}update(e){super.update(e),this.updateStyle()}bindEvents(){const{graph:e}=this.context;e.on(we.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:e,stroke:t,lineWidth:n,border:i,borderLineWidth:a,borderStroke:s,borderStyle:o}=this.options;Object.assign(this.$element.style,{border:i?`${a}px ${o} ${s}`:"none",backgroundImage:`linear-gradient(${t} ${n}px, transparent ${n}px), linear-gradient(90deg, ${t} ${n}px, transparent ${n}px)`,backgroundSize:`${e}px ${e}px`,backgroundRepeat:"repeat"})}updateOffset(e){this.offset=wj(Ze(this.offset,e),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(we.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}Nh.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function wx(r){const e={Added:new Map,Updated:new Map,Removed:new Map};return r.forEach(t=>{const{type:n,value:i}=t,a=te(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")e.Added.set(a,t);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(e.Added.has(a))e.Added.set(a,{type:n.replace("Updated","Added"),value:i});else if(e.Updated.has(a)){const{original:s}=e.Updated.get(a);e.Updated.set(a,{type:n,value:i,original:s})}else e.Removed.has(a)||e.Updated.set(a,t);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(e.Added.has(a)?e.Added.delete(a):(e.Updated.has(a)&&e.Updated.delete(a),e.Removed.set(a,t)))}),[...Array.from(e.Added.values()),...Array.from(e.Updated.values()),...Array.from(e.Removed.values())]}function QR(r){const{NodeAdded:e=[],NodeUpdated:t=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:s=[],ComboAdded:o=[],ComboUpdated:l=[],ComboRemoved:c=[]}=wd(r,u=>u.type);return{add:{nodes:e,edges:i,combos:o},update:{nodes:t,edges:a,combos:l},remove:{nodes:n,edges:s,combos:c}}}function eL(r,e){for(const t in r)pn(r[t])&&!Array.isArray(r[t])&&r[t]!==null?(e[t]||(e[t]={}),eL(r[t],e[t])):e[t]===void 0&&(e[t]=jl(t))}function _Y(r,e=!1,t){const n={animation:e,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:s}=QR(wx(r));return["nodes","edges","combos"].forEach(o=>{a[o]&&a[o].forEach(l=>{var c,u;const d=Object.assign({},l.value);let h=Object.assign({},l.original);if(t){const f=t.graph.getElementType(te(l.original)),g=f==="edge"?"stroke":"fill",p=t.element.getElementComputedStyle(f,l.original);h=Object.assign(Object.assign({},l.original),{style:Object.assign({[g]:p[g]},l.original.style)})}eL(d,h),(c=n.current.update)[o]||(c[o]=[]),n.current.update[o].push(d),(u=n.original.update)[o]||(u[o]=[]),n.original.update[o].push(h)}),i[o]&&i[o].forEach(l=>{var c,u;const d=Object.assign({},l.value);(c=n.current.add)[o]||(c[o]=[]),n.current.add[o].push(d),(u=n.original.remove)[o]||(u[o]=[]),n.original.remove[o].push(d)}),s[o]&&s[o].forEach(l=>{var c,u;const d=Object.assign({},l.value);(c=n.current.remove)[o]||(c[o]=[]),n.current.remove[o].push(d),(u=n.original.add)[o]||(u[o]=[]),n.original.add[o].push(d)})}),n}class Ah extends Zn{constructor(e,t){super(e,Object.assign({},Ah.defaultOptions,t)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,a=!0)=>{var s,o,l;this.freezed=!0,(o=(s=this.options).executeCommand)===null||o===void 0||o.call(s,i);const c=a?i.original:i.current;this.context.graph.addData(c.add),this.context.graph.updateData(c.update),this.context.graph.removeData(xA(c.remove,!1)),(l=this.context.element)===null||l===void 0||l.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var a;if(!this.freezed){if(i.type===we.AFTER_DRAW){const{dataChanges:s=[],animation:o=!0}=i.data;if(!((a=this.context.batch)===null||a===void 0)&&a.isBatching){if(!this.batchChanges)return;this.batchChanges.push(s),this.batchAnimation&&(this.batchAnimation=o);return}this.batchChanges=[s],this.batchAnimation=o}this.undoStackPush(_Y(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(Ea.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:a}=i.data;this.batchAnimation=!1,a?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new Wd;const{graph:n}=this.context;n.on(we.AFTER_DRAW,this.addCommand),n.on(we.BATCH_START,this.initBatchCommand),n.on(we.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var e,t,n,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((t=(e=this.options).beforeAddCommand)===null||t===void 0?void 0:t.call(e,a,!1))===!1)return;this.redoStack.push(a),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,a,!1),this.notify(Ea.UNDO,a)}return this}redo(){const e=this.redoStack.pop();return e&&(this.executeCommand(e,!1),this.undoStackPush(e),this.notify(Ea.REDO,e)),this}undoAndCancel(){const e=this.undoStack.pop();return e&&(this.executeCommand(e,!1),this.redoStack=[],this.notify(Ea.CANCEL,e)),this}undoStackPush(e){var t,n,i,a;const{stackSize:s}=this.options;s!==0&&this.undoStack.length>=s&&this.undoStack.shift(),((n=(t=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(t,e,!0))!==!1&&(this.undoStack.push(e),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,e,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(Ea.CLEAR,null)}notify(e,t){this.emitter.emit(e,{cmd:t}),this.emitter.emit(Ea.CHANGE,{cmd:t})}on(e,t){this.emitter.on(e,t)}destroy(){const{graph:e}=this.context;e.off(we.AFTER_DRAW,this.addCommand),e.off(we.BATCH_START,this.initBatchCommand),e.off(we.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}Ah.defaultOptions={stackSize:0};var Ay,nO;function kY(){if(nO)return Ay;nO=1;function r(t,n,i,a,s,o){const l=(o-n)*(i-t)-(a-n)*(s-t);return l>0?!0:!(l<0)}function e(t,n){const i=t[0][0],a=t[0][1],s=t[1][0],o=t[1][1],l=n[0][0],c=n[0][1],u=n[1][0],d=n[1][1];return r(i,a,l,c,u,d)!==r(s,o,l,c,u,d)&&r(i,a,s,o,l,c)!==r(i,a,s,o,u,d)}return Ay=e,Ay}var Py,rO;function MY(){if(rO)return Py;rO=1;function r(t,n){this._cells=[],this._cellSize=n,this._reverseCellSize=1/n;for(let i=0;i<t.length;i++){const a=t[i],s=this.coordToCellNum(a[0]),o=this.coordToCellNum(a[1]);if(this._cells[s])this._cells[s][o]?this._cells[s][o].push(a):this._cells[s][o]=[a];else{const l=[];l[o]=[a],this._cells[s]=l}}}r.prototype={cellPoints:function(t,n){return this._cells[t]!==void 0&&this._cells[t][n]!==void 0?this._cells[t][n]:[]},rangePoints:function(t){const n=this.coordToCellNum(t[0]),i=this.coordToCellNum(t[1]),a=this.coordToCellNum(t[2]),s=this.coordToCellNum(t[3]),o=[];for(let l=n;l<=a;l++)for(let c=i;c<=s;c++)for(let u=0;u<this.cellPoints(l,c).length;u++)o.push(this.cellPoints(l,c)[u]);return o},removePoint:function(t){const n=this.coordToCellNum(t[0]),i=this.coordToCellNum(t[1]),a=this._cells[n][i];let s;for(let o=0;o<a.length;o++)if(a[o][0]===t[0]&&a[o][1]===t[1]){s=o;break}return a.splice(s,1),a},trunc:Math.trunc||function(t){return t-t%1},coordToCellNum:function(t){return this.trunc(t*this._reverseCellSize)},extendBbox:function(t,n){return[t[0]-n*this._cellSize,t[1]-n*this._cellSize,t[2]+n*this._cellSize,t[3]+n*this._cellSize]}};function e(t,n){return new r(t,n)}return Py=e,Py}var Ry,iO;function TY(){return iO||(iO=1,Ry={toXy:function(r,e){return e===void 0?r.slice():r.map(function(t){return new Function("pt","return [pt"+e[0]+",pt"+e[1]+"];")(t)})},fromXy:function(r,e){return e===void 0?r.slice():r.map(function(t){return new Function("pt","const o = {}; o"+e[0]+"= pt[0]; o"+e[1]+"= pt[1]; return o;")(t)})}}),Ry}var Ly,aO;function OY(){if(aO)return Ly;aO=1;function r(i,a,s){return(a[0]-i[0])*(s[1]-i[1])-(a[1]-i[1])*(s[0]-i[0])}function e(i){const a=[];for(let s=0;s<i.length;s++){for(;a.length>=2&&r(a[a.length-2],a[a.length-1],i[s])<=0;)a.pop();a.push(i[s])}return a.pop(),a}function t(i){const a=i.reverse(),s=[];for(let o=0;o<a.length;o++){for(;s.length>=2&&r(s[s.length-2],s[s.length-1],a[o])<=0;)s.pop();s.push(a[o])}return s.pop(),s}function n(i){const a=e(i),o=t(i).concat(a);return o.push(i[0]),o}return Ly=n,Ly}var Iy,sO;function CY(){if(sO)return Iy;sO=1;const r=kY(),e=MY(),t=TY(),n=OY();function i(v){const m=[v[0]];let y=v[0];for(let b=1;b<v.length;b++){const w=v[b];(y[0]!==w[0]||y[1]!==w[1])&&m.push(w),y=w}return m}function a(v){return v.sort(function(m,y){return m[0]-y[0]||m[1]-y[1]})}function s(v,m){return Math.pow(m[0]-v[0],2)+Math.pow(m[1]-v[1],2)}function o(v,m,y){const b=[m[0]-v[0],m[1]-v[1]],w=[y[0]-v[0],y[1]-v[1]],E=s(v,m),_=s(v,y);return(b[0]*w[0]+b[1]*w[1])/Math.sqrt(E*_)}function l(v,m){for(let y=0;y<m.length-1;y++){const b=[m[y],m[y+1]];if(!(v[0][0]===b[0][0]&&v[0][1]===b[0][1]||v[0][0]===b[1][0]&&v[0][1]===b[1][1])&&r(v,b))return!0}return!1}function c(v){let m=1/0,y=1/0,b=-1/0,w=-1/0;for(let E=v.length-1;E>=0;E--)v[E][0]<m&&(m=v[E][0]),v[E][1]<y&&(y=v[E][1]),v[E][0]>b&&(b=v[E][0]),v[E][1]>w&&(w=v[E][1]);return[b-m,w-y]}function u(v){return[Math.min(v[0][0],v[1][0]),Math.min(v[0][1],v[1][1]),Math.max(v[0][0],v[1][0]),Math.max(v[0][1],v[1][1])]}function d(v,m,y){let b=null,w=g,E=g,_,O;for(let M=0;M<m.length;M++)_=o(v[0],v[1],m[M]),O=o(v[1],v[0],m[M]),_>w&&O>E&&!l([v[0],m[M]],y)&&!l([v[1],m[M]],y)&&(w=_,E=O,b=m[M]);return b}function h(v,m,y,b,w){let E=!1;for(let _=0;_<v.length-1;_++){const O=[v[_],v[_+1]],M=O[0][0]+","+O[0][1]+","+O[1][0]+","+O[1][1];if(s(O[0],O[1])<m||w.has(M))continue;let N=0,A=u(O),P,L,I;do A=b.extendBbox(A,N),P=A[2]-A[0],L=A[3]-A[1],I=d(O,b.rangePoints(A),v),N++;while(I===null&&(y[0]>P||y[1]>L));P>=y[0]&&L>=y[1]&&w.add(M),I!==null&&(v.splice(_+1,0,I),b.removePoint(I),E=!0)}return E?h(v,m,y,b,w):v}function f(v,m,y){let b=m||20;const w=i(a(t.toXy(v,y)));if(w.length<4){const P=w.concat([w[0]]);return y?t.fromXy(P,y):P}const E=c(w),_=[E[0]*p,E[1]*p],O=n(w),M=w.filter(function(P){return O.indexOf(P)<0}),N=Math.ceil(1/(w.length/(E[0]*E[1]))),A=h(O,Math.pow(b,2),_,e(M,N),new Set);return y?t.fromXy(A,y):A}const g=Math.cos(90/(180/Math.PI)),p=.6;return Iy=f,Iy}var NY=CY();const AY=ec(NY);function PY(r,e,t){if(r.length===1)return RY(r[0],e,t);if(r.length===2)return oO(r,e,t);if(r.length===3){const[n,i,a]=jb(r);if(TA(n,i,a))return oO([n,a],e,t)}switch(t){case"smooth":return IY(r,e);case"sharp":return DY(r,e);case"rounded":default:return LY(r,e)}}const RY=(r,e,t)=>{if(t==="sharp")return[["M",r[0]-e,r[1]-e],["L",r[0]+e,r[1]-e],["L",r[0]+e,r[1]+e],["L",r[0]-e,r[1]+e],["Z"]];const n=[e,e,0,0,0];return[["M",r[0],r[1]-e],["A",...n,r[0],r[1]+e],["A",...n,r[0],r[1]-e]]},oO=(r,e,t)=>{const n=[e,e,0,0,0],i=t==="sharp"?Ze(r[0],Oa(ea(St(r[0],r[1])),e)):r[0],a=t==="sharp"?Ze(r[1],Oa(ea(St(r[1],r[0])),e)):r[1],s=Oa(ea(Od(St(i,a),!1)),e),o=Oa(s,-1),l=Ze(i,s),c=Ze(a,s),u=Ze(a,o),d=Ze(i,o);return t==="sharp"?[["M",l[0],l[1]],["L",c[0],c[1]],["L",u[0],u[1]],["L",d[0],d[1]],["Z"]]:[["M",l[0],l[1]],["L",c[0],c[1]],["A",...n,u[0],u[1]],["L",d[0],d[1]],["A",...n,l[0],l[1]]]},LY=(r,e)=>{const t=jb(r).map((o,l)=>{const c=(l-2+r.length)%r.length,u=(l-1+r.length)%r.length,d=(l+1)%r.length,h=r[c],f=r[u],g=r[d],p=St(h,f),v=St(f,o),m=St(o,g),y=(O,M)=>Bb(O,M,!0)<Math.PI,b=y(p,v),w=y(v,m),E=O=>Oa(ea(Od(O,!1)),e),_=E(v);return[{p:ks(b?Ze(f,E(p)):Ze(f,_)),concave:b&&f},{p:ks(w?Ze(o,E(m)):Ze(o,_)),concave:w&&o}]}),n=[e,e,0,0,0],i=t.findIndex((o,l)=>!t[(l-1+t.length)%t.length][0].concave&&!t[(l-1+t.length)%t.length][1].concave&&!o[0].concave&&!o[0].concave&&!o[1].concave),a=t.slice(i).concat(t.slice(0,i));let s=[];return a.flatMap((o,l)=>{const c=[],u=a[t.length-1];return l===0&&c.push(["M",...u[1].p]),o[0].concave?s.push(o[0].p,o[1].p):c.push(["A",...n,...o[0].p]),o[1].concave?s.unshift(o[1].p):c.push(["L",...o[1].p]),s.length===3&&(c.pop(),c.push(["C",...s.flat()]),s=[]),c})},IY=(r,e)=>{const t=jb(r).map((n,i)=>{const a=r[(i+1)%r.length];return{p:n,v:ea(St(a,n))}});return t.forEach((n,i)=>{const a=i>0?i-1:r.length-1,s=t[a].v,o=ea(Ze(s,Oa(n.v,Bb(s,n.v,!0)<Math.PI?1:-1)));n.p=Ze(n.p,Oa(o,e))}),DA(t.map(n=>n.p))},DY=(r,e)=>{const n=r.map((a,s)=>{const o=r[s===0?r.length-1:s-1],l=$l(Oa(ea(Od(St(o,a),!1)),e));return[Ze(o,l),Ze(a,l)]}).flat();return n.map((a,s)=>{if(s%2===0)return null;const o=[n[(s-1)%n.length],n[s%n.length]],l=[n[(s+1)%n.length],n[(s+2)%n.length]];return zb(o,l,!0)}).filter(Boolean).map((a,s)=>[s===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var FY=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Ph extends Zn{constructor(e,t){super(e,Object.assign({},Ph.defaultOptions,t)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new hc({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!sn(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(te(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const s=a.map(c=>i.getNodeData(c)),o=AY(s.map(On),this.options.concavity).slice(1).reverse(),l=o.flatMap(c=>s.filter(u=>sn(On(u),c)).map(te));return sn(l,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=l,this.path=PY(o,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(we.AFTER_RENDER,this.drawHull),this.context.graph.on(we.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(e){const t=this.options,{members:n,padding:i,corner:a}=t,s=FY(t,["members","padding","corner"]);return Object.assign(Object.assign({},s),{d:this.getHullPath(e)})}getPadding(){const{graph:e}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:a}=e.getElementRenderBounds(i),s=Math.max(a[0],a[1]);return Math.max(n,s)},0)+this.options.padding}addMember(e){const t=Array.isArray(e)?e:[e];this.options.members=[...new Set([...this.options.members,...t])],this.shape.update({d:this.getHullPath()})}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),t.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(e){this.options.members=Ie(e)?e(this.options.members):e,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(we.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}Ph.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function tL(r,e){e(r),r.children&&r.children.forEach(function(t){t&&tL(t,e)})}function Sc(r){Rh(r,!0)}function li(r){Rh(r,!1)}function Rh(r,e){var t=e?"visible":"hidden";tL(r,function(n){n.attr("visibility",t)})}var BY=function(r){it(e,r);function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=r.apply(this,Oe([],V(t),!1))||this;return i.isMutationObserved=!0,i.addEventListener(st.INSERTED,function(){li(i)}),i}return e}(An);function nL(r){var e=r.appendChild(new BY({class:"offscreen"}));return li(e),e}function zY(r){for(var e=r;e;){if(e.className==="offscreen")return!0;e=e.parent}return!1}var Ex=function(r){it(e,r);function e(t){t===void 0&&(t={});var n=t.style,i=un(t,["style"]);return r.call(this,fe({style:fe({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},n)},i))||this}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=nL(this)),this._offscreen},enumerable:!1,configurable:!0}),e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e}(Ls);function Ro(r){return r*Math.PI/180}function rL(r){return Number((r*180/Math.PI).toPrecision(5))}var dr=function(){function r(e,t,n,i){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),i===void 0&&(i=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=e,this.y=t,this.width=n,this.height=i}return Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),r.fromRect=function(e){return new r(e.x,e.y,e.width,e.height)},r.prototype.toJSON=function(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}},r.prototype.isPointIn=function(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom},r}();function Yr(r,e){return Ie(r)?r.apply(void 0,Oe([],V(e),!1)):r}var vi=function(r,e){var t=function(i){return"".concat(e,"-").concat(i)},n=Object.fromEntries(Object.entries(r).map(function(i){var a=V(i,2),s=a[0],o=a[1],l=t(o);return[s,{name:l,class:".".concat(l),id:"#".concat(l),toString:function(){return l}}]}));return Object.assign(n,{prefix:t}),n},jY=5,iL=function(r,e,t,n){t===void 0&&(t=0),n===void 0&&(n=jY),Object.entries(e).forEach(function(i){var a=V(i,2),s=a[0],o=a[1],l=r;Object.prototype.hasOwnProperty.call(e,s)&&(o?To(o)?(To(r[s])||(l[s]={}),t<n?iL(r[s],o,t+1,n):l[s]=e[s]):Fr(o)?(l[s]=[],l[s]=l[s].concat(o)):l[s]=o:l[s]=o)})},Bn=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)iL(r,e[n]);return r},aL=function(r){return r!==void 0&&r!=null&&!Number.isNaN(r)},wu,$Y=i1(function(r,e){var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return wu||(wu=me.offscreenCanvasCreator.getOrCreateContext(void 0)),wu.font=[a,s,i,"".concat(t,"px"),n].join(" "),wu.measureText(r).width},function(r,e){return[r,Object.values(e||sL(r)).join()].join("")},4096),sL=function(r){var e=r.style.fontFamily||"sans-serif",t=r.style.fontWeight||"normal",n=r.style.fontStyle||"normal",i=r.style.fontVariant,a=r.style.fontSize;return a=typeof a=="object"?a.value:a,{fontSize:a,fontFamily:e,fontWeight:t,fontStyle:n,fontVariant:i}};function oL(r){return r.nodeName==="text"?r:r.nodeName==="g"&&r.children.length===1&&r.children[0].nodeName==="text"?r.children[0]:null}function lL(r,e){var t=oL(r);t&&t.attr(e)}function K1(r,e,t){t===void 0&&(t="..."),lL(r,{wordWrap:!0,wordWrapWidth:e,maxLines:1,textOverflow:t})}function qY(r,e,t,n){t===void 0&&(t=2),n===void 0&&(n="top"),lL(r,{wordWrap:!0,wordWrapWidth:e,maxLines:t,textBaseline:n})}function lO(r){var e=r.canvas,t=r.touches,n=r.offsetX,i=r.offsetY;if(e){var a=e.x,s=e.y;return[a,s]}if(t){var o=t[0],l=o.clientX,c=o.clientY;return[l,c]}return n&&i?[n,i]:[0,0]}function ia(r){return typeof r=="function"?r():gt(r)||Ce(r)?new Ex({style:{text:String(r)}}):r}function GY(r,e){return r.reduce(function(t,n){return(t[n[e]]=t[n[e]]||[]).push(n),t},{})}function Dr(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=function(a){a.node().removeChildren()}),r?t(e):(n&&i(e),null)}function Wn(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=!1),n&&r===e||i&&r===t?!0:r>e&&r<t}var WY=function(r,e){return function(t){return r*(1-t)+e*t}};function VY(r,e){var t=e?e.length:0,n=r?Math.min(t,r.length):0;return function(i){var a=new Array(n),s=new Array(t),o=0;for(o=0;o<n;++o)a[o]=Sx(r[o],e[o]);for(;o<t;++o)s[o]=e[o];for(o=0;o<n;++o)s[o]=a[o](i);return s}}function UY(r,e){r===void 0&&(r={}),e===void 0&&(e={});var t={},n={};return Object.entries(e).forEach(function(i){var a=V(i,2),s=a[0],o=a[1];s in r?t[s]=Sx(r[s],o):n[s]=o}),function(i){return Object.entries(t).forEach(function(a){var s=V(a,2),o=s[0],l=s[1];return n[o]=l(i)}),n}}function Sx(r,e){return typeof r=="number"&&typeof e=="number"?WY(r,e):Array.isArray(r)&&Array.isArray(e)?VY(r,e):typeof r=="object"&&typeof e=="object"?UY(r,e):function(t){return r}}function HY(r,e,t,n){if(!n)return r.attr("__keyframe_data__",t),null;var i=n.duration,a=i===void 0?0:i,s=Sx(e,t),o=Math.ceil(+a/16),l=new Array(o).fill(0).map(function(c,u,d){return{__keyframe_data__:s(u/(d.length-1))}});return r.animate(l,fe({fill:"both"},n))}function Xi(r,e){return[r[0]*e,r[1]*e]}function xl(r,e){return[r[0]+e[0],r[1]+e[1]]}function Dy(r,e){return[r[0]-e[0],r[1]-e[1]]}function ts(r,e){return[Math.min(r[0],e[0]),Math.min(r[1],e[1])]}function ns(r,e){return[Math.max(r[0],e[0]),Math.max(r[1],e[1])]}function Yl(r,e){return Math.sqrt(Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2))}function cL(r){if(r[0]===0&&r[1]===0)return[0,0];var e=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2));return[r[0]/e,r[1]/e]}function YY(r,e){return e?[r[1],-r[0]]:[-r[1],r[0]]}function cO(r,e){return+r.toPrecision(e)}function uO(r,e){var t={},n=Array.isArray(e)?e:[e];for(var i in r)n.includes(i)||(t[i]=r[i]);return t}function KY(r,e,t,n){var i,a=[],s=!!n,o,l,c=[1/0,1/0],u=[-1/0,-1/0],d,h,f;if(s){i=V(n,2),c=i[0],u=i[1];for(var g=0,p=r.length;g<p;g+=1){var v=r[g];c=ts(c,v),u=ns(u,v)}}for(var g=0,m=r.length;g<m;g+=1){var v=r[g];if(g===0)f=v;else if(g===m-1)h=v,a.push(f),a.push(h);else{var y=[g?g-1:m-1,g-1][1];o=r[y],l=r[g+1];var b=[0,0];b=Dy(l,o),b=Xi(b,e);var w=Yl(v,o),E=Yl(v,l),_=w+E;_!==0&&(w/=_,E/=_);var O=Xi(b,-w),M=Xi(b,E);h=xl(v,O),d=xl(v,M),d=ts(d,ns(l,v)),d=ns(d,ts(l,v)),O=Dy(d,v),O=Xi(O,-w/E),h=xl(v,O),h=ts(h,ns(o,v)),h=ns(h,ts(o,v)),M=Dy(v,h),M=Xi(M,E/w),d=xl(v,M),s&&(h=ns(h,c),h=ts(h,u),d=ns(d,c),d=ts(d,u)),a.push(f),a.push(h),f=d}}return a}function XY(r,e,t){t===void 0&&(t=[[0,0],[1,1]]);for(var n=!1,i=[],a=0,s=r.length;a<s;a+=2)i.push([r[a],r[a+1]]);for(var o=KY(i,.4,n,t),l=i.length,c=[],u,d,h,a=0;a<l-1;a+=1)u=o[a*2],d=o[a*2+1],h=i[a+1],c.push(["C",u[0],u[1],d[0],d[1],h[0],h[1]]);return c}var ZY=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function JY(r){return ZY.includes(r)}function dO(r){var e={};for(var t in r)JY(t)&&(e[t]=r[t]);return e}function QY(r,e){if(r.length<=e)return r;for(var t=Math.floor(r.length/e),n=[],i=0;i<r.length;i+=t)n.push(r[i]);return n}function _x(r,e,t){var n=r.getBBox(),i=n.width,a=n.height,s=e/Math.max(i,a);return r.style.transform="scale(".concat(s,")"),s}function eK(r,e){var t=new Map;return r.forEach(function(n){var i=e(n);t.has(i)||t.set(i,[]),t.get(i).push(n)}),t}function tK(r){throw new Error(r)}var nK=function(){function r(i,a,s,o,l,c,u){i===void 0&&(i=null),a===void 0&&(a=null),s===void 0&&(s=null),o===void 0&&(o=null),l===void 0&&(l=[null,null,null,null,null]),c===void 0&&(c=[]),u===void 0&&(u=[]),e.add(this),this._elements=Array.from(i),this._data=a,this._parent=s,this._document=o,this._enter=l[0],this._update=l[1],this._exit=l[2],this._merge=l[3],this._split=l[4],this._transitions=c,this._facetElements=u}r.prototype.selectAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(a,null,this._elements[0],this._document)},r.prototype.selectFacetAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(this._elements,null,this._parent,this._document,void 0,void 0,a)},r.prototype.select=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i)[0]||null:i;return new t([a],null,a,this._document)},r.prototype.append=function(i){var a=this,s=typeof i=="function"?i:function(){return a.createElement(i)},o=[];if(this._data!==null){for(var l=0;l<this._data.length;l++){var c=this._data[l],u=V(Array.isArray(c)?c:[c,null],2),d=u[0],h=u[1],f=s(d,l);f.__data__=d,h!==null&&(f.__fromElements__=h),this._parent.appendChild(f),o.push(f)}return new t(o,null,this._parent,this._document)}for(var l=0;l<this._elements.length;l++){var g=this._elements[l],d=g.__data__,f=s(d,l);g.appendChild(f),o.push(f)}return new t(o,null,o[0],this._document)},r.prototype.maybeAppend=function(i,a){var s=pf(this,e,"m",n).call(this,i[0]==="#"?i:"#".concat(i),a);return s.attr("id",i),s},r.prototype.maybeAppendByClassName=function(i,a){var s=i.toString(),o=pf(this,e,"m",n).call(this,s[0]==="."?s:".".concat(s),a);return o.attr("className",s),o},r.prototype.maybeAppendByName=function(i,a){var s=pf(this,e,"m",n).call(this,'[name="'.concat(i,'"]'),a);return s.attr("name",i),s},r.prototype.data=function(i,a,s){var o,l;a===void 0&&(a=function(A){return A}),s===void 0&&(s=function(){return null});for(var c=[],u=[],d=new Set(this._elements),h=[],f=new Set,g=new Map(this._elements.map(function(A,P){return[a(A.__data__,P),A]})),p=new Map(this._facetElements.map(function(A,P){return[a(A.__data__,P),A]})),v=eK(this._elements,function(A){return s(A.__data__)}),m=0;m<i.length;m++){var y=i[m],b=a(y,m),w=s(y,m);if(g.has(b)){var E=g.get(b);E.__data__=y,E.__facet__=!1,u.push(E),d.delete(E),g.delete(b)}else if(p.has(b)){var E=p.get(b);E.__data__=y,E.__facet__=!0,u.push(E),p.delete(b)}else if(v.has(b)){var _=v.get(b);h.push([y,_]);try{for(var O=(o=void 0,rc(_)),M=O.next();!M.done;M=O.next()){var E=M.value;d.delete(E)}}catch(A){o={error:A}}finally{try{M&&!M.done&&(l=O.return)&&l.call(O)}finally{if(o)throw o.error}}v.delete(b)}else if(g.has(w)){var E=g.get(w);E.__toData__?E.__toData__.push(y):E.__toData__=[y],f.add(E),d.delete(E)}else c.push(y)}var N=[new t([],c,this._parent,this._document),new t(u,null,this._parent,this._document),new t(d,null,this._parent,this._document),new t([],h,this._parent,this._document),new t(f,null,this._parent,this._document)];return new t(this._elements,null,this._parent,this._document,N)},r.prototype.merge=function(i){var a=Oe(Oe([],V(this._elements),!1),V(i._elements),!1),s=Oe(Oe([],V(this._transitions),!1),V(i._transitions),!1);return new t(a,null,this._parent,this._document,void 0,s)},r.prototype.createElement=function(i){if(this._document)return this._document.createElement(i,{});var a=t.registry[i];return a?new a:tK("Unknown node type: ".concat(i))},r.prototype.join=function(i,a,s,o,l){i===void 0&&(i=function(g){return g}),a===void 0&&(a=function(g){return g}),s===void 0&&(s=function(g){return g.remove()}),o===void 0&&(o=function(g){return g}),l===void 0&&(l=function(g){return g.remove()});var c=i(this._enter),u=a(this._update),d=s(this._exit),h=o(this._merge),f=l(this._split);return u.merge(c).merge(d).merge(h).merge(f)},r.prototype.remove=function(){for(var i=function(o){var l=a._elements[o],c=a._transitions[o];c?c.then(function(){return l.remove()}):l.remove()},a=this,s=0;s<this._elements.length;s++)i(s);return new t([],null,this._parent,this._document,void 0,this._transitions)},r.prototype.each=function(i){for(var a=0;a<this._elements.length;a++){var s=this._elements[a],o=s.__data__;i.call(s,o,a)}return this},r.prototype.attr=function(i,a){var s=typeof a!="function"?function(){return a}:a;return this.each(function(o,l){a!==void 0&&(this[i]=s.call(this,o,l))})},r.prototype.style=function(i,a,s){s===void 0&&(s=!0);var o=typeof a!="function"||!s?function(){return a}:a;return this.each(function(l,c){a!==void 0&&(this.style[i]=o.call(this,l,c))})},r.prototype.styles=function(i,a){return i===void 0&&(i={}),a===void 0&&(a=!0),this.each(function(s,o){var l=this;Object.entries(i).forEach(function(c){var u=V(c,2),d=u[0],h=u[1],f=typeof h!="function"||!a?function(){return h}:h;h!==void 0&&l.attr(d,f.call(l,s,o))})})},r.prototype.update=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.maybeUpdate=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.transition=function(i){var a=this._transitions;return this.each(function(s,o){a[o]=i.call(this,s,o)})},r.prototype.on=function(i,a){return this.each(function(){this.addEventListener(i,a)}),this},r.prototype.call=function(i){for(var a=[],s=1;s<arguments.length;s++)a[s-1]=arguments[s];return i.call.apply(i,Oe([this._parent,this],V(a),!1)),this},r.prototype.node=function(){return this._elements[0]},r.prototype.nodes=function(){return this._elements},r.prototype.transitions=function(){return this._transitions.filter(function(i){return!!i})},r.prototype.parent=function(){return this._parent};var e,t,n;return t=r,e=new WeakSet,n=function(a,s){var o=this._elements[0],l=o.querySelector(a);if(l)return new t([l],null,this._parent,this._document);var c=typeof s=="string"?this.createElement(s):s();return o.appendChild(c),new t([c],null,this._parent,this._document)},r.registry={g:An,rect:Yn,circle:sa,path:Pr,text:Ex,ellipse:sc,image:lc,line:Ss,polygon:Rs,polyline:kd,html:oc},r}();function De(r){return new nK([r],null,r,r.ownerDocument)}function rK(r,e,t){return r.querySelector(e)?De(r).select(e):De(r).append(t)}function Kn(r){if(Ce(r))return[r,r,r,r];if(Fr(r)){var e=r.length;if(e===1)return[r[0],r[0],r[0],r[0]];if(e===2)return[r[0],r[1],r[0],r[1]];if(e===3)return[r[0],r[1],r[2],r[1]];if(e===4)return r}return[0,0,0,0]}function hO(r){var e=r.getLocalBounds(),t=e.min,n=e.max,i=V([t,n],2),a=V(i[0],2),s=a[0],o=a[1],l=V(i[1],2),c=l[0],u=l[1];return{x:s,y:o,width:c-s,height:u-o,left:s,bottom:u,top:o,right:c}}function iK(r,e){var t=V(r,2),n=t[0],i=t[1],a=V(e,2),s=a[0],o=a[1];return n!==s&&i===o}function aK(r,e){var t,n,i=e.attributes;try{for(var a=rc(Object.entries(i)),s=a.next();!s.done;s=a.next()){var o=V(s.value,2),l=o[0],c=o[1];l!=="id"&&l!=="className"&&r.attr(l,c)}}catch(u){t={error:u}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}function kx(r){return r.toString().charAt(0).toUpperCase()+r.toString().slice(1)}function sK(r){return r.toString().charAt(0).toLowerCase()+r.toString().slice(1)}function oK(r,e){return"".concat(e).concat(kx(r))}function fO(r,e,t){var n;t===void 0&&(t=!0);var i=e||((n=r.match(/^([a-z][a-z0-9]+)/))===null||n===void 0?void 0:n[0])||"",a=r.replace(new RegExp("^(".concat(i,")")),"");return t?sK(a):a}function lK(r,e){Object.entries(e).forEach(function(t){var n=V(t,2),i=n[0],a=n[1];Oe([r],V(r.querySelectorAll(i)),!1).filter(function(s){return s.matches(i)}).forEach(function(s){if(s){var o=s;o.style.cssText+=Object.entries(a).reduce(function(l,c){return"".concat(l).concat(c.join(":"),";")},"")}})})}var Eu=function(r,e){if(!(r!=null&&r.startsWith(e)))return!1;var t=r[e.length];return t>="A"&&t<="Z"};function Ye(r,e,t){t===void 0&&(t=!1);var n={};return Object.entries(r).forEach(function(i){var a=V(i,2),s=a[0],o=a[1];if(!(s==="className"||s==="class")){if(Eu(s,"show")&&Eu(fO(s,"show"),e)!==t)s===oK(e,"show")?n[s]=o:n[s.replace(new RegExp(kx(e)),"")]=o;else if(!Eu(s,"show")&&Eu(s,e)!==t){var l=fO(s,e);l==="filter"&&typeof o=="function"||(n[l]=o)}}}),n}function lo(r,e){return Object.entries(r).reduce(function(t,n){var i=V(n,2),a=i[0],s=i[1];return a.startsWith("show")?t["show".concat(e).concat(a.slice(4))]=s:t["".concat(e).concat(kx(a))]=s,t},{})}function aa(r,e){e===void 0&&(e=["x","y","class","className"]);var t=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],n={},i={};return Object.entries(r).forEach(function(a){var s=V(a,2),o=s[0],l=s[1];e.includes(o)||(t.indexOf(o)!==-1?i[o]=l:n[o]=l)}),[n,i]}function pr(r,e){var t={YYYY:r.getFullYear(),MM:r.getMonth()+1,DD:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds()},n=e;return Object.keys(t).forEach(function(i){var a=t[i];n=n.replace(i,i==="YYYY"?"".concat(a):"".concat(a).padStart(2,"0"))}),n}function cK(r,e,t){var n=r.getBBox(),i=n.width,a=n.height,s=V([e,t].map(function(c,u){var d;return c.includes("%")?parseFloat(((d=c.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||d===void 0?void 0:d[0])||"0")/100*(u===0?i:a):c}),2),o=s[0],l=s[1];return[o,l]}function uL(r,e){if(e)try{var t=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,n=e.replace(t,function(i,a,s){return"translate(".concat(cK(r,a,s),")")});r.attr("transform",n)}catch{}}function uK(r){var e;return((e=r[0])===null||e===void 0?void 0:e.map(function(t,n){return r.map(function(i){return i[n]})}))||[]}var gO=function(r,e){if(e==null){r.innerHTML="";return}r.replaceChildren?Array.isArray(e)?r.replaceChildren.apply(r,Oe([],V(e),!1)):r.replaceChildren(e):(r.innerHTML="",Array.isArray(e)?e.forEach(function(t){return r.appendChild(t)}):r.appendChild(e))};function dK(){Rh(this,this.attributes.visibility!=="hidden")}var dn=function(r){it(e,r);function e(t,n){n===void 0&&(n={});var i=r.call(this,Bn({},{style:n},t))||this;return i.initialized=!1,i._defaultOptions=n,i}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=nL(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),e.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e.prototype.attributeChangedCallback=function(t){t==="visibility"&&dK.call(this)},e.prototype.update=function(t,n){var i;return this.attr(Bn({},this.attributes,t||{})),(i=this.render)===null||i===void 0?void 0:i.call(this,this.attributes,this,n)},e.prototype.clear=function(){this.removeChildren()},e.prototype.bindEvents=function(t,n){},e.prototype.getSubShapeStyle=function(t){t.x,t.y,t.transform,t.transformOrigin,t.class,t.className,t.zIndex;var n=un(t,["x","y","transform","transformOrigin","class","className","zIndex"]);return n},e}(Cb),dL=function(r,e,t){return[["M",r-t,e],["A",t,t,0,1,0,r+t,e],["A",t,t,0,1,0,r-t,e],["Z"]]},hK=dL,fK=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},gK=function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},vK=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["Z"]]},pK=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]},mK=function(r,e,t){var n=t/2*Math.sqrt(3);return[["M",r,e-t],["L",r+n,e-t/2],["L",r+n,e+t/2],["L",r,e+t],["L",r-n,e+t/2],["L",r-n,e-t/2],["Z"]]},yK=function(r,e,t){var n=t-1.5;return[["M",r-t,e-n],["L",r+t,e+n],["L",r+t,e-n],["L",r-t,e+n],["Z"]]},hL=function(r,e,t){return[["M",r,e+t],["L",r,e-t]]},bK=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e+t],["M",r+t,e-t],["L",r-t,e+t]]},xK=function(r,e,t){return[["M",r-t/2,e-t],["L",r+t/2,e-t],["M",r,e-t],["L",r,e+t],["M",r-t/2,e+t],["L",r+t/2,e+t]]},wK=function(r,e,t){return[["M",r-t,e],["L",r+t,e],["M",r,e-t],["L",r,e+t]]},EK=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},fL=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},SK=fL,_K=function(r,e,t){return[["M",r-t,e],["A",t/2,t/2,0,1,1,r,e],["A",t/2,t/2,0,1,0,r+t,e]]},kK=function(r,e,t){return[["M",r-t-1,e-2.5],["L",r,e-2.5],["L",r,e+2.5],["L",r+t+1,e+2.5]]},MK=function(r,e,t){return[["M",r-t-1,e+2.5],["L",r,e+2.5],["L",r,e-2.5],["L",r+t+1,e-2.5]]},TK=function(r,e,t){return[["M",r-(t+1),e+2.5],["L",r-t/2,e+2.5],["L",r-t/2,e-2.5],["L",r+t/2,e-2.5],["L",r+t/2,e+2.5],["L",r+t+1,e+2.5]]};function OK(r,e){return[["M",r-5,e+2.5],["L",r-5,e],["L",r,e],["L",r,e-3],["L",r,e+3],["L",r+6.5,e+3]]}var CK=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e],["L",r-t,e+t],["Z"]]};function NK(r){var e="default";if(pn(r)&&r instanceof Image)e="image";else if(Ie(r))e="symbol";else if(gt(r)){var t=new RegExp("data:(image|text)");r.match(t)?e="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(r)?e="url":e="symbol"}return e}function AK(r){var e=NK(r);return["base64","url","image"].includes(e)?"image":r&&e==="symbol"?"path":null}var Ot=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=this.getSubShapeStyle(t),c=l.symbol,u=l.size,d=u===void 0?16:u,h=un(l,["symbol","size"]),f=AK(c);Dr(!!f,De(n),function(g){g.maybeAppendByClassName("marker",f).attr("className","marker ".concat(f,"-marker")).call(function(p){if(f==="image"){var v=d*2;p.styles({img:c,width:v,height:v,x:a-d,y:o-d})}else{var v=d/2,m=Ie(c)?c:e.getSymbol(c);p.styles(fe({d:m==null?void 0:m(a,o,v)},h))}})})},e.MARKER_SYMBOL_MAP=new Map,e.registerSymbol=function(t,n){e.MARKER_SYMBOL_MAP.set(t,n)},e.getSymbol=function(t){return e.MARKER_SYMBOL_MAP.get(t)},e.getSymbols=function(){return Array.from(e.MARKER_SYMBOL_MAP.keys())},e}(dn);Ot.registerSymbol("cross",bK);Ot.registerSymbol("hyphen",EK);Ot.registerSymbol("line",hL);Ot.registerSymbol("plus",wK);Ot.registerSymbol("tick",xK);Ot.registerSymbol("circle",dL);Ot.registerSymbol("point",hK);Ot.registerSymbol("bowtie",yK);Ot.registerSymbol("hexagon",mK);Ot.registerSymbol("square",fK);Ot.registerSymbol("diamond",gK);Ot.registerSymbol("triangle",vK);Ot.registerSymbol("triangle-down",pK);Ot.registerSymbol("line",hL);Ot.registerSymbol("dot",fL);Ot.registerSymbol("dash",SK);Ot.registerSymbol("smooth",_K);Ot.registerSymbol("hv",kK);Ot.registerSymbol("vh",MK);Ot.registerSymbol("hvh",TK);Ot.registerSymbol("vhv",OK);function md(r,...e){return e.reduce((t,n)=>i=>t(n(i)),r)}function X1(r,e){return e-r?t=>(t-r)/(e-r):t=>.5}function PK(r,e){const t=e<r?e:r,n=r>e?r:e;return i=>Math.min(Math.max(t,i),n)}function RK(r,e,t,n,i){let a=t,s=n||r.length;const o=l=>l;for(;a<s;){const l=Math.floor((a+s)/2);o(r[l])>e?s=l:a=l+1}return a}const vO=Math.sqrt(50),pO=Math.sqrt(10),mO=Math.sqrt(2);function Iu(r,e,t){const n=(e-r)/Math.max(0,t),i=Math.floor(Math.log(n)/Math.LN10),a=n/10**i;return i>=0?(a>=vO?10:a>=pO?5:a>=mO?2:1)*10**i:-(10**-i)/(a>=vO?10:a>=pO?5:a>=mO?2:1)}const LK=(r,e,t=5)=>{const n=[r,e];let i=0,a=n.length-1,s=n[i],o=n[a],l;return o<s&&([s,o]=[o,s],[i,a]=[a,i]),l=Iu(s,o,t),l>0?(s=Math.floor(s/l)*l,o=Math.ceil(o/l)*l,l=Iu(s,o,t)):l<0&&(s=Math.ceil(s*l)/l,o=Math.floor(o*l)/l,l=Iu(s,o,t)),l>0?(n[i]=Math.floor(s/l)*l,n[a]=Math.ceil(o/l)*l):l<0&&(n[i]=Math.ceil(s*l)/l,n[a]=Math.floor(o*l)/l),n};function yO(r){return!Ue(r)&&!g6(r)&&!Number.isNaN(r)}var Fy={exports:{}},By,bO;function IK(){return bO||(bO=1,By={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),By}var zy={exports:{}},jy,xO;function DK(){return xO||(xO=1,jy=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}),jy}var wO;function FK(){if(wO)return zy.exports;wO=1;var r=DK(),e=Array.prototype.concat,t=Array.prototype.slice,n=zy.exports=function(a){for(var s=[],o=0,l=a.length;o<l;o++){var c=a[o];r(c)?s=e.call(s,t.call(c)):s.push(c)}return s};return n.wrap=function(i){return function(){return i(n(arguments))}},zy.exports}var EO;function BK(){if(EO)return Fy.exports;EO=1;var r=IK(),e=FK(),t=Object.hasOwnProperty,n=Object.create(null);for(var i in r)t.call(r,i)&&(n[r[i]]=i);var a=Fy.exports={to:{},get:{}};a.get=function(l){var c=l.substring(0,3).toLowerCase(),u,d;switch(c){case"hsl":u=a.get.hsl(l),d="hsl";break;case"hwb":u=a.get.hwb(l),d="hwb";break;default:u=a.get.rgb(l),d="rgb";break}return u?{model:d,value:u}:null},a.get.rgb=function(l){if(!l)return null;var c=/^#([a-f0-9]{3,4})$/i,u=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,d=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,h=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,f=/^(\w+)$/,g=[0,0,0,1],p,v,m;if(p=l.match(u)){for(m=p[2],p=p[1],v=0;v<3;v++){var y=v*2;g[v]=parseInt(p.slice(y,y+2),16)}m&&(g[3]=parseInt(m,16)/255)}else if(p=l.match(c)){for(p=p[1],m=p[3],v=0;v<3;v++)g[v]=parseInt(p[v]+p[v],16);m&&(g[3]=parseInt(m+m,16)/255)}else if(p=l.match(d)){for(v=0;v<3;v++)g[v]=parseInt(p[v+1],0);p[4]&&(p[5]?g[3]=parseFloat(p[4])*.01:g[3]=parseFloat(p[4]))}else if(p=l.match(h)){for(v=0;v<3;v++)g[v]=Math.round(parseFloat(p[v+1])*2.55);p[4]&&(p[5]?g[3]=parseFloat(p[4])*.01:g[3]=parseFloat(p[4]))}else return(p=l.match(f))?p[1]==="transparent"?[0,0,0,0]:t.call(r,p[1])?(g=r[p[1]],g[3]=1,g):null:null;for(v=0;v<3;v++)g[v]=s(g[v],0,255);return g[3]=s(g[3],0,1),g},a.get.hsl=function(l){if(!l)return null;var c=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,u=l.match(c);if(u){var d=parseFloat(u[4]),h=(parseFloat(u[1])%360+360)%360,f=s(parseFloat(u[2]),0,100),g=s(parseFloat(u[3]),0,100),p=s(isNaN(d)?1:d,0,1);return[h,f,g,p]}return null},a.get.hwb=function(l){if(!l)return null;var c=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,u=l.match(c);if(u){var d=parseFloat(u[4]),h=(parseFloat(u[1])%360+360)%360,f=s(parseFloat(u[2]),0,100),g=s(parseFloat(u[3]),0,100),p=s(isNaN(d)?1:d,0,1);return[h,f,g,p]}return null},a.to.hex=function(){var l=e(arguments);return"#"+o(l[0])+o(l[1])+o(l[2])+(l[3]<1?o(Math.round(l[3]*255)):"")},a.to.rgb=function(){var l=e(arguments);return l.length<4||l[3]===1?"rgb("+Math.round(l[0])+", "+Math.round(l[1])+", "+Math.round(l[2])+")":"rgba("+Math.round(l[0])+", "+Math.round(l[1])+", "+Math.round(l[2])+", "+l[3]+")"},a.to.rgb.percent=function(){var l=e(arguments),c=Math.round(l[0]/255*100),u=Math.round(l[1]/255*100),d=Math.round(l[2]/255*100);return l.length<4||l[3]===1?"rgb("+c+"%, "+u+"%, "+d+"%)":"rgba("+c+"%, "+u+"%, "+d+"%, "+l[3]+")"},a.to.hsl=function(){var l=e(arguments);return l.length<4||l[3]===1?"hsl("+l[0]+", "+l[1]+"%, "+l[2]+"%)":"hsla("+l[0]+", "+l[1]+"%, "+l[2]+"%, "+l[3]+")"},a.to.hwb=function(){var l=e(arguments),c="";return l.length>=4&&l[3]!==1&&(c=", "+l[3]),"hwb("+l[0]+", "+l[1]+"%, "+l[2]+"%"+c+")"},a.to.keyword=function(l){return n[l.slice(0,3)]};function s(l,c,u){return Math.min(Math.max(c,l),u)}function o(l){var c=Math.round(l).toString(16).toUpperCase();return c.length<2?"0"+c:c}return Fy.exports}var zK=BK();const jK=ec(zK);function $y(r,e,t){let n=t;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?r+(e-r)*6*n:n<1/2?e:n<2/3?r+(e-r)*(2/3-n)*6:r}function $K(r){const e=r[0]/360,t=r[1]/100,n=r[2]/100,i=r[3];if(t===0)return[n*255,n*255,n*255,i];const a=n<.5?n*(1+t):n+t-n*t,s=2*n-a,o=$y(s,a,e+1/3),l=$y(s,a,e),c=$y(s,a,e-1/3);return[o*255,l*255,c*255,i]}function SO(r){const e=jK.get(r);if(!e)return null;const{model:t,value:n}=e;return t==="rgb"?n:t==="hsl"?$K(n):null}const yd=(r,e)=>t=>r*(1-t)+e*t,qK=(r,e)=>{const t=SO(r),n=SO(e);return t===null||n===null?t?()=>r:()=>e:i=>{const a=new Array(4);for(let u=0;u<4;u+=1){const d=t[u],h=n[u];a[u]=d*(1-i)+h*i}const[s,o,l,c]=a;return`rgba(${Math.round(s)}, ${Math.round(o)}, ${Math.round(l)}, ${c})`}},GK=(r,e)=>typeof r=="number"&&typeof e=="number"?yd(r,e):typeof r=="string"&&typeof e=="string"?qK(r,e):()=>r,WK=(r,e)=>{const t=yd(r,e);return n=>Math.round(t(n))};function _O({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):t}function VK({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):(r.set(n,t),t)}function UK({map:r,initKey:e},t){const n=e(t);return r.has(n)&&(t=r.get(n),r.delete(n)),t}function HK(r){return typeof r=="object"?r.valueOf():r}class kO extends Map{constructor(e){if(super(),this.map=new Map,this.initKey=HK,e!==null)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(_O({map:this.map,initKey:this.initKey},e))}has(e){return super.has(_O({map:this.map,initKey:this.initKey},e))}set(e,t){return super.set(VK({map:this.map,initKey:this.initKey},e),t)}delete(e){return super.delete(UK({map:this.map,initKey:this.initKey},e))}}class gL{constructor(e){this.options=hr({},this.getDefaultOptions()),this.update(e)}getOptions(){return this.options}update(e={}){this.options=hr({},this.options,e),this.rescale(e)}rescale(e){}}const Mx=Symbol("defaultUnknown");function MO(r,e,t){for(let n=0;n<e.length;n+=1)r.has(e[n])||r.set(t(e[n]),n)}function TO(r){const{value:e,from:t,to:n,mapper:i,notFoundReturn:a}=r;let s=i.get(e);if(s===void 0){if(a!==Mx)return a;s=t.push(e)-1,i.set(e,s)}return n[s%n.length]}function OO(r){return r instanceof Date?e=>`${e}`:typeof r=="object"?e=>JSON.stringify(e):e=>e}class Tx extends gL{getDefaultOptions(){return{domain:[],range:[],unknown:Mx}}constructor(e){super(e)}map(e){return this.domainIndexMap.size===0&&MO(this.domainIndexMap,this.getDomain(),this.domainKey),TO({value:this.domainKey(e),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(e){return this.rangeIndexMap.size===0&&MO(this.rangeIndexMap,this.getRange(),this.rangeKey),TO({value:this.rangeKey(e),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(e){const[t]=this.options.domain,[n]=this.options.range;if(this.domainKey=OO(t),this.rangeKey=OO(n),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!e||e.range)&&this.rangeIndexMap.clear(),(!e||e.domain||e.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new Tx(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:e,compare:t}=this.options;return this.sortedDomain=t?[...e].sort(t):e,this.sortedDomain}}function YK(r){const e=Math.min(...r);return r.map(t=>t/e)}function KK(r,e){const t=r.length,n=e-t;return n>0?[...r,...new Array(n).fill(1)]:n<0?r.slice(0,e):r}function XK(r){return Math.round(r*1e12)/1e12}function ZK(r){const{domain:e,range:t,paddingOuter:n,paddingInner:i,flex:a,round:s,align:o}=r,l=e.length,c=KK(a,l),[u,d]=t,h=d-u,f=2/l*n+1-1/l*i,g=h/f,p=g*i/l,v=g-l*p,m=YK(c),y=m.reduce((L,I)=>L+I),b=v/y,w=new kO(e.map((L,I)=>{const G=m[I]*b;return[L,s?Math.floor(G):G]})),E=new kO(e.map((L,I)=>{const H=m[I]*b+p;return[L,s?Math.floor(H):H]})),_=Array.from(E.values()).reduce((L,I)=>L+I),M=(h-(_-_/l*i))*o,N=u+M;let A=s?Math.round(N):N;const P=new Array(l);for(let L=0;L<l;L+=1){P[L]=XK(A);const I=e[L];A+=E.get(I)}return{valueBandWidth:w,valueStep:E,adjustedRange:P}}function JK(r){var e;const{domain:t}=r,n=t.length;if(n===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((e=r.flex)===null||e===void 0)&&e.length))return ZK(r);const{range:a,paddingOuter:s,paddingInner:o,round:l,align:c}=r;let u,d,h=a[0];const g=a[1]-h,p=s*2,v=n-o;u=g/Math.max(1,p+v),l&&(u=Math.floor(u)),h+=(g-u*(n-o))*c,d=u*(1-o),l&&(h=Math.round(h),d=Math.round(d));const m=new Array(n).fill(0).map((y,b)=>h+b*u);return{valueStep:u,valueBandWidth:d,adjustedRange:m}}class Ox extends Tx{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:Mx,flex:[]}}constructor(e){super(e)}clone(){return new Ox(this.options)}getStep(e){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:e===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(e)}getBandWidth(e){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:e===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(e)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:e,paddingInner:t}=this.options;return e>0?e:t}getPaddingOuter(){const{padding:e,paddingOuter:t}=this.options;return e>0?e:t}rescale(){super.rescale();const{align:e,domain:t,range:n,round:i,flex:a}=this.options,{adjustedRange:s,valueBandWidth:o,valueStep:l}=JK({align:e,range:n,round:i,flex:a,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:t});this.valueStep=l,this.valueBandWidth=o,this.adjustedRange=s}}const QK=(r,e,t)=>{let n,i,a=r,s=e;if(a===s&&t>0)return[a];let o=Iu(a,s,t);if(o===0||!Number.isFinite(o))return[];if(o>0){a=Math.ceil(a/o),s=Math.floor(s/o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)*o}else{o=-o,a=Math.ceil(a*o),s=Math.floor(s*o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)/o}return i},eX=(r,e,t)=>{const[n,i]=r,[a,s]=e;let o,l;return n<i?(o=X1(n,i),l=t(a,s)):(o=X1(i,n),l=t(s,a)),md(l,o)},tX=(r,e,t)=>{const n=Math.min(r.length,e.length)-1,i=new Array(n),a=new Array(n),s=r[0]>r[n],o=s?[...r].reverse():r,l=s?[...e].reverse():e;for(let c=0;c<n;c+=1)i[c]=X1(o[c],o[c+1]),a[c]=t(l[c],l[c+1]);return c=>{const u=RK(r,c,1,n)-1,d=i[u],h=a[u];return md(h,d)(c)}},CO=(r,e,t,n)=>(Math.min(r.length,e.length)>2?tX:eX)(r,e,n?WK:t);class nX extends gL{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:yd,tickCount:5}}map(e){return yO(e)?this.output(e):this.options.unknown}invert(e){return yO(e)?this.input(e):this.options.unknown}nice(){if(!this.options.nice)return;const[e,t,n,...i]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(e,t,n,...i)}getTicks(){const{tickMethod:e}=this.options,[t,n,i,...a]=this.getTickMethodOptions();return e(t,n,i,...a)}getTickMethodOptions(){const{domain:e,tickCount:t}=this.options,n=e[0],i=e[e.length-1];return[n,i,t]}chooseNice(){return LK}rescale(){this.nice();const[e,t]=this.chooseTransforms();this.composeOutput(e,this.chooseClamp(e)),this.composeInput(e,t,this.chooseClamp(t))}chooseClamp(e){const{clamp:t,range:n}=this.options,i=this.options.domain.map(e),a=Math.min(i.length,n.length);return t?PK(i[0],i[a-1]):a1}composeOutput(e,t){const{domain:n,range:i,round:a,interpolate:s}=this.options,o=CO(n.map(e),i,s,a);this.output=md(o,t,e)}composeInput(e,t,n){const{domain:i,range:a}=this.options,s=CO(a,i.map(e),yd);this.input=md(t,n,s)}}class Cl extends nX{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:GK,tickMethod:QK,tickCount:5}}chooseTransforms(){return[a1,a1]}clone(){return new Cl(this.options)}}var rX=function(r){it(e,r);function e(t){var n=this,i=t.style,a=un(t,["style"]);return n=r.call(this,hr({},{type:"column"},fe({style:i},a)))||this,n.columnsGroup=new An({name:"columns"}),n.appendChild(n.columnsGroup),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.columns,i=t.x,a=t.y;this.columnsGroup.style.transform="translate(".concat(i,", ").concat(a,")"),De(this.columnsGroup).selectAll(".column").data(n.flat()).join(function(s){return s.append("rect").attr("className","column").each(function(o){this.attr(o)})},function(s){return s.each(function(o){this.attr(o)})},function(s){return s.remove()})},e.prototype.update=function(t){this.attr(Bn({},this.attributes,t)),this.render()},e.prototype.clear=function(){this.removeChildren()},e}(qt),iX=function(r){it(e,r);function e(t){var n=this,i=t.style,a=un(t,["style"]);return n=r.call(this,hr({},{type:"lines"},fe({style:i},a)))||this,n.linesGroup=n.appendChild(new An),n.areasGroup=n.appendChild(new An),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.lines,i=t.areas,a=t.x,s=t.y;this.style.transform="translate(".concat(a,", ").concat(s,")"),n&&this.renderLines(n),i&&this.renderAreas(i)},e.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},e.prototype.update=function(t){this.attr(Bn({},this.attributes,t)),this.render()},e.prototype.renderLines=function(t){De(this.linesGroup).selectAll(".line").data(t).join(function(n){return n.append("path").attr("className","line").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.attr(i)})},function(n){return n.remove()})},e.prototype.renderAreas=function(t){De(this.linesGroup).selectAll(".area").data(t).join(function(n){return n.append("path").attr("className","area").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.style(i)})},function(n){return n.remove()})},e}(qt);function aX(r,e){var t,n=e.x,i=e.y,a=V(i.getOptions().range||[0,0],2),s=a[0],o=a[1];return o>s&&(t=V([s,o],2),o=t[0],s=t[1]),r.map(function(l){var c=l.map(function(u,d){return[n.map(d),an(i.map(u),o,s)]});return c})}function Kl(r,e){e===void 0&&(e=!1);var t=e?r.length-1:0,n=r.map(function(i,a){return Oe([a===t?"M":"L"],V(i),!1)});return e?n.reverse():n}function bd(r,e){if(e===void 0&&(e=!1),r.length<=2)return Kl(r);for(var t=[],n=r.length,i=0;i<n;i+=1){var a=e?r[n-i-1]:r[i];sn(a,t.slice(-2))||t.push.apply(t,Oe([],V(a),!1))}var s=XY(t);return e?s.unshift(Oe(["M"],V(r[n-1]),!1)):s.unshift(Oe(["M"],V(r[0]),!1)),s}function Cx(r,e,t){var n=za(r);return n.push(["L",e,t],["L",0,t],["Z"]),n}function sX(r,e,t,n){return r.map(function(i){return Cx(e?bd(i):Kl(i),t,n)})}function oX(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=Kl(a),o=void 0;if(i===0)o=Cx(s,e,t);else{var l=r[i-1],c=Kl(l,!0);c[0][0]="L",o=Oe(Oe(Oe([],V(s),!1),V(c),!1),[["Z"]],!1)}n.push(o)}return n}function lX(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=bd(a),o=void 0;if(i===0)o=Cx(s,e,t);else{var l=r[i-1],c=bd(l,!0),u=a[0];c[0][0]="L",o=Oe(Oe(Oe([],V(s),!1),V(c),!1),[Oe(["M"],V(u),!1),["Z"]],!1)}n.push(o)}return n}function NO(r){return r.length===0?[0,0]:[qu(l6(r,function(e){return qu(e)||0})),$u(o6(r,function(e){return $u(e)||0}))]}function AO(r){for(var e=za(r),t=e[0].length,n=V([Array(t).fill(0),Array(t).fill(0)],2),i=n[0],a=n[1],s=0;s<e.length;s+=1)for(var o=e[s],l=0;l<t;l+=1)o[l]>=0?(o[l]+=i[l],i[l]=o[l]):(o[l]+=a[l],a[l]=o[l]);return e}var cX=function(r){it(e,r);function e(t){return r.call(this,t,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})||this}return Object.defineProperty(e.prototype,"rawData",{get:function(){var t=this.attributes.data;if(!t||(t==null?void 0:t.length)===0)return[[]];var n=za(t);return Ce(n[0])?[n]:n},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.attributes.isStack?AO(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"baseline",{get:function(){var t=this.scales.y,n=V(t.getOptions().domain||[0,0],2),i=n[0],a=n[1];return a<0?t.map(a):t.map(i<0?0:i)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerShape",{get:function(){var t=this.attributes,n=t.width,i=t.height;return{width:n,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linesStyle",{get:function(){var t=this,n=this.attributes,i=n.type,a=n.isStack,s=n.smooth;if(i!=="line")throw new Error("linesStyle can only be used in line type");var o=Ye(this.attributes,"area"),l=Ye(this.attributes,"line"),c=this.containerShape.width,u=this.data;if(u[0].length===0)return{lines:[],areas:[]};var d=this.scales,h=d.x,f=d.y,g=aX(u,{x:h,y:f}),p=[];if(o){var v=this.baseline;a?p=s?lX(g,c,v):oX(g,c,v):p=sX(g,s,c,v)}return{lines:g.map(function(m,y){return fe({stroke:t.getColor(y),d:s?bd(m):Kl(m)},l)}),areas:p.map(function(m,y){return fe({d:m,fill:t.getColor(y)},o)})}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"columnsStyle",{get:function(){var t=this,n=Ye(this.attributes,"column"),i=this.attributes,a=i.isStack,s=i.type,o=i.scale;if(s!=="column")throw new Error("columnsStyle can only be used in column type");var l=this.containerShape.height,c=this.rawData;if(!c)return{columns:[]};a&&(c=AO(c));var u=this.createScales(c),d=u.x,h=u.y,f=V(NO(c),2),g=f[0],p=f[1],v=new Cl({domain:[0,p-(g>0?0:g)],range:[0,l*o]}),m=d.getBandWidth(),y=this.rawData;return{columns:c.map(function(b,w){return b.map(function(E,_){var O=m/c.length,M=function(){return{x:d.map(_)+O*w,y:E>=0?h.map(E):h.map(0),width:O,height:v.map(Math.abs(E))}},N=function(){return{x:d.map(_),y:h.map(E),width:m,height:v.map(y[w][_])}};return fe(fe({fill:t.getColor(w)},n),a?N():M())})})}},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){rK(n,".container","rect").attr("className","container").node();var i=t.type,a=t.x,s=t.y,o="spark".concat(i),l=fe({x:a,y:s},i==="line"?this.linesStyle:this.columnsStyle);De(n).selectAll(".spark").data([i]).join(function(c){return c.append(function(u){return u==="line"?new iX({className:o,style:l}):new rX({className:o,style:l})}).attr("className","spark ".concat(o))},function(c){return c.update(l)},function(c){return c.remove()})},e.prototype.getColor=function(t){var n=this.attributes.color;return Fr(n)?n[t%n.length]:Ie(n)?n.call(null,t):n},e.prototype.createScales=function(t){var n,i,a=this.attributes,s=a.type,o=a.scale,l=a.range,c=l===void 0?[]:l,u=a.spacing,d=this.containerShape,h=d.width,f=d.height,g=V(NO(t),2),p=g[0],v=g[1],m=new Cl({domain:[(n=c[0])!==null&&n!==void 0?n:p,(i=c[1])!==null&&i!==void 0?i:v],range:[f,f*(1-o)]});return s==="line"?{type:s,x:new Cl({domain:[0,t[0].length-1],range:[0,h]}),y:m}:{type:s,x:new Ox({domain:t[0].map(function(y,b){return b}),range:[0,h],paddingInner:u,paddingOuter:u/2,align:.5}),y:m}},e.tag="sparkline",e}(dn);function uX(r){return typeof r=="boolean"?!1:"enter"in r&&"update"in r&&"exit"in r}function PO(r){if(!r)return{enter:!1,update:!1,exit:!1};var e=["enter","update","exit"],t=Object.fromEntries(Object.entries(r).filter(function(n){var i=V(n,1),a=i[0];return!e.includes(a)}));return Object.fromEntries(e.map(function(n){return uX(r)?r[n]===!1?[n,!1]:[n,fe(fe({},r[n]),t)]:[n,t]}))}function Ho(r,e){r?r.finished.then(e):e()}function dX(r,e){r.length===0?e():Promise.all(r.map(function(t){return t==null?void 0:t.finished})).then(e)}function vL(r,e){"update"in r?r.update(e):r.attr(e)}function pL(r,e,t){if(e.length===0)return null;if(!t){var n=e.slice(-1)[0];return vL(r,{style:n}),null}return r.animate(e,t)}function hX(r,e){return!(r.nodeName!=="text"||e.nodeName!=="text"||r.attributes.text!==e.attributes.text)}function fX(r,e,t,n){if(n===void 0&&(n="destroy"),hX(r,e))return r.remove(),[null];var i=function(){n==="destroy"?r.destroy():n==="hide"&&li(r),e.isVisible()&&Sc(e)};if(!t)return i(),[null];var a=t.duration,s=a===void 0?0:a,o=t.delay,l=o===void 0?0:o,c=Math.ceil(+s/2),u=+s/4,d=V(r.getGeometryBounds().center,2),h=d[0],f=d[1],g=V(e.getGeometryBounds().center,2),p=g[0],v=g[1],m=V([(h+p)/2-h,(f+v)/2-f],2),y=m[0],b=m[1],w=r.style.opacity,E=w===void 0?1:w,_=e.style.opacity,O=_===void 0?1:_,M=r.style.transform||"",N=e.style.transform||"",A=r.animate([{opacity:E,transform:"translate(0, 0) ".concat(M)},{opacity:0,transform:"translate(".concat(y,", ").concat(b,") ").concat(M)}],fe(fe({fill:"both"},t),{duration:l+c+u})),P=e.animate([{opacity:0,transform:"translate(".concat(-y,", ").concat(-b,") ").concat(N),offset:.01},{opacity:O,transform:"translate(0, 0) ".concat(N)}],fe(fe({fill:"both"},t),{duration:c+u,delay:l+c-u}));return Ho(P,i),[A,P]}function ci(r,e,t){var n={},i={};return Object.entries(e).forEach(function(a){var s=V(a,2),o=s[0],l=s[1];if(!qe(l)){var c=r.style[o]||r.parsedStyle[o]||0;c!==l&&(n[o]=c,i[o]=l)}}),t?pL(r,[n,i],fe({fill:"both"},t)):(vL(r,i),null)}function Lh(r,e){return r.style.opacity||(r.style.opacity=1),ci(r,{opacity:0},e)}var mL={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},yL={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},bL={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},xi=vi({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),_a=vi({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),gX=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=t.y,s=t.size,o=s===void 0?10:s,l=t.radius,c=l===void 0?o/4:l,u=t.orientation,d=un(t,["x","y","size","radius","orientation"]),h=o,f=h*2.4,g=De(n).maybeAppendByClassName(_a.iconRect,"rect").styles(fe(fe({},d),{width:h,height:f,radius:c,x:i-h/2,y:a-f/2,transformOrigin:"center"})),p=i+1/3*h-h/2,v=i+2/3*h-h/2,m=a+1/4*f-f/2,y=a+3/4*f-f/2;g.maybeAppendByClassName("".concat(_a.iconLine,"-1"),"line").styles(fe({x1:p,x2:p,y1:m,y2:y},d)),g.maybeAppendByClassName("".concat(_a.iconLine,"-2"),"line").styles(fe({x1:v,x2:v,y1:m,y2:y},d)),u==="vertical"&&(g.node().style.transform="rotate(90)")},e}(dn),vX=function(r){it(e,r);function e(t){return r.call(this,t,bL)||this}return e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.showLabel,l=Ye(this.attributes,"label"),c=l.x,u=c===void 0?0:c,d=l.y,h=d===void 0?0:d,f=l.transform,g=l.transformOrigin,p=un(l,["x","y","transform","transformOrigin"]),v=V(aa(p,[]),2),m=v[0],y=v[1],b=De(t).maybeAppendByClassName(_a.labelGroup,"g").styles(y),w=fe(fe({},yL),m),E=w.text,_=un(w,["text"]);Dr(!!o,b,function(O){n.label=O.maybeAppendByClassName(_a.label,"text").styles(fe(fe({},_),{x:a+u,y:s+h,transform:f,transformOrigin:g,text:"".concat(E)})),n.label.on("mousedown",function(M){M.stopPropagation()}),n.label.on("touchstart",function(M){M.stopPropagation()})})},e.prototype.renderIcon=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.orientation,o=n.type,l=fe(fe({x:i,y:a,orientation:s},mL),Ye(this.attributes,"icon")),c=this.attributes.iconShape,u=c===void 0?function(){return new gX({style:l})}:c,d=De(t).maybeAppendByClassName(_a.iconGroup,"g");d.selectAll(_a.icon.class).data([u]).join(function(h){return h.append(typeof u=="string"?u:function(){return u(o)}).attr("className",_a.icon.name)},function(h){return h.update(l)},function(h){return h.remove()})},e.prototype.render=function(t,n){this.renderIcon(n),this.renderLabel(n)},e}(dn),pX=function(r){it(e,r);function e(t){var n=r.call(this,t,fe(fe(fe({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(i){return i.toString()},handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0},lo(bL,"handle")),lo(mL,"handleIcon")),lo(yL,"handleLabel")))||this;return n.range=[0,1],n.onDragStart=function(i){return function(a){a.stopPropagation(),n.target=i,n.prevPos=n.getOrientVal(lO(a));var s=n.availableSpace,o=s.x,l=s.y,c=n.getBBox(),u=c.x,d=c.y;n.selectionStartPos=n.getRatio(n.prevPos-n.getOrientVal([o,l])-n.getOrientVal([+u,+d])),n.selectionWidth=0,document.addEventListener("pointermove",n.onDragging),document.addEventListener("pointerup",n.onDragEnd)}},n.onDragging=function(i){var a=n.attributes,s=a.slidable,o=a.brushable,l=a.type;i.stopPropagation();var c=n.getOrientVal(lO(i)),u=c-n.prevPos;if(u){var d=n.getRatio(u);switch(n.target){case"start":s&&n.setValuesOffset(d);break;case"end":s&&n.setValuesOffset(0,d);break;case"selection":s&&n.setValuesOffset(d,d);break;case"track":if(!o)return;n.selectionWidth+=d,l==="range"?n.innerSetValues([n.selectionStartPos,n.selectionStartPos+n.selectionWidth].sort(),!0):n.innerSetValues([0,n.selectionStartPos+n.selectionWidth],!0);break}n.prevPos=c}},n.onDragEnd=function(){document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointerup",n.onDragEnd),n.target="",n.updateHandlesPosition(!1)},n.onValueChange=function(i){var a=n.attributes,s=a.onChange,o=a.type,l=o==="range"?i:i[1],c=o==="range"?n.getValues():n.getValues()[1],u=new yn("valuechange",{detail:{oldValue:l,value:c}});n.dispatchEvent(u),s==null||s(c)},n.selectionStartPos=0,n.selectionWidth=0,n.prevPos=0,n.target="",n}return Object.defineProperty(e.prototype,"values",{get:function(){return this.attributes.values},set:function(t){this.attributes.values=this.clampValues(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sparklineStyle",{get:function(){var t=this.attributes.orientation;if(t!=="horizontal")return null;var n=Ye(this.attributes,"sparkline");return fe(fe({zIndex:0},this.availableSpace),n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t=this.attributes,n=t.trackLength,i=t.trackSize,a=V(this.getOrientVal([[n,i],[i,n]]),2),s=a[0],o=a[1];return{width:s,height:o}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes;t.x,t.y;var n=t.padding,i=V(Kn(n),4),a=i[0],s=i[1],o=i[2],l=i[3],c=this.shape,u=c.width,d=c.height;return{x:l,y:a,width:u-(l+s),height:d-(a+o)}},enumerable:!1,configurable:!0}),e.prototype.getValues=function(){return this.values},e.prototype.setValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1),this.attributes.values=t;var i=n===!1?!1:this.attributes.animate;this.updateSelectionArea(i),this.updateHandlesPosition(i)},e.prototype.updateSelectionArea=function(t){var n=this.calcSelectionArea();this.foregroundGroup.selectAll(xi.selection.class).each(function(i,a){ci(this,n[a],t)})},e.prototype.updateHandlesPosition=function(t){this.attributes.showHandle&&(this.startHandle&&ci(this.startHandle,this.getHandleStyle("start"),t),this.endHandle&&ci(this.endHandle,this.getHandleStyle("end"),t))},e.prototype.innerSetValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1);var i=this.values,a=this.clampValues(t);this.attributes.values=a,this.setValues(a),n&&this.onValueChange(i)},e.prototype.renderTrack=function(t){var n=this.attributes,i=n.x,a=n.y,s=Ye(this.attributes,"track");this.trackShape=De(t).maybeAppendByClassName(xi.track,"rect").styles(fe(fe({x:i,y:a},this.shape),s))},e.prototype.renderBrushArea=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.brushable;this.brushArea=De(t).maybeAppendByClassName(xi.brushArea,"rect").styles(fe({x:i,y:a,fill:"transparent",cursor:s?"crosshair":"default"},this.shape))},e.prototype.renderSparkline=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.orientation,l=De(t).maybeAppendByClassName(xi.sparklineGroup,"g");Dr(o==="horizontal",l,function(c){var u=fe(fe({},n.sparklineStyle),{x:a,y:s});c.maybeAppendByClassName(xi.sparkline,function(){return new cX({style:u})}).update(u)})},e.prototype.renderHandles=function(){var t=this,n,i=this.attributes,a=i.showHandle,s=i.type,o=s==="range"?["start","end"]:["end"],l=a?o:[],c=this;(n=this.foregroundGroup)===null||n===void 0||n.selectAll(xi.handle.class).data(l.map(function(u){return{type:u}}),function(u){return u.type}).join(function(u){return u.append(function(d){var h=d.type;return new vX({style:t.getHandleStyle(h)})}).each(function(d){var h=d.type;this.attr("class","".concat(xi.handle.name," ").concat(h,"-handle"));var f="".concat(h,"Handle");c[f]=this,this.addEventListener("pointerdown",c.onDragStart(h))})},function(u){return u.each(function(d){var h=d.type;this.update(c.getHandleStyle(h))})},function(u){return u.each(function(d){var h=d.type,f="".concat(h,"Handle");c[f]=void 0}).remove()})},e.prototype.renderSelection=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.type,o=n.selectionType;this.foregroundGroup=De(t).maybeAppendByClassName(xi.foreground,"g");var l=Ye(this.attributes,"selection"),c=function(d){return d.style("visibility",function(h){return h.show?"visible":"hidden"}).style("cursor",function(h){return o==="select"?"grab":o==="invert"?"crosshair":"default"}).styles(fe(fe({},l),{transform:"translate(".concat(i,", ").concat(a,")")}))},u=this;this.foregroundGroup.selectAll(xi.selection.class).data(s==="value"?[]:this.calcSelectionArea().map(function(d,h){return{style:fe({},d),index:h,show:o==="select"?h===1:h!==1}}),function(d){return d.index}).join(function(d){return d.append("rect").attr("className",xi.selection.name).call(c).each(function(h,f){var g=this;f===1?(u.selectionShape=De(this),this.on("pointerdown",function(p){g.attr("cursor","grabbing"),u.onDragStart("selection")(p)}),u.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),u.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),u.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){g.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){g.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){g.attr("cursor","pointer")})):this.on("pointerdown",u.onDragStart("track"))})},function(d){return d.call(c)},function(d){return d.remove()}),this.updateSelectionArea(!1),this.renderHandles()},e.prototype.render=function(t,n){this.renderTrack(n),this.renderSparkline(n),this.renderBrushArea(n),this.renderSelection(n)},e.prototype.clampValues=function(t,n){var i;n===void 0&&(n=4);var a=V(this.range,2),s=a[0],o=a[1],l=V(this.getValues().map(function(v){return cO(v,n)}),2),c=l[0],u=l[1],d=Array.isArray(t)?t:[c,t!=null?t:u],h=V((d||[c,u]).map(function(v){return cO(v,n)}),2),f=h[0],g=h[1];if(this.attributes.type==="value")return[0,an(g,s,o)];f>g&&(i=V([g,f],2),f=i[0],g=i[1]);var p=g-f;return p>o-s?[s,o]:f<s?c===s&&u===g?[s,g]:[s,p+s]:g>o?u===o&&c===f?[f,o]:[o-p,o]:[f,g]},e.prototype.calcSelectionArea=function(t){var n=V(this.clampValues(t),2),i=n[0],a=n[1],s=this.availableSpace,o=s.x,l=s.y,c=s.width,u=s.height;return this.getOrientVal([[{y:l,height:u,x:o,width:i*c},{y:l,height:u,x:i*c+o,width:(a-i)*c},{y:l,height:u,x:a*c,width:(1-a)*c}],[{x:o,width:c,y:l,height:i*u},{x:o,width:c,y:i*u+l,height:(a-i)*u},{x:o,width:c,y:a*u,height:(1-a)*u}]])},e.prototype.calcHandlePosition=function(t){var n=this.attributes.handleIconOffset,i=this.availableSpace,a=i.x,s=i.y,o=i.width,l=i.height,c=V(this.clampValues(),2),u=c[0],d=c[1],h=t==="start"?-n:n,f=(t==="start"?u:d)*this.getOrientVal([o,l])+h;return{x:a+this.getOrientVal([f,o/2]),y:s+this.getOrientVal([l/2,f])}},e.prototype.inferTextStyle=function(t){var n=this.attributes.orientation;return n==="horizontal"?{}:t==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:t==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},e.prototype.calcHandleText=function(t){var n,i=this.attributes,a=i.type,s=i.orientation,o=i.formatter,l=i.autoFitLabel,c=Ye(this.attributes,"handle"),u=Ye(c,"label"),d=c.spacing,h=this.getHandleSize(),f=this.clampValues(),g=t==="start"?f[0]:f[1],p=o(g),v=new Ex({style:fe(fe(fe({},u),this.inferTextStyle(t)),{text:p})}),m=v.getBBox(),y=m.width,b=m.height;if(v.destroy(),!l){if(a==="value")return{text:p,x:0,y:-b-d};var w=d+h+(s==="horizontal"?y/2:0);return n={text:p},n[s==="horizontal"?"x":"y"]=t==="start"?-w:w,n}var E=0,_=0,O=this.availableSpace,M=O.width,N=O.height,A=this.calcSelectionArea()[1],P=A.x,L=A.y,I=A.width,G=A.height,H=d+h;if(s==="horizontal"){var Y=H+y/2;if(t==="start"){var W=P-H-y;E=W>0?-Y:Y}else{var q=M-P-I-H>y;E=q?Y:-Y}}else{var Q=H,re=b+H;t==="start"?_=L-h>b?-re:Q:_=N-(L+G)-h>b?re:-Q}return{x:E,y:_,text:p}},e.prototype.getHandleLabelStyle=function(t){var n=Ye(this.attributes,"handleLabel");return fe(fe(fe({},n),this.calcHandleText(t)),this.inferTextStyle(t))},e.prototype.getHandleIconStyle=function(){var t=this.attributes.handleIconShape,n=Ye(this.attributes,"handleIcon"),i=this.getOrientVal(["ew-resize","ns-resize"]),a=this.getHandleSize();return fe({cursor:i,shape:t,size:a},n)},e.prototype.getHandleStyle=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.showLabel,o=n.showLabelOnInteraction,l=n.orientation,c=this.calcHandlePosition(t),u=c.x,d=c.y,h=this.calcHandleText(t),f=s;return!s&&o&&(this.target?f=!0:f=!1),fe(fe(fe({},lo(this.getHandleIconStyle(),"icon")),lo(fe(fe({},this.getHandleLabelStyle(t)),h),"label")),{transform:"translate(".concat(u+i,", ").concat(d+a,")"),orientation:l,showLabel:f,type:t,zIndex:3})},e.prototype.getHandleSize=function(){var t=this.attributes,n=t.handleIconSize,i=t.width,a=t.height;return n||Math.floor((this.getOrientVal([+a,+i])+4)/2.4)},e.prototype.getOrientVal=function(t){var n=V(t,2),i=n[0],a=n[1],s=this.attributes.orientation;return s==="horizontal"?i:a},e.prototype.setValuesOffset=function(t,n,i){n===void 0&&(n=0),i===void 0&&(i=!1);var a=this.attributes.type,s=V(this.getValues(),2),o=s[0],l=s[1],c=a==="range"?t:0,u=[o+c,l+n].sort();i?this.setValues(u):this.innerSetValues(u,!0)},e.prototype.getRatio=function(t){var n=this.availableSpace,i=n.width,a=n.height;return t/this.getOrientVal([i,a])},e.prototype.dispatchCustomEvent=function(t,n,i){var a=this;t.on(n,function(s){s.stopPropagation(),a.dispatchEvent(new yn(i,{detail:s}))})},e.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var t=this.brushArea;this.dispatchCustomEvent(t,"click","trackClick"),this.dispatchCustomEvent(t,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(t,"pointerleave","trackMouseleave"),t.on("pointerdown",this.onDragStart("track"))},e.prototype.onScroll=function(t){var n=this.attributes.scrollable;if(n){var i=t.deltaX,a=t.deltaY,s=a||i,o=this.getRatio(s);this.setValuesOffset(o,o,!0)}},e.tag="slider",e}(dn),Nx={data:[],animate:{enter:!1,update:{duration:100,easing:"ease-in-out-sine",fill:"both"},exit:{duration:100,fill:"both"}},showArrow:!0,showGrid:!0,showLabel:!0,showLine:!0,showTick:!0,showTitle:!0,showTrunc:!1,dataThreshold:100,lineLineWidth:1,lineStroke:"black",crossPadding:10,titleFill:"black",titleFontSize:12,titlePosition:"lb",titleSpacing:0,titleTextAlign:"center",titleTextBaseline:"middle",lineArrow:function(){return new Pr({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}})},labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]};hr({},Nx,{style:{type:"arc"}});hr({},Nx,{style:{}});var Et=vi({mainGroup:"main-group",gridGroup:"grid-group",grid:"grid",lineGroup:"line-group",line:"line",tickGroup:"tick-group",tick:"tick",tickItem:"tick-item",labelGroup:"label-group",label:"label",labelItem:"label-item",titleGroup:"title-group",title:"title",lineFirst:"line-first",lineSecond:"line-second"},"axis"),Lo=vi({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function xL(r){return r.reduce(function(e,t,n){return e.push(Oe([n===0?"M":"L"],V(t),!1)),e},[])}function mX(r,e,t){var n=e.connect,i=n===void 0?"line":n,a=e.center;if(i==="line")return xL(r);if(!a)return[];var s=Yl(r[0],a),o=t?0:1;return r.reduce(function(l,c,u){return u===0?l.push(Oe(["M"],V(c),!1)):l.push(Oe(["A",s,s,0,0,o],V(c),!1)),l},[])}function Z1(r,e,t){return e.type==="surround"?mX(r,e,t):xL(r)}function yX(r,e,t){var n=t.type,i=t.connect,a=t.center,s=t.closed,o=s?[["Z"]]:[],l=V([Z1(r,t),Z1(e.slice().reverse(),t,!0)],2),c=l[0],u=l[1],d=V([r[0],e.slice(-1)[0]],2),h=d[0],f=d[1],g=function(y,b){return[c,y,u,b,o].flat()};if(i==="line"||n==="surround")return g([Oe(["L"],V(f),!1)],[Oe(["L"],V(h),!1)]);if(!a)throw new Error("Arc grid need to specified center");var p=V([Yl(f,a),Yl(h,a)],2),v=p[0],m=p[1];return g([Oe(["A",v,v,0,0,1],V(f),!1),Oe(["L"],V(f),!1)],[Oe(["A",m,m,0,0,0],V(h),!1),Oe(["L"],V(h),!1)])}function bX(r,e,t,n){var i=t.animate,a=t.isBillboard,s=e.map(function(o,l){return{id:o.id||"grid-line-".concat(l),d:Z1(o.points,t)}});return r.selectAll(Lo.line.class).data(s,function(o){return o.id}).join(function(o){return o.append("path").each(function(l,c){var u=Yr(dO(fe({d:l.d},n)),[l,c,s]);this.attr(fe({class:Lo.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:a},u))})},function(o){return o.transition(function(l,c){var u=Yr(dO(fe({d:l.d},n)),[l,c,s]);return ci(this,u,i.update)})},function(o){return o.transition(function(){var l=this,c=Lh(this,i.exit);return Ho(c,function(){return l.remove()}),c})}).transitions()}function xX(r,e,t){var n=t.animate,i=t.connect,a=t.areaFill;if(e.length<2||!a||!i)return[];for(var s=Array.isArray(a)?a:[a,"transparent"],o=function(g){return s[g%s.length]},l=[],c=0;c<e.length-1;c++){var u=V([e[c].points,e[c+1].points],2),d=u[0],h=u[1],f=yX(d,h,t);l.push({d:f,fill:o(c)})}return r.selectAll(Lo.region.class).data(l,function(g,p){return p}).join(function(g){return g.append("path").each(function(p,v){var m=Yr(p,[p,v,l]);this.attr(m)}).attr("className",Lo.region.name)},function(g){return g.transition(function(p,v){var m=Yr(p,[p,v,l]);return ci(this,m,n.update)})},function(g){return g.transition(function(){var p=this,v=Lh(this,n.exit);return Ho(v,function(){return p.remove()}),v})}).transitions()}function wX(r){var e=r.data,t=e===void 0?[]:e,n=r.closed;return n?t.map(function(i){var a=i.points,s=V(a,1),o=s[0];return fe(fe({},i),{points:Oe(Oe([],V(a),!1),[o],!1)})}):t}var EX=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){t.type,t.center,t.areaFill,t.closed;var i=un(t,["type","center","areaFill","closed"]),a=wX(t),s=De(n).maybeAppendByClassName(Lo.lineGroup,"g"),o=De(n).maybeAppendByClassName(Lo.regionGroup,"g"),l=bX(s,a,t,i),c=xX(o,a,t);return Oe(Oe([],V(l),!1),V(c),!1)},e}(dn);function wL(r,e){return Object.fromEntries(Object.entries(r).map(function(t){var n=V(t,2),i=n[0],a=n[1];return[i,Yr(a,e)]}))}function Ax(r,e){return e&&Ie(e)?r.filter(e):r}function EL(r,e){var t=e.startAngle,n=e.endAngle;return(n-t)*r+t}function Ih(r,e){if(e.type==="linear"){var t=V(e.startPos,2),n=t[0],i=t[1],a=V(e.endPos,2),s=a[0],o=a[1],l=V([s-n,o-i],2),c=l[0],u=l[1];return cL([c,u])}var d=Ro(EL(r,e));return[-Math.sin(d),Math.cos(d)]}function Px(r,e,t){var n=Ih(r,t);return YY(n,e!=="positive")}function _c(r,e){return Px(r,e.labelDirection,e)}function SX(r,e){var t=V(e.startPos,2),n=t[0],i=t[1],a=V(e.endPos,2),s=a[0],o=a[1],l=V([s-n,o-i],2),c=l[0],u=l[1];return[n+c*r,i+u*r]}function _X(r,e){var t=e.radius,n=V(e.center,2),i=n[0],a=n[1],s=Ro(EL(r,e));return[i+t*Math.cos(s),a+t*Math.sin(s)]}function Dh(r,e){return e.type==="linear"?SX(r,e):_X(r,e)}function SL(r){return Ih(0,r)[1]===0}function _L(r){return Ih(0,r)[0]===0}function kL(r,e){return e-r===360}function RO(r,e,t,n,i){var a=e-r,s=V([i,i],2),o=s[0],l=s[1],c=V([Ro(r),Ro(e)],2),u=c[0],d=c[1],h=function(N){return[t+i*Math.cos(N),n+i*Math.sin(N)]},f=V(h(u),2),g=f[0],p=f[1],v=V(h(d),2),m=v[0],y=v[1];if(kL(r,e)){var b=(d+u)/2,w=V(h(b),2),E=w[0],_=w[1];return[["M",g,p],["A",o,l,0,1,0,E,_],["A",o,l,0,1,0,m,y]]}var O=a>180?1:0,M=r>e?0:1;return"M".concat(g,",").concat(p,",A").concat(o,",").concat(l,",0,").concat(O,",").concat(M,",").concat(m,",").concat(y)}function kX(r){var e=r.attributes,t=e.startAngle,n=e.endAngle,i=e.center,a=e.radius;return Oe(Oe([t,n],V(i),!1),[a],!1)}function MX(r,e,t,n){var i=e.startAngle,a=e.endAngle,s=e.center,o=e.radius;return r.selectAll(Et.line.class).data([{d:RO.apply(void 0,Oe(Oe([i,a],V(s),!1),[o],!1))}],function(l,c){return c}).join(function(l){return l.append("path").attr("className",Et.line.name).styles(e).styles({d:function(c){return c.d}})},function(l){return l.transition(function(){var c=this,u=HY(this,kX(this),Oe(Oe([i,a],V(s),!1),[o],!1),n.update);if(u){var d=function(){var h=lr(c.attributes,"__keyframe_data__");c.style.d=RO.apply(void 0,Oe([],V(h),!1))};u.onframe=d,u.onfinish=d}return u}).styles(e)},function(l){return l.remove()}).styles(t).transitions()}function TX(r,e){e.truncRange,e.truncShape,e.lineExtension}function OX(r,e,t){t===void 0&&(t=[0,0]);var n=V([r,e,t],3),i=V(n[0],2),a=i[0],s=i[1],o=V(n[1],2),l=o[0],c=o[1],u=V(n[2],2),d=u[0],h=u[1],f=V([l-a,c-s],2),g=f[0],p=f[1],v=Math.sqrt(Math.pow(g,2)+Math.pow(p,2)),m=V([-d/v,h/v],2),y=m[0],b=m[1];return[y*g,y*p,b*g,b*p]}function LO(r){var e=V(r,2),t=V(e[0],2),n=t[0],i=t[1],a=V(e[1],2),s=a[0],o=a[1];return{x1:n,y1:i,x2:s,y2:o}}function CX(r,e,t,n){var i=e.showTrunc,a=e.startPos,s=e.endPos,o=e.truncRange,l=e.lineExtension,c=V([a,s],2),u=V(c[0],2),d=u[0],h=u[1],f=V(c[1],2),g=f[0],p=f[1],v=V(l?OX(a,s,l):new Array(4).fill(0),4),m=v[0],y=v[1],b=v[2],w=v[3],E=function(q){return r.selectAll(Et.line.class).data(q,function(Q,re){return re}).join(function(Q){return Q.append("line").attr("className",function(re){return"".concat(Et.line.name," ").concat(re.className)}).styles(t).transition(function(re){return ci(this,LO(re.line),!1)})},function(Q){return Q.styles(t).transition(function(re){var de=re.line;return ci(this,LO(de),n.update)})},function(Q){return Q.remove()}).transitions()};if(!i||!o)return E([{line:[[d+m,h+y],[g+b,p+w]],className:Et.line.name}]);var _=V(o,2),O=_[0],M=_[1],N=g-d,A=p-h,P=V([d+N*O,h+A*O],2),L=P[0],I=P[1],G=V([d+N*M,h+A*M],2),H=G[0],Y=G[1],W=E([{line:[[d+m,h+y],[L,I]],className:Et.lineFirst.name},{line:[[H,Y],[g+b,p+w]],className:Et.lineSecond.name}]);return TX(r,e),W}function NX(r,e,t,n){var i=t.showArrow,a=t.showTrunc,s=t.lineArrow,o=t.lineArrowOffset,l=t.lineArrowSize,c;if(e==="arc"?c=r.select(Et.line.class):a?c=r.select(Et.lineSecond.class):c=r.select(Et.line.class),!i||!s||t.type==="arc"&&kL(t.startAngle,t.endAngle)){var u=c.node();u&&(u.style.markerEnd=void 0);return}var d=ia(s);d.attr(n),_x(d,l),c.style("markerEnd",d).style("markerEndOffset",-o)}function AX(r,e,t){var n=e.type,i,a=Ye(e,"line");return n==="linear"?i=CX(r,e,uO(a,"arrow"),t):i=MX(r,e,uO(a,"arrow"),t),NX(r,n,e,a),i}function PX(r,e){return Px(r,e.gridDirection,e)}function ML(r){var e=r.type,t=r.gridCenter;return e==="linear"?t:t||r.center}function RX(r,e){var t=e.gridLength;return r.map(function(n,i){var a=n.value,s=V(Dh(a,e),2),o=s[0],l=s[1],c=V(Xi(PX(a,e),t),2),u=c[0],d=c[1];return{id:i,points:[[o,l],[o+u,l+d]]}})}function LX(r,e){var t=e.gridControlAngles,n=ML(e);if(!n)throw new Error("grid center is not provide");if(r.length<2)throw new Error("Invalid grid data");if(!t||t.length===0)throw new Error("Invalid gridControlAngles");var i=V(n,2),a=i[0],s=i[1];return r.map(function(o,l){var c=o.value,u=V(Dh(c,e),2),d=u[0],h=u[1],f=V([d-a,h-s],2),g=f[0],p=f[1],v=[];return t.forEach(function(m){var y=Ro(m),b=V([Math.cos(y),Math.sin(y)],2),w=b[0],E=b[1],_=g*w-p*E+a,O=g*E+p*w+s;v.push([_,O])}),{points:v,id:l}})}function IX(r,e,t,n){var i=Ye(t,"grid"),a=i.type,s=i.areaFill,o=ML(t),l=Ax(e,t.gridFilter),c=a==="segment"?RX(l,t):LX(l,t),u=fe(fe({},i),{center:o,areaFill:Ie(s)?l.map(function(d,h){return Yr(s,[d,h,l])}):s,animate:n,data:c});return r.selectAll(Et.grid.class).data([1]).join(function(d){return d.append(function(){return new EX({style:u})}).attr("className",Et.grid.name)},function(d){return d.transition(function(){return this.update(u)})},function(d){return d.remove()}).transitions()}var J1=function(){function r(e,t,n,i){this.set(e,t,n,i)}return Object.defineProperty(r.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),r.prototype.rotatedPoints=function(e,t,n){var i=this,a=i.x1,s=i.y1,o=i.x2,l=i.y2,c=Math.cos(e),u=Math.sin(e),d=t-t*c+n*u,h=n-t*u-n*c,f=[[c*a-u*l+d,u*a+c*l+h],[c*o-u*l+d,u*o+c*l+h],[c*a-u*s+d,u*a+c*s+h],[c*o-u*s+d,u*o+c*s+h]];return f},r.prototype.set=function(e,t,n,i){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),i<t?(this.y2=t,this.y1=i):(this.y1=t,this.y2=i),this},r.prototype.defined=function(e){return this[e]!==Number.MAX_VALUE&&this[e]!==-Number.MAX_VALUE},r}();function Q1(r,e){var t=r.getEulerAngles()||0;r.setEulerAngles(0);var n=r.getBounds(),i=V(n.min,2),a=i[0],s=i[1],o=V(n.max,2),l=o[0],c=o[1],u=r.getBBox(),d=u.width,h=u.height,f=h,g=0,p=0,v=a,m=s,y=oL(r);if(y){f-=1.5;var b=y.style.textAlign,w=y.style.textBaseline;b==="center"?v=(a+l)/2:(b==="right"||b==="end")&&(v=l),w==="middle"?m=(s+c)/2:w==="bottom"&&(m=c)}var E=V(Kn(e),4),_=E[0],O=_===void 0?0:_,M=E[1],N=M===void 0?0:M,A=E[2],P=A===void 0?O:A,L=E[3],I=L===void 0?N:L,G=new J1((g+=a)-I,(p+=s)-O,g+d+N,p+f+P);return r.setEulerAngles(t),G.rotatedPoints(Ro(t),v,m)}function wl(r,e){return e[0]<=Math.max(r[0][0],r[1][0])&&e[0]<=Math.min(r[0][0],r[1][0])&&e[1]<=Math.max(r[0][1],r[1][1])&&e[1]<=Math.min(r[0][1],r[1][1])}function El(r,e,t){var n=(e[1]-r[1])*(t[0]-e[0])-(e[0]-r[0])*(t[1]-e[1]);return n===0?0:n<0?2:1}function DX(r,e){var t=El(r[0],r[1],e[0]),n=El(r[0],r[1],e[1]),i=El(e[0],e[1],r[0]),a=El(e[0],e[1],r[1]);return!!(t!==n&&i!==a||t===0&&wl(r,e[0])||n===0&&wl(r,e[1])||i===0&&wl(e,r[0])||a===0&&wl(e,r[1]))}function FX(r,e){var t=r.length;if(t<3)return!1;var n=[e,[9999,e[1]]],i=0,a=0;do{var s=[r[a],r[(a+1)%t]];if(DX(s,n)){if(El(s[0],e,s[1])===0)return wl(s,e);i++}a=(a+1)%t}while(a!==0);return!!(i&1)}function BX(r,e){return e.every(function(t){return FX(r,t)})}function zX(r,e,t){var n=r.x1,i=r.x2,a=r.y1,s=r.y2,o=[[n,a],[i,a],[i,s],[n,s]],l=Q1(e,t);return BX(o,l)}function jX(r,e){var t=V(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=V(e,4),l=o[0],c=o[1],u=o[2],d=o[3],h=a-n,f=s-i,g=u-l,p=d-c,v=h*p-g*f;if(v===0)return!1;var m=v>0,y=n-l,b=i-c,w=h*b-f*y;if(w<0===m)return!1;var E=g*b-p*y;return!(E<0===m||w>v===m||E>v===m)}function $X(r,e){var t=[[r[0],r[1],r[2],r[3]],[r[2],r[3],r[4],r[5]],[r[4],r[5],r[6],r[7]],[r[6],r[7],r[0],r[1]]];return t.some(function(n){return jX(e,n)})}function qX(r,e,t){var n,i,a=Q1(r,t).flat(1),s=Q1(e,t).flat(1),o=[[a[0],a[1],a[2],a[3]],[a[0],a[1],a[4],a[5]],[a[4],a[5],a[6],a[7]],[a[2],a[3],a[6],a[7]]];try{for(var l=rc(o),c=l.next();!c.done;c=l.next()){var u=c.value;if($X(s,u))return!0}}catch(d){n={error:d}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return!1}function GX(r,e){var t=r.type,n=r.labelDirection,i=r.crossSize;if(!i)return!1;if(t==="arc"){var a=r.center,s=r.radius,o=V(a,2),l=o[0],c=o[1],u=n==="negative"?0:i,d=-s-u,h=s+u,f=V(Kn(e),4),g=f[0],p=f[1],v=f[2],m=f[3];return new J1(l+d-m,c+d-g,l+h+p,c+h+v)}var y=V(r.startPos,2),b=y[0],w=y[1],E=V(r.endPos,2),_=E[0],O=E[1],M=V(_L(r)?[-e,0,e,0]:[0,e,0,-e],4),N=M[0],A=M[1],P=M[2],L=M[3],I=_c(0,r),G=Xi(I,i),H=new J1(b,w,_,O);return H.x1+=L,H.y1+=N,H.x2+=A+G[0],H.y2+=P+G[1],H}function Fh(r,e,t){var n,i,a=e.crossPadding,s=new Set,o=null,l=GX(e,a),c=function(g){return l?zX(l,g):!0},u=function(g,p){return!g||!g.firstChild?!0:!qX(g.firstChild,p.firstChild,Kn(t))};try{for(var d=rc(r),h=d.next();!h.done;h=d.next()){var f=h.value;c(f)?!o||u(o,f)?o=f:(s.add(o),s.add(f)):s.add(f)}}catch(g){n={error:g}}finally{try{h&&!h.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return Array.from(s)}function qy(r,e){return e===void 0&&(e={}),qe(r)?0:typeof r=="number"?r:Math.floor($Y(r,e))}function WX(r,e,t,n){if(!(r.length<=1)){var i=e.suffix,a=i===void 0?"...":i,s=e.minLength,o=e.maxLength,l=o===void 0?1/0:o,c=e.step,u=c===void 0?" ":c,d=e.margin,h=d===void 0?[0,0,0,0]:d,f=sL(n.getTextShape(r[0])),g=qy(u,f),p=s?qy(s,f):g,v=qy(l,f);(qe(v)||v===1/0)&&(v=Math.max.apply(null,r.map(function(_){return _.getBBox().width})));var m=r.slice(),y=V(h,4);y[0],y[1],y[2],y[3];for(var b=function(_){if(m.forEach(function(O){n.ellipsis(n.getTextShape(O),_,a)}),m=Fh(r,t,h),m.length<1)return{value:void 0}},w=v;w>p+g;w-=g){var E=b(w);if(typeof E=="object")return E.value}}}var VX={parity:function(r,e){var t=e.seq,n=t===void 0?2:t;return r.filter(function(i,a){return a%n?(li(i),!1):!0})}},UX=function(r){return r.filter(aL)};function HX(r,e,t,n){var i=r.length,a=e.keepHeader,s=e.keepTail;if(!(i<=1||i===2&&a&&s)){var o=VX.parity,l=function(b){return b.forEach(n.show),b},c=2,u=r.slice(),d=r.slice(),h=Math.min.apply(Math,Oe([1],V(r.map(function(b){return b.getBBox().width})),!1));if(t.type==="linear"&&(SL(t)||_L(t))){var f=hO(r[0]).left,g=hO(r[i-1]).right,p=Math.abs(g-f)||1;c=Math.max(Math.floor(i*h/p),c)}var v,m;for(a&&(v=u.splice(0,1)[0]),s&&(m=u.splice(-1,1)[0],u.reverse()),l(u);c<r.length&&Fh(UX(m?Oe(Oe([m],V(d),!1),[v],!1):Oe([v],V(d),!1)),t,e==null?void 0:e.margin).length;){if(m&&!v&&c%2===0){var y=u.splice(0,1);y.forEach(n.hide)}else if(m&&v){var y=u.splice(0,1);y.forEach(n.hide)}d=o(l(u),{seq:c}),c++}}}function YX(r,e,t,n){var i,a,s=e.optionalAngles,o=s===void 0?[0,45,90]:s,l=e.margin,c=e.recoverWhenFailed,u=c===void 0?!0:c,d=r.map(function(m){return m.getLocalEulerAngles()}),h=function(){return Fh(r,t,l).length<1},f=function(m){return r.forEach(function(y,b){var w=Array.isArray(m)?m[b]:m;n.rotate(y,+w)})};try{for(var g=rc(o),p=g.next();!p.done;p=g.next()){var v=p.value;if(f(v),h())return}}catch(m){i={error:m}}finally{try{p&&!p.done&&(a=g.return)&&a.call(g)}finally{if(i)throw i.error}}u&&f(d)}function KX(r){var e=r.type,t=r.labelDirection;return e==="linear"&&SL(r)?t==="negative"?"bottom":"top":"middle"}function XX(r,e,t,n){var i=e.wordWrapWidth,a=i===void 0?50:i,s=e.maxLines,o=s===void 0?3:s,l=e.recoverWhenFailed,c=l===void 0?!0:l,u=e.margin,d=u===void 0?[0,0,0,0]:u,h=r.map(function(y){return y.attr("maxLines")||1}),f=Math.min.apply(Math,Oe([],V(h),!1)),g=function(){return Fh(r,t,d).length<1},p=KX(t),v=function(y){return r.forEach(function(b,w){var E=Array.isArray(y)?y[w]:y;n.wrap(b,a,E,p)})};if(!(f>o)){for(var m=f;m<=o;m++)if(v(m),g())return;c&&v(h)}}var ZX=new Map([["hide",HX],["rotate",YX],["ellipsis",WX],["wrap",XX]]);function JX(r,e,t){return e.labelOverlap.length<1?!1:t==="hide"?!zY(r[0]):t==="rotate"?!r.some(function(n){var i;return!!(!((i=n.attr("transform"))===null||i===void 0)&&i.includes("rotate"))}):t==="ellipsis"||t==="wrap"?r.filter(function(n){return n.querySelector("text")}).length>1:!0}function QX(r,e,t){var n=e.labelOverlap,i=n===void 0?[]:n;i.length&&i.forEach(function(a){var s=a.type,o=ZX.get(s);JX(r,e,s)&&(o==null||o(r,a,e,t))})}function eZ(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=function(n){return n==="positive"?-1:1};return r.reduce(function(n,i){return n*t(i)},1)}function IO(r){for(var e=r;e<0;)e+=360;return Math.round(e%360)}function eb(r,e){var t=V(r,2),n=t[0],i=t[1],a=V(e,2),s=a[0],o=a[1],l=V([n*s+i*o,n*o-i*s],2),c=l[0],u=l[1];return Math.atan2(u,c)}function tZ(r){var e=(r+360)%180;return Wn(e,-90,90)||(e+=180),e}function nZ(r,e,t){var n,i=t.labelAlign,a=(n=e.style.transform)===null||n===void 0?void 0:n.includes("rotate");if(a)return e.getLocalEulerAngles();var s=0,o=_c(r.value,t),l=Ih(r.value,t);return i==="horizontal"?0:(i==="perpendicular"?s=eb([1,0],o):s=eb([l[0]<0?-1:1,0],l),tZ(rL(s)))}function TL(r,e,t){var n=t.type,i=t.labelAlign,a=_c(r,t),s=IO(e),o=IO(rL(eb([1,0],a))),l="center",c="middle";return n==="linear"?[90,270].includes(o)&&s===0?(l="center",c=a[1]===1?"top":"bottom"):!(o%180)&&[90,270].includes(s)?l="center":o===0?(Wn(s,0,90,!1,!0)||Wn(s,0,90)||Wn(s,270,360))&&(l="start"):o===90?Wn(s,0,90,!1,!0)?l="start":(Wn(s,90,180)||Wn(s,270,360))&&(l="end"):o===270?Wn(s,0,90,!1,!0)?l="end":(Wn(s,90,180)||Wn(s,270,360))&&(l="start"):o===180&&(s===90?l="start":(Wn(s,0,90)||Wn(s,270,360))&&(l="end")):i==="parallel"?Wn(o,0,180,!0)?c="top":c="bottom":i==="horizontal"?Wn(o,90,270,!1)?l="end":(Wn(o,270,360,!1)||Wn(o,0,90))&&(l="start"):i==="perpendicular"&&(Wn(o,90,270)?l="end":l="start"),{textAlign:l,textBaseline:c}}function rZ(r,e,t){e.setLocalEulerAngles(r);var n=e.__data__.value,i=TL(n,r,t),a=e.querySelector(Et.labelItem.class);a&&OL(a,i)}function DO(r,e,t){var n=t.showTick,i=t.tickLength,a=t.tickDirection,s=t.labelDirection,o=t.labelSpacing,l=e.indexOf(r),c=Yr(o,[r,l,e]),u=V([_c(r.value,t),eZ(s,a)],2),d=u[0],h=u[1],f=h===1?Yr(n?i:0,[r,l,e]):0,g=V(xl(Xi(d,c+f),Dh(r.value,t)),2),p=g[0],v=g[1];return{x:p,y:v}}function iZ(r,e,t,n){var i=n.labelFormatter,a=Ie(i)?function(){return ia(Yr(i,[r,e,t,_c(r.value,n)]))}:function(){return ia(r.label||"")};return a}function OL(r,e){r.nodeName==="text"&&r.attr(e)}function FO(r){QX(this.node().childNodes,r,{hide:li,show:Sc,rotate:function(e,t){rZ(+t,e,r)},ellipsis:function(e,t,n){e&&K1(e,t||1/0,n)},wrap:function(e,t,n){e&&qY(e,t,n)},getTextShape:function(e){return e.querySelector("text")}})}function BO(r,e,t,n,i){var a=t.indexOf(e),s=De(r).append(iZ(e,a,t,i)).attr("className",Et.labelItem.name).node(),o=V(aa(wL(n,[e,a,t])),2),l=o[0],c=o[1],u=c.transform,d=un(c,["transform"]);uL(s,u);var h=nZ(e,s,i);return s.getLocalEulerAngles()||s.setLocalEulerAngles(h),OL(s,fe(fe({},TL(e.value,h,i)),l)),r.attr(d),s}function aZ(r,e,t,n){var i=Ax(e,t.labelFilter),a=Ye(t,"label");return r.selectAll(Et.label.class).data(i,function(s,o){return o}).join(function(s){return s.append("g").attr("className",Et.label.name).transition(function(o){BO(this,o,e,a,t);var l=DO(o,e,t),c=l.x,u=l.y;return this.style.transform="translate(".concat(c,", ").concat(u,")"),null}).call(function(){FO.call(r,t)})},function(s){return s.transition(function(o){var l=this.querySelector(Et.labelItem.class),c=BO(this,o,e,a,t),u=fX(l,c,n.update),d=DO(o,e,t),h=d.x,f=d.y,g=ci(this,{transform:"translate(".concat(h,", ").concat(f,")")},n.update);return Oe(Oe([],V(u),!1),[g],!1)}).call(function(o){var l=lr(o,"_transitions").flat().filter(aL);dX(l,function(){FO.call(r,t)})})},function(s){return s.transition(function(){var o=this,l=Lh(this.childNodes[0],n.exit);return Ho(l,function(){return De(o).remove()}),l})}).transitions()}function CL(r,e){return Px(r,e.tickDirection,e)}function sZ(r,e){var t=V(r,2),n=t[0],i=t[1];return[[0,0],[n*e,i*e]]}function oZ(r,e,t,n,i){var a=i.tickLength,s=V(sZ(n,Yr(a,[r,e,t])),2),o=V(s[0],2),l=o[0],c=o[1],u=V(s[1],2),d=u[0],h=u[1];return{x1:l,x2:d,y1:c,y2:h}}function lZ(r,e,t,n,i){var a=i.tickFormatter,s=CL(e.value,i),o="line";return Ie(a)&&(o=function(){return Yr(a,[e,t,n,s])}),r.append(o).attr("className",Et.tickItem.name)}function cZ(r,e,t,n,i,a,s){var o=CL(r.value,a),l=oZ(r,e,t,o,a),c=l.x1,u=l.x2,d=l.y1,h=l.y2,f=V(aa(wL(s,[r,e,t,o])),2),g=f[0],p=f[1];n.node().nodeName==="line"&&n.styles(fe({x1:c,x2:u,y1:d,y2:h},g)),i.attr(p),n.styles(g)}function zO(r,e,t,n,i,a){var s=lZ(De(this),r,e,t,n);cZ(r,e,t,s,this,n,i);var o=V(Dh(r.value,n),2),l=o[0],c=o[1];return ci(this,{transform:"translate(".concat(l,", ").concat(c,")")},a)}function uZ(r,e,t,n){var i=Ax(e,t.tickFilter),a=Ye(t,"tick");return r.selectAll(Et.tick.class).data(i,function(s){return s.id||s.label}).join(function(s){return s.append("g").attr("className",Et.tick.name).transition(function(o,l){return zO.call(this,o,l,i,t,a,!1)})},function(s){return s.transition(function(o,l){return this.removeChildren(),zO.call(this,o,l,i,t,a,n.update)})},function(s){return s.transition(function(){var o=this,l=Lh(this.childNodes[0],n.exit);return Ho(l,function(){return o.remove()}),l})}).transitions()}var jO=vi({text:"text"},"title");function Bh(r){return/\S+-\S+/g.test(r)?r.split("-").map(function(e){return e[0]}):r.length>2?[r[0]]:r.split("")}function dZ(r,e){var t=r.attributes,n=t.position,i=t.spacing,a=t.inset,s=t.text,o=r.getBBox(),l=e.getBBox(),c=Bh(n),u=V(Kn(s?i:0),4),d=u[0],h=u[1],f=u[2],g=u[3],p=V(Kn(a),4),v=p[0],m=p[1],y=p[2],b=p[3],w=V([g+h,d+f],2),E=w[0],_=w[1],O=V([b+m,v+y],2),M=O[0],N=O[1];if(c[0]==="l")return new dr(o.x,o.y,l.width+o.width+E+M,Math.max(l.height+N,o.height));if(c[0]==="t")return new dr(o.x,o.y,Math.max(l.width+M,o.width),l.height+o.height+_+N);var A=V([e.attributes.width||l.width,e.attributes.height||l.height],2),P=A[0],L=A[1];return new dr(l.x,l.y,P+o.width+E+M,L+o.height+_+N)}function hZ(r,e){var t=Object.entries(e).reduce(function(n,i){var a=V(i,2),s=a[0],o=a[1],l=r.node().attr(s);return l||(n[s]=o),n},{});r.styles(t)}function fZ(r){var e,t,n,i,a=r,s=a.width,o=a.height,l=a.position,c=V([+s/2,+o/2],2),u=c[0],d=c[1],h=V([+u,+d,"center","middle"],4),f=h[0],g=h[1],p=h[2],v=h[3],m=Bh(l);return m.includes("l")&&(e=V([0,"start"],2),f=e[0],p=e[1]),m.includes("r")&&(t=V([+s,"end"],2),f=t[0],p=t[1]),m.includes("t")&&(n=V([0,"top"],2),g=n[0],v=n[1]),m.includes("b")&&(i=V([+o,"bottom"],2),g=i[0],v=i[1]),{x:f,y:g,textAlign:p,textBaseline:v}}var gZ=function(r){it(e,r);function e(t){return r.call(this,t,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return e.prototype.getAvailableSpace=function(){var t=this,n=this.attributes,i=n.width,a=n.height,s=n.position,o=n.spacing,l=n.inset,c=t.querySelector(jO.text.class);if(!c)return new dr(0,0,+i,+a);var u=c.getBBox(),d=u.width,h=u.height,f=V(Kn(o),4),g=f[0],p=f[1],v=f[2],m=f[3],y=V([0,0,+i,+a],4),b=y[0],w=y[1],E=y[2],_=y[3],O=Bh(s);if(O.includes("i"))return new dr(b,w,E,_);O.forEach(function(Y,W){var q,Q,re,de;Y==="t"&&(q=V(W===0?[h+v,+a-h-v]:[0,+a],2),w=q[0],_=q[1]),Y==="r"&&(Q=V([+i-d-m],1),E=Q[0]),Y==="b"&&(re=V([+a-h-g],1),_=re[0]),Y==="l"&&(de=V(W===0?[d+p,+i-d-p]:[0,+i],2),b=de[0],E=de[1])});var M=V(Kn(l),4),N=M[0],A=M[1],P=M[2],L=M[3],I=V([L+A,N+P],2),G=I[0],H=I[1];return new dr(b+L,w+N,E-G,_-H)},e.prototype.getBBox=function(){return this.title?this.title.getBBox():new dr(0,0,0,0)},e.prototype.render=function(t,n){var i=this;t.width,t.height,t.position,t.spacing;var a=un(t,["width","height","position","spacing"]),s=V(aa(a),1),o=s[0],l=fZ(t),c=l.x,u=l.y,d=l.textAlign,h=l.textBaseline;Dr(!!a.text,De(n),function(f){i.title=f.maybeAppendByClassName(jO.text,"text").styles(o).call(hZ,{x:c,y:u,textAlign:d,textBaseline:h}).node()})},e}(dn);function vZ(r,e,t){var n=t.titlePosition,i=n===void 0?"lb":n,a=t.titleSpacing,s=Bh(i),o=r.node().getLocalBounds(),l=V(o.min,2),c=l[0],u=l[1],d=V(o.halfExtents,2),h=d[0],f=d[1],g=V(e.node().getLocalBounds().halfExtents,2),p=g[0],v=g[1],m=V([c+h,u+f],2),y=m[0],b=m[1],w=V(Kn(a),4),E=w[0],_=w[1],O=w[2],M=w[3];if(["start","end"].includes(i)&&t.type==="linear"){var N=t.startPos,A=t.endPos,P=V(i==="start"?[N,A]:[A,N],2),L=P[0],I=P[1],G=cL([-I[0]+L[0],-I[1]+L[1]]),H=V(Xi(G,E),2),Y=H[0],W=H[1];return{x:L[0]+Y,y:L[1]+W}}return s.includes("t")&&(b-=f+v+E),s.includes("r")&&(y+=h+p+_),s.includes("l")&&(y-=h+p+M),s.includes("b")&&(b+=f+v+O),{x:y,y:b}}function pZ(r,e,t){var n=r.getGeometryBounds().halfExtents,i=n[1]*2;if(e==="vertical"){if(t==="left")return"rotate(-90) translate(0, ".concat(i/2,")");if(t==="right")return"rotate(-90) translate(0, -".concat(i/2,")")}return""}function $O(r,e,t,n,i){var a=Ye(n,"title"),s=V(aa(a),2),o=s[0],l=s[1],c=l.transform,u=l.transformOrigin,d=un(l,["transform","transformOrigin"]);e.styles(d);var h=c||pZ(r.node(),o.direction,o.position);r.styles(fe(fe({},o),{transformOrigin:u})),uL(r.node(),h);var f=vZ(De(t._offscreen||t.querySelector(Et.mainGroup.class)),e,n),g=f.x,p=f.y,v=ci(e.node(),{transform:"translate(".concat(g,", ").concat(p,")")},i);return v}function mZ(r,e,t,n){var i=t.titleText;return r.selectAll(Et.title.class).data([{title:i}].filter(function(a){return!!a.title}),function(a,s){return a.title}).join(function(a){return a.append(function(){return ia(i)}).attr("className",Et.title.name).transition(function(){return $O(De(this),r,e,t,n.enter)})},function(a){return a.transition(function(){return $O(De(this),r,e,t,n.update)})},function(a){return a.remove()}).transitions()}function qO(r,e,t,n){var i=r.showLine,a=r.showTick,s=r.showLabel,o=e.maybeAppendByClassName(Et.lineGroup,"g"),l=Dr(i,o,function(f){return AX(f,r,n)})||[],c=e.maybeAppendByClassName(Et.tickGroup,"g"),u=Dr(a,c,function(f){return uZ(f,t,r,n)})||[],d=e.maybeAppendByClassName(Et.labelGroup,"g"),h=Dr(s,d,function(f){return aZ(f,t,r,n)})||[];return Oe(Oe(Oe([],V(l),!1),V(u),!1),V(h),!1).filter(function(f){return!!f})}var yZ=function(r){it(e,r);function e(t){return r.call(this,t,Nx)||this}return e.prototype.render=function(t,n,i){var a=this,s=t.titleText,o=t.data,l=t.animate,c=t.showTitle,u=t.showGrid,d=t.dataThreshold,h=t.truncRange,f=QY(o,d).filter(function(E){var _=E.value;return!(h&&_>h[0]&&_<h[1])}),g=PO(i===void 0?l:i),p=De(n).maybeAppendByClassName(Et.gridGroup,"g"),v=Dr(u,p,function(E){return IX(E,f,t,g)})||[],m=De(n).maybeAppendByClassName(Et.mainGroup,"g");s&&(!this.initialized&&g.enter||this.initialized&&g.update)&&qO(t,De(this.offscreenGroup),f,PO(!1));var y=qO(t,De(m.node()),f,g),b=De(n).maybeAppendByClassName(Et.titleGroup,"g"),w=Dr(c,b,function(E){return mZ(E,a,t,g)})||[];return Oe(Oe(Oe([],V(v),!1),V(y),!1),V(w),!1).flat().filter(function(E){return!!E})},e}(dn),Wr=vi({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator"),bZ=function(r){it(e,r);function e(t){var n=r.call(this,t,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:CK(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(i,a){return"".concat(i,"/").concat(a)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return n.playState="idle",n.contentGroup=n.appendChild(new An({class:Wr.contentGroup.name})),n.playWindow=n.contentGroup.appendChild(new An({class:Wr.playWindow.name})),n.innerCurrPage=n.defaultPage,n}return Object.defineProperty(e.prototype,"defaultPage",{get:function(){var t=this.attributes.defaultPage;return an(t,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageShape",{get:function(){var t=this.pageViews,n=V(uK(t.map(function(d){var h=d.getBBox(),f=h.width,g=h.height;return[f,g]})).map(function(d){return Math.max.apply(Math,Oe([],V(d),!1))}),2),i=n[0],a=n[1],s=this.attributes,o=s.pageWidth,l=o===void 0?i:o,c=s.pageHeight,u=c===void 0?a:c;return{pageWidth:l,pageHeight:u}},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(e.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t=r.prototype.getBBox.call(this),n=t.x,i=t.y,a=this.controllerShape,s=this.pageShape,o=s.pageWidth,l=s.pageHeight;return new dr(n,i,o+a.width,l)},e.prototype.goTo=function(t){var n=this,i=this.attributes.animate,a=this,s=a.currPage,o=a.playState,l=a.playWindow,c=a.pageViews;if(o!=="idle"||t<0||c.length<=0||t>=c.length)return null;c[s].setLocalPosition(0,0),this.prepareFollowingPage(t);var u=V(this.getFollowingPageDiff(t),2),d=u[0],h=u[1];this.playState="running";var f=pL(l,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-d,", ").concat(-h,")")}],i);return Ho(f,function(){n.innerCurrPage=t,n.playState="idle",n.setVisiblePages([t]),n.updatePageInfo()}),f},e.prototype.prev=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i<=0)return null;var a=t?(i-1+n)%n:an(i-1,0,n);return this.goTo(a)},e.prototype.next=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i>=n-1)return null;var a=t?(i+1)%n:an(i+1,0,n);return this.goTo(a)},e.prototype.renderClipPath=function(t){var n=this.pageShape,i=n.pageWidth,a=n.pageHeight;if(!i||!a){this.contentGroup.style.clipPath=void 0;return}this.clipPath=t.maybeAppendByClassName(Wr.clipPath,"rect").styles({width:i,height:a}),this.contentGroup.attr("clipPath",this.clipPath.node())},e.prototype.setVisiblePages=function(t){this.playWindow.children.forEach(function(n,i){t.includes(i)?Sc(n):li(n)})},e.prototype.adjustControllerLayout=function(){var t=this,n=t.prevBtnGroup,i=t.nextBtnGroup,a=t.pageInfoGroup,s=this.attributes,o=s.orientation,l=s.controllerPadding,c=a.getBBox(),u=c.width;c.height;var d=V(o==="horizontal"?[-180,0]:[-90,90],2),h=d[0],f=d[1];n.setLocalEulerAngles(h),i.setLocalEulerAngles(f);var g=n.getBBox(),p=g.width,v=g.height,m=i.getBBox(),y=m.width,b=m.height,w=Math.max(p,u,y),E=o==="horizontal"?{offset:[[0,0],[p/2+l,0],[p+u+l*2,0]],textAlign:"start"}:{offset:[[w/2,-v-l],[w/2,0],[w/2,b+l]],textAlign:"center"},_=V(E.offset,3),O=V(_[0],2),M=O[0],N=O[1],A=V(_[1],2),P=A[0],L=A[1],I=V(_[2],2),G=I[0],H=I[1],Y=E.textAlign,W=a.querySelector("text");W&&(W.style.textAlign=Y),n.setLocalPosition(M,N),a.setLocalPosition(P,L),i.setLocalPosition(G,H)},e.prototype.updatePageInfo=function(){var t,n=this,i=n.currPage,a=n.pageViews,s=n.attributes.formatter;a.length<2||((t=this.pageInfoGroup.querySelector(Wr.pageInfo.class))===null||t===void 0||t.attr("text",s(i+1,a.length)),this.adjustControllerLayout())},e.prototype.getFollowingPageDiff=function(t){var n=this.currPage;if(n===t)return[0,0];var i=this.attributes.orientation,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=t<n?-1:1;return i==="horizontal"?[l*s,0]:[0,l*o]},e.prototype.prepareFollowingPage=function(t){var n=this,i=n.currPage,a=n.pageViews;if(this.setVisiblePages([t,i]),t!==i){var s=V(this.getFollowingPageDiff(t),2),o=s[0],l=s[1];a[t].setLocalPosition(o,l)}},e.prototype.renderController=function(t){var n=this,i=this.attributes.controllerSpacing,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=this.pageViews.length>=2,c=t.maybeAppendByClassName(Wr.controller,"g");if(Rh(c.node(),l),!!l){var u=Ye(this.attributes,"button"),d=Ye(this.attributes,"pageNum"),h=V(aa(u),2),f=h[0],g=h[1],p=f.size,v=un(f,["size"]),m=!c.select(Wr.prevBtnGroup.class).node(),y=c.maybeAppendByClassName(Wr.prevBtnGroup,"g").styles(g);this.prevBtnGroup=y.node();var b=y.maybeAppendByClassName(Wr.prevBtn,"path"),w=c.maybeAppendByClassName(Wr.nextBtnGroup,"g").styles(g);this.nextBtnGroup=w.node();var E=w.maybeAppendByClassName(Wr.nextBtn,"path");[b,E].forEach(function(O){O.styles(fe(fe({},v),{transformOrigin:"center"})),_x(O.node(),p)});var _=c.maybeAppendByClassName(Wr.pageInfoGroup,"g");this.pageInfoGroup=_.node(),_.maybeAppendByClassName(Wr.pageInfo,"text").styles(d),this.updatePageInfo(),c.node().setLocalPosition(s+i,o/2),m&&(this.prevBtnGroup.addEventListener("click",function(){n.prev()}),this.nextBtnGroup.addEventListener("click",function(){n.next()}))}},e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s;this.attr("transform","translate(".concat(a,", ").concat(o,")"));var l=De(n);this.renderClipPath(l),this.renderController(l),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},e.prototype.bindEvents=function(){var t=this,n=nc(function(){return t.render(t.attributes,t)},50);this.playWindow.addEventListener(st.INSERTED,n),this.playWindow.addEventListener(st.REMOVED,n)},e}(dn);function xZ(r,e,t){var n=1.4,i=n*t;return[["M",r-t,e-i],["L",r+t,e-i],["L",r+t,e+i],["L",r-t,e+i],["Z"]]}var NL=1.4,AL=.4;function wZ(r,e,t){var n=t,i=n*NL,a=n/2,s=n/6,o=r+i*AL;return[["M",r,e],["L",o,e+a],["L",r+i,e+a],["L",r+i,e-a],["L",o,e-a],["Z"],["M",o,e+s],["L",r+i-2,e+s],["M",o,e-s],["L",r+i-2,e-s]]}function EZ(r,e,t){var n=t,i=n*NL,a=n/2,s=n/6,o=e+i*AL;return[["M",r,e],["L",r-a,o],["L",r-a,e+i],["L",r+a,e+i],["L",r+a,o],["Z"],["M",r-s,o],["L",r-s,e+i-2],["M",r+s,o],["L",r+s,e+i-2]]}Ot.registerSymbol("hiddenHandle",xZ);Ot.registerSymbol("verticalHandle",wZ);Ot.registerSymbol("horizontalHandle",EZ);function tb(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t}var Or=vi({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item");function SZ(r){var e=r.querySelector(Or.marker.class);return e?e.style:{}}var _Z=function(r){it(e,r);function e(t){return r.call(this,t,{span:[1,1],marker:function(){return new sa({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(e.prototype,"showValue",{get:function(){var t=this.attributes.valueText;return t?typeof t=="string"||typeof t=="number"?t!=="":typeof t=="function"?!0:t.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"actualSpace",{get:function(){var t=this.labelGroup,n=this.valueGroup,i=this.attributes.markerSize,a=t.node().getBBox(),s=a.width,o=a.height,l=n.node().getBBox(),c=l.width,u=l.height;return{markerWidth:i,labelWidth:s,valueWidth:c,height:Math.max(i,o,u)}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"span",{get:function(){var t=this.attributes.span;if(!t)return[1,1];var n=V(Kn(t),2),i=n[0],a=n[1],s=this.showValue?a:0,o=i+s;return[i/o,s/o]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t,n=this.attributes,i=n.markerSize,a=n.width,s=this.actualSpace,o=s.markerWidth,l=s.height,c=this.actualSpace,u=c.labelWidth,d=c.valueWidth,h=V(this.spacing,2),f=h[0],g=h[1];if(a){var p=a-i-f-g,v=V(this.span,2),m=v[0],y=v[1];t=V([m*p,y*p],2),u=t[0],d=t[1]}var b=o+u+d+f+g;return{width:b,height:l,markerWidth:o,labelWidth:u,valueWidth:d}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"spacing",{get:function(){var t=this.attributes.spacing;if(!t)return[0,0];var n=V(Kn(t),2),i=n[0],a=n[1];return this.showValue?[i,a]:[i,0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"layout",{get:function(){var t=this.shape,n=t.markerWidth,i=t.labelWidth,a=t.valueWidth,s=t.width,o=t.height,l=V(this.spacing,2),c=l[0],u=l[1];return{height:o,width:s,markerWidth:n,labelWidth:i,valueWidth:a,position:[n/2,n+c,n+i+c+u]}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scaleSize",{get:function(){var t=SZ(this.markerGroup.node()),n=this.attributes,i=n.markerSize,a=n.markerStrokeWidth,s=a===void 0?t.strokeWidth:a,o=n.markerLineWidth,l=o===void 0?t.lineWidth:o,c=n.markerStroke,u=c===void 0?t.stroke:c,d=+(s||l||(u?1:0))*Math.sqrt(2),h=this.markerGroup.node().getBBox(),f=h.width,g=h.height;return(1-d/Math.max(f,g))*i},enumerable:!1,configurable:!0}),e.prototype.renderMarker=function(t){var n=this,i=this.attributes.marker,a=Ye(this.attributes,"marker");this.markerGroup=t.maybeAppendByClassName(Or.markerGroup,"g").style("zIndex",0),Dr(!!i,this.markerGroup,function(){var s,o=n.markerGroup.node(),l=(s=o.childNodes)===null||s===void 0?void 0:s[0],c=typeof i=="string"?new Ot({style:{symbol:i},className:Or.marker.name}):i();l?c.nodeName===l.nodeName?l instanceof Ot?l.update(fe(fe({},a),{symbol:i})):(aK(l,c),De(l).styles(a)):(l.remove(),De(c).attr("className",Or.marker.name).styles(a),o.appendChild(c)):(c instanceof Ot||De(c).attr("className",Or.marker.name).styles(a),o.appendChild(c)),n.markerGroup.node().scale(1/n.markerGroup.node().getScale()[0]);var u=_x(n.markerGroup.node(),n.scaleSize);n.markerGroup.node().style._transform="scale(".concat(u,")")})},e.prototype.renderLabel=function(t){var n=Ye(this.attributes,"label"),i=n.text,a=un(n,["text"]);this.labelGroup=t.maybeAppendByClassName(Or.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(Or.label,function(){return ia(i)}).styles(a)},e.prototype.renderValue=function(t){var n=this,i=Ye(this.attributes,"value"),a=i.text,s=un(i,["text"]);this.valueGroup=t.maybeAppendByClassName(Or.valueGroup,"g").style("zIndex",0),Dr(this.showValue,this.valueGroup,function(){n.valueGroup.maybeAppendByClassName(Or.value,function(){return ia(a)}).styles(s)})},e.prototype.renderBackground=function(t){var n=this.shape,i=n.width,a=n.height,s=Ye(this.attributes,"background");this.background=t.maybeAppendByClassName(Or.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(Or.background,"rect").styles(fe({width:i,height:a},s))},e.prototype.adjustLayout=function(){var t=this.layout,n=t.labelWidth,i=t.valueWidth,a=t.height,s=V(t.position,3),o=s[0],l=s[1],c=s[2],u=a/2;this.markerGroup.styles({transform:"translate(".concat(o,", ").concat(u,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(l,", ").concat(u,")")}),K1(this.labelGroup.select(Or.label.class).node(),Math.ceil(n)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(c,", ").concat(u,")")}),K1(this.valueGroup.select(Or.value.class).node(),Math.ceil(i)))},e.prototype.render=function(t,n){var i=De(n),a=t.x,s=a===void 0?0:a,o=t.y,l=o===void 0?0:o;i.styles({transform:"translate(".concat(s,", ").concat(l,")")}),this.renderMarker(i),this.renderLabel(i),this.renderValue(i),this.renderBackground(i),this.adjustLayout()},e}(dn),rs=vi({page:"item-page",navigator:"navigator",item:"item"},"items"),GO=function(r,e,t){return t===void 0&&(t=!0),r?e(r):t},kZ=function(r){it(e,r);function e(t){var n=r.call(this,t,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:vf,mouseenter:vf,mouseleave:vf})||this;return n.navigatorShape=[0,0],n}return Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"grid",{get:function(){var t=this.attributes,n=t.gridRow,i=t.gridCol,a=t.data;if(!n&&!i)throw new Error("gridRow and gridCol can not be set null at the same time");return n&&i?[n,i]:n?[n,a.length]:[a.length,i]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"renderData",{get:function(){var t=this.attributes,n=t.data,i=t.layout,a=Ye(this.attributes,"item"),s=n.map(function(o,l){var c=o.id,u=c===void 0?l:c,d=o.label,h=o.value;return{id:"".concat(u),index:l,style:fe({layout:i,labelText:d,valueText:h},Object.fromEntries(Object.entries(a).map(function(f){var g=V(f,2),p=g[0],v=g[1];return[p,Yr(v,[o,l,n])]})))}});return s},enumerable:!1,configurable:!0}),e.prototype.getGridLayout=function(){var t=this,n=this.attributes,i=n.orientation,a=n.width,s=n.rowPadding,o=n.colPadding,l=V(this.navigatorShape,1),c=l[0],u=V(this.grid,2),d=u[0],h=u[1],f=h*d,g=0;return this.pageViews.children.map(function(p,v){var m,y,b=Math.floor(v/f),w=v%f,E=t.ifHorizontal(h,d),_=[Math.floor(w/E),w%E];i==="vertical"&&_.reverse();var O=V(_,2),M=O[0],N=O[1],A=(a-c-(h-1)*o)/h,P=p.getBBox().height,L=V([0,0],2),I=L[0],G=L[1];return i==="horizontal"?(m=V([g,M*(P+s)],2),I=m[0],G=m[1],g=N===h-1?0:g+A+o):(y=V([N*(A+o),g],2),I=y[0],G=y[1],g=M===d-1?0:g+P+s),{page:b,index:v,row:M,col:N,pageIndex:w,width:A,height:P,x:I,y:G}})},e.prototype.getFlexLayout=function(){var t=this.attributes,n=t.width,i=t.height,a=t.rowPadding,s=t.colPadding,o=V(this.navigatorShape,1),l=o[0],c=V(this.grid,2),u=c[0],d=c[1],h=V([n-l,i],2),f=h[0],g=h[1],p=V([0,0,0,0,0,0,0,0],8),v=p[0],m=p[1],y=p[2],b=p[3],w=p[4],E=p[5],_=p[6],O=p[7];return this.pageViews.children.map(function(M,N){var A,P,L,I,G=M.getBBox(),H=G.width,Y=G.height,W=_===0?0:s,q=_+W+H;if(q<=f&&GO(w,function(re){return re<d}))return A=V([_+W,O,q],3),v=A[0],m=A[1],_=A[2],{width:H,height:Y,x:v,y:m,page:y,index:N,pageIndex:b++,row:E,col:w++};P=V([E+1,0,0,O+Y+a],4),E=P[0],w=P[1],_=P[2],O=P[3];var Q=O+Y;return Q<=g&&GO(E,function(re){return re<u})?(L=V([_,O,H],3),v=L[0],m=L[1],_=L[2],{width:H,height:Y,x:v,y:m,page:y,index:N,pageIndex:b++,row:E,col:w++}):(I=V([0,0,H,0,y+1,0,0,0],8),v=I[0],m=I[1],_=I[2],O=I[3],y=I[4],b=I[5],E=I[6],w=I[7],{width:H,height:Y,x:v,y:m,page:y,index:N,pageIndex:b++,row:E,col:w++})})},Object.defineProperty(e.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var t=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,n=t.call(this);return n.slice(-1)[0].page>0?(this.navigatorShape=[55,0],t.call(this)):n},enumerable:!1,configurable:!0}),e.prototype.ifHorizontal=function(t,n){var i=this.attributes.orientation;return tb(i,t,n)},e.prototype.flattenPage=function(t){t.querySelectorAll(rs.item.class).forEach(function(n){t.appendChild(n)}),t.querySelectorAll(rs.page.class).forEach(function(n){var i=t.removeChild(n);i.destroy()})},e.prototype.renderItems=function(t){var n=this.attributes,i=n.click,a=n.mouseenter,s=n.mouseleave;this.flattenPage(t);var o=this.dispatchCustomEvent.bind(this);De(t).selectAll(rs.item.class).data(this.renderData,function(l){return l.id}).join(function(l){return l.append(function(c){var u=c.style;return new _Z({style:u})}).attr("className",rs.item.name).on("click",function(){i==null||i(this),o("itemClick",{item:this})}).on("pointerenter",function(){a==null||a(this),o("itemMouseenter",{item:this})}).on("pointerleave",function(){s==null||s(this),o("itemMouseleave",{item:this})})},function(l){return l.each(function(c){var u=c.style;this.update(u)})},function(l){return l.remove()})},e.prototype.relayoutNavigator=function(){var t,n=this.attributes,i=n.layout,a=n.width,s=((t=this.pageViews.children[0])===null||t===void 0?void 0:t.getBBox().height)||0,o=V(this.navigatorShape,2),l=o[0],c=o[1];this.navigator.update(i==="grid"?{pageWidth:a-l,pageHeight:s-c}:{})},e.prototype.adjustLayout=function(){var t=this,n=Object.entries(GY(this.itemsLayout,"page")).map(function(a){var s=V(a,2),o=s[0],l=s[1];return{page:o,layouts:l}}),i=Oe([],V(this.navigator.getContainer().children),!1);n.forEach(function(a){var s=a.layouts,o=t.pageViews.appendChild(new An({className:rs.page.name}));s.forEach(function(l){var c=l.x,u=l.y,d=l.index,h=l.width,f=l.height,g=i[d];o.appendChild(g),Dl(g,"__layout__",l),g.update({x:c,y:u,width:h,height:f})})}),this.relayoutNavigator()},e.prototype.renderNavigator=function(t){var n=this.attributes.orientation,i=Ye(this.attributes,"nav"),a=Bn({orientation:n},i),s=this;return t.selectAll(rs.navigator.class).data(["nav"]).join(function(o){return o.append(function(){return new bZ({style:a})}).attr("className",rs.navigator.name).each(function(){s.navigator=this})},function(o){return o.each(function(){this.update(a)})},function(o){return o.remove()}),this.navigator},e.prototype.getBBox=function(){return this.navigator.getBBox()},e.prototype.render=function(t,n){var i=this.attributes.data;if(!(!i||i.length===0)){var a=this.renderNavigator(De(n));this.renderItems(a.getContainer()),this.adjustLayout()}},e.prototype.dispatchCustomEvent=function(t,n){var i=new yn(t,{detail:n});this.dispatchEvent(i)},e}(dn),sl=vi({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),PL={showLabel:!0,formatter:function(r){return r.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0};(function(r){it(e,r);function e(t){return r.call(this,t,PL)||this}return e.prototype.render=function(t,n){var i=De(n).maybeAppendByClassName(sl.markerGroup,"g");this.renderMarker(i);var a=De(n).maybeAppendByClassName(sl.labelGroup,"g");this.renderLabel(a)},e.prototype.renderMarker=function(t){var n=this,i=this.attributes,a=i.orientation,s=i.markerSymbol,o=s===void 0?tb(a,"horizontalHandle","verticalHandle"):s;Dr(!!o,t,function(l){var c=Ye(n.attributes,"marker"),u=fe({symbol:o},c);n.marker=l.maybeAppendByClassName(sl.marker,function(){return new Ot({style:u})}).update(u)})},e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.showLabel,s=i.orientation,o=i.spacing,l=o===void 0?0:o,c=i.formatter;Dr(a,t,function(u){var d,h=Ye(n.attributes,"label"),f=h.text,g=un(h,["text"]),p=((d=u.select(sl.marker.class))===null||d===void 0?void 0:d.node().getBBox())||{},v=p.width,m=v===void 0?0:v,y=p.height,b=y===void 0?0:y,w=V(tb(s,[0,b+l,"center","top"],[m+l,0,"start","middle"]),4),E=w[0],_=w[1],O=w[2],M=w[3];u.maybeAppendByClassName(sl.label,"text").styles(fe(fe({},g),{x:E,y:_,text:c(f).toString(),textAlign:O,textBaseline:M}))})},e})(dn);var RL={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},MZ=Bn({},RL,{});Bn({},RL,lo(PL,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"});var ol=vi({title:"title",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend"),TZ=function(r){it(e,r);function e(t){return r.call(this,t,MZ)||this}return e.prototype.renderTitle=function(t,n,i){var a=this.attributes,s=a.showTitle,o=a.titleText,l=Ye(this.attributes,"title"),c=V(aa(l),2),u=c[0],d=c[1];this.titleGroup=t.maybeAppendByClassName(ol.titleGroup,"g").styles(d);var h=fe(fe({width:n,height:i},u),{text:s?o:""});this.title=this.titleGroup.maybeAppendByClassName(ol.title,function(){return new gZ({style:h})}).update(h)},e.prototype.renderItems=function(t,n){var i=n.x,a=n.y,s=n.width,o=n.height,l=Ye(this.attributes,"title",!0),c=V(aa(l),2),u=c[0],d=c[1],h=fe(fe({},u),{width:s,height:o,x:0,y:0});this.itemsGroup=t.maybeAppendByClassName(ol.itemsGroup,"g").styles(fe(fe({},d),{transform:"translate(".concat(i,", ").concat(a,")")}));var f=this;this.itemsGroup.selectAll(ol.items.class).data(["items"]).join(function(g){return g.append(function(){return new kZ({style:h})}).attr("className",ol.items.name).each(function(){f.items=De(this)})},function(g){return g.update(h)},function(g){return g.remove()})},e.prototype.adjustLayout=function(){var t=this.attributes.showTitle;if(t){var n=this.title.node().getAvailableSpace(),i=n.x,a=n.y;this.itemsGroup.node().style.transform="translate(".concat(i,", ").concat(a,")")}},Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.showTitle,i=t.width,a=t.height;return n?this.title.node().getAvailableSpace():new dr(0,0,i,a)},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t,n,i=(t=this.title)===null||t===void 0?void 0:t.node(),a=(n=this.items)===null||n===void 0?void 0:n.node();return!i||!a?r.prototype.getBBox.call(this):dZ(i,a)},e.prototype.render=function(t,n){var i=this.attributes,a=i.width,s=i.height,o=i.x,l=o===void 0?0:o,c=i.y,u=c===void 0?0:c,d=De(n);n.style.transform="translate(".concat(l,", ").concat(u,")"),this.renderTitle(d,a,s),this.renderItems(d,this.availableSpace),this.adjustLayout()},e}(dn),OZ={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(r){return r.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},Gy=vi({background:"background",labelGroup:"label-group",label:"label"},"indicator"),CZ=function(r){it(e,r);function e(t){var n=r.call(this,t,OZ)||this;return n.point=[0,0],n.group=n.appendChild(new An({})),n.isMutationObserved=!0,n}return e.prototype.renderBackground=function(){if(this.label){var t=this.attributes,n=t.position,i=t.padding,a=V(Kn(i),4),s=a[0],o=a[1],l=a[2],c=a[3],u=this.label.node().getLocalBounds(),d=u.min,h=u.max,f=new dr(d[0]-c,d[1]-s,h[0]+o-d[0]+c,h[1]+l-d[1]+s),g=this.getPath(n,f),p=Ye(this.attributes,"background");this.background=De(this.group).maybeAppendByClassName(Gy.background,"path").styles(fe(fe({},p),{d:g})),this.group.appendChild(this.label.node())}},e.prototype.renderLabel=function(){var t=this.attributes,n=t.formatter,i=t.labelText,a=Ye(this.attributes,"label"),s=V(aa(a),2),o=s[0],l=s[1];o.text;var c=un(o,["text"]);if(this.label=De(this.group).maybeAppendByClassName(Gy.labelGroup,"g").styles(l),!!i){var u=this.label.maybeAppendByClassName(Gy.label,function(){return ia(n(i))}).style("text",n(i).toString());u.selectAll("text").styles(c)}},e.prototype.adjustLayout=function(){var t=V(this.point,2),n=t[0],i=t[1],a=this.attributes,s=a.x,o=a.y;this.group.attr("transform","translate(".concat(s-n,", ").concat(o-i,")"))},e.prototype.getPath=function(t,n){var i=this.attributes.radius,a=n.x,s=n.y,o=n.width,l=n.height,c=[["M",a+i,s],["L",a+o-i,s],["A",i,i,0,0,1,a+o,s+i],["L",a+o,s+l-i],["A",i,i,0,0,1,a+o-i,s+l],["L",a+i,s+l],["A",i,i,0,0,1,a,s+l-i],["L",a,s+i],["A",i,i,0,0,1,a+i,s],["Z"]],u={top:4,right:6,bottom:0,left:2},d=u[t],h=this.createCorner([c[d].slice(-2),c[d+1].slice(-2)]);return c.splice.apply(c,Oe([d+1,1],V(h),!1)),c[0][0]="M",c},e.prototype.createCorner=function(t,n){n===void 0&&(n=10);var i=.8,a=iK.apply(void 0,Oe([],V(t),!1)),s=V(t,2),o=V(s[0],2),l=o[0],c=o[1],u=V(s[1],2),d=u[0],h=u[1],f=V(a?[d-l,[l,d]]:[h-c,[c,h]],2),g=f[0],p=V(f[1],2),v=p[0],m=p[1],y=g/2,b=g/Math.abs(g),w=n*b,E=w/2,_=w*Math.sqrt(3)/2*i,O=V([v,v+y-E,v+y,v+y+E,m],5),M=O[0],N=O[1],A=O[2],P=O[3],L=O[4];return a?(this.point=[A,c-_],[["L",M,c],["L",N,c],["L",A,c-_],["L",P,c],["L",L,c]]):(this.point=[l+_,A],[["L",l,M],["L",l,N],["L",l+_,A],["L",l,P],["L",l,L]])},e.prototype.applyVisibility=function(){var t=this.attributes.visibility;t==="hidden"?li(this):Sc(this)},e.prototype.bindEvents=function(){this.label.on(st.BOUNDS_CHANGED,this.renderBackground)},e.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},e}(dn);function nb(r){return r===void 0&&(r=""),{CONTAINER:"".concat(r,"tooltip"),TITLE:"".concat(r,"tooltip-title"),LIST:"".concat(r,"tooltip-list"),LIST_ITEM:"".concat(r,"tooltip-list-item"),NAME:"".concat(r,"tooltip-list-item-name"),MARKER:"".concat(r,"tooltip-list-item-marker"),NAME_LABEL:"".concat(r,"tooltip-list-item-name-label"),VALUE:"".concat(r,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(r,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(r,"tooltip-crosshair-y")}}var WO={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function NZ(r){var e;r===void 0&&(r="");var t=nb(r);return e={},e[".".concat(t.CONTAINER)]={position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},e[".".concat(t.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},e[".".concat(t.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},e[".".concat(t.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},e[".".concat(t.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},e[".".concat(t.NAME)]={display:"flex","align-items":"center","max-width":"216px"},e[".".concat(t.NAME_LABEL)]=fe({flex:1},WO),e[".".concat(t.VALUE)]=fe({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},WO),e[".".concat(t.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e[".".concat(t.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e}var AZ=function(r){it(e,r);function e(t){var n=this,i,a,s=(a=(i=t.style)===null||i===void 0?void 0:i.template)===null||a===void 0?void 0:a.prefixCls,o=nb(s);return n=r.call(this,t,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:'<div class="'.concat(o.CONTAINER,'"></div>'),title:'<div class="'.concat(o.TITLE,'"></div>'),item:'<li class="'.concat(o.LIST_ITEM,`" data-index={index}>
|
|
380
|
+
<span class="`).concat(o.NAME,`">
|
|
381
|
+
<span class="`).concat(o.MARKER,`" style="background:{color}"></span>
|
|
382
|
+
<span class="`).concat(o.NAME_LABEL,`" title="{name}">{name}</span>
|
|
383
|
+
</span>
|
|
384
|
+
<span class="`).concat(o.VALUE,`" title="{value}">{value}</span>
|
|
385
|
+
</li>`)},style:NZ(s)})||this,n.timestamp=-1,n.prevCustomContentKey=n.attributes.contentKey,n.initShape(),n.render(n.attributes,n),n}return Object.defineProperty(e.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.element},Object.defineProperty(e.prototype,"elementSize",{get:function(){var t=this.element.offsetWidth,n=this.element.offsetHeight;return{width:t,height:n}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"HTMLTooltipItemsElements",{get:function(){var t=this.attributes,n=t.data,i=t.template;return n.map(function(a,s){var o=a.name,l=o===void 0?"":o,c=a.color,u=c===void 0?"black":c,d=a.index,h=un(a,["name","color","index"]),f=fe({name:l,color:u,index:d!=null?d:s},h);return c1(u6(i.item,f))})},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){this.renderHTMLTooltipElement(),this.updatePosition()},e.prototype.destroy=function(){var t;(t=this.element)===null||t===void 0||t.remove(),r.prototype.destroy.call(this)},e.prototype.show=function(t,n){var i=this;if(t!==void 0&&n!==void 0){var a=this.element.style.visibility==="hidden",s=function(){i.attributes.x=t!=null?t:i.attributes.x,i.attributes.y=n!=null?n:i.attributes.y,i.updatePosition()};a?this.closeTransition(s):s()}this.element.style.visibility="visible"},e.prototype.hide=function(t,n){t===void 0&&(t=0),n===void 0&&(n=0);var i=this.attributes.enterable;i&&this.isCursorEntered(t,n)||(this.element.style.visibility="hidden")},e.prototype.initShape=function(){var t=this.attributes.template;this.element=c1(t.container),this.id&&this.element.setAttribute("id",this.id)},e.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var t=this.attributes.content;t&&(typeof t=="string"?this.element.innerHTML=t:gO(this.element,t))}},e.prototype.renderHTMLTooltipElement=function(){var t,n,i=this.attributes,a=i.template,s=i.title,o=i.enterable,l=i.style,c=i.content,u=nb(a.prefixCls),d=this.element;if(this.element.style.pointerEvents=o?"auto":"none",c)this.renderCustomContent();else{s?(d.innerHTML=a.title,d.getElementsByClassName(u.TITLE)[0].innerHTML=s):(n=(t=d.getElementsByClassName(u.TITLE))===null||t===void 0?void 0:t[0])===null||n===void 0||n.remove();var h=this.HTMLTooltipItemsElements,f=document.createElement("ul");f.className=u.LIST,gO(f,h);var g=this.element.querySelector(".".concat(u.LIST));g?g.replaceWith(f):d.appendChild(f)}lK(d,l)},e.prototype.getRelativeOffsetFromCursor=function(t){var n=this.attributes,i=n.position,a=n.offset,s=t||i,o=s.split("-"),l={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},c=this.elementSize,u=c.width,d=c.height,h=[-u/2,-d/2];return o.forEach(function(f){var g=V(h,2),p=g[0],v=g[1],m=V(l[f],2),y=m[0],b=m[1];h=[p+(u/2+a[0])*y,v+(d/2+a[1])*b]}),h},e.prototype.setOffsetPosition=function(t){var n=V(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=o===void 0?0:o,c=s.y,u=c===void 0?0:c,d=s.container,h=d.x,f=d.y;this.element.style.left="".concat(+l+h+i,"px"),this.element.style.top="".concat(+u+f+a,"px")},e.prototype.updatePosition=function(){var t=this.attributes.showDelay,n=t===void 0?60:t,i=Date.now();this.timestamp>0&&i-this.timestamp<n||(this.timestamp=i,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},e.prototype.autoPosition=function(t){var n=V(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=s.y,c=s.bounding,u=s.position;if(!c)return[i,a];var d=this.element,h=d.offsetWidth,f=d.offsetHeight,g=V([+o+i,+l+a],2),p=g[0],v=g[1],m={left:"right",right:"left",top:"bottom",bottom:"top"},y=c.x,b=c.y,w=c.width,E=c.height,_={left:p<y,right:p+h>y+w,top:v<b,bottom:v+f>b+E},O=[];u.split("-").forEach(function(N){_[N]?O.push(m[N]):O.push(N)});var M=O.join("-");return this.getRelativeOffsetFromCursor(M)},e.prototype.isCursorEntered=function(t,n){if(this.element){var i=this.element.getBoundingClientRect(),a=i.x,s=i.y,o=i.width,l=i.height;return new dr(a,s,o,l).isPointIn(t,n)}return!1},e.prototype.closeTransition=function(t){var n=this,i=this.element.style.transition;this.element.style.transition="none",t(),setTimeout(function(){n.element.style.transition=i},10)},e.tag="tooltip",e}(dn),PZ=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},e.defaultOptions,t))||this;return n.hoverColor="#f5f5f5",n.selectedColor="#e6f7ff",n.background=n.appendChild(new Yn({})),n.label=n.background.appendChild(new An({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return Kn(this.style.padding)},enumerable:!1,configurable:!0}),e.prototype.renderLabel=function(){var t=this.style,n=t.label,i=t.value,a=Ye(this.attributes,"label");De(this.label).maybeAppend(".label",function(){return ia(n)}).attr("className","label").styles(a),this.label.attr("__data__",i)},e.prototype.renderBackground=function(){var t=this.label.getBBox(),n=V(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3],l=t.width,c=t.height,u=l+o+a,d=c+i+s,h=Ye(this.attributes,"background"),f=this.style,g=f.width,p=g===void 0?0:g,v=f.height,m=v===void 0?0:v,y=f.selected;this.background.attr(fe(fe({},h),{width:Math.max(u,p),height:Math.max(d,m),fill:y?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(o,", ").concat((d-c)/2,")")})},e.prototype.render=function(){this.renderLabel(),this.renderBackground()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("pointerenter",function(){t.style.selected||t.background.attr("fill",t.hoverColor)}),this.addEventListener("pointerleave",function(){t.style.selected||t.background.attr("fill",t.style.backgroundFill)});var n=this;this.addEventListener("click",function(){var i=t.style,a=i.label,s=i.value,o=i.onClick;o==null||o(s,{label:a,value:s},n)})},e.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},e}(dn),RZ=function(r){it(e,r);function e(t){var n,i,a=r.call(this,Bn({},e.defaultOptions,t))||this;a.currentValue=(n=e.defaultOptions.style)===null||n===void 0?void 0:n.defaultValue,a.isPointerInSelect=!1,a.select=a.appendChild(new Yn({className:"select",style:{cursor:"pointer",width:0,height:0}})),a.dropdown=a.appendChild(new Yn({className:"dropdown"}));var s=a.style.defaultValue;return s&&(!((i=a.style.options)===null||i===void 0)&&i.some(function(o){return o.value===s}))&&(a.currentValue=s),a}return e.prototype.setValue=function(t){this.currentValue=t,this.render()},e.prototype.getValue=function(){return this.currentValue},Object.defineProperty(e.prototype,"dropdownPadding",{get:function(){return Kn(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),e.prototype.renderSelect=function(){var t=this,n,i=this.style,a=i.x,s=i.y,o=i.width,l=i.height,c=i.bordered,u=i.showDropdownIcon,d=Ye(this.attributes,"select"),h=Ye(this.attributes,"placeholder");this.select.attr(fe(fe({x:a,y:s,width:o,height:l},d),{fill:"#fff",strokeWidth:c?1:0}));var f=this.dropdownPadding,g=10;u&&De(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(a+o-g-f[1]-f[3],", ").concat(s+l/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var p=(n=this.style.options)===null||n===void 0?void 0:n.find(function(b){return b.value===t.currentValue}),v=fe({x:a+f[3]},h);De(this.select).selectAll(".placeholder").data(p?[]:[1]).join(function(b){return b.append("text").attr("className","placeholder").styles(v).style("y",function(){var w=this.getBBox();return s+(l-w.height)/2})},function(b){return b.styles(v)},function(b){return b.remove()});var m=Ye(this.attributes,"optionLabel"),y=fe({x:a+f[3]},m);De(this.select).selectAll(".value").data(p?[p]:[]).join(function(b){return b.append(function(w){return ia(w.label)}).attr("className","value").styles(y).style("y",function(){var w=this.getBBox();return s+(l-w.height)/2})},function(b){return b.styles(y)},function(b){return b.remove()})},e.prototype.renderDropdown=function(){var t=this,n,i,a=this.style,s=a.x,o=a.y,l=a.width,c=a.height,u=a.options,d=a.onSelect,h=a.open,f=Ye(this.attributes,"dropdown"),g=Ye(this.attributes,"option"),p=this.dropdownPadding;De(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(u,function(y){return y.value}).join(function(y){return y.append(function(b){return new PZ({className:"dropdown-item",style:fe(fe(fe({},b),g),{width:l-p[1]-p[3],selected:b.value===t.currentValue,onClick:function(w,E,_){t.setValue(w),d==null||d(w,E,_),t.dispatchEvent(new yn("change",{detail:{value:w,option:E,item:_}})),li(t.dropdown)}})})}).each(function(b,w){var E,_=(E=this.parentNode)===null||E===void 0?void 0:E.children,O=_.reduce(function(M,N,A){return A<w&&(M+=N.getBBox().height),M},0);this.attr("transform","translate(".concat(p[3],", ").concat(p[0]+O,")"))})},function(y){return y.update(function(b){return{selected:b.value===t.currentValue}})},function(y){return y.remove()});var v=(i=(n=this.dropdown.getElementsByClassName("dropdown-container"))===null||n===void 0?void 0:n[0])===null||i===void 0?void 0:i.getBBox(),m=f.spacing;this.dropdown.attr(fe({transform:"translate(".concat(s,", ").concat(o+c+m,")"),width:v.width+p[1]+p[3],height:v.height+p[0]+p[2]},f)),!h&&li(this.dropdown)},e.prototype.render=function(){this.renderSelect(),this.renderDropdown()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("click",function(n){n.stopPropagation()}),this.select.addEventListener("click",function(){t.dropdown.style.visibility==="visible"?li(t.dropdown):Sc(t.dropdown)}),this.addEventListener("pointerenter",function(){t.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){t.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){t.isPointerInSelect||li(t.dropdown)})},e.defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"请选择",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}},e}(dn),pi=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},{style:{backgroundOpacity:e.backgroundOpacities.default}},e.defaultOptions,t))||this;return n.showBackground=!0,n.background=n.appendChild(new Yn({})),n.icon=n.appendChild(new An({})),n}return Object.defineProperty(e.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"padding",{get:function(){return Kn(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"iconSize",{get:function(){var t=this.attributes.size,n=V(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3];return Math.max(t-Math.max(o+a,i+s),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.size,s=a/2,o=Ye(this.attributes,"background");this.background.attr(fe({x:n-s,y:i-s,width:a,height:a},o))},e.prototype.showIndicator=function(){if(this.label){var t=this.attributes.size,n=this.background.getBBox(),i=n.x,a=n.y;this.indicator.update({x:i+t/2,y:a-5,labelText:this.label,visibility:"visible"})}},e.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},e.prototype.connectedCallback=function(){var t;r.prototype.connectedCallback.call(this);var n=this.attributes.size,i=this.background.getBBox(),a=i.x,s=i.y,o=(t=this.ownerDocument)===null||t===void 0?void 0:t.defaultView;o&&(this.indicator=o.appendChild(new CZ({style:{x:a+n/2,y:s-n/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},e.prototype.disconnectedCallback=function(){this.indicator.destroy()},e.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onClick;if(this.addEventListener("click",function(){n==null||n(t)}),this.showBackground){var i=function(){return t.background.attr({opacity:e.backgroundOpacities.default})},a=function(){return t.background.attr({opacity:e.backgroundOpacities.hover})},s=function(){return t.background.attr({opacity:e.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){a(),t.showIndicator()}),this.addEventListener("pointerleave",function(){i(),t.hideIndicator()}),this.addEventListener("pointerdown",function(){s()}),this.addEventListener("pointerup",function(){i()})}},e.tag="IconBase",e.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},e.backgroundOpacities={default:0,hover:.8,active:1},e}(dn),Xl=function(r,e){return e===void 0&&(e="#565758"),new Pr({style:{fill:e,d:"M ".concat(r,",").concat(r," L -").concat(r,",0 L ").concat(r,",-").concat(r," Z"),transformOrigin:"center"}})},LZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.arcPath=function(t,n,i){var a=V([i,i],2),s=a[0],o=a[1],l=function(p){return[t+i*Math.cos(p),n+i*Math.sin(p)]},c=V(l(-5/4*Math.PI),2),u=c[0],d=c[1],h=V(l(1/4*Math.PI),2),f=h[0],g=h[1];return"M".concat(u,",").concat(d,",A").concat(s,",").concat(o,",0,1,1,").concat(f,",").concat(g)},Object.defineProperty(e.prototype,"label",{get:function(){return"重置"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=this.lineWidth,l=o+.5;De(this.icon).maybeAppend(".reset","path").styles({stroke:a,lineWidth:o,d:this.arcPath(n,i,s/2-o),markerStart:Xl(l,a)})},e}(pi),IZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"快退"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),c=[[n,i],[n,i-l],[n-o,i],[n,i+l],[n,i],[n+o,i-l],[n+o,i+l],[n,i]];De(this.icon).maybeAppend(".backward","polygon").styles({points:c,fill:a})},e}(pi),DZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"快进"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),c=[[n,i],[n,i-l],[n+o,i],[n,i+l],[n,i],[n-o,i-l],[n-o,i+l],[n,i]];De(this.icon).maybeAppend(".forward","polygon").styles({points:c,fill:a})},e}(pi),FZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"播放"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3*Math.pow(3,.5)*.8,l=[[n+o,i],[n-o/2,i-s/2*.8],[n-o/2,i+s/2*.8],[n+o,i]];De(this.icon).maybeAppend(".play","polygon").styles({points:l,fill:a})},e}(pi),BZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"暂停"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3,l=[[n-o,i-s/2],[n-o,i+s/2],[n-o/2,i+s/2],[n-o/2,i-s/2],[n-o,i-s/2],[n+o/2,i-s/2],[n+o/2,i+s/2],[n+o,i+s/2],[n+o,i-s/2]];De(this.icon).maybeAppend(".pause","polygon").styles({points:l,fill:a})},e}(pi),zZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"范围时间"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,c=l;De(this.icon).maybeAppend(".left-line","line").styles({x1:n-o/2,y1:i-o/2,x2:n-o/2,y2:i+o/2,stroke:a,lineWidth:l}),De(this.icon).maybeAppend(".right-line","line").styles({x1:n+o/2,y1:i-o/2,x2:n+o/2,y2:i+o/2,stroke:a,lineWidth:l}),De(this.icon).maybeAppend(".left-arrow","line").styles({x1:n,y1:i,x2:n-o/2+c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Xl(l*2,a)}),De(this.icon).maybeAppend(".right-arrow","line").styles({x1:n,y1:i,x2:n+o/2-c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Xl(l*2,a)})},e}(pi),jZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"单一时间"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;De(this.icon).maybeAppend(".line","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l});var c=l;De(this.icon).maybeAppend(".left-arrow","line").styles({x1:n-o/2-c*2,y1:i,x2:n-c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Xl(l*2,a)}),De(this.icon).maybeAppend(".right-arrow","line").styles({x1:n+o/2+c*2,y1:i,x2:n+c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Xl(l*2,a)})},e}(pi),LL=function(r){return[[-r/2,-r/2],[-r/2,r/2],[r/2,r/2]]},$Z=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"折线图"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,c=l,u=(o-c*2-l)/4,d=(o-c*2-l)/2,h=V([n-o/2+c,i+o/2-c*2],2),f=h[0],g=h[1];De(this.icon).maybeAppend(".coordinate","polyline").styles({points:LL(o).map(function(p){var v=V(p,2),m=v[0],y=v[1];return[m+n,y+i]}),stroke:a,lineWidth:l}),De(this.icon).maybeAppend(".line","polyline").styles({points:[[f,g],[f+u,g-d],[f+u*2,g],[f+u*4,g-d*2]],stroke:a,lineWidth:l})},e}(pi),qZ=function(r){it(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"条形图"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.data,n=this.attributes,i=n.x,a=n.y,s=n.color,o=this,l=o.iconSize,c=o.lineWidth,u=c,d=(l-u)/t.length,h=(l-u*2)/4,f=V([i-l/2+u*2,a+l/2-u],2),g=f[0],p=f[1];De(this.icon).maybeAppend(".coordinate","polyline").styles({points:LL(l).map(function(v){var m=V(v,2),y=m[0],b=m[1];return[y+i,b+a]}),stroke:s,lineWidth:c}),De(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(v,m){return{value:v,index:m}})).join(function(v){return v.append("line").attr("className","column").style("x1",function(m){var y=m.index;return g+d*y}).style("y1",p).style("x2",function(m){var y=m.index;return g+d*y}).style("y2",function(m){var y=m.value;return p-h*y}).styles({y1:p,stroke:s,lineWidth:c})})},e}(pi),GZ=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},{style:{color:"#d8d9d9"}},t))||this;return n.showBackground=!1,n}return e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;De(this.icon).maybeAppend(".split","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l})},e}(pi),rb=function(r){it(e,r);function e(){var t=r.apply(this,Oe([],V(arguments),!1))||this;return t.showBackground=!1,t}return Object.defineProperty(e.prototype,"padding",{get:function(){return Kn(0)},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.iconSize,n=this.attributes,i=n.x,a=n.y,s=n.speed,o=s===void 0?1:s,l=bb(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),c=an(t,20,1/0),u=20,d=fe(fe({},l),{x:i-c/2,y:a-u/2,width:c,height:u,defaultValue:o,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:t/5,placeholderFontSize:t/2,optionPadding:0,optionLabelFontSize:t/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});De(this.icon).maybeAppend(".speed",function(){return new RZ({style:d})}).attr("className","speed").each(function(){this.update(d)})},e.tag="SpeedSelect",e}(pi),Rx=function(r){it(e,r);function e(t){var n=r.call(this,t)||this;return n.icon=n.appendChild(new An({})),n.currentType=n.attributes.type,n}return e.prototype.getType=function(){return this.currentType},e.prototype.render=function(){var t=this,n=this.attributes;n.onChange;var i=un(n,["onChange"]);De(this.icon).selectAll(".icon").data([this.currentType]).join(function(a){return a.append(function(s){var o,l=(o=t.toggles.find(function(c){var u=V(c,1),d=u[0];return d===s}))===null||o===void 0?void 0:o[1];if(!l)throw new Error("Invalid type: ".concat(s));return new l({})}).attr("className","icon").styles(i,!1).update({})},function(a){return a.styles({restStyles:i}).update({})},function(a){return a.remove()})},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onChange;this.addEventListener("click",function(i){i.preventDefault(),i.stopPropagation();var a=(t.toggles.findIndex(function(o){var l=V(o,1),c=l[0];return c===t.currentType})+1)%t.toggles.length,s=t.toggles[a][0];n==null||n(t.currentType),t.currentType=s,t.render()})},e.tag="ToggleIcon",e}(dn),ib=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},{style:{type:"play"}},t))||this;return n.toggles=[["play",FZ],["pause",BZ]],n}return e}(Rx),ab=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},{style:{type:"range"}},t))||this;return n.toggles=[["range",zZ],["value",jZ]],n}return e}(Rx),sb=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},{style:{type:"column"}},t))||this;return n.toggles=[["line",$Z],["column",qZ]],n}return e}(Rx),WZ={reset:LZ,speed:rb,backward:IZ,playPause:ib,forward:DZ,selectionType:ab,chartType:sb,split:GZ},VZ=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},e.defaultOptions,t))||this;return n.background=n.appendChild(new Yn({})),n.functions=n.appendChild(new An({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return Kn(this.attributes.padding)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.style,n=t.x,i=t.y,a=t.width,s=t.height,o=Ye(this.attributes,"background");this.background.attr(fe({x:n,y:i,width:a,height:s},o))},e.prototype.renderFunctions=function(){var t=this,n,i=this.attributes,a=i.functions,s=i.iconSize,o=i.iconSpacing,l=i.x,c=i.y,u=i.width,d=i.height,h=i.align,f=V(this.padding,4),g=f[1],p=f[3],v=a.reduce(function(b,w){return b.length&&w.length?b.concat.apply(b,Oe(["split"],V(w),!1)):b.concat.apply(b,Oe([],V(w),!1))},[]),m=v.length*(s+o)-o,y={left:p+s/2,center:(u-m)/2+s/2,right:u-m-p-g+s/2}[h]||0;(n=this.speedSelect)===null||n===void 0||n.destroy(),this.functions.removeChildren(),v.forEach(function(b,w){var E,_=WZ[b],O={x:l+w*(s+o)+y,y:c+d/2,size:s};if(_===rb?(O.speed=t.attributes.speed,O.onSelect=function(N){return t.handleFunctionChange(b,{value:N})}):[ib,ab,sb].includes(_)?(O.onChange=function(N){return t.handleFunctionChange(b,{value:N})},_===ib&&(O.type=t.attributes.state==="play"?"pause":"play"),_===ab&&(O.type=t.attributes.selectionType==="range"?"value":"range"),_===sb&&(O.type=t.attributes.chartType==="line"?"column":"line")):O.onClick=function(){return t.handleFunctionChange(b,{value:b})},_===rb){var M=(E=t.ownerDocument)===null||E===void 0?void 0:E.defaultView;M&&(t.speedSelect=new _({style:fe(fe({},O),{zIndex:100})}),M.appendChild(t.speedSelect))}else t.functions.appendChild(new _({style:O}))})},e.prototype.disconnectedCallback=function(){var t;r.prototype.disconnectedCallback.call(this),(t=this.speedSelect)===null||t===void 0||t.destroy()},e.prototype.render=function(){this.renderBackground(),this.renderFunctions()},e.prototype.handleFunctionChange=function(t,n){var i=this.attributes.onChange;i==null||i(t,n)},e.defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}},e}(dn),UZ=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},e.defaultOptions,t))||this;return n.bindEvents(),n}return e.prototype.bindEvents=function(){var t=this;this.addEventListener("mouseenter",function(){t.attr("lineWidth",Math.ceil(+(t.style.r||0)/2))}),this.addEventListener("mouseleave",function(){t.attr("lineWidth",0)})},e.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},e}(sa),HZ=function(r){it(e,r);function e(t){return r.call(this,Bn({},e.defaultOptions,t))||this}return e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=Ye(this.attributes,"background");De(this).maybeAppend("background","rect").attr("className","background").styles(fe({x:n-a/2,y:i-s/2,width:a,height:s},o))},e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.iconSize,s=Ye(this.attributes,"icon"),o=1,l=a/2;De(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles(fe({x1:n-o,y1:i-l,x2:n-o,y2:i+l},s)),De(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles(fe({x1:n+o,y1:i-l,x2:n+o,y2:i+l},s))},e.prototype.renderBorder=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=Ye(this.attributes,"border"),c=o==="start"?+a/2:-a/2;De(this).maybeAppend("border","line").attr("className","border").styles(fe({x1:c+n,y1:i-s/2,x2:c+n,y2:i+s/2},l))},e.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},e.defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}},e}(dn);function YZ(r,e){return typeof r=="number"?IL(r):KZ(r,e)}function KZ(r,e){var t=new Date(r);switch(e){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(t.getHours())&&t.getMinutes()===0?pr(t,`HH:mm
|
|
386
|
+
YYYY-MM-DD`):pr(t,"HH:mm");case"half-day":return t.getHours()<12?`AM
|
|
387
|
+
`.concat(pr(t,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(t.getDate())?pr(t,`DD
|
|
388
|
+
YYYY-MM`):pr(t,"DD");case"week":return t.getDate()<=7?pr(t,`DD
|
|
389
|
+
YYYY-MM`):pr(t,"DD");case"month":return[0,6].includes(t.getMonth())?pr(t,`MM月
|
|
390
|
+
YYYY`):pr(t,"MM月");case"season":return[0].includes(t.getMonth())?pr(t,`MM月
|
|
391
|
+
YYYY`):pr(t,"MM月");case"year":return pr(t,"YYYY");default:return pr(t,"YYYY-MM-DD HH:mm")}}function IL(r){var e=String(Math.floor(r/3600)).padStart(2,"0"),t=String(Math.floor(r%3600/60)).padStart(2,"0"),n=String(Math.floor(r%60)).padStart(2,"0");return r<3600?"".concat(t,":").concat(n):"".concat(e,":").concat(t,":").concat(n)}var XZ=function(r){it(e,r);function e(t){var n=r.call(this,Bn({},e.defaultOptions,t))||this;n.axis=n.appendChild(new yZ({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),n.timeline=n.appendChild(new pX({style:{onChange:function(d){n.handleSliderChange(d)}}})),n.controller=n.appendChild(new VZ({})),n.states={},n.handleSliderChange=function(d){var h=function(){var f=n.states.values;return Array.isArray(f)?Oe([],V(f),!1):f}();n.setBySliderValues(d),n.dispatchOnChange(h)};var i=n.attributes,a=i.selectionType,s=i.chartType,o=i.speed,l=i.state,c=i.playMode,u=i.values;return n.states={chartType:s,playMode:c,selectionType:a,speed:o,state:l},n.setByTimebarValues(u),n}return Object.defineProperty(e.prototype,"data",{get:function(){var t=this.attributes.data,n=function(i,a){return i.time<a.time?-1:i.time>a.time?1:0};return t.sort(n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"space",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=t.controllerHeight,c=an(+s-l,0,+s),u=new dr(n,i+ +s-l,+a,l),d,h=0;o==="chart"?(h=35,d=new dr(n,i+c-h,+a,h)):d=new dr;var f=o==="time"?10:c,g=new dr(n,i+(o==="time"?c:c-f),+a,f-h);return{axisBBox:d,controllerBBox:u,timelineBBox:g}},enumerable:!1,configurable:!0}),e.prototype.setBySliderValues=function(t){var n,i,a=this.data,s=V(Array.isArray(t)?t:[0,t],2),o=s[0],l=s[1],c=a.length,u=a[Math.floor(o*c)],d=a[Math.ceil(l*c)-(Array.isArray(t)?0:1)];this.states.values=[(n=u==null?void 0:u.time)!==null&&n!==void 0?n:a[0].time,(i=d==null?void 0:d.time)!==null&&i!==void 0?i:1/0]},e.prototype.setByTimebarValues=function(t){var n,i,a,s=this.data,o=V(Array.isArray(t)?t:[void 0,t],2),l=o[0],c=o[1],u=s.find(function(h){var f=h.time;return f===l}),d=s.find(function(h){var f=h.time;return f===c});this.states.values=[(n=u==null?void 0:u.time)!==null&&n!==void 0?n:(i=s[0])===null||i===void 0?void 0:i.time,(a=d==null?void 0:d.time)!==null&&a!==void 0?a:1/0]},e.prototype.setByIndex=function(t){var n,i,a,s,o=this.data,l=V(t,2),c=l[0],u=l[1];this.states.values=[(i=(n=o[c])===null||n===void 0?void 0:n.time)!==null&&i!==void 0?i:o[0].time,(s=(a=this.data[u])===null||a===void 0?void 0:a.time)!==null&&s!==void 0?s:1/0]},Object.defineProperty(e.prototype,"sliderValues",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=V(Array.isArray(n)?n:[void 0,n],2),s=a[0],o=a[1],l=this.data,c=l.length,u=i==="value",d=function(){var f=l.findIndex(function(g){var p=g.time;return p===s});return u?0:f>-1?f/c:0},h=function(){if(o===1/0)return 1;var f=l.findIndex(function(g){var p=g.time;return p===o});return f>-1?f/c:u?.5:1};return[d(),h()]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"values",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=V(Array.isArray(n)?n:[this.data[0].time,n],2),s=a[0],o=a[1];return i==="value"?o:[s,o]},enumerable:!1,configurable:!0}),e.prototype.getDatumByRatio=function(t){var n=this.data,i=n.length,a=Math.floor(t*(i-1));return n[a]},Object.defineProperty(e.prototype,"chartHandleIconShape",{get:function(){var t=this.states.selectionType,n=this.space.timelineBBox.height;return t==="range"?function(i){return new HZ({style:{type:i,height:n,iconSize:n/6}})}:function(){return new Ss({style:{x1:0,y1:-n/2,x2:0,y2:n/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),e.prototype.getChartStyle=function(t){var n=this,i=t.x,a=t.y,s=t.width,o=t.height,l=this.states,c=l.selectionType,u=l.chartType,d=this.data,h=this.attributes,f=h.type,g=h.labelFormatter,p=Ye(this.attributes,"chart");p.type;var v=un(p,["type"]),m=c==="range";if(f==="time")return fe({handleIconShape:function(){return new UZ({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:m?-15:0,autoFitLabel:m,handleSpacing:m?-15:0,trackFill:"#edeeef",trackLength:s,trackOpacity:.5,trackRadius:o/2,trackSize:o/2,type:c,values:this.sliderValues,formatter:function(w){if(g)return g(w);var E=n.getDatumByRatio(w).time;return typeof E=="number"?IL(E):pr(E,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},v);var y=c==="range"?5:0,b=d.map(function(w){var E=w.value;return E});return fe({handleIconOffset:y,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:b,sparklineType:u,sparklineScale:.8,trackLength:s,trackSize:o,type:c,values:this.sliderValues,transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},v)},e.prototype.renderChart=function(t){t===void 0&&(t=this.space.timelineBBox),this.timeline.update(this.getChartStyle(t))},e.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},e.prototype.getAxisStyle=function(t){var n=this.data,i=this.attributes,a=i.interval,s=i.labelFormatter,o=Ye(this.attributes,"axis"),l=t.x,c=t.y,u=t.width,d=Oe(Oe([],V(n),!1),[{time:0}],!1).map(function(f,g,p){var v=f.time;return{label:"".concat(v),value:g/(p.length-1),time:v}}),h=fe({startPos:[l,c],endPos:[l+u,c],data:d,labelFilter:function(f,g){return g<d.length-1},labelFormatter:function(f){var g=f.time;return s?s(g):YZ(g,a)}},o);return h},e.prototype.renderAxis=function(t){t===void 0&&(t=this.space.axisBBox);var n=this.attributes.type;n==="chart"&&this.axis.update(this.getAxisStyle(t))},e.prototype.renderController=function(t){t===void 0&&(t=this.space.controllerBBox);var n=this.attributes.type,i=this.states,a=i.state,s=i.speed,o=i.selectionType,l=i.chartType,c=Ye(this.attributes,"controller"),u=this,d=fe(fe(fe({},t),{iconSize:20,speed:s,state:a,selectionType:o,chartType:l,onChange:function(h,f){var g=f.value;switch(h){case"reset":u.internalReset();break;case"speed":u.handleSpeedChange(g);break;case"backward":u.internalBackward();break;case"playPause":g==="play"?u.internalPlay():u.internalPause();break;case"forward":u.internalForward();break;case"selectionType":u.handleSelectionTypeChange(g);break;case"chartType":u.handleChartTypeChange(g);break}}}),c);n==="time"&&(d.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(d)},e.prototype.dispatchOnChange=function(t){var n=this.data,i=this.attributes.onChange,a=this.states,s=a.values,o=a.selectionType,l=V(s,2),c=l[0],u=l[1],d=u===1/0?n.at(-1).time:u,h=o==="range"?[c,d]:d,f=function(g,p){return Array.isArray(g)?Array.isArray(p)?g[0]===p[0]&&(g[1]===p[1]||g[1]===1/0||p[1]===1/0):!1:Array.isArray(p)?!1:g===p};(!t||!f(t,h))&&(i==null||i(o==="range"?[c,d]:d))},e.prototype.internalReset=function(t){var n,i,a=this.states.selectionType;this.internalPause(),this.setBySliderValues(a==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onReset)===null||i===void 0||i.call(n),this.dispatchOnChange())},e.prototype.reset=function(){this.internalReset()},e.prototype.moveSelection=function(t,n){var i=this.data,a=i.length,s=this.states,o=s.values,l=s.selectionType,c=s.playMode,u=V(o,2),d=u[0],h=u[1],f=i.findIndex(function(b){var w=b.time;return w===d}),g=i.findIndex(function(b){var w=b.time;return w===h});g===-1&&(g=a);var p=t==="backward"?-1:1,v;l==="range"?c==="acc"?(v=[f,g+p],p===-1&&f===g&&(v=[f,a])):v=[f+p,g+p]:v=[f,g+p];var m=function(b){var w=V(b.sort(function(M,N){return M-N}),2),E=w[0],_=w[1],O=function(M){return an(M,0,a)};return _>a?l==="value"?[0,0]:c==="acc"?[O(E),O(E)]:[0,O(_-E)]:E<0?c==="acc"?[0,O(_)]:[O(E+a-_),a]:[O(E),O(_)]},y=m(v);return this.setByIndex(y),this.updateSelection(),y},e.prototype.internalBackward=function(t){var n,i,a=this.moveSelection("backward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onBackward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.backward=function(){this.internalBackward()},e.prototype.internalPlay=function(t){var n=this,i,a,s=this.data,o=this.attributes.loop,l=this.states.speed,c=l===void 0?1:l;this.playInterval=window.setInterval(function(){var u=n.internalForward();u[1]===s.length&&!o&&(n.internalPause(),n.renderController())},1e3/c),this.states.state="play",!t&&((a=(i=this.attributes)===null||i===void 0?void 0:i.onPlay)===null||a===void 0||a.call(i))},e.prototype.play=function(){this.internalPlay()},e.prototype.internalPause=function(t){var n,i;clearInterval(this.playInterval),this.states.state="pause",!t&&((i=(n=this.attributes)===null||n===void 0?void 0:n.onPause)===null||i===void 0||i.call(n))},e.prototype.pause=function(){this.internalPause()},e.prototype.internalForward=function(t){var n,i,a=this.moveSelection("forward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onForward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.forward=function(){this.internalForward()},e.prototype.handleSpeedChange=function(t){var n,i;this.states.speed=t;var a=this.states.state;a==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSpeedChange)===null||i===void 0||i.call(n,t)},e.prototype.handleSelectionTypeChange=function(t){var n,i;this.states.selectionType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSelectionTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.handleChartTypeChange=function(t){var n,i;this.states.chartType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onChartTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.render=function(){var t=this.space,n=t.axisBBox,i=t.controllerBBox,a=t.timelineBBox;this.renderController(i),this.renderAxis(n),this.renderChart(a),this.states.state==="play"&&this.internalPlay()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.internalPause(!0)},e.defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}},e}(dn);function Lx(r){const{width:e,height:t,renderer:n}=r,i=ZZ(r),a=new k1({width:e,height:t,container:i,renderer:n||new ql});return[i,a]}function ZZ(r){var e;const{container:t,className:n,graphCanvas:i}=r;if(t)return typeof t=="string"?document.getElementById(t):t;const a=Vo(n,!1),{width:s,height:o,containerStyle:l}=r,[c,u]=JZ(r);return Object.assign(a.style,Object.assign({position:"absolute",left:c+"px",top:u+"px",width:s+"px",height:o+"px"},l)),(e=i.getContainer())===null||e===void 0||e.appendChild(a),a}function JZ(r){const{width:e,height:t,placement:n,graphCanvas:i}=r,[a,s]=i.getSize(),[o,l]=kA(n);return[o*(a-e),l*(s-t)]}var QZ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class zh extends Zn{constructor(e,t){super(e,Object.assign({},zh.defaultOptions,t)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:n}=this.context;n.on(we.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:a}=this.context,{typePrefix:s}=this,o=lr(n,[s,"id"]),l=lr(n,[s,"style","labelText"]),[c]=o.split("__"),u=this.fieldMap[c].get(l)||[];a.setElementState(Object.fromEntries(u==null?void 0:u.map(d=>[d,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=lr(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=lr(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,a)=>{if(!n)return;const s=this.fieldMap[a];if(s)if(!s.has(n))s.set(n,[i]);else{const o=s.get(n);o&&(o.push(i),s.set(n,o))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:a,element:s}=this.context,{nodes:o,edges:l,combos:c}=a.getData(),u={},d=v=>Ie(n)?n(v):n,h={node:"circle",edge:"line",combo:"rect"},f={circle:"circle",ellipse:"circle",image:"bowtie",rect:"square",star:"cross",triangle:"triangle",diamond:"diamond",cubic:"dot",line:"hyphen",polyline:"hyphen",quadratic:"hv","cubic-horizontal":"hyphen","cubic-vertical":"line"},g=(v,m)=>s==null?void 0:s.getElementComputedStyle(v,m),p=(v,m)=>{v.forEach(y=>{const{id:b}=y,w=lr(y,["data",d(y)]),E=(s==null?void 0:s.getElementType(m,y))||"circle",_=g(m,y),O=(m==="edge"?_==null?void 0:_.stroke:_==null?void 0:_.fill)||"#1783ff";b&&w&&w.replace(/\s+/g,"")&&(this.setFieldMap(w,b,m),u[w]||(u[w]={id:`${m}__${b}`,label:w,marker:f[E]||h[m],elementType:m,lineWidth:1,stroke:O,fill:O}))})};switch(i){case"node":p(o,"node");break;case"edge":p(l,"edge");break;case"combo":p(c,"combo");break;default:return[]}return Object.values(u)},this.createElement=()=>{if(this.draw){this.updateElement();return}const n=this.options,{width:i,height:a,nodeField:s,edgeField:o,comboField:l,trigger:c,position:u,container:d,containerStyle:h,className:f}=n,g=QZ(n,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),p=this.getMarkerData(s,"node"),v=this.getMarkerData(o,"edge"),m=this.getMarkerData(l,"combo"),y=[...p,...m,...v],b=Object.assign({width:i,height:a,data:y,itemMarkerLineWidth:({lineWidth:_})=>_,itemMarker:({marker:_})=>_,itemMarkerStroke:({stroke:_})=>_,itemMarkerFill:({fill:_})=>_,gridCol:p.length},g,this.getEvents()),w=new TZ({className:"legend",style:b});this.category=w,this.upsertCanvas().appendChild(w),this.draw=!0},this.bindEvents()}update(e){super.update(e),this.clear(),this.createElement()}clear(){var e,t;(e=this.canvas)===null||e===void 0||e.destroy(),(t=this.container)===null||t===void 0||t.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5,itemLabelOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const e=this.context.canvas,[t,n]=e.getSize(),{width:i=t,height:a=n,position:s,container:o,containerStyle:l,className:c}=this.options,[u,d]=Lx({width:i,height:a,graphCanvas:e,container:o,containerStyle:l,placement:s,className:"legend"});return this.container=u,c&&u.classList.add(c),this.canvas=d,this.canvas}destroy(){this.clear(),this.context.graph.off(we.AFTER_DRAW,this.createElement),super.destroy()}}zh.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class jh extends Zn{constructor(e,t){super(e,Object.assign({},jh.defaultOptions,t)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:s,movementY:o}=n,{left:l,top:c,width:u,height:d}=this.mask.style,[,,h,f]=this.maskBBox;let g=parseInt(l)+s,p=parseInt(c)+o,v=parseInt(u),m=parseInt(d);g<0&&(g=0),p<0&&(p=0),g+v>i&&(g=ma(i-v,0)),p+m>a&&(p=ma(a-m,0)),v<h&&(s>0?(g=ma(g-s,0),v=pa(v+s,i)):s<0&&(v=pa(v-s,i))),m<f&&(o>0?(p=ma(p-o,0),m=pa(m+o,a)):o<0&&(m=pa(m-o,a))),Object.assign(this.mask.style,{left:g+"px",top:p+"px",width:v+"px",height:m+"px"});const y=parseInt(l)-g,b=parseInt(c)-p;if(y===0&&b===0)return;const w=this.context.canvas.getCamera().getZoom(),E=this.canvas.getCamera().getZoom(),_=w/E;this.context.graph.translateBy([y*_,b*_],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=lN(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),"delay"in e&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=nc(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:e}=this.context;e.on(we.AFTER_DRAW,this.onDraw),e.on(we.AFTER_RENDER,this.onRender),e.on(we.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(we.AFTER_DRAW,this.onDraw),e.off(we.AFTER_RENDER,this.onRender),e.off(we.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const e=this.getElements(),t=this.initCanvas();this.setShapes(t,e)}getElements(){const{filter:e}=this.options,{model:t}=this.context,n=t.getData();if(!e)return n;const{nodes:i,edges:a,combos:s}=n;return{nodes:i.filter(o=>e(te(o),"node")),edges:a.filter(o=>e(te(o),"edge")),combos:s.filter(o=>e(te(o),"combo"))}}setShapes(e,t){const{nodes:n,edges:i,combos:a}=t,{shape:s}=this.options,{element:o}=this.context;if(s==="key"){const c=new Set,u=d=>{const h=te(d);c.add(h);const f=o.getElement(h);if(!f)return;const g=f.getShape("key"),p=this.shapes.get(h)||g.cloneNode();p.setPosition(g.getPosition()),f.style.zIndex&&(p.style.zIndex=f.style.zIndex),p.id=f.id,this.shapes.has(h)?Object.entries(g.attributes).forEach(([v,m])=>{p.style[v]!==m&&(p.style[v]=m)}):(e.appendChild(p),this.shapes.set(h,p))};i.forEach(u),a.forEach(u),n.forEach(u),this.shapes.forEach((d,h)=>{c.has(h)||(e.removeChild(d),this.shapes.delete(h))});return}const l=(c,u)=>{const h=o.getElement(c).getPosition();return u.setPosition(h),u};e.removeChildren(),i.forEach(c=>e.appendChild(s(te(c),"edge"))),a.forEach(c=>{e.appendChild(l(te(c),s(te(c),"combo")))}),n.forEach(c=>{e.appendChild(l(te(c),s(te(c),"node")))})}initCanvas(){const{renderer:e,size:[t,n]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(t!==i||n!==a)&&this.canvas.resize(t,n),e&&this.canvas.setRenderer(e)}else{const{className:i,position:a,container:s,containerStyle:o}=this.options,[l,c]=Lx({renderer:e,width:t,height:n,placement:a,className:"minimap",container:s,containerStyle:o,graphCanvas:this.context.canvas});i&&l.classList.add(i),this.container=l,this.canvas=c}return this.setCamera(),this.canvas}createLandmark(e,t,n){const i=`${e.join(",")}-${t.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const s=this.canvas.getCamera().createLandmark(i,{position:e,focalPoint:t,zoom:n});return this.landmarkMap.set(i,s),s}setCamera(){var e;const{canvas:t}=this.context,n=(e=this.canvas)===null||e===void 0?void 0:e.getCamera();if(!n)return;const{size:[i,a],padding:s}=this.options,[o,l,c,u]=Fi(s),{min:d,max:h,center:f}=t.getBounds("elements"),g=h[0]-d[0],p=h[1]-d[1],v=i-u-l,m=a-o-c,y=v/g,b=m/p,w=Math.min(y,b),E=this.createLandmark(f,f,w);n.gotoLandmark(E,0)}get maskBBox(){const{canvas:e}=this.context,t=e.getSize(),n=e.getCanvasByViewport([0,0]),i=e.getCanvasByViewport(t),a=this.canvas.canvas2Viewport(si(n)),s=this.canvas.canvas2Viewport(si(i)),o=s.x-a.x,l=s.y-a.y;return[a.x,a.y,o,l]}calculateMaskBBox(){const{size:[e,t]}=this.options;let[n,i,a,s]=this.maskBBox;return n<0&&(a=pa(a+n,e),n=0),i<0&&(s=pa(s+i,t),i=0),n+a>e&&(a=ma(e-n,0)),i+s>t&&(s=ma(t-i,0)),[pa(n,e),pa(i,t),ma(a,0),ma(s,0)]}renderMask(){const{maskStyle:e}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart)),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},e),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[e,t,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:t+"px",left:e+"px",width:n+"px",height:i+"px"})}destroy(){var e;this.unbindEvents(),this.canvas.destroy(),(e=this.mask)===null||e===void 0||e.remove(),super.destroy()}}jh.defaultOptions={size:[240,160],shape:"key",padding:10,position:"right-bottom",maskStyle:{border:"1px solid #ddd",background:"rgba(0, 0, 0, 0.1)"},containerStyle:{border:"1px solid #ddd",background:"#fff"},delay:128};const pa=(r,e)=>Math.min(r,e),ma=(r,e)=>Math.max(r,e);var Wy=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};const Vy={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class $h extends Zn{constructor(e,t){super(e,Object.assign({},$h.defaultOptions,t)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new Ss({style:Object.assign(Object.assign({},Vy),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new Ss({style:Object.assign(Object.assign({},Vy),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,a)=>Wy(this,void 0,void 0,function*(){const{verticalX:s,horizontalY:o}=a,{tolerance:l}=this.options,{min:[c,u],max:[d,h],center:[f,g]}=i;let p=0,v=0;s!==null&&(Qn(d,s)<l&&(p=s-d),Qn(c,s)<l&&(p=s-c),Qn(f,s)<l&&(p=s-f),p!==0&&(this.isVerticalSticking=!0)),o!==null&&(Qn(h,o)<l&&(v=o-h),Qn(u,o)<l&&(v=o-u),Qn(g,o)<l&&(v=o-g),v!==0&&(this.isHorizontalSticking=!0)),(p!==0||v!==0)&&(yield this.context.graph.translateElementBy({[n]:[p,v]},!1))}),this.enableSnap=n=>{const{target:i}=n,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[s,o]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(s)<=a&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,-o]},!1),!1;if(this.isHorizontalSticking&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[0,-o]},!1),!1;if(this.isVerticalSticking&&Math.abs(s)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:a,shape:s}=this.options,{min:[o,l],max:[c,u],center:[d,h]}=i;let f=null,g=null,p=null,v=null,m=null,y=null;return this.getNodes().some(b=>{if(sn(n.id,b.id))return!1;const w=VO(b,s).getRenderBounds(),{min:[E,_],max:[O,M],center:[N,A]}=w;return f===null&&(Qn(N,d)<a?f=N:Qn(E,o)<a||Qn(E,c)<a?f=E:(Qn(O,c)<a||Qn(O,o)<a)&&(f=O),f!==null&&(g=Math.min(_,l),p=Math.max(M,u))),v===null&&(Qn(A,h)<a?v=A:Qn(_,l)<a||Qn(_,u)<a?v=_:(Qn(M,u)<a||Qn(M,l)<a)&&(v=M),v!==null&&(m=Math.min(E,o),y=Math.max(O,c))),f!==null&&v!==null}),{verticalX:f,verticalMinY:g,verticalMaxY:p,horizontalY:v,horizontalMinX:m,horizontalMaxX:y}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=n=>Wy(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const a=VO(i,this.options.shape).getRenderBounds(),s=this.calcSnaplineMetadata(i,a);this.hideSnapline(),(s.verticalX!==null||s.horizontalY!==null)&&this.updateSnapline(s),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,a,s))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var e;const{filter:t}=this.options,i=(((e=this.context.element)===null||e===void 0?void 0:e.getNodes())||[]).filter(a=>{var s;return L$(a)&&((s=this.context.viewport)===null||s===void 0?void 0:s.isInViewport(a.getRenderBounds()))});return t?i.filter(a=>t(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(e){const{lineWidth:t}=this.options[`${e}LineStyle`];return+(t||Vy.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(e){const{verticalX:t,verticalMinY:n,verticalMaxY:i,horizontalY:a,horizontalMinX:s,horizontalMaxX:o}=e,[l,c]=this.context.canvas.getSize(),{offset:u}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:u===1/0?0:s-u,y1:a,x2:u===1/0?l:o+u,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",t!==null?Object.assign(this.verticalLine.style,{x1:t,y1:u===1/0?0:n-u,x2:t,y2:u===1/0?c:i+u,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(e){const t=this.context.graph.getZoom();return di([e.dx,e.dy],t)}bindEvents(){return Wy(this,void 0,void 0,function*(){const{graph:e}=this.context;e.on(Hr.DRAG_START,this.onDragStart),e.on(Hr.DRAG,this.onDrag),e.on(Hr.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:e}=this.context;e.off(Hr.DRAG_START,this.onDragStart),e.off(Hr.DRAG,this.onDrag),e.off(Hr.DRAG_END,this.onDragEnd)}destroyElements(){var e,t;(e=this.horizontalLine)===null||e===void 0||e.destroy(),(t=this.verticalLine)===null||t===void 0||t.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}$h.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Qn=(r,e)=>Math.abs(r-e),VO=(r,e)=>typeof e=="function"?e(r):r.getShape(e);var eJ=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},tJ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const nJ=["timestamp","time","date","datetime"];class qh extends Zn{get padding(){return Fi(this.options.padding)}constructor(e,t){super(e,Object.assign({},qh.defaultOptions,t)),this.backup(),this.upsertTimebar()}play(){var e;(e=this.timebar)===null||e===void 0||e.play()}pause(){var e;(e=this.timebar)===null||e===void 0||e.pause()}forward(){var e;(e=this.timebar)===null||e===void 0||e.forward()}backward(){var e;(e=this.timebar)===null||e===void 0||e.backward()}reset(){var e;(e=this.timebar)===null||e===void 0||e.reset()}update(e){super.update(e),this.backup(),this.upsertTimebar()}backup(){this.originalData=UO(this.context.graph.getData())}upsertTimebar(){const{canvas:e}=this.context,t=this.options,{onChange:n,timebarType:i,data:a,x:s,y:o,width:l,height:c,mode:u}=t,d=tJ(t,["onChange","timebarType","data","x","y","width","height","mode"]),h=e.getSize(),[f]=this.padding;this.upsertCanvas().ready.then(()=>{var g;const p=Object.assign(Object.assign({x:h[0]/2-l/2,y:f,onChange:v=>{const m=(Fr(v)?v:[v,v]).map(y=>f6(y)?y.getTime():y);this.options.mode==="modify"?this.filterElements(m):this.hiddenElements(m),n==null||n(m)}},d),{data:a.map(v=>Ce(v)?{time:v,value:0}:v),width:l,height:c,type:i});this.timebar?this.timebar.update(p):(this.timebar=new XZ({style:p}),(g=this.canvas)===null||g===void 0||g.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:e,height:t,position:n}=this.options,i=this.context.canvas,[a]=i.getSize(),[s,,o]=this.padding,[l,c]=Lx({width:a,height:t+s+o,graphCanvas:i,className:"timebar",placement:n});return this.container=l,e&&l.classList.add(e),this.canvas=c,this.canvas}filterElements(e){return eJ(this,void 0,void 0,function*(){var t;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:a,element:s}=this.context,o=UO(this.originalData);n.forEach(c=>{const u=`${c}s`;o[u]=(this.originalData[u]||[]).filter(d=>{const h=i(d);return!!HO(h,e)})});const l=[...o.nodes,...o.combos].map(c=>te(c));o.edges=o.edges.filter(c=>{const u=c.source,d=c.target;return l.includes(u)&&l.includes(d)}),a.setData(o),yield(t=s.draw({animation:!1,silence:!0}))===null||t===void 0?void 0:t.finished})}hiddenElements(e){const{graph:t}=this.context,{elementTypes:n,getTime:i}=this.options,a=[],s=[];n.forEach(o=>{var l;const c=`${o}s`;(((l=this.originalData)===null||l===void 0?void 0:l[c])||[]).forEach(d=>{const h=te(d),f=i(d);HO(f,e)?s.push(h):a.push(h)})}),t.hideElement(a,!1),t.showElement(s,!1)}destroy(){var e,t,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(e=this.timebar)===null||e===void 0||e.destroy(),(t=this.canvas)===null||t===void 0||t.destroy(),(n=this.container)===null||n===void 0||n.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}qh.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:r=>rJ(r,nJ,void 0),loop:!1};const UO=r=>{const{nodes:e=[],edges:t=[],combos:n=[]}=r;return{nodes:[...e],edges:[...t],combos:[...n]}},HO=(r,e)=>{if(Ce(e))return r===e;const[t,n]=e;return r>=t&&r<=n},rJ=(r,e,t)=>{var n;for(let i=0;i<e.length;i++){const a=e[i],s=(n=r.data)===null||n===void 0?void 0:n[a];if(s)return s}return t};function iJ(r){const e={top:"unset",right:"unset",bottom:"unset",left:"unset"};return r.split("-").forEach(n=>{e[n]="8px"}),e.flexDirection=r.startsWith("top")||r.startsWith("bottom")?"row":"column",e}const aJ=`
|
|
392
|
+
.g6-toolbar {
|
|
393
|
+
position: absolute;
|
|
394
|
+
z-index: 100;
|
|
395
|
+
display: flex;
|
|
396
|
+
flex-direction: row;
|
|
397
|
+
align-items: center;
|
|
398
|
+
justify-content: center;
|
|
399
|
+
border-radius: 4px;
|
|
400
|
+
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
|
|
401
|
+
opacity: 0.65;
|
|
402
|
+
}
|
|
403
|
+
.g6-toolbar .g6-toolbar-item {
|
|
404
|
+
display: inline-block;
|
|
405
|
+
width: 16px;
|
|
406
|
+
height: 16px;
|
|
407
|
+
padding: 4px;
|
|
408
|
+
cursor: pointer;
|
|
409
|
+
box-sizing: content-box;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.g6-toolbar .g6-toolbar-item:hover {
|
|
413
|
+
background-color: #f0f0f0;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.g6-toolbar .g6-toolbar-item svg {
|
|
417
|
+
display: inline-block;
|
|
418
|
+
width: 100%;
|
|
419
|
+
height: 100%;
|
|
420
|
+
pointer-events: none;
|
|
421
|
+
}
|
|
422
|
+
`,sJ=`
|
|
423
|
+
<svg>
|
|
424
|
+
<symbol id="zoom-in" viewBox="64 64 896 896">
|
|
425
|
+
<path d="M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
|
|
426
|
+
</symbol>
|
|
427
|
+
<symbol id="zoom-out" viewBox="64 64 896 896">
|
|
428
|
+
<path d="M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
|
|
429
|
+
</symbol>
|
|
430
|
+
<symbol id="edit" viewBox="64 64 896 896">
|
|
431
|
+
<path d="M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"></path>
|
|
432
|
+
</symbol>
|
|
433
|
+
<symbol id="delete" viewBox="64 64 896 896">
|
|
434
|
+
<path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"></path>
|
|
435
|
+
</symbol>
|
|
436
|
+
<symbol id="redo" viewBox="64 64 896 896">
|
|
437
|
+
<path d="M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"></path>
|
|
438
|
+
</symbol>
|
|
439
|
+
<symbol id="undo" viewBox="64 64 896 896">
|
|
440
|
+
<path d="M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"></path>
|
|
441
|
+
</symbol>
|
|
442
|
+
<symbol id="export" viewBox="64 64 896 896">
|
|
443
|
+
<path d="M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"></path>
|
|
444
|
+
</symbol>
|
|
445
|
+
<symbol id="auto-fit" viewBox="64 64 896 896">
|
|
446
|
+
<path d="M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"></path>
|
|
447
|
+
<path d="M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"></path>
|
|
448
|
+
</symbol>
|
|
449
|
+
<symbol id="reset" viewBox="64 64 896 896">
|
|
450
|
+
<path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
|
|
451
|
+
</symbol>
|
|
452
|
+
<symbol id="exit-fullscreen" viewBox="0 0 1024 1024">
|
|
453
|
+
<path d="M418.13333333 361.43786666c0 0.2048-0.13653333 0.4096-0.13653334 0.68266667C417.99679999 362.32533333 418.13333333 362.53013333 418.13333333 362.73493333 418.13333333 371.54133333 414.44693333 379.392 408.78079999 385.39946666 408.43946666 385.7408 408.30293333 386.21866666 408.02986666 386.49173333c-1.09226667 1.09226667-2.59413333 1.77493333-3.82293333 2.73066667C398.40426666 393.65973333 391.64586666 396.8 383.93173333 396.8 383.72693333 396.8 383.59039999 396.73173333 383.38559999 396.73173333S382.97599999 396.8 382.77119999 396.8L112.29866666 396.8C92.50133333 396.8 76.79999999 381.50826666 76.79999999 362.66666666 76.66346666 343.89333333 92.63786666 328.53333333 112.16213333 328.53333333l189.44 0L87.44959999 114.51733333C73.59146666 100.59093333 73.25013333 78.5408 86.63039999 65.29706666c13.17546667-13.44853333 35.36213333-12.97066667 49.152 0.88746667l214.08426667 214.08426667L349.86666666 90.89706666C349.79839999 71.23626666 365.22666666 55.46666666 383.99999999 55.46666666 402.77333333 55.33013333 418.13333333 71.30453333 418.13333333 90.8288L418.13333333 361.43786666zM928.90453333 328.53333333l-189.44 0 214.15253333-214.08426667c13.85813333-13.9264 14.19946667-35.90826667 0.88746667-49.22026666-13.17546667-13.44853333-35.36213333-12.97066667-49.152 0.88746666l-214.08426667 214.08426667L691.26826666 90.89706666C691.26826666 71.23626666 675.83999999 55.46666666 657.06666666 55.46666666 638.29333333 55.33013333 622.93333333 71.30453333 622.93333333 90.8288l0 270.60906666c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 362.32533333 622.93333333 362.53013333 622.93333333 362.73493333 622.93333333 371.54133333 626.61973333 379.392 632.28586666 385.39946666c0.34133333 0.34133333 0.47786667 0.8192 0.8192 1.09226667 1.09226667 1.09226667 2.59413333 1.77493333 3.8912 2.73066667C642.66239999 393.65973333 649.42079999 396.8 657.13493333 396.8c0.2048 0 0.34133333-0.06826667 0.54613333-0.06826667S658.09066666 396.8 658.29546666 396.8l270.5408 0C948.56533333 396.8 964.26666666 381.50826666 964.26666666 362.66666666 964.40319999 343.89333333 948.42879999 328.53333333 928.90453333 328.53333333zM418.13333333 635.73333333c0-8.8064-3.6864-16.5888-9.35253334-22.66453333C408.43946666 612.72746666 408.30293333 612.2496 408.02986666 611.90826666 406.86933333 610.88426666 405.43573333 610.2016 404.20693333 609.24586666 398.47253333 604.80853333 391.64586666 601.6 383.93173333 601.6 383.72693333 601.6 383.59039999 601.73653333 383.38559999 601.73653333S382.97599999 601.6 382.77119999 601.6L112.29866666 601.6C92.50133333 601.6 76.79999999 616.96 76.79999999 635.73333333 76.66346666 654.50666666 92.63786666 669.86666666 112.16213333 669.86666666l189.44 0-214.15253334 214.15253334c-13.85813333 13.85813333-14.19946667 35.84-0.88746666 49.22026666 13.17546667 13.44853333 35.36213333 12.9024 49.152-0.95573333l214.08426666-214.08426667 0 189.37173334c0 19.59253333 15.42826667 35.49866667 34.2016 35.36213333C402.77333333 943.2064 418.13333333 927.232 418.13333333 907.5712L418.13333333 637.09866666c0-0.27306667-0.13653333-0.47786667-0.13653334-0.68266666C417.99679999 636.14293333 418.13333333 635.93813333 418.13333333 635.73333333zM739.46453333 669.86666666l189.44 0c19.456 0 35.49866667-15.36 35.36213333-34.13333333C964.26666666 616.96 948.56533333 601.6 928.76799999 601.6L658.29546666 601.6C658.09066666 601.6 657.88586666 601.73653333 657.68106666 601.73653333S657.33973333 601.6 657.13493333 601.6C649.42079999 601.6 642.59413333 604.80853333 636.85973333 609.24586666 635.63093333 610.2016 634.19733333 610.88426666 633.03679999 611.90826666 632.76373333 612.2496 632.62719999 612.72746666 632.28586666 613.0688 626.61973333 619.14453333 622.93333333 626.92693333 622.93333333 635.73333333c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 636.6208 622.93333333 636.8256 622.93333333 637.09866666l0 270.5408C622.93333333 927.232 638.29333333 943.2064 657.06666666 942.93333333c18.77333333 0.13653333 34.2016-15.70133333 34.2016-35.36213333l0-189.37173334 214.08426667 214.08426667c13.78986667 13.85813333 35.90826667 14.40426667 49.152 0.95573333 13.312-13.312 12.97066667-35.36213333-0.88746667-49.22026666L739.46453333 669.86666666z" ></path></symbol>
|
|
454
|
+
<symbol id="request-fullscreen" viewBox="0 0 1024 1024">
|
|
455
|
+
<path d="M69.818182 87.598545v273.128728a34.909091 34.909091 0 0 0 69.818182 0V163.653818l221.928727 222.021818a33.512727 33.512727 0 0 0 47.383273-47.383272L186.926545 116.363636h197.073455a34.909091 34.909091 0 0 0 0-69.818181H110.871273C85.364364 46.545455 69.818182 59.671273 69.818182 87.598545zM938.542545 46.545455H665.413818a34.909091 34.909091 0 0 0 0 69.818181h197.073455L640.465455 338.292364a33.512727 33.512727 0 0 0 47.383272 47.383272l221.928728-222.021818v197.073455a34.909091 34.909091 0 0 0 69.818181 0V87.598545c0-27.927273-15.453091-41.053091-40.96-41.05309z m-827.671272 907.636363h273.128727a34.909091 34.909091 0 0 0 0-69.818182H186.926545l222.021819-221.928727a33.512727 33.512727 0 0 0-47.383273-47.383273L139.636364 837.073455V640a34.909091 34.909091 0 0 0-69.818182 0v273.128727c0 27.927273 15.546182 41.053091 41.053091 41.053091z m868.724363-41.053091V640a34.909091 34.909091 0 0 0-69.818181 0v197.073455L687.941818 615.051636a33.512727 33.512727 0 0 0-47.383273 47.383273L862.487273 884.363636H665.413818a34.909091 34.909091 0 0 0 0 69.818182h273.128727c25.6 0 41.053091-13.125818 41.053091-41.053091z" ></path></symbol>
|
|
456
|
+
</svg>
|
|
457
|
+
`;var YO=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Gh extends Zn{constructor(e,t){super(e,Object.assign({},Gh.defaultOptions,t)),this.$element=Vo("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:a}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const s=i.target.getAttribute("value");a==null||a(s,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),Y1("g6-toolbar-css","style",{},aJ,document.head),Y1("g6-toolbar-svgicon","div",{display:"none"},sJ),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return YO(this,void 0,void 0,function*(){t.update.call(this,e);const{className:n,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,a,iJ(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return YO(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(t=>`
|
|
458
|
+
<div class="g6-toolbar-item" value="${t.value}">
|
|
459
|
+
<svg aria-hidden="true" focusable="false">
|
|
460
|
+
<use xlink:href="#${t.id}"></use>
|
|
461
|
+
</svg>
|
|
462
|
+
</div>`).join("")})}}Gh.defaultOptions={position:"top-left"};var KO=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Wh extends Zn{constructor(e,t){super(e,Object.assign({},Wh.defaultOptions,t)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(n,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(n,i):a},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?this.hide(n):this.show(n)},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n)},this.onCanvasMove=n=>{this.hide(n)},this.onPointerEnter=n=>{this.show(n)},this.showById=n=>KO(this,void 0,void 0,function*(){const i={target:{id:n}};yield this.show(i)}),this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>KO(this,void 0,void 0,function*(){var i,a;const{client:s,target:{id:o}}=n;if(jd(n.target))return;const l=this.context.graph.getElementType(o),{getContent:c,title:u}=this.options,d=this.getElementData(o,l);if(!this.tooltipElement||!this.isEnable(n,d))return;let h={};if(c){if(h.content=yield c(n,d),!h.content)return}else{const p=this.context.graph.getElementRenderStyle(o),v=l==="node"?p.fill:p.stroke;h={title:u||l,data:d.map(m=>({name:"ID",value:m.id||`${m.source} -> ${m.target}`,color:v}))}}this.currentTarget=o;let f,g;if(s)f=s.x,g=s.y;else{const p=lr(d,"0.style",{x:0,y:0});f=p.x,g=p.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:f,y:g,style:{".tooltip":{visibility:"visible"}}}),h))}),this.hide=n=>{var i,a,s,o,l;if(!n){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(s=this.tooltipElement)===null||s===void 0||s.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:c,y:u}}=n;(l=(o=this.options).onOpenChange)===null||l===void 0||l.call(o,!1),this.tooltipElement.hide(c,u),this.currentTarget=null},this.initTooltip=()=>{var n;const i=new AZ({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerenter":this.onPointerEnter,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerenter":this.onPointerEnter,"edge:pointermove":this.onPointerMove,"combo:pointerenter":this.onPointerEnter,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(e){var t;this.unbindEvents(),super.update(e),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:e}=this.context,t=e.getContainer();t&&(this.container=t,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.off(n,t[n])})}bindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.on(n,t[n])})}get tooltipStyleProps(){const{canvas:e}=this.context,{center:t}=e.getBounds(),n=e.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:s,position:o,enterable:l,container:c={x:-a,y:-i},title:u,offset:d}=this.options,[h,f]=t,[g,p]=e.getSize();return{x:h,y:f,container:c,title:u,bounding:{x:0,y:0,width:g,height:p},position:o,enterable:l,offset:d,style:s}}destroy(){var e;this.unbindEvents(),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Wh.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var DL=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};let to;function FL(r,e){return to||(to=document.createElement("canvas")),to.width=r,to.height=e,to.getContext("2d").clearRect(0,0,r,e),to}function oJ(r,e,t,n){return DL(this,void 0,void 0,function*(){const i=FL(r,e),a=i.getContext("2d"),{rotate:s,opacity:o,textFill:l,textFontSize:c,textFontFamily:u,textFontVariant:d,textFontWeight:h,textAlign:f,textBaseline:g}=n;return a.textAlign=f,a.textBaseline=g,a.translate(r/2,e/2),a.font=`${c}px ${u} ${d} ${h}`,s&&a.rotate(s),o&&(a.globalAlpha=o),l&&(a.fillStyle=l,a.fillText(`${t}`,0,0)),i.toDataURL()})}function lJ(r,e,t,n){return DL(this,void 0,void 0,function*(){const i=FL(r,e),a=i.getContext("2d"),{rotate:s,opacity:o}=n;s&&a.rotate(s),o&&(a.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=t,new Promise(c=>{l.onload=function(){const u=r>l.width?(r-l.width)/2:0,d=e>l.height?(e-l.height)/2:0;a.drawImage(l,0,0,l.width,l.height,u,d,r-u*2,e-d*2),c(i.toDataURL())}})})}var cJ=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},uJ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Vh extends Zn{constructor(e,t){super(e,Object.assign({},Vh.defaultOptions,t)),this.$element=Vo("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return cJ(this,void 0,void 0,function*(){t.update.call(this,e);const n=this.options,{width:i,height:a,text:s,imageURL:o}=n,l=uJ(n,["width","height","text","imageURL"]);Object.keys(l).forEach(u=>{u.startsWith("background")&&(this.$element.style[u]=e[u])});const c=o?yield lJ(i,a,o,l):yield oJ(i,a,s,l);this.$element.style.backgroundImage=`url(${c})`})}destroy(){super.destroy(),this.$element.remove()}}Vh.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const dJ=["#7E92B5","#F4664A","#FFBE3A"],hJ={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},fJ={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function BL(r){const{bgColor:e,textColor:t,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:s=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:c=.85,nodeOpacityInactive:u=.25,nodeBadgePalette:d=dJ,nodePaletteOptions:h=hJ,edgeColor:f,edgeColorDisabled:g,edgePaletteOptions:p=fJ,comboColor:v,comboColorDisabled:m,comboStroke:y,comboStrokeDisabled:b,edgeColorInactive:w}=r;return{background:e,node:{palette:h,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:d,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:t,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:o,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:s},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:u,donutOpacity:u,fillOpacity:u,iconOpacity:c,labelFill:t,labelFillOpacity:u,strokeOpacity:u},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:t,labelFillOpacity:.25,strokeOpacity:l}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:p,style:{badgeBackgroundFill:f,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:f,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:w,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:g,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:e,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:v,halo:!1,haloLineWidth:12,haloStroke:y,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:y},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:m,fillOpacity:.25,labelOpacity:.25,stroke:b,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const gJ={type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},vJ={bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:gJ,nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"},pJ=BL(vJ),mJ={bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"},yJ=BL(mJ);class Xa extends Fb{beforeDraw(e,t){return e}afterLayout(e,t){}}class bJ extends Xa{beforeDraw(e){const{model:t}=this.context,n=e.add.combos,i=a=>{const s=[];return a.forEach((o,l)=>{const u=t.getAncestorsData(l,"combo").map(d=>te(d)).reverse();s.push([l,o,u.length])}),new Map(s.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return e.add.combos=i(n),e.update.combos=i(e.update.combos),e}}function Lr(r,e,t,n,i){const a=te(n),s=`${t}s`,o=i?n:r.add[s].get(a)||r.update[s].get(a)||r.remove[s].get(a)||n;Object.entries(r).forEach(([l,c])=>{e===l?c[s].set(a,o):c[s].delete(a)})}function Du(r,e){return Object.keys(r).every(t=>r[t]===e[t])}class xJ extends Xa{beforeDraw(e,t){if(t.stage==="visibility"||!this.context.model.model.hasTreeStructure(Mt))return e;const{model:n}=this.context,{add:i,update:a}=e,s=[...e.update.combos.entries(),...e.add.combos.entries()];for(;s.length;){const[o,l]=s.pop();if(wr(l)){const c=n.getDescendantsData(o),u=c.map(te),{internal:d,external:h}=L1(u,f=>n.getRelatedEdgesData(f));c.forEach(f=>{const g=te(f),p=s.findIndex(([m])=>m===g);p!==-1&&s.splice(p,1);const v=n.getElementType(g);Lr(e,"remove",v,f)}),d.forEach(f=>Lr(e,"remove","edge",f)),h.forEach(f=>{var g;const p=te(f);((g=this.context.element)===null||g===void 0?void 0:g.getElement(p))?a.edges.set(p,f):i.edges.set(p,f)})}else{const c=n.getChildrenData(o),u=c.map(te),{edges:d}=L1(u,h=>n.getRelatedEdgesData(h));[...c,...d].forEach(h=>{var f;const g=te(h),p=n.getElementType(g);((f=this.context.element)===null||f===void 0?void 0:f.getElement(g))?Lr(e,"update",p,h):Lr(e,"add",p,h),p==="combo"&&s.push([g,h])})}}return e}}const XO=(r,e,t,n)=>{const i=`${t}s`,a=te(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[e][i].set(te(n),n)};class wJ extends Xa{getElement(e){return this.context.element.getElement(e)}handleExpand(e,t){if(XO(t,"add","node",e),wr(e))return;const n=te(e);XO(t,"add","node",e),this.context.model.getRelatedEdgesData(n,"out").forEach(s=>{Lr(t,"add","edge",s)}),this.context.model.getChildrenData(n).forEach(s=>{this.handleExpand(s,t)})}beforeDraw(e){const{graph:t,model:n}=this.context;if(!n.model.hasTreeStructure(Ar))return e;const{add:{nodes:i,edges:a},update:{nodes:s}}=e,o=new Map,l=new Map;i.forEach((u,d)=>{wr(u)&&o.set(d,u)}),a.forEach(u=>{if(t.getElementType(u.source)!=="node")return;const d=t.getNodeData(u.source);wr(d)&&o.set(u.source,d)}),s.forEach((u,d)=>{const h=this.getElement(d);if(!h)return;const f=h.attributes.collapsed;wr(u)?f||o.set(d,u):f&&l.set(d,u)});const c=new Set;return o.forEach((u,d)=>{n.getDescendantsData(d).forEach(f=>{const g=te(f);if(c.has(g))return;Lr(e,"remove","node",f),n.getRelatedEdgesData(g).forEach(v=>{Lr(e,"remove","edge",v)}),c.add(g)})}),l.forEach((u,d)=>{if(n.getAncestorsData(d,Ar).some(wr)){Lr(e,"remove","node",u);return}this.handleExpand(u,e)}),e}}function zL(r,e,t,n=!1){const i=M1[r][e];!n&&i?i!==t&&Di.warn(`The extension ${e} of ${r} has been registered before.`):Object.assign(M1[r],{[e]:t})}/*!
|
|
463
|
+
* @antv/g-plugin-dragndrop
|
|
464
|
+
* @description A G plugin for Drag n Drop implemented with PointerEvents
|
|
465
|
+
* @version 2.0.32
|
|
466
|
+
* @date 1/23/2025, 8:33:12 AM
|
|
467
|
+
* @author AntVis
|
|
468
|
+
* @docs https://g.antv.antgroup.com/
|
|
469
|
+
*/var jL=function(){function r(e){ge(this,r),this.dragndropPluginOptions=e}return ve(r,[{key:"apply",value:function(t){var n=this,i=t.renderingService,a=t.renderingContext,s=a.root.ownerDocument,o=s.defaultView,l=function(u){var d=u.target,h=d===s,f=h&&n.dragndropPluginOptions.isDocumentDraggable?s:d.closest&&d.closest("[draggable=true]");if(f){var g=!1,p=u.timeStamp,v=[u.clientX,u.clientY],m=null,y=[u.clientX,u.clientY],b=function(){var E=ja(Hn().mark(function _(O){var M,N,A,P,L,I;return Hn().wrap(function(H){for(;;)switch(H.prev=H.next){case 0:if(g){H.next=8;break}if(M=O.timeStamp-p,N=yr([O.clientX,O.clientY],v),!(M<=n.dragndropPluginOptions.dragstartTimeThreshold||N<=n.dragndropPluginOptions.dragstartDistanceThreshold)){H.next=5;break}return H.abrupt("return");case 5:O.type="dragstart",f.dispatchEvent(O),g=!0;case 8:if(O.type="drag",O.dx=O.clientX-y[0],O.dy=O.clientY-y[1],f.dispatchEvent(O),y=[O.clientX,O.clientY],h){H.next=21;break}return A=n.dragndropPluginOptions.overlap==="pointer"?[O.canvasX,O.canvasY]:d.getBounds().center,H.next=17,s.elementsFromPoint(A[0],A[1]);case 17:P=H.sent,L=P[P.indexOf(d)+1],I=(L==null?void 0:L.closest("[droppable=true]"))||(n.dragndropPluginOptions.isDocumentDroppable?s:null),m!==I&&(m&&(O.type="dragleave",O.target=m,m.dispatchEvent(O)),I&&(O.type="dragenter",O.target=I,I.dispatchEvent(O)),m=I,m&&(O.type="dragover",O.target=m,m.dispatchEvent(O)));case 21:case"end":return H.stop()}},_)}));return function(O){return E.apply(this,arguments)}}();o.addEventListener("pointermove",b);var w=function(_){if(g){_.detail={preventClick:!0};var O=_.clone();m&&(O.type="drop",O.target=m,m.dispatchEvent(O)),O.type="dragend",f.dispatchEvent(O),g=!1}o.removeEventListener("pointermove",b)};d.addEventListener("pointerup",w,{once:!0}),d.addEventListener("pointerupoutside",w,{once:!0})}};i.hooks.init.tap(r.tag,function(){o.addEventListener("pointerdown",l)}),i.hooks.destroy.tap(r.tag,function(){o.removeEventListener("pointerdown",l)})}}])}();jL.tag="Dragndrop";var EJ=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ge(this,e),t=tt(this,e),t.name="dragndrop",t.options=n,t}return nt(e,r),ve(e,[{key:"init",value:function(){this.addRenderingPlugin(new jL(et({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(n){Object.assign(this.plugins[0].dragndropPluginOptions,n)}}])}(Ga),ZO=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},JO=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const QO=["main"],eC=["background","main","label","transient"];function SJ(r){return r.main}class tC{getConfig(){return this.config}getLayer(e="main"){return this.extends.layers[e]||SJ(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(e){return this.extends.renderers[e]}getCamera(e="main"){return this.getLayer(e).getCamera()}getRoot(e="main"){return this.getLayer(e).getRoot()}getContextService(e="main"){return this.getLayer(e).getContextService()}setCursor(e){this.config.cursor=e,this.getLayer().setCursor(e)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(e){this.config={enableMultiLayer:!0},Object.assign(this.config,e);const t=this.config,{renderer:n,background:i,cursor:a,enableMultiLayer:s}=t,o=JO(t,["renderer","background","cursor","enableMultiLayer"]),l=s?eC:QO,c=nC(n,l),u=Object.fromEntries(l.map(d=>{const h=new k1(Object.assign(Object.assign({},o),{supportsMutipleCanvasesInOneContainer:s,renderer:c[d],background:s?d==="background"?i:void 0:i}));return[d,h]}));rC(u),this.extends={config:this.config,renderer:n,renderers:c,layers:u}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,e])=>e.ready))}resize(e,t){Object.assign(this.extends.config,{width:e,height:t}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),s=i.getFocalPoint();n.resize(e,t),i.setPosition(a),i.setFocalPoint(s)})}getBounds(e){return cc(Object.values(this.getLayers()).map(t=>e?t.getRoot().childNodes.find(i=>i.classList.includes(e)):t.getRoot()).filter(t=>(t==null?void 0:t.childNodes.length)>0).map(t=>t.getBounds()))}getContainer(){const e=this.extends.config.container;return typeof e=="string"?document.getElementById(e):e}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(e,t){var n;const i=((n=e.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(e,t)}setRenderer(e){if(e===this.extends.renderer)return;const t=nC(e,this.config.enableMultiLayer?eC:QO);this.extends.renderers=t,Object.entries(t).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),rC(this.getLayers())}getCanvasByViewport(e){return Un(this.getLayer().viewport2Canvas(si(e)))}getViewportByCanvas(e){return Un(this.getLayer().canvas2Viewport(si(e)))}getViewportByClient(e){return Un(this.getLayer().client2Viewport(si(e)))}getClientByViewport(e){return Un(this.getLayer().viewport2Client(si(e)))}getClientByCanvas(e){return this.getClientByViewport(this.getViewportByCanvas(e))}getCanvasByClient(e){const t=this.getLayer(),n=t.client2Viewport(si(e));return Un(t.viewport2Canvas(n))}toDataURL(){return ZO(this,arguments,void 0,function*(e={}){const t=globalThis.devicePixelRatio||1,{mode:n="viewport"}=e,i=JO(e,["mode"]);let[a,s,o,l]=[0,0,0,0];if(n==="viewport")[o,l]=this.getSize();else if(n==="overall"){const m=this.getBounds(),y=Wa(m);[a,s]=m.min,[o,l]=y}const c=c1('<div id="virtual-image"></div>'),u=new k1({width:o,height:l,renderer:new ql,devicePixelRatio:t,container:c,background:this.extends.config.background});yield u.ready,u.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),u.appendChild(this.getRoot().cloneNode(!0));const d=this.getLayer("label").getRoot().cloneNode(!0),h=u.viewport2Canvas({x:0,y:0}),f=this.getCanvasByViewport([0,0]);d.translate([f[0]-h.x,f[1]-h.y]),d.scale(1/this.getCamera().getZoom()),u.appendChild(d),u.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const g=this.getCamera(),p=u.getCamera();if(n==="viewport")p.setZoom(g.getZoom()),p.setPosition(g.getPosition()),p.setFocalPoint(g.getFocalPoint());else if(n==="overall"){const[m,y,b]=p.getPosition(),[w,E,_]=p.getFocalPoint();p.setPosition([m+a,y+s,b]),p.setFocalPoint([w+a,E+s,_])}const v=u.getContextService();return new Promise(m=>{u.addEventListener(Nr.RERENDER,()=>ZO(this,void 0,void 0,function*(){yield new Promise(b=>setTimeout(b,300));const y=yield v.toDataURL(i);m(y)}))})})}destroy(){Object.values(this.getLayers()).forEach(e=>{e.getCamera().cancelLandmarkAnimation(),e.destroy()})}}function nC(r,e){return Object.fromEntries(e.map(t=>{const n=(r==null?void 0:r(t))||new ql;return n instanceof ql&&n.setConfig({enableDirtyRectangleRendering:!1}),t==="main"?n.registerPlugin(new EJ({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[t,n]}))}function rC(r){Object.entries(r).forEach(([e,t])=>{const n=t.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,e!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid")})}const no=r=>r?parseInt(r):0;function _J(r){const e=getComputedStyle(r),t=r.clientWidth||no(e.width),n=r.clientHeight||no(e.height),i=no(e.paddingLeft)+no(e.paddingRight),a=no(e.paddingTop)+no(e.paddingBottom);return[t-i,n-a]}function iC(r){if(!r)return[0,0];let e=640,t=480;const[n,i]=_J(r);e=n||e,t=i||t;const a=1,s=1;return[Math.max(Ce(e)?e:a,a),Math.max(Ce(t)?t:s,s)]}class Uh{constructor(e){this.type=e}}class bn extends Uh{constructor(e,t){super(e),this.data=t}}class Ur extends Uh{constructor(e,t,n,i){super(e),this.animationType=t,this.animation=n,this.data=i}}class ro extends Uh{constructor(e,t,n){super(e),this.elementType=t,this.data=n}}class Su extends Uh{constructor(e,t){super(e),this.data=t}}function Tn(r,e){r.emit(e.type,e)}function kJ(r){if(!r)return null;if(r instanceof ZN)return{type:"canvas",element:r};let e=r;for(;e;){if(vc(e))return{type:"node",element:e};if(iP(e))return{type:"edge",element:e};if(Hb(e))return{type:"combo",element:e};e=e.parentElement}return null}function aC(r){var e;return((e=r==null?void 0:r.style)===null||e===void 0?void 0:e.zIndex)||0}const Nl="cachedStyle",Ix=r=>`__${r}__`;function MJ(r,e){const t=Array.isArray(e)?e:[e];lr(r,Nl)||Dl(r,Nl,{}),t.forEach(n=>{Dl(lr(r,Nl),Ix(n),r.attributes[n])})}function sC(r,e){return lr(r,[Nl,Ix(e)])}function TJ(r,e){return Ix(e)in(lr(r,Nl)||{})}class OJ{constructor(e){this.tasks=[],this.animations=new Set,this.context=e}getTasks(){const e=[...this.tasks];return this.tasks=[],e}add(e,t){this.tasks.push([e,t])}animate(e,t,n){var i,a,s;(i=t==null?void 0:t.before)===null||i===void 0||i.call(t);const o=this.getTasks().map(([c,u])=>{var d,h,f;const{element:g,elementType:p,stage:v}=c,m=Iz(this.context.options,p,v,e);(d=u==null?void 0:u.before)===null||d===void 0||d.call(u);const y=m.length?Fz(g,this.inferStyle(c,n),m):null;return y?((h=u==null?void 0:u.beforeAnimate)===null||h===void 0||h.call(u,y),y.finished.then(()=>{var b,w;(b=u==null?void 0:u.afterAnimate)===null||b===void 0||b.call(u,y),(w=u==null?void 0:u.after)===null||w===void 0||w.call(u),this.animations.delete(y)})):(f=u==null?void 0:u.after)===null||f===void 0||f.call(u),y}).filter(Boolean);o.forEach(c=>this.animations.add(c));const l=Rb(o);return l?((a=t==null?void 0:t.beforeAnimate)===null||a===void 0||a.call(t,l),l.finished.then(()=>{var c,u;(c=t==null?void 0:t.afterAnimate)===null||c===void 0||c.call(t,l),(u=t==null?void 0:t.after)===null||u===void 0||u.call(t),this.release()})):(s=t==null?void 0:t.after)===null||s===void 0||s.call(t),l}inferStyle(e,t){var n,i;const{element:a,elementType:s,stage:o,originalStyle:l,updatedStyle:c={}}=e;e.modifiedStyle||(e.modifiedStyle=Object.assign(Object.assign({},l),c));const{modifiedStyle:u}=e,d={},h={};if(o==="enter")Object.assign(d,{opacity:0});else if(o==="exit")Object.assign(h,{opacity:0});else if(o==="show")Object.assign(d,{opacity:0}),Object.assign(h,{opacity:(n=sC(a,"opacity"))!==null&&n!==void 0?n:jl("opacity")});else if(o==="hide")Object.assign(d,{opacity:(i=sC(a,"opacity"))!==null&&i!==void 0?i:jl("opacity")}),Object.assign(h,{opacity:0});else if(o==="collapse"){const{collapse:f}=t||{},{target:g,descendants:p,position:v}=f;if(s==="node"){if(p.includes(a.id)){const[m,y,b]=v;Object.assign(h,{x:m,y,z:b})}}else if(s==="combo"){if(a.id===g||p.includes(a.id)){const[m,y]=v;Object.assign(h,{x:m,y,childrenNode:l.childrenNode})}}else s==="edge"&&Object.assign(h,{sourceNode:u.sourceNode,targetNode:u.targetNode})}else if(o==="expand"){const{expand:f}=t||{},{target:g,descendants:p,position:v}=f;if(s==="node"){if(a.id===g||p.includes(a.id)){const[m,y,b]=v;Object.assign(d,{x:m,y,z:b})}}else if(s==="combo"){if(a.id===g||p.includes(a.id)){const[m,y,b]=v;Object.assign(d,{x:m,y,z:b,childrenNode:u.childrenNode})}}else s==="edge"&&Object.assign(d,{sourceNode:u.sourceNode,targetNode:u.targetNode})}return[Object.keys(d).length>0?Object.assign({},l,d):l,Object.keys(h).length>0?Object.assign({},u,h):u]}stop(){this.animations.forEach(e=>e.cancel())}clear(){this.tasks=[]}release(){var e,t;const{canvas:n}=this.context,i=(t=(e=n.document)===null||e===void 0?void 0:e.timeline)===null||t===void 0?void 0:t.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class CJ{constructor(e){this.batchCount=0,this.context=e}emit(e){const{graph:t}=this.context;t.emit(e.type,e)}startBatch(e=!0){this.batchCount++,this.batchCount===1&&this.emit(new bn(we.BATCH_START,{initiate:e}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new bn(we.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class NJ extends Db{constructor(e){super(e),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=t=>{const{target:n}=t,i=kJ(n);if(!i)return;const{graph:a,canvas:s}=this.context,{type:o,element:l}=i;if("destroyed"in l&&(jd(l)||l.destroyed))return;const{type:c,detail:u,button:d}=t,h=Object.assign(Object.assign({},t),{target:l,targetType:o,originalTarget:n});c===ce.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${ce.POINTER_LEAVE}`,Object.assign(Object.assign({},h),{type:ce.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(h,{type:ce.POINTER_ENTER}),a.emit(`${o}:${ce.POINTER_ENTER}`,h))),this.currentTarget=l,this.currentTargetType=o),c===ce.CLICK&&d===2||(a.emit(`${o}:${c}`,h),a.emit(c,h)),c===ce.CLICK&&u===2&&(Object.assign(h,{type:ce.DBLCLICK}),a.emit(`${o}:${ce.DBLCLICK}`,h),a.emit(ce.DBLCLICK,h)),c===ce.POINTER_DOWN&&d===2&&(Object.assign(h,{type:ce.CONTEXT_MENU,preventDefault:()=>{var f;(f=s.getContainer())===null||f===void 0||f.addEventListener(ce.CONTEXT_MENU,g=>g.preventDefault(),{once:!0})}}),a.emit(`${o}:${ce.CONTEXT_MENU}`,h),a.emit(ce.CONTEXT_MENU,h))},this.forwardContainerEvents=t=>{this.context.graph.emit(t.type,t)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(e){this.setExtensions(e)}forwardEvents(){const e=this.context.canvas.getContainer();e&&[fo.KEY_DOWN,fo.KEY_UP].forEach(n=>{e.addEventListener(n,this.forwardContainerEvents)});const t=this.context.canvas.document;t&&[ce.CLICK,ce.DBLCLICK,ce.POINTER_OVER,ce.POINTER_LEAVE,ce.POINTER_ENTER,ce.POINTER_MOVE,ce.POINTER_OUT,ce.POINTER_DOWN,ce.POINTER_UP,ce.CONTEXT_MENU,ce.DRAG_START,ce.DRAG,ce.DRAG_END,ce.DRAG_ENTER,ce.DRAG_OVER,ce.DRAG_LEAVE,ce.DROP,ce.WHEEL].forEach(n=>{t.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const e=this.context.canvas.getContainer();e&&[fo.KEY_DOWN,fo.KEY_UP].forEach(t=>{e.removeEventListener(t,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var Zl=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function ya(r,e){const{data:t,style:n}=r,i=Zl(r,["data","style"]),{data:a,style:s}=e,o=Zl(e,["data","style"]),l=Object.assign(Object.assign({},i),o);return(t||a)&&Object.assign(l,{data:Object.assign(Object.assign({},t),a)}),(n||s)&&Object.assign(l,{style:Object.assign(Object.assign({},n),s)}),l}function Uy(r){const{data:e,style:t}=r,i=Zl(r,["data","style"]);return e&&(i.data=Object.assign({},e)),t&&(i.style=Object.assign({},t)),i}function io(r={},e={}){const{states:t=[],data:n={},style:i={},children:a=[]}=r,s=Zl(r,["states","data","style","children"]),{states:o=[],data:l={},style:c={},children:u=[]}=e,d=Zl(e,["states","data","style","children"]),h=(g,p)=>g.length!==p.length?!1:g.every((v,m)=>v===p[m]),f=(g,p)=>{const v=Object.keys(g),m=Object.keys(p);return v.length!==m.length?!1:v.every(y=>g[y]===p[y])};return!(!f(s,d)||!h(a,u)||!h(t,o)||!f(n,l)||!f(i,c))}var AJ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function Hy(r){const{id:e=te(r),style:t,data:n}=r,i=AJ(r,["id","style","data"]),a=Object.assign(Object.assign({},r),{style:Object.assign({},t),data:Object.assign({},n)});return Gz(r)?Object.assign({id:e,data:a},i):{id:e,data:a}}function Ln(r){return r.data}function PJ(r){if(r.hasTreeStructure(Ar))return;r.attachTreeStructure(Ar);const e=r.getAllEdges();for(const t of e){const{source:n,target:i}=t;r.setParent(i,n,Ar)}}class RJ{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new Pn}pushChange(e){if(this.isTraceless)return;const{type:t}=e;if(t===Vt.NodeUpdated||t===Vt.EdgeUpdated||t===Vt.ComboUpdated){const{value:n,original:i}=e;this.changes.push({value:Uy(n),original:Uy(i),type:t})}else this.changes.push({value:Uy(e.value),type:t})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(e){this.batchCount++,this.model.batch(e),this.batchCount--}isBatching(){return this.batchCount>0}silence(e){this.isTraceless=!0,e(),this.isTraceless=!1}isCombo(e){return this.comboIds.has(e)||this.latestRemovedComboIds.has(e)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Ln(n);return this.isCombo(te(i))||(e===void 0||e.includes(te(i)))&&t.push(i),t},[])}getEdgeDatum(e){return Ln(this.model.getEdge(e))}getEdgeData(e){return this.model.getAllEdges().reduce((t,n)=>{const i=Ln(n);return(e===void 0||e.includes(te(i)))&&t.push(i),t},[])}getComboData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Ln(n);return this.isCombo(te(i))&&(e===void 0||e.includes(te(i)))&&t.push(i),t},[])}getRootsData(e=Ar){return this.model.getRoots(e).map(Ln)}getAncestorsData(e,t){const{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getAncestors(e,t).map(Ln)}getDescendantsData(e){const t=this.getElementDataById(e),n=[];return vs(t,i=>{i!==t&&n.push(i)},i=>this.getChildrenData(te(i)),"TB"),n}getParentData(e,t){const{model:n}=this;if(!t){Di.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(e)||!n.hasTreeStructure(t))return;const i=n.getParent(e,t);return i?Ln(i):void 0}getChildrenData(e){const t=this.getElementType(e)==="node"?Ar:Mt,{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getChildren(e,t).map(Ln)}getElementsDataByType(e){return e==="node"?this.getNodeData():e==="edge"?this.getEdgeData():e==="combo"?this.getComboData():[]}getElementDataById(e){return this.getElementType(e)==="edge"?this.getEdgeDatum(e):this.getNodeLikeDatum(e)}getNodeLikeDatum(e){const t=this.model.getNode(e);return Ln(t)}getNodeLikeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Ln(n);return e?e.includes(te(i))&&t.push(i):t.push(i),t},[])}getElementDataByState(e,t){return this.getElementsDataByType(e).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(t)})}getElementState(e){var t;return((t=this.getElementDataById(e))===null||t===void 0?void 0:t.states)||[]}hasNode(e){return this.model.hasNode(e)&&!this.isCombo(e)}hasEdge(e){return this.model.hasEdge(e)}hasCombo(e){return this.model.hasNode(e)&&this.isCombo(e)}getRelatedEdgesData(e,t="both"){return this.model.getRelatedEdges(e,t).map(Ln)}getNeighborNodesData(e){return this.model.getNeighbors(e).map(Ln)}setData(e){const{nodes:t=[],edges:n=[],combos:i=[]}=e,{nodes:a,edges:s,combos:o}=this.getData(),l=Ia(a,t,d=>te(d),io),c=Ia(s,n,d=>te(d),io),u=Ia(o,i,d=>te(d),io);this.batch(()=>{const d={nodes:l.enter,edges:c.enter,combos:u.enter};this.addData(d),this.computeZIndex(d,"add",!0);const h={nodes:l.update,edges:c.update,combos:u.update};this.updateData(h),this.computeZIndex(h,"update",!0);const f={nodes:l.exit.map(te),edges:c.exit.map(te),combos:u.exit.map(te)};this.removeData(f)})}addData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.addComboData(i),this.addNodeData(t),this.addEdgeData(n)}),this.computeZIndex(e,"add")}addNodeData(e=[]){e.length&&(this.model.addNodes(e.map(t=>(this.pushChange({value:t,type:Vt.NodeAdded}),Hy(t)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({nodes:e},"add"))}addEdgeData(e=[]){e.length&&(this.model.addEdges(e.map(t=>(this.pushChange({value:t,type:Vt.EdgeAdded}),Hy(t)))),this.computeZIndex({edges:e},"add"))}addComboData(e=[]){if(!e.length)return;const{model:t}=this;t.hasTreeStructure(Mt)||t.attachTreeStructure(Mt),t.addNodes(e.map(n=>(this.comboIds.add(te(n)),this.pushChange({value:n,type:Vt.ComboAdded}),Hy(n)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({combos:e},"add")}addChildrenData(e,t){const n=this.getNodeLikeDatum(e),i=t.map(te);this.addNodeData(t),this.updateNodeData([{id:e,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:e,target:a})))}computeZIndex(e,t,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:s=[]}=e;s.forEach(o=>{var l,c,u;const d=te(o);if(t==="add"&&Ce((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o))return;const h=this.getParentData(d,Mt),f=h?((u=(c=h.style)===null||c===void 0?void 0:c.zIndex)!==null&&u!==void 0?u:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:d,style:{zIndex:f}}])})}),i.forEach(o=>{var l,c,u;const d=te(o);if(t==="add"&&Ce((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o)&&!("children"in o))return;let h=0;const f=this.getParentData(d,Mt);if(f)h=(((c=f.style)===null||c===void 0?void 0:c.zIndex)||0)+1;else{const g=this.getParentData(d,Ar);g&&(h=((u=g==null?void 0:g.style)===null||u===void 0?void 0:u.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:d,style:{zIndex:h}}])})}),a.forEach(o=>{var l,c,u,d,h;if(Ce((l=o.style)===null||l===void 0?void 0:l.zIndex))return;let{id:f,source:g,target:p}=o;if(!f)f=te(o);else{const y=this.getEdgeDatum(f);g=y.source,p=y.target}if(!g||!p)return;const v=((u=(c=this.getNodeLikeDatum(g))===null||c===void 0?void 0:c.style)===null||u===void 0?void 0:u.zIndex)||0,m=((h=(d=this.getNodeLikeDatum(p))===null||d===void 0?void 0:d.style)===null||h===void 0?void 0:h.zIndex)||0;this.updateEdgeData([{id:te(o),style:{zIndex:Math.max(v,m)-1}}])})})}getFrontZIndex(e){var t;const n=this.getElementType(e),i=this.getElementDataById(e),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(s=>te(s)!==e)}),n==="combo"&&!wr(i)){const s=new Set(this.getAncestorsData(e,Mt).map(te));a.nodes=a.nodes.filter(o=>!s.has(te(o))),a.combos=a.combos.filter(o=>!s.has(te(o))),a.edges=a.edges.filter(({source:o,target:l})=>!s.has(o)&&!s.has(l))}return Math.max(((t=i.style)===null||t===void 0?void 0:t.zIndex)||0,0,...Object.values(a).flat().map(s=>{var o;return(((o=s==null?void 0:s.style)===null||o===void 0?void 0:o.zIndex)||0)+1}))}updateNodeLikeHierarchy(e){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:t}=this;e.forEach(n=>{const i=te(n),a=tu(n);a!==void 0&&(t.hasTreeStructure(Mt)||t.attachTreeStructure(Mt),a===null&&this.refreshComboData(i),this.setParent(i,tu(n),Mt));const s=n.children||[];if(s.length){t.hasTreeStructure(Ar)||t.attachTreeStructure(Ar);const o=s.filter(l=>t.hasNode(l));o.forEach(l=>this.setParent(l,i,Ar)),o.length!==s.length&&this.updateNodeData([{id:i,children:o}])}})}preventUpdateNodeLikeHierarchy(e){this.enableUpdateNodeLikeHierarchy=!1,e(),this.enableUpdateNodeLikeHierarchy=!0}updateData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.updateNodeData(t),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(e,"update")}updateNodeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{const n=[];e.forEach(i=>{const a=te(i),s=Ln(t.getNode(a));if(io(s,i))return;const o=ya(s,i);this.pushChange({value:o,original:s,type:Vt.NodeUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:e},"update")}refreshData(){const{nodes:e,edges:t,combos:n}=this.getData();e.forEach(i=>{this.pushChange({value:i,original:i,type:Vt.NodeUpdated})}),t.forEach(i=>{this.pushChange({value:i,original:i,type:Vt.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Vt.ComboUpdated})})}syncNodeLikeDatum(e){const{model:t}=this,n=te(e);if(!t.hasNode(n))return;const i=Ln(t.getNode(n)),a=ya(i,e);t.mergeNodeData(n,a)}syncEdgeDatum(e){const{model:t}=this,n=te(e);if(!t.hasEdge(n))return;const i=Ln(t.getEdge(n)),a=ya(i,e);t.mergeEdgeData(n,a)}updateEdgeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{e.forEach(n=>{const i=te(n),a=Ln(t.getEdge(i));if(io(a,n))return;n.source&&a.source!==n.source&&t.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&t.updateEdgeTarget(i,n.target);const s=ya(a,n);this.pushChange({value:s,original:a,type:Vt.EdgeUpdated}),t.mergeEdgeData(i,s)})}),this.computeZIndex({edges:e},"update")}updateComboData(e=[]){if(!e.length)return;const{model:t}=this;t.batch(()=>{const n=[];e.forEach(i=>{const a=te(i),s=Ln(t.getNode(a));if(io(s,i))return;const o=ya(s,i);this.pushChange({value:o,original:s,type:Vt.ComboUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:e},"update")}setParent(e,t,n,i=!0){if(e===t)return;const a=this.getNodeLikeDatum(e),s=tu(a);if(s!==t&&n===Mt){const o={id:e,combo:t};this.isCombo(e)?this.syncNodeLikeDatum(o):this.syncNodeLikeDatum(o)}this.model.setParent(e,t,n),i&&n===Mt&&i6([s,t]).forEach(o=>{o!==void 0&&this.refreshComboData(o)})}refreshComboData(e){const t=this.getComboData([e])[0],n=this.getAncestorsData(e,Mt);t&&this.pushChange({value:t,original:t,type:Vt.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Vt.ComboUpdated})})}getElementPosition(e){const t=this.getElementDataById(e);return On(t)}translateNodeLikeBy(e,t){this.isCombo(e)?this.translateComboBy(e,t):this.translateNodeBy(e,t)}translateNodeLikeTo(e,t){this.isCombo(e)?this.translateComboTo(e,t):this.translateNodeTo(e,t)}translateNodeBy(e,t){const n=this.getElementPosition(e),i=Ze(n,[...t,0].slice(0,3));this.translateNodeTo(e,i)}translateNodeTo(e,t){const[n=0,i=0,a=0]=t;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:e,style:{x:n,y:i,z:a}}])})}translateComboBy(e,t){const[n=0,i=0,a=0]=t;if([n,i,a].some(isNaN)||[n,i,a].every(l=>l===0))return;const s=this.getComboData([e])[0];if(!s)return;const o=new Set;vs(s,l=>{const c=te(l);if(o.has(c))return;o.add(c);const[u,d,h]=On(l),f=ya(l,{style:{x:u+n,y:d+i,z:h+a}});this.pushChange({value:f,original:l,type:this.isCombo(c)?Vt.ComboUpdated:Vt.NodeUpdated}),this.model.mergeNodeData(c,f)},l=>this.getChildrenData(te(l)),"BT")}translateComboTo(e,t){var n;if(t.some(isNaN))return;const[i=0,a=0,s=0]=t,o=(n=this.getComboData([e]))===null||n===void 0?void 0:n[0];if(!o)return;const[l,c,u]=On(o),d=i-l,h=a-c,f=s-u;vs(o,g=>{const p=te(g),[v,m,y]=On(g),b=ya(g,{style:{x:v+d,y:m+h,z:y+f}});this.pushChange({value:b,original:g,type:this.isCombo(p)?Vt.ComboUpdated:Vt.NodeUpdated}),this.model.mergeNodeData(p,b)},g=>this.getChildrenData(te(g)),"BT")}removeData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(t),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.removeEdgeData(this.getRelatedEdgesData(t).map(te)),this.pushChange({value:this.getNodeData([t])[0],type:Vt.NodeRemoved}),this.removeNodeLikeHierarchy(t)}),this.model.removeNodes(e)})}removeEdgeData(e=[]){e.length&&(e.forEach(t=>this.pushChange({value:this.getEdgeData([t])[0],type:Vt.EdgeRemoved})),this.model.removeEdges(e))}removeComboData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.pushChange({value:this.getComboData([t])[0],type:Vt.ComboRemoved}),this.removeNodeLikeHierarchy(t),this.comboIds.delete(t)}),this.model.removeNodes(e)})}removeNodeLikeHierarchy(e){if(this.model.hasTreeStructure(Mt)){const t=tu(this.getNodeLikeDatum(e));this.setParent(e,void 0,Mt,!1),this.model.getChildren(e,Mt).forEach(n=>{const i=Ln(n),a=te(i);this.setParent(te(i),t,Mt,!1);const s=ya(i,{id:te(i),combo:t});this.pushChange({value:s,original:i,type:this.isCombo(a)?Vt.ComboUpdated:Vt.NodeUpdated}),this.model.mergeNodeData(te(i),s)}),qe(t)||this.refreshComboData(t)}}getElementType(e){if(this.model.hasNode(e))return this.isCombo(e)?"combo":"node";if(this.model.hasEdge(e))return"edge";throw new Error(Ji(`Unknown element type of id: ${e}`))}destroy(){const{model:e}=this,t=e.getAllNodes(),n=e.getAllEdges();e.removeEdges(n.map(i=>i.id)),e.removeNodes(t.map(i=>i.id)),this.context={}}}var ll=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class LJ{constructor(e){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=e}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:e}=this.context;this.container=e.appendChild(new An({className:"elements"}))}}emit(e,t){t.silence||Tn(this.context.graph,e)}forEachElementData(e){Ms.forEach(t=>{const n=this.context.model.getElementsDataByType(t);e(t,n)})}getElementType(e,t){var n;const{options:i,graph:a}=this.context,s=((n=i[e])===null||n===void 0?void 0:n.type)||t.type;return s?typeof s=="string"?s:s.call(a,t):e==="edge"?"line":"circle"}getTheme(e){return cA(this.context.options)[e]||{}}getThemeStyle(e){return this.getTheme(e).style||{}}getThemeStateStyle(e,t){const{state:n={}}=this.getTheme(e);return Object.assign({},...t.map(i=>n[i]||{}))}computePaletteStyle(){const{options:e}=this.context;this.paletteStyle={},this.forEachElementData((t,n)=>{var i,a;const s=Object.assign({},cE((i=this.getTheme(t))===null||i===void 0?void 0:i.palette),cE((a=e[t])===null||a===void 0?void 0:a.palette));s!=null&&s.field&&Object.assign(this.paletteStyle,zj(n,s))})}getPaletteStyle(e,t){const n=this.paletteStyle[t];return n?e==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(e,t){var n;const{options:i}=this.context,a=((n=i[e])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[te(t.datum)]=lE(a,t)}computeElementsDefaultStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];(e===void 0||e.includes(te(o)))&&this.computeElementDefaultStyle(n,{datum:o,graph:t})}})}getDefaultStyle(e){return this.defaultStyle[e]||{}}getElementState(e){try{const{model:t}=this.context;return t.getElementState(e)}catch{return[]}}getElementStateStyle(e,t,n){var i,a;const{options:s}=this.context,o=((a=(i=s[e])===null||i===void 0?void 0:i.state)===null||a===void 0?void 0:a[t])||{};return lE(o,n)}computeElementStatesStyle(e,t,n){this.stateStyle[te(n.datum)]=Object.assign({},...t.map(i=>this.getElementStateStyle(e,i,n)))}computeElementsStatesStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];if(e===void 0||e.includes(te(o))){const l=this.getElementState(te(o));this.computeElementStatesStyle(n,l,{datum:o,graph:t})}}})}getStateStyle(e){return this.stateStyle[e]||{}}computeStyle(e,t){e&&["translate","zIndex"].includes(e)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(t),this.computeElementsStatesStyle(t))}getElement(e){return this.elementMap[e]}getNodes(){return this.context.model.getNodeData().map(({id:e})=>this.elementMap[e])}getEdges(){return this.context.model.getEdgeData().map(e=>this.elementMap[te(e)])}getCombos(){return this.context.model.getComboData().map(({id:e})=>this.elementMap[e])}getElementComputedStyle(e,t){const n=te(t),i=this.getThemeStyle(e),a=this.getPaletteStyle(e,n),s=t.style||{},o=this.getDefaultStyle(n),l=this.getThemeStateStyle(e,this.getElementState(n)),c=this.getStateStyle(n),u=Object.assign({},i,a,s,o,l,c);if(e==="combo"){const d=this.context.model.getChildrenData(n),f=!!u.collapsed?[]:d.map(te).filter(g=>this.getElement(g));Object.assign(u,{childrenNode:f,childrenData:d})}return u}getDrawData(e){this.init();const t=this.computeChangesAndDrawData(e);if(!t)return null;const{type:n="draw",stage:i=n}=e;return this.markDestroyElement(t.drawData),this.computeStyle(i),{type:n,stage:i,data:t}}draw(e={animation:!0}){const t=this.getDrawData(e);if(!t)return;const{data:{drawData:{add:n,update:i,remove:a}}}=t;return this.destroyElements(a,e),this.createElements(n,e),this.updateElements(i,e),this.setAnimationTask(e,t)}preLayoutDraw(){return ll(this,arguments,void 0,function*(e={animation:!0}){var t,n;const i=this.getDrawData(e);if(!i)return;const{data:{drawData:a}}=i;yield(n=(t=this.context.layout)===null||t===void 0?void 0:t.preLayout)===null||n===void 0?void 0:n.call(t,a);const{add:s,update:o,remove:l}=a;return this.destroyElements(l,e),this.createElements(s,e),this.updateElements(o,e),this.setAnimationTask(e,i)})}setAnimationTask(e,t){const{animation:n,silence:i}=e,{data:{dataChanges:a,drawData:s},stage:o,type:l}=t;return this.context.animation.animate(n,i?{}:{before:()=>this.emit(new bn(we.BEFORE_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render"}),e),beforeAnimate:c=>this.emit(new Ur(we.BEFORE_ANIMATE,mr.DRAW,c,s),e),afterAnimate:c=>this.emit(new Ur(we.AFTER_ANIMATE,mr.DRAW,c,s),e),after:()=>this.emit(new bn(we.AFTER_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render",firstRender:this.context.graph.rendered===!1}),e)})}computeChangesAndDrawData(e){const{model:t}=this.context,n=t.getChanges(),i=wx(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:s=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:c=[],EdgeRemoved:u=[],ComboAdded:d=[],ComboUpdated:h=[],ComboRemoved:f=[]}=wd(i,m=>m.type),g=m=>new Map(m.map(y=>{const b=y.value;return[te(b),b]})),p={add:{nodes:g(a),edges:g(l),combos:g(d)},update:{nodes:g(s),edges:g(c),combos:g(h)},remove:{nodes:g(o),edges:g(u),combos:g(f)}},v=this.transformData(p,e);return t.clearChanges(),{dataChanges:n,drawData:v}}transformData(e,t){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,t),e)}createElement(e,t,n){var i;const a=te(t);if(this.getElement(a))return;const o=this.getElementType(e,t),l=this.getElementComputedStyle(e,t),c=na(e,o);if(!c)return Di.warn(`The element ${o} of ${e} is not registered.`);this.emit(new ro(we.BEFORE_ELEMENT_CREATE,e,t),n);const u=this.container.appendChild(new c({id:a,context:this.context,style:l}));this.shapeTypeMap[a]=o,this.elementMap[a]=u;const{stage:d="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:u,elementType:e,stage:d,originalStyle:Object.assign({},u.attributes),updatedStyle:l},{after:()=>{var h;this.emit(new ro(we.AFTER_ELEMENT_CREATE,e,t),n),(h=u.onCreate)===null||h===void 0||h.call(u)}})}createElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(c=>this.createElement(o,c,t))})}getUpdateStageStyle(e,t,n){const{stage:i="update"}=n;if(i==="translate")if(e==="node"||e==="combo"){const{style:{x:a=0,y:s=0,z:o=0}={}}=t;return{x:a,y:s,z:o}}else return{};return this.getElementComputedStyle(e,t)}updateElement(e,t,n){var i;const a=te(t),{stage:s="update"}=n,o=this.getElement(a);if(!o)return()=>null;this.emit(new ro(we.BEFORE_ELEMENT_UPDATE,e,t),n);const l=this.getElementType(e,t),c=this.getUpdateStageStyle(e,t,n);this.shapeTypeMap[a]!==l&&(o.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(e,t,{animation:!1,silence:!0}));const u=s!=="visibility"?s:c.visibility==="hidden"?"hide":"show";u==="hide"&&delete c.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:u,originalStyle:Object.assign({},o.attributes),updatedStyle:c},{before:()=>{const d=this.elementMap[a];s!=="collapse"&&D1(d,c),s==="visibility"&&(TJ(d,"opacity")||MJ(d,"opacity"),this.visibilityCache.set(d,u==="show"?"visible":"hidden"),u==="show"&&_s(d,"visible"))},after:()=>{var d;const h=this.elementMap[a];s==="collapse"&&D1(h,c),u==="hide"&&_s(h,this.visibilityCache.get(h)),this.emit(new ro(we.AFTER_ELEMENT_UPDATE,e,t),n),(d=h.onUpdate)===null||d===void 0||d.call(h)}})}updateElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(c=>this.updateElement(o,c,t))})}markDestroyElement(e){Object.values(e.remove).forEach(t=>{t.forEach(n=>{const i=te(n),a=this.getElement(i);a&&F$(a)})})}destroyElement(e,t,n){var i;const{stage:a="exit"}=n,s=te(t),o=this.elementMap[s];if(!o)return()=>null;this.emit(new ro(we.BEFORE_ELEMENT_DESTROY,e,t),n),(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:a,originalStyle:Object.assign({},o.attributes),updatedStyle:{}},{after:()=>{var l;this.clearElement(s),o.destroy(),(l=o.onDestroy)===null||l===void 0||l.call(o),this.emit(new ro(we.AFTER_ELEMENT_DESTROY,e,t),n)}})}destroyElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["combo",a],["edge",i],["node",n]].forEach(([o,l])=>{l.forEach(c=>this.destroyElement(o,c,t))})}clearElement(e){delete this.paletteStyle[e],delete this.defaultStyle[e],delete this.stateStyle[e],delete this.elementMap[e],delete this.shapeTypeMap[e]}alignLayoutResultToElement(e,t){var n,i;const a=(n=e.nodes)===null||n===void 0?void 0:n.find(s=>te(s)===t);if(a){const s=On(this.context.model.getNodeLikeDatum(t)),o=On(a),l=St(s,o);(i=e.nodes)===null||i===void 0||i.forEach(c=>{var u,d,h;!((u=c.style)===null||u===void 0)&&u.x&&(c.style.x+=l[0]),!((d=c.style)===null||d===void 0)&&d.y&&(c.style.y+=l[1]),!((h=c.style)===null||h===void 0)&&h.z&&(c.style.z+=l[2]||0)})}}collapseNode(e,t){return ll(this,void 0,void 0,function*(){var n;const{animation:i,align:a}=t,{model:s,layout:o}=this.context,l=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!l)return;this.markDestroyElement(l.drawData);const c=yield o.simulate();a&&this.alignLayoutResultToElement(c,e),s.updateData(c);const u=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!u)return;const{drawData:d}=u,{add:h,remove:f,update:g}=d;this.markDestroyElement(d);const p={animation:i,stage:"collapse",data:d};this.destroyElements(f,p),this.createElements(h,p),this.updateElements(g,p),yield(n=this.context.animation.animate(i,{beforeAnimate:v=>this.emit(new Ur(we.BEFORE_ANIMATE,mr.COLLAPSE,v,d),p),afterAnimate:v=>this.emit(new Ur(we.AFTER_ANIMATE,mr.COLLAPSE,v,d),p)},{collapse:{target:e,descendants:Array.from(f.nodes).map(([,v])=>te(v)),position:On(g.nodes.get(e))}}))===null||n===void 0?void 0:n.finished})}expandNode(e,t){return ll(this,void 0,void 0,function*(){var n;const{model:i,layout:a}=this.context,{animation:s,align:o}=t,l=On(i.getNodeData([e])[0]),c=this.computeChangesAndDrawData({stage:"expand",animation:s});if(!c)return;const{drawData:{add:u}}=c;this.createElements(u,{animation:!1,stage:"expand",target:e}),this.context.animation.clear();const d=yield a.simulate();o&&this.alignLayoutResultToElement(d,e),i.updateData(d),this.computeStyle("expand");const h=this.computeChangesAndDrawData({stage:"collapse",animation:s});if(!h)return;const{drawData:f}=h,{update:g}=f,p={animation:s,stage:"expand",data:f};u.edges.forEach(v=>g.edges.set(te(v),v)),u.nodes.forEach(v=>g.nodes.set(te(v),v)),this.updateElements(g,p),yield(n=this.context.animation.animate(s,{beforeAnimate:v=>this.emit(new Ur(we.BEFORE_ANIMATE,mr.EXPAND,v,f),p),afterAnimate:v=>this.emit(new Ur(we.AFTER_ANIMATE,mr.EXPAND,v,f),p)},{expand:{target:e,descendants:Array.from(u.nodes).map(([,v])=>te(v)),position:l}}))===null||n===void 0?void 0:n.finished})}collapseCombo(e,t){return ll(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(e,Mt).some(p=>wr(p)))return;const s=a.getElement(e),o=s.getComboPosition(Object.assign(Object.assign({},s.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{dataChanges:c,drawData:u}=l;this.markDestroyElement(u);const{update:d,remove:h}=u,f={animation:t,stage:"collapse",data:u};this.destroyElements(h,f),this.updateElements(d,f);const g=p=>Array.from(p).map(([,v])=>te(v));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new bn(we.BEFORE_DRAW,{dataChanges:c,animation:t}),f),beforeAnimate:p=>this.emit(new Ur(we.BEFORE_ANIMATE,mr.COLLAPSE,p,u),f),afterAnimate:p=>this.emit(new Ur(we.AFTER_ANIMATE,mr.COLLAPSE,p,u),f),after:()=>this.emit(new bn(we.AFTER_DRAW,{dataChanges:c,animation:t}),f)},{collapse:{target:e,descendants:[...g(h.nodes),...g(h.combos)],position:o}}))===null||n===void 0?void 0:n.finished})}expandCombo(e,t){return ll(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=On(i.getComboData([e])[0]);this.computeStyle("expand");const s=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!s)return;const{dataChanges:o,drawData:l}=s,{add:c,update:u}=l,d={animation:t,stage:"expand",data:l,target:e};this.createElements(c,d),this.updateElements(u,d);const h=f=>Array.from(f).map(([,g])=>te(g));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new bn(we.BEFORE_DRAW,{dataChanges:o,animation:t}),d),beforeAnimate:f=>this.emit(new Ur(we.BEFORE_ANIMATE,mr.EXPAND,f,l),d),afterAnimate:f=>this.emit(new Ur(we.AFTER_ANIMATE,mr.EXPAND,f,l),d),after:()=>this.emit(new bn(we.AFTER_DRAW,{dataChanges:o,animation:t}),d)},{expand:{target:e,descendants:[...h(c.nodes),...h(c.combos)],position:a}}))===null||n===void 0?void 0:n.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}var ao=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},IJ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class DJ{get presetOptions(){return{animation:!!uA(this.context.options,!0)}}get options(){const{options:e}=this.context;return e.layout}constructor(e){this.instances=[],this.context=e}getLayoutInstance(){return this.instances}preLayout(e){return ao(this,void 0,void 0,function*(){var t,n,i,a;const{graph:s,model:o}=this.context,{add:l}=e;Tn(s,new bn(we.BEFORE_LAYOUT,{type:"pre"}));const c=yield(t=this.context.layout)===null||t===void 0?void 0:t.simulate();(n=c==null?void 0:c.nodes)===null||n===void 0||n.forEach(u=>{const d=te(u),h=l.nodes.get(d);o.syncNodeLikeDatum(u),h&&Object.assign(h.style,u.style)}),(i=c==null?void 0:c.edges)===null||i===void 0||i.forEach(u=>{const d=te(u),h=l.edges.get(d);o.syncEdgeDatum(u),h&&Object.assign(h.style,u.style)}),(a=c==null?void 0:c.combos)===null||a===void 0||a.forEach(u=>{const d=te(u),h=l.combos.get(d);o.syncNodeLikeDatum(u),h&&Object.assign(h.style,u.style)}),Tn(s,new bn(we.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",e)})}postLayout(){return ao(this,arguments,void 0,function*(e=this.options){if(!e)return;const t=Array.isArray(e)?e:[e],{graph:n}=this.context;Tn(n,new bn(we.BEFORE_LAYOUT,{type:"post"}));for(const i of t){const a=t.indexOf(i),s=this.getLayoutData(i),o=Object.assign(Object.assign({},this.presetOptions),i);Tn(n,new bn(we.BEFORE_STAGE_LAYOUT,{options:o,index:a}));const l=yield this.stepLayout(s,o,a);Tn(n,new bn(we.AFTER_STAGE_LAYOUT,{options:o,index:a})),i.animation||this.updateElementPosition(l,!1)}Tn(n,new bn(we.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(e,t){const n=this.context.transform.getTransformInstance();Object.values(n).forEach(i=>i.afterLayout(e,t))}simulate(){return ao(this,void 0,void 0,function*(){if(!this.options)return{};const e=Array.isArray(this.options)?this.options:[this.options];let t={};for(const n of e){const i=e.indexOf(n),a=this.getLayoutData(n);t=yield this.stepLayout(a,Object.assign(Object.assign(Object.assign({},this.presetOptions),n),{animation:!1}),i)}return t})}stepLayout(e,t,n){return ao(this,void 0,void 0,function*(){return W$(t)?yield this.treeLayout(e,t,n):yield this.graphLayout(e,t,n)})}graphLayout(e,t,n){return ao(this,void 0,void 0,function*(){const{animation:i,enableWorker:a,iterations:s=300}=t,o=this.initGraphLayout(t);if(!o)return{};if(this.instances[n]=o,this.instance=o,a){const c=o;return this.supervisor=new PH(c.graphData2LayoutModel(e),c.instance,{iterations:s}),Au(yield this.supervisor.execute())}if(G1(o))return i?yield o.execute(e,{onTick:c=>{this.updateElementPosition(c,!1)}}):(o.execute(e),o.stop(),o.tick(s));const l=yield o.execute(e);if(i){const c=this.updateElementPosition(l,i);yield c==null?void 0:c.finished}return l})}treeLayout(e,t,n){return ao(this,void 0,void 0,function*(){const{type:i,animation:a}=t,s=na("layout",i);if(!s)return{};const{nodes:o=[],edges:l=[]}=e,c=new Pn({nodes:o.map(g=>({id:te(g),data:g.data||{}})),edges:l.map(g=>({id:te(g),source:g.source,target:g.target,data:g.data||{}}))});PJ(c);const u={nodes:[],edges:[]},d={nodes:[],edges:[]};c.getRoots(Ar).forEach(g=>{vs(g,b=>{b.children=c.getSuccessors(b.id)},b=>c.getSuccessors(b.id),"TB");const p=s(g,t),{x:v,y:m,z:y=0}=p;vs(p,b=>{const{id:w,x:E,y:_,z:O=0}=b;u.nodes.push({id:w,style:{x:v,y:m,z:y}}),d.nodes.push({id:w,style:{x:E,y:_,z:O}})},b=>b.children,"TB")});const f=this.inferTreeLayoutOffset(d);if(oC(d,f),a){oC(u,f),this.updateElementPosition(u,!1);const g=this.updateElementPosition(d,a);yield g==null?void 0:g.finished}return d})}inferTreeLayoutOffset(e){var t;let[n,i]=[1/0,-1/0],[a,s]=[1/0,-1/0];(t=e.nodes)===null||t===void 0||t.forEach(p=>{const{x:v=0,y:m=0}=p.style||{};n=Math.min(n,v),i=Math.max(i,v),a=Math.min(a,m),s=Math.max(s,m)});const{canvas:o}=this.context,l=o.getSize(),[c,u]=o.getCanvasByViewport([0,0]),[d,h]=o.getCanvasByViewport(l);if(n>=c&&i<=d&&a>=u&&s<=h)return[0,0];const f=(c+d)/2,g=(u+h)/2;return[f-(n+i)/2,g-(a+s)/2]}stopLayout(){this.instance&&G1(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(e){const{nodeFilter:t=()=>!0,preLayout:n=!1,isLayoutInvisibleNodes:i=!1}=e,{nodes:a,edges:s,combos:o}=this.context.model.getData(),{element:l,model:c}=this.context,u=p=>l.getElement(p),d=n?p=>{var v;return!i&&(((v=p.style)===null||v===void 0?void 0:v.visibility)==="hidden"||c.getAncestorsData(p.id,Ar).some(wr)||c.getAncestorsData(p.id,Mt).some(wr))?!1:t(p)}:p=>{const v=te(p),m=u(v);return!m||jd(m)?!1:t(p)},h=a.filter(d),f=new Map(h.map(p=>[te(p),p]));o.forEach(p=>f.set(te(p),p));const g=s.filter(({source:p,target:v})=>f.has(p)&&f.has(v));return{nodes:h,edges:g,combos:o}}initGraphLayout(e){var t;const{element:n,viewport:i}=this.context,{type:a,enableWorker:s,animation:o,iterations:l}=e,c=IJ(e,["type","enableWorker","animation","iterations"]),[u,d]=i.getCanvasSize(),h=[u/2,d/2],f=(t=e==null?void 0:e.nodeSize)!==null&&t!==void 0?t:y=>{const b=n==null?void 0:n.getElement(y.id);return b?b.attributes.size:n==null?void 0:n.getElementComputedStyle("node",y).size},g=na("layout",a);if(!g)return Di.warn(`The layout of ${a} is not registered.`);const p=Object.getPrototypeOf(g.prototype)===Vd.prototype?g:U$(g,this.context),v=new p(this.context),m={nodeSize:f,width:u,height:d,center:h};switch(v.id){case"d3-force":case"d3-force-3d":Object.assign(m,{center:{x:u/2,y:d/2,z:0}});break}return hr(v.options,m,c),v}updateElementPosition(e,t){const{model:n,element:i}=this.context;return i?(n.updateData(e),i.draw({animation:t,silence:!0})):null}destroy(){var e;this.stopLayout(),this.context={},(e=this.supervisor)===null||e===void 0||e.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const oC=(r,e)=>{var t;const[n,i]=e;(t=r.nodes)===null||t===void 0||t.forEach(a=>{if(a.style){const{x:s=0,y:o=0}=a.style;a.style.x=s+n,a.style.y=o+i}else a.style={x:n,y:i}})};function FJ(r){return[BJ].reduce((t,n)=>n(t),r)}function BJ(r){return!r.layout||Array.isArray(r.layout)||"preLayout"in r.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(r.layout.type)&&(r.layout.preLayout=!0),r}class zJ extends Db{constructor(e){super(e),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(e){this.setExtensions(e)}getPluginInstance(e){const t=this.extensionMap[e];if(t)return t;Di.warn(`Cannot find the plugin ${e}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===e);if(n)return this.extensionMap[n.key]}}const _u=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class jJ extends Db{constructor(e){super(e),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(e){this.setExtensions([..._u.slice(0,_u.length-1),...e,_u[_u.length-1]])}getTransformInstance(e){return e?this.extensionMap[e]:this.extensionMap}}var cl=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class $J{get padding(){return Fi(this.context.options.padding)}get paddingOffset(){const[e,t,n,i]=this.padding,[a,s,o]=[(i-t)/2,(e-n)/2,0];return[a,s,o]}constructor(e){this.landmarkCounter=0,this.context=e;const[t,n]=this.paddingOffset,{zoom:i,rotation:a,x:s=t,y:o=n}=e.options;this.transform({mode:"absolute",scale:i,translate:[s,o],rotate:a},!1)}get camera(){const{canvas:e}=this.context;return new Proxy(e.getCamera(),{get:(t,n)=>{const a=Object.entries(e.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),s=t[n];if(typeof s=="function")return(...o)=>{const l=s.apply(t,o);return a.forEach(c=>{c[n].apply(c,o)}),l}}})}createLandmark(e){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,e)}getAnimation(e){const t=uA(this.context.options,e);return t?xs(Object.assign({},t),["easing","duration"]):!1}getCanvasSize(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t,n]}getCanvasCenter(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t/2,n/2,0]}getViewportCenter(){const[e,t]=this.camera.getPosition();return[e,t,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(e){const{camera:t}=this,{mode:n,translate:i=[]}=e,a=this.getZoom(),s=t.getPosition(),o=t.getFocalPoint(),[l,c]=this.getCanvasCenter(),[u=0,d=0,h=0]=i,f=di([-u,-d,-h],a);return n==="relative"?{position:Ze(s,f),focalPoint:Ze(o,f)}:{position:Ze([l,c,s[2]],f),focalPoint:Ze([l,c,o[2]],f)}}getRotateOptions(e){const{mode:t,rotate:n=0}=e;return{roll:t==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(e){const{zoomRange:t}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=e;return an(i==="relative"?n*a:a,...t)}transform(e,t){return cl(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:s,origin:o}=e;this.cancelAnimation();const l=this.getAnimation(t);if(Tn(n,new Su(we.BEFORE_TRANSFORM,e)),!a&&s&&!i&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(e),o),Tn(n,new Su(we.AFTER_TRANSFORM,e));return}const c={};if(i&&Object.assign(c,this.getTranslateOptions(e)),Ce(a)&&Object.assign(c,this.getRotateOptions(e)),Ce(s)&&Object.assign(c,{zoom:this.getZoomOptions(e)}),l)return Tn(n,new Ur(we.BEFORE_ANIMATE,mr.TRANSFORM,null,e)),new Promise(u=>{this.transformResolver=u,this.camera.gotoLandmark(this.createLandmark(c),Object.assign(Object.assign({},l),{onfinish:()=>{Tn(n,new Ur(we.AFTER_ANIMATE,mr.TRANSFORM,null,e)),Tn(n,new Su(we.AFTER_TRANSFORM,e)),this.transformResolver=void 0,u()}}))});this.camera.gotoLandmark(this.createLandmark(c),{duration:0}),Tn(n,new Su(we.AFTER_TRANSFORM,e))})}fitView(e,t){return cl(this,void 0,void 0,function*(){const[n,i,a,s]=this.padding,{when:o="always",direction:l="both"}=e||{},[c,u]=this.context.canvas.getSize(),d=c-s-i,h=u-n-a,f=this.context.canvas.getBounds(),g=this.getBBoxInViewport(f),[p,v]=Wa(g),m=l==="x"&&p>=d||l==="y"&&v>=h||l==="both"&&p>=d&&v>=h;if(o==="overflow"&&!m)return yield this.fitCenter({animation:t});const y=d/p,b=h/v,w=l==="x"?y:l==="y"?b:Math.min(y,b),E=this.getAnimation(t);yield this.transform({mode:"relative",scale:w,translate:Ze(St(this.getCanvasCenter(),this.getBBoxInViewport(f).center),di(this.paddingOffset,w))},E)})}fitCenter(e){return cl(this,void 0,void 0,function*(){const t=this.context.canvas.getBounds();yield this.focus(t,e)})}focusElements(e){return cl(this,arguments,void 0,function*(t,n={}){const{element:i}=this.context;if(!i)return;const a=o=>n.shapes?o.getShape(n.shapes).getRenderBounds():o.getRenderBounds(),s=cc(t.map(o=>a(i.getElement(o))));yield this.focus(s,n)})}focus(e,t){return cl(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(e.center),i=t.position||this.getCanvasCenter(),a=St(i,n);yield this.transform({mode:"relative",translate:Ze(a,this.paddingOffset)},t.animation)})}getBBoxInViewport(e){const{min:t,max:n}=e,{graph:i}=this.context,[a,s]=i.getViewportByCanvas(t),[o,l]=i.getViewportByCanvas(n),c=new Rt;return c.setMinMax([a,s,0],[o,l,0]),c}isInViewport(e,t=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[s,o]=i.getCanvasByViewport([0,0]),[l,c]=i.getCanvasByViewport(a);let u=new Rt;return u.setMinMax([s,o,0],[l,c,0]),n&&(u=Va(u,n)),Ao(e)?ui(e,u):t?Uz(e,u):u.intersects(e)}cancelAnimation(){var e,t;!((e=this.camera.landmarks)===null||e===void 0)&&e.length&&this.camera.cancelLandmarkAnimation(),(t=this.transformResolver)===null||t===void 0||t.call(this)}}var At=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Hh extends Wd{constructor(e){var t;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new RJ},this.isCollapsingExpanding=!1,this.onResize=nc(()=>{this.resize()},300),this._setOptions(Object.assign({},Hh.defaultOptions,e),!0),this.context.graph=this,this.options.autoResize&&((t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(e){this._setOptions(e,!1)}_setOptions(e,t){if(this.updateCanvas(e),Object.assign(this.options,FJ(e)),t){const{data:h}=e;h&&this.addData(h);return}const{behaviors:n,combo:i,data:a,edge:s,layout:o,node:l,plugins:c,theme:u,transforms:d}=e;n&&this.setBehaviors(n),a&&this.setData(a),l&&this.setNode(l),s&&this.setEdge(s),i&&this.setCombo(i),o&&this.setLayout(o),u&&this.setTheme(u),c&&this.setPlugins(c),d&&this.setTransforms(d)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(e,t){e&&(this.options.width=e),t&&(this.options.height=t),this.resize(e,t)}setZoomRange(e){this.options.zoomRange=e}getZoomRange(){return this.options.zoomRange}setNode(e){this.options.node=e,this.context.model.refreshData()}setEdge(e){this.options.edge=e,this.context.model.refreshData()}setCombo(e){this.options.combo=e,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(e){this.options.theme=Ie(e)?e(this.getTheme()):e}setLayout(e){this.options.layout=Ie(e)?e(this.getLayout()):e}getLayout(){return this.options.layout}setBehaviors(e){var t;this.options.behaviors=Ie(e)?e(this.getBehaviors()):e,(t=this.context.behavior)===null||t===void 0||t.setBehaviors(this.options.behaviors)}updateBehavior(e){this.setBehaviors(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(e){var t;this.options.plugins=Ie(e)?e(this.getPlugins()):e,(t=this.context.plugin)===null||t===void 0||t.setPlugins(this.options.plugins)}updatePlugin(e){this.setPlugins(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(e){return this.context.plugin.getPluginInstance(e)}setTransforms(e){var t;this.options.transforms=Ie(e)?e(this.getTransforms()):e,(t=this.context.transform)===null||t===void 0||t.setTransforms(this.options.transforms)}updateTransform(e){this.setTransforms(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(e){return Array.isArray(e)?e.map(t=>this.context.model.getElementDataById(t)):this.context.model.getElementDataById(e)}getNodeData(e){var t;return e===void 0?this.context.model.getNodeData():Array.isArray(e)?this.context.model.getNodeData(e):(t=this.context.model.getNodeData([e]))===null||t===void 0?void 0:t[0]}getEdgeData(e){var t;return e===void 0?this.context.model.getEdgeData():Array.isArray(e)?this.context.model.getEdgeData(e):(t=this.context.model.getEdgeData([e]))===null||t===void 0?void 0:t[0]}getComboData(e){var t;return e===void 0?this.context.model.getComboData():Array.isArray(e)?this.context.model.getComboData(e):(t=this.context.model.getComboData([e]))===null||t===void 0?void 0:t[0]}setData(e){this.context.model.setData(Ie(e)?e(this.getData()):e)}addData(e){this.context.model.addData(Ie(e)?e(this.getData()):e)}addNodeData(e){this.context.model.addNodeData(Ie(e)?e(this.getNodeData()):e)}addEdgeData(e){this.context.model.addEdgeData(Ie(e)?e(this.getEdgeData()):e)}addComboData(e){this.context.model.addComboData(Ie(e)?e(this.getComboData()):e)}addChildrenData(e,t){this.context.model.addChildrenData(e,t)}updateData(e){this.context.model.updateData(Ie(e)?e(this.getData()):e)}updateNodeData(e){this.context.model.updateNodeData(Ie(e)?e(this.getNodeData()):e)}updateEdgeData(e){this.context.model.updateEdgeData(Ie(e)?e(this.getEdgeData()):e)}updateComboData(e){this.context.model.updateComboData(Ie(e)?e(this.getComboData()):e)}removeData(e){this.context.model.removeData(Ie(e)?e(this.getData()):e)}removeNodeData(e){this.context.model.removeNodeData(Ie(e)?e(this.getNodeData()):e)}removeEdgeData(e){this.context.model.removeEdgeData(Ie(e)?e(this.getEdgeData()):e)}removeComboData(e){this.context.model.removeComboData(Ie(e)?e(this.getComboData()):e)}getElementType(e){return this.context.model.getElementType(e)}getRelatedEdgesData(e,t="both"){return this.context.model.getRelatedEdgesData(e,t)}getNeighborNodesData(e){return this.context.model.getNeighborNodesData(e)}getAncestorsData(e,t){return this.context.model.getAncestorsData(e,t)}getParentData(e,t){return this.context.model.getParentData(e,t)}getChildrenData(e){return this.context.model.getChildrenData(e)}getDescendantsData(e){return this.context.model.getDescendantsData(e)}getElementDataByState(e,t){return this.context.model.getElementDataByState(e,t)}initCanvas(){return At(this,void 0,void 0,function*(){var e;if(this.context.canvas)return yield this.context.canvas.ready;const{container:t="container",width:n,height:i,renderer:a,cursor:s,background:o,canvas:l,devicePixelRatio:c=(e=globalThis.devicePixelRatio)!==null&&e!==void 0?e:1}=this.options;if(t instanceof tC)this.context.canvas=t,s&&t.setCursor(s),a&&t.setRenderer(a),yield t.ready;else{const u=gt(t)?document.getElementById(t):t,d=iC(u);this.emit(we.BEFORE_CANVAS_INIT,{container:u,width:n,height:i});const h=Object.assign(Object.assign({},l),{container:u,width:n||d[0],height:i||d[1],background:o,renderer:a,cursor:s,devicePixelRatio:c}),f=new tC(h);this.context.canvas=f,yield f.ready,this.emit(we.AFTER_CANVAS_INIT,{canvas:f})}})}updateCanvas(e){var t,n;const{renderer:i,cursor:a,height:s,width:o}=e,l=this.context.canvas;l&&(i&&(this.emit(we.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(we.AFTER_RENDERER_CHANGE,{renderer:i})),a&&l.setCursor(a),(Ce(o)||Ce(s))&&this.setSize((t=o!=null?o:this.options.width)!==null&&t!==void 0?t:0,(n=s!=null?s:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new CJ(this.context)),this.context.plugin||(this.context.plugin=new zJ(this.context)),this.context.viewport||(this.context.viewport=new $J(this.context)),this.context.transform||(this.context.transform=new jJ(this.context)),this.context.element||(this.context.element=new LJ(this.context)),this.context.animation||(this.context.animation=new OJ(this.context)),this.context.layout||(this.context.layout=new DJ(this.context)),this.context.behavior||(this.context.behavior=new NJ(this.context))}prepare(){return At(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(Ji("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return At(this,void 0,void 0,function*(){if(yield this.prepare(),Tn(this,new bn(we.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&V$(this.options.layout)){const e=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.autoFit()])}else{const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.autoFit()])}this.rendered=!0,Tn(this,new bn(we.AFTER_RENDER))})}draw(){return At(this,void 0,void 0,function*(){var e;yield this.prepare(),yield(e=this.context.element.draw())===null||e===void 0?void 0:e.finished})}layout(e){return At(this,void 0,void 0,function*(){yield this.context.layout.postLayout(e)})}stopLayout(){this.context.layout.stopLayout()}clear(){return At(this,void 0,void 0,function*(){const{model:e,element:t}=this.context;e.setData({}),e.clearChanges(),t==null||t.clear()})}destroy(){var e;Tn(this,new bn(we.BEFORE_DESTROY));const{layout:t,animation:n,element:i,model:a,canvas:s,behavior:o,plugin:l}=this.context;l==null||l.destroy(),o==null||o.destroy(),t==null||t.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize),this.destroyed=!0,Tn(this,new bn(we.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(e,t){var n;const i=iC((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[e||i[0],t||i[1]];if(!this.context.canvas)return;const s=this.context.canvas.getSize();sn(a,s)||(Tn(this,new bn(we.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),Tn(this,new bn(we.AFTER_SIZE_CHANGE,{size:a})))}fitView(e,t){return At(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(e,t)})}fitCenter(e){return At(this,void 0,void 0,function*(){var t;yield(t=this.context.viewport)===null||t===void 0?void 0:t.fitCenter({animation:e})})}autoFit(){return At(this,void 0,void 0,function*(){const{autoFit:e}=this.context.options;if(e)if(gt(e))e==="view"?yield this.fitView():e==="center"&&(yield this.fitCenter());else{const{type:t,animation:n}=e;t==="view"?yield this.fitView(e.options,n):t==="center"&&(yield this.fitCenter(n))}})}focusElement(e,t){return At(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(e)?e:[e],{animation:t})})}zoomBy(e,t,n){return At(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:e,origin:n},t)})}zoomTo(e,t,n){return At(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:e,origin:n},t)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(e,t,n){return At(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:e,origin:n},t)})}rotateTo(e,t,n){return At(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:e,origin:n},t)})}getRotation(){return this.context.viewport.getRotation()}translateBy(e,t){return At(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:e},t)})}translateTo(e,t){return At(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:e},t)})}getPosition(){return St([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(e,t){return At(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=pn(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([u,d])=>this.context.model.translateNodeLikeBy(u,d)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(e,t){return At(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=pn(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([u,d])=>this.context.model.translateNodeLikeTo(u,d)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(e){return this.context.model.getElementPosition(e)}getElementRenderStyle(e){return bb(this.context.element.getElement(e).attributes,["context"])}setElementVisibility(e,t){return At(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=pn(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],u={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([f,g])=>{const p=this.getElementType(f);u[`${p}s`].push({id:f,style:{visibility:g}})});const{model:d,element:h}=this.context;d.preventUpdateNodeLikeHierarchy(()=>{d.updateData(u)}),yield(o=h.draw({animation:c,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(e,t){return At(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),t)})}hideElement(e,t){return At(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),t)})}getElementVisibility(e){var t,n;const i=this.context.element.getElement(e);return(n=(t=i==null?void 0:i.style)===null||t===void 0?void 0:t.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(e,t){return At(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=pn(e)?e:{[e]:t};Object.entries(a).forEach(([l,c])=>{const u=this.getElementType(l);i[`${u}s`].push({id:l,style:{zIndex:c}})});const{model:s,element:o}=this.context;s.preventUpdateNodeLikeHierarchy(()=>s.updateData(i)),yield(n=o.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(e){return At(this,void 0,void 0,function*(){const t=Array.isArray(e)?e:[e],{model:n}=this.context,i={};t.map(a=>{const s=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const l=n.getAncestorsData(a,Mt).at(-1)||this.getComboData(a),c=[l,...n.getDescendantsData(te(l))],u=s-aC(l);c.forEach(h=>{i[te(h)]=this.getElementZIndex(te(h))+u});const{internal:d}=L1(c.map(te),h=>n.getRelatedEdgesData(h));d.forEach(h=>{const f=te(h);i[f]=this.getElementZIndex(f)+u})}else i[a]=s}),yield this.setElementZIndex(i)})}getElementZIndex(e){return aC(this.context.model.getElementDataById(e))}setElementState(e,t){return At(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=pn(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],u=h=>h?Array.isArray(h)?h:[h]:[],d={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([h,f])=>{const g=this.getElementType(h);d[`${g}s`].push({id:h,states:u(f)})}),this.updateData(d),yield(o=this.context.element.draw({animation:c,stage:"state"}))===null||o===void 0?void 0:o.finished})}getElementState(e){return this.context.model.getElementState(e)}getElementRenderBounds(e){return this.context.element.getElement(e).getRenderBounds()}collapseElement(e){return At(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(wr(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(t);yield this.frontElement(t),this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!0),s==="node"?yield a.collapseNode(t,n):s==="combo"&&(yield a.collapseCombo(t,!!n.animation)),this.isCollapsingExpanding=!1})}expandElement(e){return At(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(!wr(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(t);this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!1),s==="node"?yield a.expandNode(t,n):s==="combo"&&(yield a.expandCombo(t,!!n.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(e,t){const n=this.getElementType(e);n==="node"?this.updateNodeData([{id:e,style:{collapsed:t}}]):n==="combo"&&this.updateComboData([{id:e,style:{collapsed:t}}])}toDataURL(){return At(this,arguments,void 0,function*(e={}){return this.context.canvas.toDataURL(e)})}getCanvasByViewport(e){return this.context.canvas.getCanvasByViewport(e)}getViewportByCanvas(e){return this.context.canvas.getViewportByCanvas(e)}getClientByCanvas(e){return this.context.canvas.getClientByCanvas(e)}getCanvasByClient(e){return this.context.canvas.getCanvasByClient(e)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(e,t,n){return super.on(e,t,n)}once(e,t){return super.once(e,t)}off(e,t){return super.off(e,t)}}Hh.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var qJ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function GJ(r,e){const{getNodeData:t=(o,l)=>{if(o.depth=l,!o.children)return o;const{children:c}=o,u=qJ(o,["children"]);return Object.assign(Object.assign({},u),{children:c.map(d=>d.id)})},getEdgeData:n=(o,l)=>({source:o.id,target:l.id}),getChildren:i=o=>o.children||[]}={},a=[],s=[];return vs(r,(o,l)=>{a.push(t(o,l));const c=i(o);for(const u of c)s.push(n(o,u))},o=>i(o),"TB"),{nodes:a,edges:s}}class WJ extends Xa{beforeDraw(e){const{add:t,update:n}=e,{model:i}=this.context;return[...t.edges.entries(),...n.edges.entries()].forEach(([,a])=>{$L(i,a)}),e}}const $L=(r,e)=>{const{source:t,target:n}=e,i=r.getElementDataById(t),a=r.getElementDataById(n),s=wE(i,d=>r.getParentData(d,Mt)),o=wE(a,d=>r.getParentData(d,Mt)),l=te(s),c=te(o),u={sourceNode:l,targetNode:c};return e.style?Object.assign(e.style,u):e.style=u,e},VJ=(r,e,t)=>{const[n,i]=e,[a,s]=t;if(i===n)return a;const o=(r-n)/(i-n);return a+o*(s-a)},UJ=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.log(r-n+1)/Math.log(i-n+1);return a+o*(s-a)},HJ=(r,e,t,n=2)=>{const[i,a]=e,[s,o]=t,l=Math.pow((r-i)/(a-i),n);return s+l*(o-s)},YJ=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.sqrt((r-n)/(i-n));return a+o*(s-a)};class Yh extends Xa{constructor(e,t){super(e,hr({},Yh.defaultOptions,t)),this.assignSizeByCentrality=(n,i,a,s,o,l)=>{const c=[i,a],u=[s[0],o[0]],d=[s[1],o[1]],h=[s[2],o[2]],f=(g,p)=>{if(typeof l=="function")return l(g,c,p);switch(l){case"linear":return VJ(g,c,p);case"log":return UJ(g,c,p);case"pow":return HJ(g,c,p,2);case"sqrt":return YJ(g,c,p);default:return p[0]}};return[f(n,u),f(n,d),f(n,h)]}}beforeDraw(e){const{model:t}=this.context,n=t.getNodeData(),i=Ir(this.options.maxSize),a=Ir(this.options.minSize),s=this.getCentralities(this.options.centrality),o=s.size>0?Math.max(...s.values()):0,l=s.size>0?Math.min(...s.values()):0;return n.forEach(c=>{var u;const d=this.assignSizeByCentrality(s.get(te(c))||0,l,o,a,i,this.options.scale),h=(u=this.context.element)===null||u===void 0?void 0:u.getElement(te(c)),f={size:d};this.assignLabelStyle(f,d,c,h),(!h||!Du(f,h.attributes))&&Lr(e,h?"update":"add","node",hr(c,{style:f}),!0)}),e}assignLabelStyle(e,t,n,i){var a;const s=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(e,xs(s,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(t,1/0,Number(e.labelFontSize));Object.assign(e,{labelFontSize:o,labelLineHeight:o+Vz(e.labelPadding)})}return e}getLabelSizeByNodeSize(e,t,n){const i=Math.min(...e)/2,[a,s]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,t];return Math.min(s,Math.max(i,a))}getCentralities(e){const{model:t}=this.context,n=t.getData();if(typeof e=="function")return e(n);const i=t.getRelatedEdgesData.bind(t);return wA(n,i,e)}}Yh.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Kh extends Xa{constructor(e,t){super(e,Object.assign({},Kh.defaultOptions,t))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var e;const t=On(this.ref),{graph:n,model:i}=this.context;(e=i.getData().nodes)===null||e===void 0||e.forEach(s=>{var o;if(te(s)===te(this.ref))return;const l=SA(St(On(s),t)),c=Math.abs(l)>Math.PI/2,u=!s.children||s.children.length===0,d=te(s),h=(o=this.context.element)===null||o===void 0?void 0:o.getElement(d);if(!h||!h.isVisible())return;const f=Ir(n.getElementRenderStyle(d).size)[0]/2,g=(u?1:-1)*(f+this.options.offset),p=[["translate",g*Math.cos(l),g*Math.sin(l)],["rotate",c?br(l)+180:br(l)]];i.updateNodeData([{id:te(s),style:{labelTextAlign:c===u?"right":"left",labelTextBaseline:"middle",labelTransform:p}}])}),n.draw()}}Kh.defaultOptions={offset:5};const KJ="quadratic",lC=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class Xh extends Xa{constructor(e,t){super(e,Object.assign({},Xh.defaultOptions,t)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:s,combos:o},remove:{edges:l}}=n,{model:c}=this.context,u=new Map,d=(g,p)=>{c.getRelatedEdgesData(p).forEach(m=>!u.has(te(m))&&u.set(te(m),m))};a.forEach(d),o.forEach(d);const h=g=>{const p=c.getEdgeData().map(m=>$L(c,m));XJ(g,p).forEach(m=>!u.has(te(m))&&u.set(te(m),m))};if(l.size&&l.forEach(h),i.size&&i.forEach(h),s.size){const g=QR(wx(c.getChanges())).update.edges;s.forEach(p=>{var v;h(p);const m=(v=g.find(y=>te(y.value)===te(p)))===null||v===void 0?void 0:v.original;m&&!Dx(p,m)&&h(m)})}ki(this.options.edges)||u.forEach((g,p)=>!this.options.edges.includes(p)&&u.delete(p));const f=c.getEdgeData().map(te);return new Map([...u].sort((g,p)=>f.indexOf(g[0])-f.indexOf(p[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:s,reverses:o}=cC(i);s.forEach(l=>{l.forEach((c,u,d)=>{var h;const f=d.length,g=c.style||{};if(c.source===c.target){const m=lC.length;g.loopPlacement=lC[u%m],g.loopDist=Math.floor(u/m)*a+50}else if(f===1)g.curveOffset=0;else{const m=(u%2===0?1:-1)*(o[`${c.source}|${c.target}|${u}`]?-1:1);g.curveOffset=f%2===1?m*Math.ceil(u/2)*a*2:m*(Math.floor(u/2)*a*2+a)}const p=Object.assign(c,{type:KJ,style:g}),v=(h=this.context.element)===null||h===void 0?void 0:h.getElement(te(c));(!v||!Du(p.style,v.attributes))&&Lr(n,v?"update":"add","edge",p,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(te(n))||{};return Object.keys(a).forEach(s=>{sn(i[s],a[s])&&(n[s]?i[s]=n[s]:delete i[s])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:s}=cC(i);a.forEach(o=>{var l;if(o.length===1){const u=o[0],d=(l=this.context.element)===null||l===void 0?void 0:l.getElement(te(u)),h=this.resetEdgeStyle(u);(!d||!Du(h,d.attributes))&&Lr(n,d?"update":"add","edge",h);return}const c=o.map(({source:u,target:d,style:h={}},f)=>{const{startArrow:g,endArrow:p}=h,v={},[m,y]=s[`${u}|${d}|${f}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return Wu(g)&&(v[m]=g),Wu(p)&&(v[y]=p),v}).reduce((u,d)=>Object.assign(Object.assign({},u),d),{});o.forEach((u,d,h)=>{var f;if(d!==0){Lr(n,"remove","edge",u);return}const g=Object.assign({},Ie(this.options.style)?this.options.style(h):this.options.style,{childrenData:h});this.cacheMergeStyle.set(te(u),g);const p=Object.assign(Object.assign({},u),{type:"line",style:Object.assign(Object.assign(Object.assign({},u.style),c),g)}),v=(f=this.context.element)===null||f===void 0?void 0:f.getElement(te(u));(!v||!Du(p.style,v.attributes))&&Lr(n,v?"update":"add","edge",p,!0)})})}}beforeDraw(e){const t=this.getAffectedParallelEdges(e);return t.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(e,t,this.options.distance):this.applyMergingStyle(e,t)),e}}Xh.defaultOptions={mode:"bundle",distance:15};const cC=r=>{const e=new Map,t=new Set,n={};for(const[i,a]of r){if(t.has(i))continue;const{source:s,target:o}=a,l=`${s}-${o}`;e.has(l)||e.set(l,[]),e.get(l).push(a),t.add(i);for(const[c,u]of r)t.has(c)||Dx(a,u)&&(e.get(l).push(u),t.add(c),s===u.target&&o===u.source&&(n[`${u.source}|${u.target}|${e.get(l).length-1}`]=!0))}return{edgeMap:e,reverses:n}},XJ=(r,e,t)=>e.filter(n=>Dx(n,r)),Dx=(r,e)=>{const{sourceNode:t,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=e.style||{};return t===i&&n===a||t===a&&n===i};class ZJ extends Xa{beforeDraw(e,t){const{stage:n}=t;if(n==="visibility")return e;const{model:i}=this.context,{update:{nodes:a,edges:s,combos:o}}=e,l=(c,u)=>{i.getRelatedEdgesData(u).forEach(h=>!s.has(te(h))&&s.set(te(h),h))};return a.forEach(l),o.forEach(l),e}}const JJ={animation:{"combo-collapse":gA,"combo-expand":qz,"node-collapse":hA,"node-expand":jz,"path-in":fA,"path-out":$z,fade:Bz,translate:zz},behavior:{"brush-select":uc,"click-select":Nd,"collapse-expand":$d,"create-edge":qd,"drag-canvas":Gd,"drag-element-force":Y$,"drag-element":pc,"fix-element-size":Ud,"focus-element":Hd,"hover-activate":Yd,"lasso-select":X$,"auto-adapt-label":Td,"optimize-viewport-transform":Kd,"scroll-canvas":Xd,"zoom-canvas":Zd},combo:{circle:H8,rect:Y8},edge:{cubic:Is,line:tP,polyline:zd,quadratic:gc,"cubic-horizontal":Dd,"cubic-radial":Fd,"cubic-vertical":Bd},layout:{"antv-dagre":Jq,"combo-combined":cW,"compact-box":hu.compactBox,"d3-force":IW,"force-atlas2":QU,circular:tG,concentric:$1,dagre:bh,dendrogram:hu.dendrogram,fishbone:xh,force:CP,fruchterman:nH,grid:iH,indented:hu.indented,mds:AP,mindmap:hu.mindmap,radial:fH,random:xH,snake:wh},node:{circle:fc,diamond:Xj,ellipse:Rd,hexagon:t8,html:Ld,image:YA,rect:V8,star:U8,donut:Pd,triangle:Id},palette:{spectral:DH,tableau:FH,oranges:BH,greens:zH,blues:jH},theme:{dark:pJ,light:yJ},plugin:{"bubble-sets":_h,"edge-bundling":Mh,"edge-filter-lens":Th,"grid-line":Nh,background:Eh,contextmenu:kh,fisheye:Oh,fullscreen:Ch,history:Ah,hull:Ph,legend:zh,minimap:jh,snapline:$h,timebar:qh,toolbar:Gh,tooltip:Wh,watermark:Vh},transform:{"arrange-draw-order":bJ,"collapse-expand-combo":xJ,"collapse-expand-node":wJ,"get-edge-actual-ends":WJ,"map-node-size":Yh,"place-radial-labels":Kh,"process-parallel-edges":Xh,"update-related-edges":ZJ},shape:{circle:sa,ellipse:sc,group:An,html:oc,image:$b,line:Ss,path:Pr,polygon:Rs,polyline:kd,rect:Yn,text:Ls,label:Ua,badge:Fo}};function QJ(){Object.entries(JJ).forEach(([r,e])=>{Object.entries(e).forEach(([t,n])=>{zL(r,t,n)})})}QJ();const Al=class Al extends gc{onCreate(){this.shapeMap.key.animate([{lineDashOffset:Al.lineDashGap*2},{lineDashOffset:0}],{duration:500,iterations:1/0,delay:0})}};Nt(Al,"tyoe","ant-quadratic"),Nt(Al,"lineDashGap",5);let ys=Al;zL(No.EDGE,ys.tyoe,ys,!0);const eQ=pt({__name:"TrackGraph",props:{nodes:{},queryResult:{},showUnitResults:{},filterUnitResults:{}},setup(r){const e=r,t=Xt(),n=v=>e.nodes[v],i=$e(()=>bI(e.queryResult.unitResults.asJsReadonlyArrayView().flatMap(v=>v.context.toArray()),v=>v.id)),a=$e(()=>l3(e.nodes,i.value)),s=v=>({id:v.id.toString(),children:a.value.getChildren(v).map(s)}),o=$e(()=>GJ(s(a.value.topNode))),l=v=>a.value.getChildren(v).length>0,c=$e(()=>{const v={},m={},y=N=>{const A=`#${N.source.id}-${N.target.id}`,P=v[A]||0;v[A]=P+1;const L=A+(P>0?`-${P}`:"");return m[L]=N,{id:L,source:String(N.source.id),target:String(N.target.id)}},w=e.showUnitResults.map(N=>({result:N,pathList:N.getNodeConnectPath(n3).asJsReadonlyArrayView().concat()})).map(({result:N,pathList:A})=>{const P=A.map(L=>y(L));return{result:N,edgeGroup:P}}),E=w.flatMap(N=>N.edgeGroup),_=N=>m[N.id].formatConnectOffset,O=N=>w.findIndex(A=>A.edgeGroup.some(P=>P.id===N.id));return{groupList:w,edgeList:E,getLabel:_,getColor:N=>{const A=e.showUnitResults.indexOf(w[O(N)].result);return uo[A%uo.length]},getGroupIndex:O}}),u=v=>{var m;return((m=v.id)==null?void 0:m[0])==="#"},d=(v,m,y,b)=>Math.sqrt(Math.pow(Math.abs(v-y),2)+Math.pow(Math.abs(m-b),2)),h=(v,m)=>{var w,E,_,O;const y=v.getNodeData(m.source),b=v.getNodeData(m.target);return d(((w=y.style)==null?void 0:w.x)||0,((E=y.style)==null?void 0:E.y)||0,((_=b.style)==null?void 0:_.x)||0,((O=b.style)==null?void 0:O.y)||0)},f=/\d+/,g=Tt();Rl(()=>{g.value&&g.value.destroy()}),Mi(t,async()=>{if(!t.value)return;const v=new Hh({container:t.value,data:o.value,autoFit:"view",padding:[24,48],animation:!1,node:{type(m){const y=n(m.id);return l(y)?"triangle":"rect"},style(m){const y=n(m.id),b=e.queryResult.target.id===y.id,w=a.value.isPlaceholder(y),E=c3(y);return{size:l(y)?4:1,direction:l(y)?"down":void 0,fill:l(y)?"#767C82":"#E3E3E3",pointerEvents:"none",labelPlacement:"right",labelText:a.value.getLabel(y),labelOffsetX:2,labelFontWeight:E&&!w?"bold":void 0,labelOpacity:w?.5:void 0,labelPointerEvents:"none",labelStroke:b?"#0FF":void 0}}},edge:{type(m){return u(m)?ys.tyoe:"polyline"},style(m){if(u(m)){const y=h(v,m),b=c.value.getLabel(m),w=b.match(f);return{curveOffset:30*(Number(m.source)>Number(m.target)?1:-1),stroke:c.value.getColor(m)||"#FF7FFF",zIndex:1+c.value.getGroupIndex(m),pointerEvents:"none",endArrow:!0,endArrowOpacity:.5,endArrowPointerEvents:"none",labelText:b,labelFill:"#F00",labelFontSize:w&&y<50?8:12,labelBackground:!0,labelBackgroundStroke:"#FF00FF",labelPadding:w?[0,1,-2,0]:[0,0,-1,0],labelBackgroundLineWidth:1,labelBackgroundRadius:2,labelBackgroundPointerEvents:"none",labelOffsetX:y<50?-5:0,labelPointerEvents:"none",lineDash:[ys.lineDashGap,ys.lineDashGap]}}return{router:{type:"orth"},stroke:"#E3E3E3",pointerEvents:"none"}}},layout:{type:"indented",direction:"LR",indent:20,getHeight:()=>0},behaviors:["drag-canvas","zoom-canvas"]});await v.render(),g.value=v});const p=$e(()=>{const v=e.filterUnitResults;return v!=null&&v.length?c.value.groupList.filter(m=>v.includes(m.result)).flatMap(m=>m.edgeGroup):[]});return Mi([g,p],async([v,m],[y,b])=>{if(v){if(m!==b){const w=b.filter(_=>!m.some(O=>O.id===_.id)),E=m.filter(_=>!b.some(O=>O.id===_.id));if(!w.length&&!E.length)return;v.removeEdgeData(w.map(_=>_.id)),await v.draw(),v.addEdgeData(E)}else v.addEdgeData(m);await v.draw()}}),(v,m)=>(We(),jt("div",{class:"TrackGraph",ref_key:"el",ref:t},null,512))}}),tQ={class:"TrackCard",flex:"","flex-col":"","h-full":"","p-12px":"","box-border":"","gap-8px":"","overflow-hidden":""},nQ={flex:"","justify-between":"","items-center":""},rQ={"flex-1":"",flex:"","gap-12px":"","overflow-hidden":""},iQ={"self-stretch":"",flex:"[2]"},aQ={"mb-24px":"","break-all":"","px-4px":"","py-2px":"","leading-20px":"",bg:"#eee",gkd_code:""},sQ={flex:"","flex-col":"","gap-12px":""},oQ={key:0,flex:"","gap-8px":""},lQ=["onClick"],cQ=pt({__name:"TrackCard",props:{nodes:{},queryResult:{},selector:{},onClose:{type:Function,default:So}},setup(r){const e=r,t=$e(()=>e.queryResult?e.queryResult.unitResults.asJsReadonlyArrayView().concat():[]),n=$e(()=>t.value.filter(l=>!l.context.prev)),i=$e(()=>t.value.filter(l=>l.context.prev)),a=Tt([]);ii(()=>{a.value=i.value});const s=l=>{a.value.includes(l)?a.value=a.value.filter(c=>c!==l):a.value=a.value.concat(l)},o=l=>{const c=l.value;return c instanceof zx&&t.value.some(u=>u.expression===c)&&!l.outChildren.some(u=>u.value instanceof zx)?{outline:"1px solid #00F"}:""};return(l,c)=>{const u=bs("SvgIcon"),d=Io,h=vb;return We(),jt("div",tQ,[Le("div",nQ,[c[0]||(c[0]=Le("div",{text:"20px/28px","font-bold":""},"选择器路径视图",-1)),Ee(d,{text:"",onClick:l.onClose},{default:xe(()=>[Ee(u,{name:"close",h:"20px"})]),_:1},8,["onClick"])]),Le("div",rQ,[Le("div",iQ,[l.nodes.length&&l.queryResult?(We(),rn(eQ,{key:0,nodes:l.nodes,queryResult:l.queryResult,showUnitResults:se(i),filterUnitResults:se(a),class:"h-[calc(100%-2px)] b-1px b-solid"},null,8,["nodes","queryResult","showUnitResults","filterUnitResults"])):Nn("",!0),c[1]||(c[1]=Le("div",{relative:"","pointer-events-none":"","z-1":""},[Le("div",{absolute:"","left-8px":"","bottom-8px":"",text:"12px/14px #6C6E71"}," *为简化视图已隐藏无关节点 ")],-1))]),Ee(h,{class:"self-stretch flex-1"},{default:xe(()=>[Le("div",aQ,[Ee(ku,{class:"gkd_code",source:l.selector.source,node:l.selector.ast,getNodeStyle:o},null,8,["source","node"])]),Le("div",sQ,[se(n).length?(We(),jt("div",oQ,[(We(!0),jt(oi,null,ds(se(n),(f,g)=>(We(),jt("div",{key:g,"break-all":"","px-4px":"","py-2px":"",gkd_code:"","b-1px":"","b-solid":"",b:"#ccc"},[Ee(ku,{class:"gkd_code",source:l.selector.source,node:l.selector.findAst(f.expression)},null,8,["source","node"])]))),128))])):Nn("",!0),(We(!0),jt(oi,null,ds(se(i),(f,g)=>(We(),jt("div",{key:g,"cursor-pointer":"","break-all":"","px-4px":"","py-2px":"",gkd_code:"","b-1px":"","b-solid":"","transition-colors":"",onClick:p=>s(f),style:Ri({borderColor:se(uo)[g%se(uo).length],backgroundColor:se(a).includes(f)?"#eee":void 0})},[Le("div",{"inline-block":"","align-middle":"","size-16px":"",style:Ri({backgroundColor:se(uo)[g%se(uo).length]})},null,4),c[2]||(c[2]=Le("span",{"pl-4px":""},null,-1)),Ee(ku,{class:"gkd_code",source:l.selector.source,node:l.selector.findAst(f.expression)},null,8,["source","node"])],12,lQ))),128))])]),_:1})])])}}}),uQ=pt({__name:"TrackModal",props:{data:{},show:{type:Boolean},onUpdateShow:{type:Function,default:So},onUpdateData:{type:Function,default:So}},setup(r){const e=r,t=Xt(!1),n=Xt(0);return Ky(()=>e.show,async()=>{e.show?(t.value=!0,n.value=-1,await new Promise(i=>setTimeout(i,300)),n.value=0):(n.value=1,await new Promise(i=>setTimeout(i,300)),t.value=!1,n.value=0,e.onUpdateData())}),P3("keyup",i=>{i.key==="Escape"&&e.onUpdateShow(!1)}),(i,a)=>se(t)?(We(),jt("div",{key:0,class:Ll(["TrackModal",{"track-model-enter":se(n)===-1,"track-model-exit":se(n)===1}]),absolute:"","left-0":"","top-0":"","bg-white":"","z-3000":"",w:"[--gkd-w]",h:"[--gkd-h]"},[i.data?(We(),rn(cQ,R3({key:0},i.data,{onClose:a[0]||(a[0]=s=>i.onUpdateShow(!1))}),null,16)):Nn("",!0)],2)):Nn("",!0)}}),dQ=V3(uQ,[["__scopeId","data-v-66dad45d"]]),uC=r=>{const e=Tt(),t={x:0,y:0},n=gb({...t});let i;const a=u=>{i&&u.preventDefault()},s=u=>{i=u,t.x=n.x,t.y=n.y},o=u=>{if(!i||!e.value)return;const d=u.clientX-i.clientX,h=u.clientY-i.clientY;r(d)&&(n.x=t.x+d),n.y=t.y+h},l=()=>{i=void 0},c=()=>{if(!e.value||!i)return;l();const{top:u,bottom:d,left:h,right:f}=e.value.getBoundingClientRect();(f<0||h>window.innerWidth||d<0||u>window.innerHeight)&&(n.x=t.x,n.y=t.y)};return xd(()=>{window.addEventListener("pointermove",o),window.addEventListener("pointerup",c),document.addEventListener("selectstart",a)}),Rl(()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",c),document.removeEventListener("selectstart",a),l()}),Mi(e,(u,d)=>{u&&(u.addEventListener("pointerdown",s),u.addEventListener("pointerup",l)),d&&(d.removeEventListener("pointerdown",s),d.removeEventListener("pointerup",l))}),Rl(()=>{e.value&&(e.value.removeEventListener("pointerdown",s),e.value.removeEventListener("pointerup",l))}),{target:e,offset:n}};let ul=1e3;const hQ=()=>{ul++;const r=Tt(ul);return{zIndex:r,setTop:()=>{r.value!==ul&&(ul++,r.value=ul)}}},dC="transition-top,bottom,left,right-500",Zh=pt({__name:"DraggableCard",props:{initialValue:{default:()=>({})},minWidth:{},sizeDraggable:{type:Boolean},show:{type:Boolean,default:!0},class:{}},setup(r){var E,_;const e=r,t=e.initialValue.left!==void 0,n=e.initialValue.top!==void 0,i={x:(E=t?e.initialValue.left:e.initialValue.right)!=null?E:0,y:(_=n?e.initialValue.top:e.initialValue.bottom)!=null?_:0},a=uC(O=>{const M=(e.initialValue.width||0)+s.offset.x+-a.offset.x-O;return(e.minWidth||0)<M}),s=uC(O=>{const M=(e.initialValue.width||0)+s.offset.x+O-a.offset.x;return(e.minWidth||0)<M}),o=gb({...i}),l=$e(()=>{const O=(e.initialValue.width||0)+s.offset.x-a.offset.x,M=e.initialValue.width?`width:${O}px;`:"",N=n?`top:${o.y}px;`:`bottom:${o.y}px;`;return t?`left:${o.x-a.offset.x}px;`+N+M:`right:${o.x-s.offset.x}px;`+N+M});let c;const u=Tt(!1),d=O=>{c=O,i.x=o.x,i.y=o.y,u.value=!1},h=O=>{if(!p.value||!c)return;const M=O.clientX-c.clientX,N=O.clientY-c.clientY;o.x=i.x+(t?M:-M),o.y=i.y+(n?N:-N),u.value=!0},f=()=>{c=void 0},g=Tt(),p=Tt(),v=O=>{c&&O.preventDefault()},m=()=>{if(!p.value||!c)return;f();const{top:O,bottom:M,left:N,right:A}=p.value.getBoundingClientRect();if(A<0||N>window.innerWidth||M<0||O>window.innerHeight){o.x=i.x,o.y=i.y;const P=g.value;P&&(P.classList.add(dC),setTimeout(()=>{P.classList.remove(dC)},550))}};xd(()=>{window.addEventListener("pointermove",h),window.addEventListener("pointerup",m),document.addEventListener("selectstart",v)}),Rl(()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",m),document.removeEventListener("selectstart",v),f()}),Mi(p,(O,M)=>{O&&(O.addEventListener("pointerdown",d),O.addEventListener("pointerup",f)),M&&(M.removeEventListener("pointerdown",d),M.removeEventListener("pointerup",f))}),Rl(()=>{p.value&&(p.value.removeEventListener("pointerdown",d),p.value.removeEventListener("pointerup",f))});const y=O=>{O instanceof HTMLElement?p.value=O:p.value=void 0},{setTop:b,zIndex:w}=hQ();return Mi(()=>e.show,()=>{e.show&&b()}),(O,M)=>(We(),rn(xC,{to:"body"},[O.show?(We(),jt("div",{key:0,fixed:"",ref_key:"box",ref:g,class:Ll(["DraggableCard",e.class]),style:Ri([se(l),{zIndex:se(w)}]),onMousedown:M[0]||(M[0]=(...N)=>se(b)&&se(b)(...N))},[L3(O.$slots,"default",{onRef:y,moved:se(u)}),O.sizeDraggable?(We(),jt(oi,{key:0},[Le("div",{ref:se(a).target,absolute:"","right-full":"","top-0":"","bottom-0":"","w-5px":"","cursor-ew-resize":""},null,512),Le("div",{ref:se(s).target,absolute:"","left-full":"","top-0":"","bottom-0":"","w-5px":"","cursor-ew-resize":""},null,512)],64)):Nn("",!0)],38)):Nn("",!0)]))}}),fQ=async r=>fetch("https://detect.gkd.li/api/getImportId?id="+r).then(e=>e.json()).catch(()=>0),$s=I3("snapshot",()=>{const r=wC(),e=EC(),t=D3(),n=SC(),{snapshotImportId:i,snapshotImageId:a,importSnapshotId:s}=n,o=Tt();Ky(()=>r.params.snapshotId,I=>{o.value=F3(I)});const l=$e(()=>{if(o.value)return i[o.value]}),c=$e(()=>{if(o.value)return a[o.value]}),u=Tt();ii(()=>{u.value&&(document.title="快照-"+(Ei(u.value).name||u.value.appId))});const d=Tt(),h=$e(()=>{if(d.value)return URL.createObjectURL(new Blob([d.value],{type:"image/png"}))}),f=Tt(!1),g=rI(async I=>{if(f.value=!1,!I){u.value=void 0,d.value=void 0;return}if(await Promise.all([X3.getItem(I).then(G=>{u.value=G||void 0}),Z3.getItem(I).then(G=>{d.value=G||void 0})]),!u.value){const G=i[I]||await fQ(I);if(G&&Number.isSafeInteger(G)){f.value=!0,e.replace({path:"/i/"+G,query:r.query});return}}}),p=$e(()=>g.loading);Ky(()=>o.value,g.invoke),ii(()=>{l.value&&n.inited&&!s[l.value]&&o.value&&(s[l.value]=o.value,fetch("https://detect.gkd.li/api/detectSnapshot?importId="+l.value))});const v=$e(()=>J3()&&t.inited&&t.autoUploadImport&&n.inited);ii(()=>{v.value&&u.value&&!c.value&&U3(u.value),v.value&&u.value&&!l.value&&H3(u.value),v.value&&u.value&&l.value&&Y3(u.value.id,l.value)});const m=$e(()=>u.value&&t.inited?u.value.nodes.length<=t.maxShowNodeSize?structuredClone(u.value.nodes):structuredClone(u.value.nodes.slice(0,t.maxShowNodeSize)):[]),y=$e(()=>{if(m.value.length)return u3(m.value)}),b=$e(()=>u.value?u.value.nodes.length-t.maxShowNodeSize:0),w=Tt(),E=Tt(0),_=Tt(),O=Tt(),M=async I=>{w.value=I,E.value=Date.now(),await co(),O.value&&!O.value.includes(I)&&(_.value=void 0,O.value=void 0)};ii(()=>{y.value&&M(y.value)});const N=I=>{_.value=I;const G=d3(m.value,_.value);G.length&&M(G[0]),G.length>1&&(O.value=G)},A=Xt(!1),P=Tt();return{snapshotId:o,snapshot:u,rootNode:y,screenshotUrl:h,loading:p,redirected:f,importId:l,imageId:c,focusNode:w,updateFocusNode:M,focusTime:E,overlapNodes:O,missNodeSize:b,focusPosition:_,updatePosition:N,trackData:P,trackShow:A,showTrack:(I,G)=>{A.value=!0,P.value={selector:I,nodes:m.value,queryResult:G}}}}),gQ={absolute:"","top-0":"","right-0":"","pt-4px":"","pr-8px":""},vQ={key:0,flex:"","justify-between":"","items-center":""},pQ={flex:"","items-center":"","h-24px":"","px-2px":""},mQ={"max-w-500px":""},yQ=pt({__name:"AttrCard",props:{show:{type:Boolean},onUpdateShow:{type:Function,default:So}},setup(r){const{focusNode:e}=Ns($s()),t=$e(()=>{const s=e.value;return s?{_id:{desc:"虚拟属性(真机不可用):生成快照访问节点顺序",type:"info",show:!0},_pid:{desc:"虚拟属性(真机不可用):父节点的 _id",type:"info",show:!0},_selector:{desc:"自动生成的选择器, 点击“_selector”可直接复制内容, 用于定位",type:"info",show:!0},depth:{desc:"使用此属性在某些应用上可能造成无限节点错误",type:"info",show:!0},id:{desc:"可快速查找",type:"quickFind",show:!!((s.quickFind||s.idQf)&&s.attr.id)},vid:{desc:"可快速查找",type:"quickFind",show:!!((s.quickFind||s.idQf)&&s.attr.vid)},text:{desc:"可快速查找",type:"quickFind",show:!!((s.quickFind||s.textQf)&&s.attr.text)}}:{}}),n=["text","desc"],i=$e(()=>e.value?Object.entries(e.value.attr).map(([s,o])=>{var c,u,d;const l={name:s,value:o,desc:JSON.stringify(o),tip:(c=t.value[s])!=null&&c.show?t.value[s]:void 0};return n.includes(s)?[l,{name:s+".length",value:(u=o==null?void 0:o.length)!=null?u:null,desc:JSON.stringify((d=o==null?void 0:o.length)!=null?d:null),tip:void 0}]:l}).flat():[]),a=$e(()=>e.value?h3(e.value):"");return(s,o)=>{const l=bs("SvgIcon"),c=Io,u=lb,d=ob,h=GI,f=iI,g=WI,p=qI,v=$I;return We(),rn(Zh,{initialValue:{top:40,right:10},class:"box-shadow-dim",show:s.show&&!!se(e)},{default:xe(({onRef:m})=>[Le("div",gQ,[Ee(c,{onClick:o[0]||(o[0]=y=>s.onUpdateShow(!s.show)),text:"",title:"最小化"},{icon:xe(()=>[Ee(l,{name:"minus"})]),_:1})]),se(e)?(We(),rn(v,{key:0,size:"small",striped:"",singleLine:!1,class:"gkd_code",themeOverrides:{thPaddingSmall:"1px 3px",tdPaddingSmall:"0px 3px"}},{default:xe(()=>[Le("thead",null,[Le("tr",{ref:m,"cursor-move":""},o[2]||(o[2]=[Le("th",null,"Name",-1),Le("th",null,"Value",-1)]),512)]),Ee(p,null,{default:xe(()=>[(We(!0),jt(oi,null,ds(se(i),y=>(We(),rn(g,{key:y.name},{default:xe(()=>[Ee(h,{onClick:b=>se(_i)(`${y.name}=${y.desc}`)},{default:xe(()=>[y.tip?(We(),jt("div",vQ,[Le("div",null,vt(y.name),1),Ee(d,null,{trigger:xe(()=>[Ee(u,{size:"16"},{default:xe(()=>[y.tip.type=="info"?(We(),rn(l,{key:0,name:"info"})):y.tip.type=="quickFind"?(We(),rn(l,{key:1,name:"ok"})):Nn("",!0)]),_:2},1024)]),default:xe(()=>[zt(" "+vt(y.tip.desc),1)]),_:2},1024)])):(We(),jt(oi,{key:1},[zt(vt(y.name),1)],64))]),_:2},1032,["onClick"]),Ee(h,null,{default:xe(()=>[Ee(f,{class:Ll(["w-[calc(var(--gkd-w)*0.12)]",{"text-left direction-rtl":y.name=="id","opacity-50":y.value===null}])},{default:xe(()=>[zt(vt(y.desc),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1024))),128)),Ee(g,null,{default:xe(()=>[Ee(h,{colspan:"2"},{default:xe(()=>[Le("div",pQ,[Ee(d,null,{trigger:xe(()=>[Ee(c,{text:"",onClick:o[1]||(o[1]=y=>se(_i)(se(a)))},{icon:xe(()=>[Ee(u,{size:"20"},{default:xe(()=>[Ee(l,{name:"path"})]),_:1})]),_:1})]),default:xe(()=>[Le("div",mQ,vt(se(a)),1)]),_:1})])]),_:1})]),_:1})]),_:1})]),_:2},1024)):Nn("",!0)]),_:1},8,["show"])}}}),bQ={bg:"#eee","px-2px":""},xQ=pt({__name:"OverlapCard",setup(r){const e=$s(),{focusNode:t,overlapNodes:n,focusPosition:i}=Ns(e),s=document.documentElement.scrollWidth/100*25.5;return(o,l)=>{const c=Io,u=_C,d=B3;return We(),rn(Zh,{initialValue:{top:215,left:s},class:"box-shadow-dim w-420px",show:!!(se(n)&&se(i))},{default:xe(({onRef:h})=>[se(n)&&se(i)?(We(),rn(d,{key:0,size:"small",closable:"",onClose:l[0]||(l[0]=f=>n.value=void 0)},{header:xe(()=>[Le("div",{ref:h,"cursor-move":""},[l[1]||(l[1]=zt(" 位置 ")),Le("span",bQ,vt(`${se(i).x.toFixed(0)},${se(i).y.toFixed()}`),1),zt(" 存在 "+vt(se(n).length)+" 个层叠节点 ",1)],512)]),default:xe(()=>[Ee(u,{style:{"max-height":"400px","overflow-y":"scroll","padding-bottom":"10px"},class:"scrollbar-hidden"},{default:xe(()=>[(We(!0),jt(oi,null,ds(se(n),f=>(We(),rn(c,{key:f.id,onClick:g=>se(e).updateFocusNode(f),size:"small",style:Ri(se(Pl)(f,se(t)))},{default:xe(()=>[zt(vt(se(po)(f)),1)]),_:2},1032,["onClick","style"]))),128))]),_:1})]),_:2},1024)):Nn("",!0)]),_:1},8,["initialValue","show"])}}}),Fx=z3(),qL=$e(()=>Fx.width.value/100),GL=$e(()=>Math.max(1200,Fx.width.value));$e(()=>Math.max(700,Fx.height.value));const wQ={"bg-white":"","b-1px":"","b-solid":"","b-gray-200":"","rounded-4px":"","p-8px":""},EQ={flex:"","m-b-4px":"","pr-4px":""},SQ={"min-h-24px":""},_Q={key:0,"color-red":"","whitespace-pre":""},kQ=pt({__name:"RuleCard",props:{show:{type:Boolean},onUpdateShow:{type:Function,default:So}},setup(r){const e=$s(),t=Ns(e),{rootNode:n,focusNode:i}=t,a=t.snapshot,s=Tt(""),o=j3(s,500),l=g=>{if(g==null)return[];if(typeof g=="string")return[g];if(Array.isArray(g)&&g.every(p=>typeof p=="string"))return g},c=g=>{const p=l(g.matches);if(!p)return"非法格式: matches";const v=l(g.anyMatches);if(!v)return"非法格式: anyMatches";const m=l(g.excludeMatches);if(!m)return"非法格式: excludeMatches";const y=[];for(let M=0;M<p.length;M++){const N=p[M];try{y.push(Mu(N))}catch(A){const P=A instanceof Error?A.message:String(A);return`非法选择器: matches[${M}]
|
|
470
|
+
错误: ${P}`}}const b=y.map(M=>M.querySelectorAll(n.value));if(y.length){const M=b.findIndex(N=>N.length===0);if(M>=0)return`无法匹配: matches[${M}] 查找结果为空`}const w=[];for(let M=0;M<v.length;M++){const N=v[M];try{w.push(Mu(N))}catch(A){const P=A instanceof Error?A.message:String(A);return`非法选择器: anyMatches[${M}]
|
|
471
|
+
错误: ${P}`}}const E=w.map(M=>M.querySelectorAll(n.value));if(w.length&&E.every(M=>M.length===0))return"无法匹配: anyMatches 查找结果为空";if(!p.length&&!v.length)return"非法规则: matches 和 anyMatches 至少存在一个";const _=[];for(let M=0;M<m.length;M++){const N=m[M];try{_.push(Mu(N))}catch(A){const P=A instanceof Error?A.message:String(A);return`非法选择器: excludeMatches[${M}]
|
|
472
|
+
错误: ${P}`}}const O=_.map(M=>M.querySelectorAll(n.value));if(_.length){const M=O.findIndex(N=>N.length!==0);if(M>=0)return`无法匹配: excludeMatches[${M}] 查找结果不为空`}return b.length?b.at(-1)[0]:E[0][0]},u=g=>typeof g=="object"&&g!==null&&!Array.isArray(g),d=$e(()=>{if(!o.value)return"";const g=(()=>{try{return MC.parse(o.value)}catch(p){return p}})();if(g instanceof Error)return`非法格式: ${g.message}`;if(!u(g))return"非法格式: 请使用对象格式";if(typeof g.id=="string"){if(g.id!==a.value.appId)return"非法格式: id 不匹配 appId";if(!Array.isArray(g.groups))return"非法格式: groups 不是数组";if(g.groups.length!==1)return"非法格式: groups 长度不为 1";const p=g.groups[0];if(!(p!=null&&p.rules))return"非法格式: groups[0].rules 非法";const v=Array.isArray(p.rules)?p.rules:[p.rules];if(v.length!==1)return"非法格式: groups[0].rules 长度不为 1";const m=typeof v[0]=="string"?{matches:v[0]}:v[0];return u(m)?c(m):"非法格式: rules[0] 非法"}if(g.rules){const p=Array.isArray(g.rules)?g.rules:[g.rules];if(p.length!==1)return"非法格式: rules 长度不为 1";const v=typeof p[0]=="string"?{matches:p[0]}:p[0];return u(v)?c(v):"非法格式: rules[0] 非法"}return c(g)}),h=$e(()=>s.value&&o.value&&typeof d.value=="string"?d.value:""),f=$e(()=>typeof d.value=="string"?null:d.value);return(g,p)=>{const v=bs("SvgIcon"),m=Io,y=TC;return We(),rn(Zh,{initialValue:{top:40,right:Math.max(315,12*se(qL)+135),width:Math.max(480,se(GL)*.3)},minWidth:300,sizeDraggable:"",class:"box-shadow-dim",show:g.show},{default:xe(({onRef:b})=>[Le("div",wQ,[Le("div",EQ,[p[3]||(p[3]=Le("div",null,"测试规则",-1)),Le("div",{"flex-1":"","cursor-move":"",ref:b},null,512),Ee(m,{onClick:p[0]||(p[0]=w=>g.onUpdateShow(!g.show)),text:"",title:"最小化"},{icon:xe(()=>[Ee(v,{name:"minus"})]),_:1})]),Ee(y,{value:se(s),"onUpdate:value":p[1]||(p[1]=w=>mo(s)?s.value=w:null),type:"textarea",placeholder:"请输入单个规则测试",size:"small",class:"gkd_code m-b-4px",autosize:{minRows:10,maxRows:20}},null,8,["value"]),Le("div",SQ,[se(h)?(We(),jt("div",_Q,vt(se(h)),1)):se(f)?(We(),rn(m,{key:1,onClick:p[2]||(p[2]=w=>se(e).updateFocusNode(se(f))),size:"small",style:Ri(se(Pl)(se(f),se(i)))},{default:xe(()=>[zt(vt(se(po)(se(f))),1)]),_:1},8,["style"])):Nn("",!0)])])]),_:1},8,["initialValue","show"])}}}),MQ=["src"],TQ={absolute:"","left-2px":"","top-2px":"","p-1px":"","z-1":"","text-13px":"",class:"leading-[1] bg-[rgba(256,256,256,0.7)]"},OQ={key:0,absolute:"","left-2px":"","bottom-2px":"","p-1px":"","z-1":"","text-12px":"",class:"leading-[1] bg-[rgba(256,256,256,0.7)]",flex:"","flex-col":"","flex-items-center":""},CQ={key:1,absolute:"","right-2px":"","bottom-2px":"","p-1px":"","z-1":"","text-12px":"",class:"leading-[1] bg-[rgba(256,256,256,0.7)]",flex:"","flex-col":"","flex-items-center":""},NQ=pt({__name:"MiniHoverImg",props:{imgRef:{},imgHover:{type:Boolean},screenshotUrl:{},hoverPosition:{},hoverPositionStyle:{},boxHoverPosition:{},boxHoverPerPosition:{}},setup(r){const e=r,t=$3($e(()=>e.imgRef));return(n,i)=>(We(),rn(xC,{to:"body"},[vC(Le("div",{style:Ri({left:se(t).right.value+4+"px",top:se(t).top.value+"px"}),"pointer-events-none":"",fixed:"","overflow-hidden":"","z-2":"","bg-white":"","h-200px":"","w-200px":"","border-1px":"","border-indigo-600":"","border-dashed":""},[Le("img",{src:n.screenshotUrl,"object-contain":"",absolute:"","left-0":"","top-0":"",style:Ri(n.hoverPositionStyle),"w-1000px":""},null,12,MQ),Le("div",TQ,vt(`${n.hoverPosition.ox.toFixed(0)},${n.hoverPosition.oy.toFixed(0)}`),1),n.boxHoverPosition?(We(),jt("div",OQ,[Le("div",null,vt(n.boxHoverPosition.top.toFixed(0)),1),Le("div",null,vt(n.boxHoverPosition.left.toFixed(0)+","+n.boxHoverPosition.right.toFixed(0)),1),Le("div",null,vt(n.boxHoverPosition.bottom.toFixed(0)),1)])):Nn("",!0),n.boxHoverPerPosition?(We(),jt("div",CQ,[Le("div",null,vt(n.boxHoverPerPosition.top),1),Le("div",null,vt(n.boxHoverPerPosition.left+","+n.boxHoverPerPosition.right),1),Le("div",null,vt(n.boxHoverPerPosition.bottom),1)])):Nn("",!0),i[0]||(i[0]=Le("div",{class:"top-[calc(50%-1px)] bg-[length:10px_1px]",absolute:"","left-0":"","right-0":"","h-1px":"","bg-repeat-x":"","mix-blend-difference":"",style:{"background-image":`linear-gradient(
|
|
473
|
+
to left,
|
|
474
|
+
transparent 0%,
|
|
475
|
+
transparent 50%,
|
|
476
|
+
#fff 50%,
|
|
477
|
+
#fff 100%
|
|
478
|
+
)`,"background-position-x":"1.5px"}},null,-1)),i[1]||(i[1]=Le("div",{class:"left-[calc(50%-1px)] bg-[length:1px_10px]",absolute:"","top-0":"","bottom-0":"","w-1px":"","bg-repeat-y":"","mix-blend-difference":"",style:{"background-image":`linear-gradient(
|
|
479
|
+
to top,
|
|
480
|
+
transparent 0%,
|
|
481
|
+
transparent 50%,
|
|
482
|
+
#fff 50%,
|
|
483
|
+
#fff 100%
|
|
484
|
+
)`,"background-position-y":"1.5px"}},null,-1))],4),[[pC,n.imgHover]])]))}}),AQ={key:0,flex:"","flex-col":"",relative:"","h-full":"","p-2px":"","box-border":"","overflow-hidden":""},PQ=["src"],RQ={"pointer-events-none":"",absolute:"","left-2px":"","top-2px":"",size:"[calc(100%-4px)]"},LQ={absolute:"","z-4":"","pointer-events-none":"","left-0":"","top-0":"","text-12px":"",leading:"100%",flex:"","gap-4px":""},IQ={"p-1px":"",bg:"#ffffff70"},DQ={"p-1px":"",bg:"#ffffff70"},FQ=pt({__name:"ScreenshotCard",setup(r){const e=$s(),{updatePosition:t}=e,n=Ns(e),{focusNode:i,screenshotUrl:a}=n,s=$e(()=>e.snapshot),o=Tt(),l=Tt(!1),c=b=>{const w=o.value;if(!w)return;const E=w.getBoundingClientRect(),_=E.width/w.naturalWidth*w.naturalHeight,O=(E.height-_)/2,M=(b.clientX-E.left)/E.width*w.naturalWidth,N=(b.clientY-E.top-O)/_*w.naturalHeight;t({x:M,y:N})},u=b=>`${b*100}%`,d=q3(o),h=$e(()=>{var M;const b=o.value,w=(M=i.value)==null?void 0:M.attr;if(!i.value||!b||!w||!l.value)return"";const E=d.width.value,_=d.height.value,O=E/b.naturalWidth*b.naturalHeight;return{left:`calc(${u(w.left/b.naturalWidth)} - 2px)`,width:`calc(${u((w.right-w.left)/b.naturalWidth)} + 2px)`,top:`calc(${u((w.top/b.naturalHeight*O+(_-O)/2)/_)} - 2px)`,height:`calc(${u((w.bottom-w.top)/b.naturalHeight*O/_)} + 2px)`}}),f=Tt(!1),g=Tt({ox:0,oy:0}),p=$e(()=>{var _;const b=(_=i.value)==null?void 0:_.attr;if(!b)return;const{ox:w,oy:E}=g.value;return{left:w-b.left,right:b.right-w,top:E-b.top,bottom:b.bottom-E}}),v=$e(()=>{var M;if(!((M=i.value)==null?void 0:M.attr)||!p.value)return;const{bottom:w,left:E,right:_,top:O}=p.value;return{left:(E/(_+E)).toFixed(3),right:(_/(_+E)).toFixed(3),top:(O/(O+w)).toFixed(3),bottom:(w/(O+w)).toFixed(3)}}),m=Tt({left:"0",top:"0"}),y=b=>{const w=o.value;if(!w)return;const E=w.getBoundingClientRect(),_=E.width/w.naturalWidth*w.naturalHeight,O=(E.height-_)/2,M=(b.clientX-E.left)/E.width*w.naturalWidth,N=(b.clientY-E.top-O)/_*w.naturalHeight;g.value={ox:M,oy:N},m.value={left:-(M-.1*w.naturalWidth)/w.naturalWidth*1e3+"px",top:-(N-.1*w.naturalWidth)/w.naturalWidth*1e3+"px"}};return(b,w)=>se(a)?(We(),jt("div",AQ,[Le("img",{ref_key:"imgRef",ref:o,src:se(a),onClick:c,"cursor-crosshair":"","object-contain":"","h-full":"",class:"max-w-[calc(var(--gkd-w)*0.35)]",onMouseover:w[0]||(w[0]=E=>f.value=!0),onMouseleave:w[1]||(w[1]=E=>f.value=!1),onMousemove:y,onLoad:w[2]||(w[2]=E=>l.value=!0)},null,40,PQ),Le("div",RQ,[Le("div",{style:Ri(se(h)),absolute:"","transition-all-300":"","b-1px":"","b-blue":"","b-solid":""},w[3]||(w[3]=[Le("div",{absolute:"","left-0":"","top-0":"","bottom-0":"","right-0":"","b-solid":"","b-1px":"","b-red":""},null,-1)]),4)]),Le("div",LQ,[Le("div",IQ,vt(`${se(s).screenWidth}x${se(s).screenHeight}`),1),Le("div",DQ,vt(se(kC)(se(s).id).format("YYYY-MM-DD HH:mm:ss")),1)]),se(o)?(We(),rn(NQ,{key:0,imgHover:se(f),imgRef:se(o),boxHoverPerPosition:se(v),boxHoverPosition:se(p),hoverPositionStyle:se(m),hoverPosition:se(g),screenshotUrl:se(a)},null,8,["imgHover","imgRef","boxHoverPerPosition","boxHoverPosition","hoverPositionStyle","hoverPosition","screenshotUrl"])):Nn("",!0)])):Nn("",!0)}}),BQ={"bg-white":"","b-1px":"","b-solid":"","b-gray-200":"","rounded-4px":"","p-8px":""},zQ={flex:"","m-b-4px":"","pr-4px":""},jQ={key:0,underline:"","leading-20px":"","decoration-1":"","m-r-4px":"",gkd_code:"",title:"查询数量"},$Q=["title"],qQ={flex:"","gap-8px":"","flex-wrap":""},GQ=pt({__name:"SearchCard",props:{show:{type:Boolean},onUpdateShow:{type:Function,default:So}},setup(r){const e=wC(),{snapshotImportId:t,snapshotImageId:n}=SC(),i=$s(),{updateFocusNode:a}=i,s=Ns(i),o=s.snapshot,l=s.rootNode,{focusNode:c}=s,u=Tt(""),d=gb([]),h=Tt([]),f=E=>{const _=lI(()=>Mu(E),M=>typeof M=="string"?M:M instanceof i3?"非法选择器:"+M.outMessage:"非法选择器:"+(M instanceof Error?M.message:M));if(d.find(M=>typeof M.selector=="object"&&M.selector.toString()==_.toString())){xa.warning("不可重复选择");return}const O=_.querySelectorAllContext(l.value);if(O.length==0){xa.success("没有选择到节点");return}return xa.success(`选择到 ${O.length} 个节点`),d.unshift({selector:_,nodes:O.map(M=>M.target),results:O,key:Date.now(),gkd:!0}),O.length},g=E=>{if(d.find(M=>typeof M.selector=="string"&&M.selector.toString()==E)){xa.warning("不可重复搜索");return}const _=[],O=[l.value];for(;O.length>0;){const M=O.pop();po(M).includes(E)&&_.push(M),O.push(...[...M.children].reverse())}if(_.length==0){xa.success("没有搜索到节点");return}return xa.success(`搜索到 ${_.length} 个节点`),d.unshift({gkd:!1,selector:E,nodes:_,key:Date.now()}),_.length},p=()=>{const E=d[0],_=E.nodes[0];Array.isArray(_)?typeof E.selector=="object"&&a(_):a(_);const O=new Set(d.map(N=>N.key)),M=h.value.filter(N=>O.has(N));M.push(E.key),h.value=M},v=Jx(()=>{const E=u.value.trim();if(E){if(y.value){if(!f(E))return}else if(!g(E))return;p()}});xd(async()=>{await r3;let E=0;e.query.gkd&&(E+=f(jx.decode(e.query.gkd))||0),e.query.str&&(E+=g(e.query.str)||0),E>0&&p()});const m=Jx(async E=>{var G,H,Y;const _=n[o.value.id],O=t[o.value.id],M=O?Ux(O):void 0,N=_?W3(_):void 0,A=E.selector,P=E.nodes[0],L=[((G=P.quickFind)!=null?G:P.idQf)&&P.attr.id&&A.fastQueryList.some(W=>W instanceof nf.Id&&W.value===P.attr.id),((H=P.quickFind)!=null?H:P.idQf)&&P.attr.vid&&A.fastQueryList.some(W=>W instanceof nf.Vid&&W.value===P.attr.vid),((Y=P.quickFind)!=null?Y:P.textQf)&&P.attr.text&&A.fastQueryList.some(W=>W instanceof nf.Text&&W.value===P.attr.text)].some(Boolean),I={id:o.value.appId,name:Ei(o.value).name,groups:[{key:1,name:`[ChangeMe]规则名称-${kC().format("YYYY-MM-DD HH:mm:ss")}`,desc:"[ChangeMe]本规则由GKD网页端审查工具生成",rules:[{fastQuery:L||void 0,activityIds:o.value.activityId,matches:A.toString(),exampleUrls:N,snapshotUrls:M}]}]};_i(MC.stringify(I,void 0,2))}),y=Tt(!0),b=$e(()=>t[o.value.id]),w=E=>{if(!b.value)return;const _=new URL(Ux(t[o.value.id]));typeof E.selector=="object"?_.searchParams.set("gkd",jx.encode(E.selector.toString())):_.searchParams.set("str",E.selector.toString()),_i(_.toString())};return(E,_)=>{const O=sI,M=_C,N=aI,A=bs("SvgIcon"),P=Io,L=TC,I=oI,G=_I,H=lb,Y=vb,W=PI,q=CI;return We(),rn(Zh,{initialValue:{top:40,right:Math.max(315,12*se(qL)+135),width:Math.max(480,se(GL)*.3)},minWidth:300,sizeDraggable:"",class:"box-shadow-dim",show:E.show},{default:xe(({onRef:Q})=>[Le("div",BQ,[Le("div",zQ,[Ee(N,{value:se(y),"onUpdate:value":_[0]||(_[0]=re=>mo(y)?y.value=re:null)},{default:xe(()=>[Ee(M,null,{default:xe(()=>[Ee(O,{value:!1},{default:xe(()=>_[4]||(_[4]=[zt(" 字符搜索 ")])),_:1}),Ee(O,{value:!0},{default:xe(()=>_[5]||(_[5]=[zt(" 选择器查询 ")])),_:1})]),_:1})]),_:1},8,["value"]),Le("div",{"flex-1":"","cursor-move":"",ref:Q},null,512),Ee(P,{onClick:_[1]||(_[1]=re=>E.onUpdateShow(!E.show)),text:"",title:"最小化"},{icon:xe(()=>[Ee(A,{name:"minus"})]),_:1})]),Ee(I,null,{default:xe(()=>[Ee(L,{value:se(u),"onUpdate:value":_[2]||(_[2]=re=>mo(u)?u.value=re:null),placeholder:se(y)?"请输入选择器":"请输入字符",onKeyup:G3(se(v),["enter"]),inputProps:{class:"gkd_code"}},null,8,["value","placeholder","onKeyup"]),Ee(P,{onClick:se(v)},{icon:xe(()=>[Ee(A,{name:"search"})]),_:1},8,["onClick"])]),_:1}),_[8]||(_[8]=Le("div",{"p-5px":""},null,-1)),Ee(q,{expandedNames:se(h),"onUpdate:expandedNames":_[3]||(_[3]=re=>mo(h)?h.value=re:null)},{default:xe(()=>[(We(!0),jt(oi,null,ds(se(d),(re,de)=>(We(),rn(W,{key:re.key,name:re.key},{header:xe(()=>[re.nodes.length>1?(We(),jt("span",jQ,vt(re.nodes.length),1)):Nn("",!0),Le("span",{"break-all":"","px-4px":"","leading-20px":"",bg:"#eee",gkd_code:"",title:re.gkd?"选择器":"搜索字符"},[re.gkd?(We(),rn(ku,{key:0,node:re.selector.ast,source:re.selector.source},null,8,["node","source"])):(We(),jt(oi,{key:1},[zt(vt(re.selector),1)],64))],8,$Q),_[6]||(_[6]=Le("span",{"pl-4px":""},null,-1))]),"header-extra":xe(()=>[Ee(G,null,{default:xe(()=>[re.gkd&&re.selector.canCopy?(We(),rn(P,{key:0,size:"small",onClick:lf(oe=>se(m)(re),["stop"]),title:"复制规则"},{icon:xe(()=>[Ee(A,{name:"copy"})]),_:2},1032,["onClick"])):Nn("",!0),se(b)?(We(),rn(P,{key:1,size:"small",title:re.gkd?"复制查询链接":"复制搜索链接",onClick:lf(oe=>w(re),["stop"])},{icon:xe(()=>[Ee(A,{name:"share"})]),_:2},1032,["title","onClick"])):Nn("",!0),Ee(P,{size:"small",onClick:lf(oe=>se(d).splice(de,1),["stop"]),title:"删除记录"},{icon:xe(()=>[Ee(A,{name:"delete"})]),_:2},1032,["onClick"])]),_:2},1024)]),default:xe(()=>[Ee(Y,{xScrollable:"",style:{"max-height":"400px"}},{default:xe(()=>[Le("div",qQ,[!re.gkd||re.selector.connectKeys.length===0?(We(!0),jt(oi,{key:0},ds(re.nodes,oe=>(We(),rn(P,{key:oe.id,onClick:he=>se(a)(oe),size:"small",style:Ri(se(Pl)(oe,se(c)))},{default:xe(()=>[zt(vt(se(po)(oe)),1)]),_:2},1032,["onClick","style"]))),128)):(We(!0),jt(oi,{key:1},ds(re.nodes,(oe,he)=>(We(),rn(G,{key:he},{default:xe(()=>[Ee(P,{size:"small",onClick:X=>se(i).showTrack(re.selector,re.results[he])},{default:xe(()=>[Ee(H,null,{default:xe(()=>[Ee(A,{name:"path"})]),_:1})]),_:2},1032,["onClick"]),Ee(P,{onClick:X=>se(a)(oe),size:"small",style:Ri(se(Pl)(oe,se(c)))},{default:xe(()=>[zt(vt(se(po)(oe)),1)]),_:2},1032,["onClick","style"])]),_:2},1024))),128))]),_[7]||(_[7]=Le("div",{un:"h-10px"},null,-1))]),_:2},1024)]),_:2},1032,["name"]))),128))]),_:1},8,["expandedNames"])])]),_:1},8,["initialValue","show"])}}}),hC=[],WQ=pt((r,e)=>{const t=$e(()=>r.tag||"div");return()=>{var a,s,o,l;const n=(((s=(a=e.slots).default)==null?void 0:s.call(a))||hC).filter(c=>typeof c.type!="symbol"),i=[];if(n.length>0&&i.push(n[0]),n.length>1)for(let c=1;c<n.length;c++){const u=((l=(o=e.slots).gap)==null?void 0:l.call(o,{index:c-1}))||hC;i.push(...u),i.push(n[c])}return r.virtual?i:ze(t.value,r,i)}},{props:["tag","virtual"]}),VQ={flex:"","flex-col":"","overflow-hidden":""},UQ={flex:"","items-center":"","px-8px":""},HQ={flex:"","items-center":"","gap-2px":"","max-w-120px":""},YQ=pt({__name:"WindowCard",setup(r){const e=EC(),t=$s(),{updateFocusNode:n}=t,i=Ns(t),a=i.snapshot,s=i.rootNode,{focusNode:o,focusTime:l}=i;let c=Number.NaN;const u=Tt([]),d=Tt([]);Mi([()=>o.value,()=>l.value],async()=>{if(!o.value)return;const w=o.value.id;co().then(async()=>{var O;if(await Hx(300),w===((O=o.value)==null?void 0:O.id)){if(c===w){c=Number.NaN;return}const M=document.querySelector(`[data-node-id="${w}"]`);if(!M)return;d.value=[w],M.scrollIntoView({behavior:"smooth",block:"center"})}});let E=o.value.parent;if(!E)return;const _=new Set(u.value);for(;E;)_.add(E.id),E=E.parent;_.size==u.value.length&&u.value.every(O=>_.has(O))||(u.value=[..._])});const h=Tt(),f=(w,E)=>{var _;return E.id===((_=o.value)==null?void 0:_.id)},g=w=>{const E=Pl(w.option,o.value);return{onClick:()=>{c=w.option.id,n(w.option)},style:{"--n-node-text-color":E.color,...E},class:"whitespace-nowrap","data-node-id":String(w.option.id)}},p=w=>po(w.option),v=$e(()=>`${$x(a.value).manufacturer} Android ${$x(a.value).release||""}`),m=$e(()=>Ei(a.value).isSystem),y=$e(()=>{const w=a.value.activityId,E=a.value.appId;return!w||!E?"":w.startsWith(E)&&w[E.length]==="."?w.substring(E.length):w}),b=async()=>{xa.success("删除成功,即将回到首页"),await Hx(2e3),e.replace({path:"/"})};return(w,E)=>{const _=ob,O=bs("SvgIcon"),M=iD,N=vb;return We(),jt("div",VQ,[Le("div",UQ,[Ee(se(WQ),{flex:"","flex-wrap":"","items-center":"","gap-8px":"",gkd_code:""},{gap:xe(()=>E[8]||(E[8]=[Le("div",{"w-1px":"","bg-gray":"","h-12px":""},null,-1)])),default:xe(()=>[Ee(_,null,{trigger:xe(()=>[Le("div",{onClick:E[0]||(E[0]=A=>se(_i)(se(v)))},vt(se(v)),1)]),default:xe(()=>[E[9]||(E[9]=zt(" 设备名称 "))]),_:1}),Ee(_,null,{trigger:xe(()=>[Le("div",{class:Ll({"opacity-50":!se(qx)(se(a)).versionName})},vt(se(qx)(se(a)).versionName||"null"),3)]),default:xe(()=>[E[10]||(E[10]=zt(" GKD 版本 "))]),_:1}),Le("div",HQ,[se(m)?(We(),rn(_,{key:0},{trigger:xe(()=>[Ee(O,{name:"system"})]),default:xe(()=>[zt(" "+vt(`${se(Ei)(se(a)).name} 是一个系统应用`),1)]),_:1})):Nn("",!0),Ee(_,null,{trigger:xe(()=>[Le("div",{onClick:E[1]||(E[1]=A=>se(_i)(se(Ei)(se(a)).name))},vt(se(Ei)(se(a)).name),1)]),default:xe(()=>[E[11]||(E[11]=zt(" 应用名称 "))]),_:1})]),Ee(_,null,{trigger:xe(()=>[Le("div",{onClick:E[2]||(E[2]=A=>se(_i)(se(Ei)(se(a)).versionName))},vt(se(Ei)(se(a)).versionName),1)]),default:xe(()=>[E[12]||(E[12]=zt(" 版本名称 "))]),_:1}),Ee(_,null,{trigger:xe(()=>[Le("div",{onClick:E[3]||(E[3]=A=>se(_i)(se(Ei)(se(a)).versionCode.toString()))},vt(se(Ei)(se(a)).versionCode),1)]),default:xe(()=>[E[13]||(E[13]=zt(" 版本代码 "))]),_:1}),Ee(_,null,{trigger:xe(()=>[Le("div",{onClick:E[4]||(E[4]=A=>se(_i)(se(a).appId))},vt(se(a).appId),1)]),default:xe(()=>[E[14]||(E[14]=zt(" 应用ID "))]),_:1}),Ee(_,null,{trigger:xe(()=>[Le("div",{onClick:E[5]||(E[5]=A=>se(_i)(se(y))),class:Ll({"opacity-50":!se(y)})},vt(se(y)||"null"),3)]),default:xe(()=>[E[15]||(E[15]=zt(" 界面ID "))]),_:1})]),_:1}),E[16]||(E[16]=Le("div",{"flex-1":""},null,-1)),Ee(K3,{class:"ml-8px",snapshot:se(a),onDelete:b,showPreview:!1},null,8,["snapshot"])]),E[17]||(E[17]=Le("div",{"h-1px":"","mt-4px":"",bg:"#efeff5"},null,-1)),Ee(N,{xScrollable:"",class:"flex-1"},{default:xe(()=>[Ee(M,{class:"mb-24px mr-24px",ref_key:"treeRef",ref:h,virtualScroll:"",showLine:"",blockLine:"",keyField:"id",expandedKeys:se(u),"onUpdate:expandedKeys":E[6]||(E[6]=A=>mo(u)?u.value=A:null),selectedKeys:se(d),"onUpdate:selectedKeys":E[7]||(E[7]=A=>mo(d)?d.value=A:null),data:[se(s)],filter:f,nodeProps:g,renderLabel:p},null,8,["expandedKeys","selectedKeys","data","filter","nodeProps","renderLabel"])]),_:1})])}}}),KQ={"h-full":"",flex:"","gap-5px":""},XQ={"w-28px":"","py-8px":"",flex:"","flex-col":"","gap-16px":""},ZQ={flex:"","justify-center":"",href:"https://gkd.li/guide/snapshot#share-note",target:"_blank",rel:"noopener noreferrer"},JQ={key:1,flex:"","justify-center":"","pt-80px":""},fee=pt({__name:"SnapshotPage",setup(r){const e=$s(),t=Ns(e),{snapshot:n,rootNode:i,loading:a,redirected:s,trackData:o,trackShow:l}=t;ii(()=>{a.value?Yx.start():Yx.finish()});const c=cf("searchShow",!0,sessionStorage),u=cf("ruleShow",!1,sessionStorage),d=cf("attrShow",!0,sessionStorage),h=()=>{xa.info("暂未实现")};return(f,g)=>{const p=bs("SvgIcon"),v=lb,m=bs("RouterLink"),y=Io,b=ob;return se(n)&&se(i)?(We(),jt(oi,{key:0},[Le("div",KQ,[Le("div",XQ,[Ee(b,{placement:"right"},{trigger:xe(()=>[Ee(y,{text:""},{icon:xe(()=>[Ee(m,{to:"/",title:"",color:"inherit"},{default:xe(()=>[Ee(v,{size:"24"},{default:xe(()=>[Ee(p,{name:"home"})]),_:1})]),_:1})]),_:1})]),default:xe(()=>[g[8]||(g[8]=zt(" 回到首页 "))]),_:1}),Ee(b,{placement:"right"},{trigger:xe(()=>[Ee(y,{onClick:h,text:""},{icon:xe(()=>[Ee(v,{size:"24"},{default:xe(()=>[Ee(p,{name:"settings"})]),_:1})]),_:1})]),default:xe(()=>[g[9]||(g[9]=zt(" 设置 "))]),_:1}),g[14]||(g[14]=Le("div",null,null,-1)),Ee(b,{placement:"right"},{trigger:xe(()=>[Ee(y,{text:"",onClick:g[0]||(g[0]=w=>c.value=!se(c))},{icon:xe(()=>[Ee(v,{size:"24"},{default:xe(()=>[Ee(p,{name:"search-list"})]),_:1})]),_:1})]),default:xe(()=>[g[10]||(g[10]=zt(" 搜索面板 "))]),_:1}),Ee(b,{placement:"right"},{trigger:xe(()=>[Ee(y,{onClick:g[1]||(g[1]=w=>d.value=!se(d)),text:""},{icon:xe(()=>[Ee(v,{size:"24"},{default:xe(()=>[Ee(p,{name:"prop"})]),_:1})]),_:1})]),default:xe(()=>[g[11]||(g[11]=zt(" 属性面板 "))]),_:1}),Ee(b,{placement:"right"},{trigger:xe(()=>[Ee(y,{onClick:g[2]||(g[2]=w=>u.value=!se(u)),text:""},{icon:xe(()=>[Ee(v,{size:"24"},{default:xe(()=>[Ee(p,{name:"test"})]),_:1})]),_:1})]),default:xe(()=>[g[12]||(g[12]=zt(" 测试规则 "))]),_:1}),g[15]||(g[15]=Le("div",null,null,-1)),Ee(b,{placement:"right"},{trigger:xe(()=>[Le("a",ZQ,[Ee(y,{text:""},{icon:xe(()=>[Ee(v,{size:"24"},{default:xe(()=>[Ee(p,{name:"warn"})]),_:1})]),_:1})])]),default:xe(()=>[g[13]||(g[13]=zt(" 分享须知 "))]),_:1})]),Ee(FQ),Ee(YQ,{class:"flex-1"})]),Ee(GQ,{show:se(c),onUpdateShow:g[3]||(g[3]=w=>c.value=w)},null,8,["show"]),Ee(kQ,{show:se(u),onUpdateShow:g[4]||(g[4]=w=>u.value=w)},null,8,["show"]),Ee(yQ,{show:se(d),onUpdateShow:g[5]||(g[5]=w=>d.value=w)},null,8,["show"]),Ee(xQ),Ee(dQ,{show:se(l),onUpdateShow:g[6]||(g[6]=w=>l.value=w),data:se(o),onUpdateData:g[7]||(g[7]=w=>o.value=w)},null,8,["show","data"])],64)):!se(a)&&!se(s)?(We(),jt("div",JQ,g[16]||(g[16]=[Le("div",null,"快照数据缺失",-1)]))):Nn("",!0)}}});export{fee as default};
|
|
485
|
+
//# sourceMappingURL=SnapshotPage-DLiCCFD7.js.map
|