@layers-app/editor 0.3.11 → 0.4.1-progress-bar.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/README.md +215 -1
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +6 -6
  5. package/dist/layers.-81wcqwR.js +41 -0
  6. package/dist/layers.0GG-c34P.js +36 -0
  7. package/dist/layers.0dm3eLYv.js +1265 -0
  8. package/dist/layers.0nFmx-Nl.js +1 -0
  9. package/dist/layers.1Z2fyz6H.js +7 -0
  10. package/dist/layers.2b70kvMG.js +9 -0
  11. package/dist/layers.3Vvyhk66.js +904 -0
  12. package/dist/layers.475BZq-C.js +4 -0
  13. package/dist/layers.52famHy6.js +1 -0
  14. package/dist/layers.6F0lZyGr.js +1 -0
  15. package/dist/layers.6iBZ8vbZ.js +7 -0
  16. package/dist/layers.7JqFgE4-.js +15 -0
  17. package/dist/layers.7Q7ZqlHQ.js +1 -0
  18. package/dist/layers.9QK1wiQj.js +1 -0
  19. package/dist/layers.9pNaFvaX.js +1 -0
  20. package/dist/layers.AhhllI1F.js +1088 -0
  21. package/dist/layers.B0UW1RmX.js +10 -0
  22. package/dist/layers.B19hGmey.js +1 -0
  23. package/dist/layers.B1jSvo4Q.js +282 -0
  24. package/dist/layers.B2QmFAKW.js +1 -0
  25. package/dist/layers.B3D4g2HH.js +1 -0
  26. package/dist/layers.B4KbvY3e.js +2235 -0
  27. package/dist/layers.B4b5hMwb.js +40 -0
  28. package/dist/layers.B4kpLyJz.js +39 -0
  29. package/dist/layers.B6ZNsH3T.js +21763 -0
  30. package/dist/layers.B6_dw_8p.js +7 -0
  31. package/dist/layers.B7X5RC-0.js +41 -0
  32. package/dist/layers.B9u9oq3T.js +5 -0
  33. package/dist/layers.BALYUkwP.js +139 -0
  34. package/dist/layers.BAtv1CM7.js +1 -0
  35. package/dist/layers.BBJp9IW9.js +39 -0
  36. package/dist/layers.BChOvfAr.js +33 -0
  37. package/dist/layers.BE8bNWW6.js +423 -0
  38. package/dist/layers.BEfOaBAZ.js +8 -0
  39. package/dist/layers.BHRWU6d9.js +32 -0
  40. package/dist/layers.BIeVwYKL.js +1 -0
  41. package/dist/layers.BJHPodZD.js +5 -0
  42. package/dist/layers.BJml6l4c.js +1619 -0
  43. package/dist/layers.BP5yLKDB.js +40 -0
  44. package/dist/layers.BSTBZrFn.js +1 -0
  45. package/dist/layers.BXFaNlXe.js +10 -0
  46. package/dist/layers.BY2fzSoa.js +320 -0
  47. package/dist/layers.BZ9Uzt2l.js +52 -0
  48. package/dist/layers.BbCfEXyj.js +55 -0
  49. package/dist/layers.BcAVvZP0.js +8 -0
  50. package/dist/layers.BddeOe_0.js +41 -0
  51. package/dist/layers.Bde9z6ba.js +9 -0
  52. package/dist/layers.Bdvy9kzf.js +37 -0
  53. package/dist/layers.Bf9MFDYo.js +37 -0
  54. package/dist/layers.BgOa2ZQq.js +7 -0
  55. package/dist/layers.BglhCs7Q.js +42 -0
  56. package/dist/layers.BhHN_OCL.js +41 -0
  57. package/dist/layers.BhOVSyoa.js +116 -0
  58. package/dist/layers.BiJ8hfRt.js +1510 -0
  59. package/dist/layers.Bk6BXLzz.js +425 -0
  60. package/dist/layers.Bm9nXP7b.js +4 -0
  61. package/dist/layers.BncZBAFy.js +4 -0
  62. package/dist/layers.BpilXLfW.js +6 -0
  63. package/dist/{layers.YZkXZvVS.js → layers.Bq-5GZP6.js} +20995 -19802
  64. package/dist/layers.BtlLD-Rz.js +11 -0
  65. package/dist/layers.BtpIOF4Z.js +9 -0
  66. package/dist/layers.Bu56Qesy.js +10 -0
  67. package/dist/layers.BxIw0gJL.js +11 -0
  68. package/dist/layers.ByYR4L98.js +8 -0
  69. package/dist/layers.C-pbN-0O.js +34 -0
  70. package/dist/layers.C0DJ9ilm.js +1 -0
  71. package/dist/layers.C0Lgw_Sx.js +11688 -0
  72. package/dist/layers.C2gAR4en.js +6 -0
  73. package/dist/layers.C4ceUEtT.js +6 -0
  74. package/dist/layers.C5RRQdrQ.js +39 -0
  75. package/dist/layers.C5U5RNdV.js +38 -0
  76. package/dist/layers.C5hVV8XE.js +10 -0
  77. package/dist/layers.C6jxjtyC.js +8 -0
  78. package/dist/layers.C7lIplJU.js +247 -0
  79. package/dist/layers.C83RWXIj.js +2966 -0
  80. package/dist/layers.C8_lu5UH.js +23 -0
  81. package/dist/layers.C9yHqpLC.js +1 -0
  82. package/dist/layers.CATiNc07.js +37 -0
  83. package/dist/layers.CCoKbqGZ.js +32 -0
  84. package/dist/layers.CCwQVeNG.js +96 -0
  85. package/dist/layers.CG1igXgx.js +65 -0
  86. package/dist/layers.CGE7HTrP.js +790 -0
  87. package/dist/layers.CGmH2sSj.js +160 -0
  88. package/dist/layers.CHZsXQcr.js +1 -0
  89. package/dist/layers.CJWyW1s7.js +33 -0
  90. package/dist/layers.CK2uPIaB.js +9 -0
  91. package/dist/layers.CKVT6drc.js +6 -0
  92. package/dist/layers.COAF7f8g.js +1 -0
  93. package/dist/layers.COS6XeQZ.js +8 -0
  94. package/dist/layers.CP5YFYP0.js +185 -0
  95. package/dist/layers.CQefO3zC.js +960 -0
  96. package/dist/layers.CRMWsjPz.js +6 -0
  97. package/dist/layers.CXXPElSu.js +40 -0
  98. package/dist/layers.CZ9XE70C.js +10 -0
  99. package/dist/layers.CZtDXioS.js +44 -0
  100. package/dist/layers.C_BxYlPZ.js +1580 -0
  101. package/dist/layers.C_UcfwnG.js +6 -0
  102. package/dist/layers.CaLgCU_I.js +32 -0
  103. package/dist/layers.CavVjyC7.js +32 -0
  104. package/dist/layers.Cd4UYQEy.js +5 -0
  105. package/dist/layers.CeERe4hA.js +803 -0
  106. package/dist/layers.CgTtEOpk.js +2479 -0
  107. package/dist/layers.CgYKHJl1.js +437 -0
  108. package/dist/layers.Cgmo79x3.js +11 -0
  109. package/dist/layers.CjMeAmJX.js +1034 -0
  110. package/dist/layers.Ck0n4XD7.js +1 -0
  111. package/dist/layers.CkJ9q_L1.js +1 -0
  112. package/dist/layers.Cl-Lwb04.js +8 -0
  113. package/dist/layers.CnZce7UZ.js +59 -0
  114. package/dist/layers.Co5PaFBV.js +257 -0
  115. package/dist/layers.CoC4j3uL.js +230 -0
  116. package/dist/layers.CopJUlxy.js +42 -0
  117. package/dist/layers.Cp-0WnDT.js +122 -0
  118. package/dist/layers.Cpwze_cl.js +40 -0
  119. package/dist/layers.CqVTtuYm.js +6 -0
  120. package/dist/layers.CrqG-Duk.js +5 -0
  121. package/dist/layers.Crw1IGs-.js +42 -0
  122. package/dist/layers.CsPue_MQ.js +51 -0
  123. package/dist/layers.Cs_T7j-N.js +1283 -0
  124. package/dist/layers.CtLZ9mwp.js +2 -0
  125. package/dist/layers.CukiNGgZ.js +186 -0
  126. package/dist/layers.CvbXz5-5.js +39 -0
  127. package/dist/layers.CxjTeNJ7.js +40 -0
  128. package/dist/layers.Cxopck3h.js +13 -0
  129. package/dist/layers.CyE3jBBZ.js +1126 -0
  130. package/dist/layers.Cy_IG1Gv.js +7 -0
  131. package/dist/layers.Cz1nKHwt.js +7 -0
  132. package/dist/layers.CzRcgWY1.js +21938 -0
  133. package/dist/layers.D0CU4TN8.js +8 -0
  134. package/dist/layers.D0_MMsE9.js +42 -0
  135. package/dist/layers.D0zn4_Mx.js +1 -0
  136. package/dist/layers.D2U67Gni.js +9 -0
  137. package/dist/layers.D34e2jIm.js +2 -0
  138. package/dist/layers.D3QNp_mQ.js +40 -0
  139. package/dist/layers.D4ZUbUXz.js +10 -0
  140. package/dist/layers.D4fGb2cV.js +1272 -0
  141. package/dist/layers.D7Lv0jOC.js +39 -0
  142. package/dist/layers.D7jGxypv.js +8 -0
  143. package/dist/layers.DA80zVTT.js +32 -0
  144. package/dist/layers.DAhZhj49.js +220 -0
  145. package/dist/layers.DC76pGI6.js +36 -0
  146. package/dist/layers.DCm28WHr.js +1 -0
  147. package/dist/layers.DEBlIxtT.js +1 -0
  148. package/dist/layers.DEHlDscq.js +8 -0
  149. package/dist/layers.DEiI3uTS.js +1 -0
  150. package/dist/layers.DFO1fD9L.js +6 -0
  151. package/dist/layers.DFVmKOXm.js +118 -0
  152. package/dist/layers.DGgRL8Nc.js +39 -0
  153. package/dist/layers.DHpypOQI.js +84 -0
  154. package/dist/layers.DJLV698B.js +793 -0
  155. package/dist/layers.DKZkGAQ_.js +202 -0
  156. package/dist/layers.DKeh-lZI.js +1 -0
  157. package/dist/layers.DLB4eAfo.js +1089 -0
  158. package/dist/layers.DLRyMrlf.js +10 -0
  159. package/dist/layers.DLwuMfdd.js +84 -0
  160. package/dist/layers.DMkBISW1.js +1 -0
  161. package/dist/layers.DN9HoVxI.js +18 -0
  162. package/dist/layers.DND9ZxpV.js +40 -0
  163. package/dist/layers.DOYs_uMx.js +802 -0
  164. package/dist/layers.DOrgOHBr.js +1 -0
  165. package/dist/layers.DRGpaHAX.js +41 -0
  166. package/dist/layers.D_AP_tA5.js +9 -0
  167. package/dist/layers.D_MmQzRm.js +207 -0
  168. package/dist/layers.D_sfrDwe.js +70 -0
  169. package/dist/layers.DaUhvLRp.js +10 -0
  170. package/dist/layers.DaoO_UDV.js +9 -0
  171. package/dist/layers.DbaKVP5e.js +1 -0
  172. package/dist/layers.Dbdn8XSd.js +1 -0
  173. package/dist/layers.DfR442P5.js +40 -0
  174. package/dist/layers.DfoJ9Kxs.js +1 -0
  175. package/dist/layers.DgpXAlfL.js +373 -0
  176. package/dist/layers.Dh54vG6t.js +268 -0
  177. package/dist/layers.DhcjxJPA.js +501 -0
  178. package/dist/layers.DhzzXhmQ.js +1359 -0
  179. package/dist/layers.Dixyg94K.js +36 -0
  180. package/dist/layers.Dj3HYSyh.js +7 -0
  181. package/dist/layers.DjUOC4st.js +16 -0
  182. package/dist/layers.DkLyYgOg.js +38 -0
  183. package/dist/layers.DkT2sxcJ.js +931 -0
  184. package/dist/layers.DkleVc4L.js +5 -0
  185. package/dist/layers.DoAq7C3B.js +139 -0
  186. package/dist/layers.Dr3N180D.js +35 -0
  187. package/dist/layers.Drb2mcdd.js +2 -0
  188. package/dist/layers.DtDMtcjv.js +84 -0
  189. package/dist/layers.DtOlJEpj.js +39 -0
  190. package/dist/layers.Dut27cU5.js +42 -0
  191. package/dist/layers.Dx5j_aMV.js +7 -0
  192. package/dist/layers.DxA6ocdw.js +70 -0
  193. package/dist/layers.Dy-AuShh.js +9 -0
  194. package/dist/layers.Dy1naDTQ.js +14 -0
  195. package/dist/layers.DyJZaSCk.js +40 -0
  196. package/dist/layers.DyU8JNlG.js +41 -0
  197. package/dist/layers.DytwjiIF.js +8 -0
  198. package/dist/layers.DyyemvLl.js +36 -0
  199. package/dist/layers.DzphOPQJ.js +19 -0
  200. package/dist/layers.J1ihPiBi.js +7 -0
  201. package/dist/layers.JWCLFILJ.js +1 -0
  202. package/dist/layers.JcQwzHu2.js +9 -0
  203. package/dist/layers.JnLVZ-1W.js +61 -0
  204. package/dist/layers.MfBuwYip.js +39 -0
  205. package/dist/layers.OMZyjZaa.js +1 -0
  206. package/dist/layers.OZhDjtkp.js +1 -0
  207. package/dist/layers.SNwJ50Yh.js +769 -0
  208. package/dist/layers.X930Wyd9.js +9 -0
  209. package/dist/layers.YBnRzjtX.js +1 -0
  210. package/dist/{layers.BnjxHNDK.js → layers.YE5h1RJ0.js} +84 -84
  211. package/dist/layers.YhDm2Yt0.js +37 -0
  212. package/dist/layers.ZE7W-HjF.js +10 -0
  213. package/dist/layers._ZR3qWqZ.js +41 -0
  214. package/dist/layers.b0h5ZBmD.js +61 -0
  215. package/dist/layers.b4ac2O9O.js +35 -0
  216. package/dist/layers.bzxdqd7a.js +11 -0
  217. package/dist/{layers.C125HTat.js → layers.fjeoVipI.js} +1 -1
  218. package/dist/layers.hEiS_6X7.js +1 -0
  219. package/dist/layers.hweLqW3I.js +261 -0
  220. package/dist/layers.iK5LSRjJ.js +11 -0
  221. package/dist/layers.ipZc_UQ4.js +8 -0
  222. package/dist/layers.itQhFK_P.js +48146 -0
  223. package/dist/layers.ix2kR4vq.js +9165 -0
  224. package/dist/layers.jLGyr7oL.js +3 -0
  225. package/dist/layers.k60iEoD4.js +41 -0
  226. package/dist/layers.l06k9Lu3.js +1 -0
  227. package/dist/layers.lCMwJpWR.js +4 -0
  228. package/dist/layers.lCpg7dOn.js +21 -0
  229. package/dist/layers.lPp5HcdT.js +40 -0
  230. package/dist/layers.lUeeFrHR.js +10 -0
  231. package/dist/layers.os9El-5G.js +39 -0
  232. package/dist/layers.pSPpASHH.js +35 -0
  233. package/dist/layers.s006AAsW.js +1 -0
  234. package/dist/layers.sFiVxDwP.js +1 -0
  235. package/dist/layers.sWO0agP4.js +295 -0
  236. package/dist/layers.tSiLqPQw.js +1 -0
  237. package/dist/layers.uZTzmOsK.js +38 -0
  238. package/dist/layers.uzGJX2RJ.js +14 -0
  239. package/dist/layers.vZPmwsoq.js +32 -0
  240. package/dist/layers.wBjmBWfX.js +1 -0
  241. package/package.json +33 -17
  242. package/dist/layers.Cjs5EBWM.js +0 -343
  243. package/dist/layers.DPccTctI.js +0 -285
  244. package/dist/layers.DZ8DrrVn.js +0 -53491
  245. package/dist/layers.QVaGPbs3.js +0 -161
  246. package/dist/layers.VK3NB7Nd.js +0 -1
@@ -0,0 +1,1272 @@
1
+ import * as t from "lodash-es";
2
+ import { G as w } from "./layers.C7lIplJU.js";
3
+ class ae {
4
+ constructor() {
5
+ var n = {};
6
+ n._next = n._prev = n, this._sentinel = n;
7
+ }
8
+ dequeue() {
9
+ var n = this._sentinel, r = n._prev;
10
+ if (r !== n)
11
+ return P(r), r;
12
+ }
13
+ enqueue(n) {
14
+ var r = this._sentinel;
15
+ n._prev && n._next && P(n), n._next = r._next, r._next._prev = n, r._next = n, n._prev = r;
16
+ }
17
+ toString() {
18
+ for (var n = [], r = this._sentinel, a = r._prev; a !== r; )
19
+ n.push(JSON.stringify(a, oe)), a = a._prev;
20
+ return "[" + n.join(", ") + "]";
21
+ }
22
+ }
23
+ function P(e) {
24
+ e._prev._next = e._next, e._next._prev = e._prev, delete e._next, delete e._prev;
25
+ }
26
+ function oe(e, n) {
27
+ if (e !== "_next" && e !== "_prev")
28
+ return n;
29
+ }
30
+ var te = t.constant(1);
31
+ function ie(e, n) {
32
+ if (e.nodeCount() <= 1)
33
+ return [];
34
+ var r = ue(e, n || te), a = fe(r.graph, r.buckets, r.zeroIdx);
35
+ return t.flatten(
36
+ t.map(a, function(o) {
37
+ return e.outEdges(o.v, o.w);
38
+ })
39
+ );
40
+ }
41
+ function fe(e, n, r) {
42
+ for (var a = [], o = n[n.length - 1], f = n[0], i; e.nodeCount(); ) {
43
+ for (; i = f.dequeue(); )
44
+ y(e, n, r, i);
45
+ for (; i = o.dequeue(); )
46
+ y(e, n, r, i);
47
+ if (e.nodeCount()) {
48
+ for (var u = n.length - 2; u > 0; --u)
49
+ if (i = n[u].dequeue(), i) {
50
+ a = a.concat(y(e, n, r, i, !0));
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ return a;
56
+ }
57
+ function y(e, n, r, a, o) {
58
+ var f = o ? [] : void 0;
59
+ return t.forEach(e.inEdges(a.v), function(i) {
60
+ var u = e.edge(i), d = e.node(i.v);
61
+ o && f.push({ v: i.v, w: i.w }), d.out -= u, R(n, r, d);
62
+ }), t.forEach(e.outEdges(a.v), function(i) {
63
+ var u = e.edge(i), d = i.w, s = e.node(d);
64
+ s.in -= u, R(n, r, s);
65
+ }), e.removeNode(a.v), f;
66
+ }
67
+ function ue(e, n) {
68
+ var r = new w(), a = 0, o = 0;
69
+ t.forEach(e.nodes(), function(u) {
70
+ r.setNode(u, { v: u, in: 0, out: 0 });
71
+ }), t.forEach(e.edges(), function(u) {
72
+ var d = r.edge(u.v, u.w) || 0, s = n(u), c = d + s;
73
+ r.setEdge(u.v, u.w, c), o = Math.max(o, r.node(u.v).out += s), a = Math.max(a, r.node(u.w).in += s);
74
+ });
75
+ var f = t.range(o + a + 3).map(function() {
76
+ return new ae();
77
+ }), i = a + 1;
78
+ return t.forEach(r.nodes(), function(u) {
79
+ R(f, i, r.node(u));
80
+ }), { graph: r, buckets: f, zeroIdx: i };
81
+ }
82
+ function R(e, n, r) {
83
+ r.out ? r.in ? e[r.out - r.in + n].enqueue(r) : e[e.length - 1].enqueue(r) : e[0].enqueue(r);
84
+ }
85
+ function de(e) {
86
+ var n = e.graph().acyclicer === "greedy" ? ie(e, r(e)) : se(e);
87
+ t.forEach(n, function(a) {
88
+ var o = e.edge(a);
89
+ e.removeEdge(a), o.forwardName = a.name, o.reversed = !0, e.setEdge(a.w, a.v, o, t.uniqueId("rev"));
90
+ });
91
+ function r(a) {
92
+ return function(o) {
93
+ return a.edge(o).weight;
94
+ };
95
+ }
96
+ }
97
+ function se(e) {
98
+ var n = [], r = {}, a = {};
99
+ function o(f) {
100
+ t.has(a, f) || (a[f] = !0, r[f] = !0, t.forEach(e.outEdges(f), function(i) {
101
+ t.has(r, i.w) ? n.push(i) : o(i.w);
102
+ }), delete r[f]);
103
+ }
104
+ return t.forEach(e.nodes(), o), n;
105
+ }
106
+ function ce(e) {
107
+ t.forEach(e.edges(), function(n) {
108
+ var r = e.edge(n);
109
+ if (r.reversed) {
110
+ e.removeEdge(n);
111
+ var a = r.forwardName;
112
+ delete r.reversed, delete r.forwardName, e.setEdge(n.w, n.v, r, a);
113
+ }
114
+ });
115
+ }
116
+ function b(e, n, r, a) {
117
+ var o;
118
+ do
119
+ o = t.uniqueId(a);
120
+ while (e.hasNode(o));
121
+ return r.dummy = n, e.setNode(o, r), o;
122
+ }
123
+ function he(e) {
124
+ var n = new w().setGraph(e.graph());
125
+ return t.forEach(e.nodes(), function(r) {
126
+ n.setNode(r, e.node(r));
127
+ }), t.forEach(e.edges(), function(r) {
128
+ var a = n.edge(r.v, r.w) || { weight: 0, minlen: 1 }, o = e.edge(r);
129
+ n.setEdge(r.v, r.w, {
130
+ weight: a.weight + o.weight,
131
+ minlen: Math.max(a.minlen, o.minlen)
132
+ });
133
+ }), n;
134
+ }
135
+ function j(e) {
136
+ var n = new w({ multigraph: e.isMultigraph() }).setGraph(e.graph());
137
+ return t.forEach(e.nodes(), function(r) {
138
+ e.children(r).length || n.setNode(r, e.node(r));
139
+ }), t.forEach(e.edges(), function(r) {
140
+ n.setEdge(r, e.edge(r));
141
+ }), n;
142
+ }
143
+ function V(e, n) {
144
+ var r = e.x, a = e.y, o = n.x - r, f = n.y - a, i = e.width / 2, u = e.height / 2;
145
+ if (!o && !f)
146
+ throw new Error("Not possible to find intersection inside of the rectangle");
147
+ var d, s;
148
+ return Math.abs(f) * i > Math.abs(o) * u ? (f < 0 && (u = -u), d = u * o / f, s = u) : (o < 0 && (i = -i), d = i, s = i * f / o), { x: r + d, y: a + s };
149
+ }
150
+ function x(e) {
151
+ var n = t.map(t.range(q(e) + 1), function() {
152
+ return [];
153
+ });
154
+ return t.forEach(e.nodes(), function(r) {
155
+ var a = e.node(r), o = a.rank;
156
+ t.isUndefined(o) || (n[o][a.order] = r);
157
+ }), n;
158
+ }
159
+ function le(e) {
160
+ var n = t.min(
161
+ t.map(e.nodes(), function(r) {
162
+ return e.node(r).rank;
163
+ })
164
+ );
165
+ t.forEach(e.nodes(), function(r) {
166
+ var a = e.node(r);
167
+ t.has(a, "rank") && (a.rank -= n);
168
+ });
169
+ }
170
+ function ve(e) {
171
+ var n = t.min(
172
+ t.map(e.nodes(), function(f) {
173
+ return e.node(f).rank;
174
+ })
175
+ ), r = [];
176
+ t.forEach(e.nodes(), function(f) {
177
+ var i = e.node(f).rank - n;
178
+ r[i] || (r[i] = []), r[i].push(f);
179
+ });
180
+ var a = 0, o = e.graph().nodeRankFactor;
181
+ t.forEach(r, function(f, i) {
182
+ t.isUndefined(f) && i % o !== 0 ? --a : a && t.forEach(f, function(u) {
183
+ e.node(u).rank += a;
184
+ });
185
+ });
186
+ }
187
+ function B(e, n, r, a) {
188
+ var o = {
189
+ width: 0,
190
+ height: 0
191
+ };
192
+ return arguments.length >= 4 && (o.rank = r, o.order = a), b(e, "border", o, n);
193
+ }
194
+ function q(e) {
195
+ return t.max(
196
+ t.map(e.nodes(), function(n) {
197
+ var r = e.node(n).rank;
198
+ if (!t.isUndefined(r))
199
+ return r;
200
+ })
201
+ );
202
+ }
203
+ function pe(e, n) {
204
+ var r = { lhs: [], rhs: [] };
205
+ return t.forEach(e, function(a) {
206
+ n(a) ? r.lhs.push(a) : r.rhs.push(a);
207
+ }), r;
208
+ }
209
+ function me(e, n) {
210
+ return n();
211
+ }
212
+ function we(e) {
213
+ function n(r) {
214
+ var a = e.children(r), o = e.node(r);
215
+ if (a.length && t.forEach(a, n), t.has(o, "minRank")) {
216
+ o.borderLeft = [], o.borderRight = [];
217
+ for (var f = o.minRank, i = o.maxRank + 1; f < i; ++f)
218
+ O(e, "borderLeft", "_bl", r, o, f), O(e, "borderRight", "_br", r, o, f);
219
+ }
220
+ }
221
+ t.forEach(e.children(), n);
222
+ }
223
+ function O(e, n, r, a, o, f) {
224
+ var i = { width: 0, height: 0, rank: f, borderType: n }, u = o[n][f - 1], d = b(e, "border", i, r);
225
+ o[n][f] = d, e.setParent(d, a), u && e.setEdge(u, d, { weight: 1 });
226
+ }
227
+ function Ee(e) {
228
+ var n = e.graph().rankdir.toLowerCase();
229
+ (n === "lr" || n === "rl") && W(e);
230
+ }
231
+ function be(e) {
232
+ var n = e.graph().rankdir.toLowerCase();
233
+ (n === "bt" || n === "rl") && ge(e), (n === "lr" || n === "rl") && (ke(e), W(e));
234
+ }
235
+ function W(e) {
236
+ t.forEach(e.nodes(), function(n) {
237
+ F(e.node(n));
238
+ }), t.forEach(e.edges(), function(n) {
239
+ F(e.edge(n));
240
+ });
241
+ }
242
+ function F(e) {
243
+ var n = e.width;
244
+ e.width = e.height, e.height = n;
245
+ }
246
+ function ge(e) {
247
+ t.forEach(e.nodes(), function(n) {
248
+ N(e.node(n));
249
+ }), t.forEach(e.edges(), function(n) {
250
+ var r = e.edge(n);
251
+ t.forEach(r.points, N), t.has(r, "y") && N(r);
252
+ });
253
+ }
254
+ function N(e) {
255
+ e.y = -e.y;
256
+ }
257
+ function ke(e) {
258
+ t.forEach(e.nodes(), function(n) {
259
+ L(e.node(n));
260
+ }), t.forEach(e.edges(), function(n) {
261
+ var r = e.edge(n);
262
+ t.forEach(r.points, L), t.has(r, "x") && L(r);
263
+ });
264
+ }
265
+ function L(e) {
266
+ var n = e.x;
267
+ e.x = e.y, e.y = n;
268
+ }
269
+ function xe(e) {
270
+ e.graph().dummyChains = [], t.forEach(e.edges(), function(n) {
271
+ ye(e, n);
272
+ });
273
+ }
274
+ function ye(e, n) {
275
+ var r = n.v, a = e.node(r).rank, o = n.w, f = e.node(o).rank, i = n.name, u = e.edge(n), d = u.labelRank;
276
+ if (f !== a + 1) {
277
+ e.removeEdge(n);
278
+ var s, c, h;
279
+ for (h = 0, ++a; a < f; ++h, ++a)
280
+ u.points = [], c = {
281
+ width: 0,
282
+ height: 0,
283
+ edgeLabel: u,
284
+ edgeObj: n,
285
+ rank: a
286
+ }, s = b(e, "edge", c, "_d"), a === d && (c.width = u.width, c.height = u.height, c.dummy = "edge-label", c.labelpos = u.labelpos), e.setEdge(r, s, { weight: u.weight }, i), h === 0 && e.graph().dummyChains.push(s), r = s;
287
+ e.setEdge(r, o, { weight: u.weight }, i);
288
+ }
289
+ }
290
+ function Ne(e) {
291
+ t.forEach(e.graph().dummyChains, function(n) {
292
+ var r = e.node(n), a = r.edgeLabel, o;
293
+ for (e.setEdge(r.edgeObj, a); r.dummy; )
294
+ o = e.successors(n)[0], e.removeNode(n), a.points.push({ x: r.x, y: r.y }), r.dummy === "edge-label" && (a.x = r.x, a.y = r.y, a.width = r.width, a.height = r.height), n = o, r = e.node(n);
295
+ });
296
+ }
297
+ function C(e) {
298
+ var n = {};
299
+ function r(a) {
300
+ var o = e.node(a);
301
+ if (t.has(n, a))
302
+ return o.rank;
303
+ n[a] = !0;
304
+ var f = t.min(
305
+ t.map(e.outEdges(a), function(i) {
306
+ return r(i.w) - e.edge(i).minlen;
307
+ })
308
+ );
309
+ return (f === Number.POSITIVE_INFINITY || // return value of _.map([]) for Lodash 3
310
+ f === void 0 || // return value of _.map([]) for Lodash 4
311
+ f === null) && (f = 0), o.rank = f;
312
+ }
313
+ t.forEach(e.sources(), r);
314
+ }
315
+ function k(e, n) {
316
+ return e.node(n.w).rank - e.node(n.v).rank - e.edge(n).minlen;
317
+ }
318
+ function $(e) {
319
+ var n = new w({ directed: !1 }), r = e.nodes()[0], a = e.nodeCount();
320
+ n.setNode(r, {});
321
+ for (var o, f; Le(n, e) < a; )
322
+ o = Ie(n, e), f = n.hasNode(o.v) ? k(e, o) : -k(e, o), _e(n, e, f);
323
+ return n;
324
+ }
325
+ function Le(e, n) {
326
+ function r(a) {
327
+ t.forEach(n.nodeEdges(a), function(o) {
328
+ var f = o.v, i = a === f ? o.w : f;
329
+ !e.hasNode(i) && !k(n, o) && (e.setNode(i, {}), e.setEdge(a, i, {}), r(i));
330
+ });
331
+ }
332
+ return t.forEach(e.nodes(), r), e.nodeCount();
333
+ }
334
+ function Ie(e, n) {
335
+ return t.minBy(n.edges(), function(r) {
336
+ if (e.hasNode(r.v) !== e.hasNode(r.w))
337
+ return k(n, r);
338
+ });
339
+ }
340
+ function _e(e, n, r) {
341
+ t.forEach(e.nodes(), function(a) {
342
+ n.node(a).rank += r;
343
+ });
344
+ }
345
+ t.constant(1);
346
+ t.constant(1);
347
+ function Re() {
348
+ }
349
+ Re.prototype = new Error();
350
+ function z(e, n, r) {
351
+ t.isArray(n) || (n = [n]);
352
+ var a = (e.isDirected() ? e.successors : e.neighbors).bind(e), o = [], f = {};
353
+ return t.each(n, function(i) {
354
+ if (!e.hasNode(i))
355
+ throw new Error("Graph does not have node: " + i);
356
+ X(e, i, r === "post", f, a, o);
357
+ }), o;
358
+ }
359
+ function X(e, n, r, a, o, f) {
360
+ t.has(a, n) || (a[n] = !0, r || f.push(n), t.each(o(n), function(i) {
361
+ X(e, i, r, a, o, f);
362
+ }), r && f.push(n));
363
+ }
364
+ function Ce(e, n) {
365
+ return z(e, n, "post");
366
+ }
367
+ function Te(e, n) {
368
+ return z(e, n, "pre");
369
+ }
370
+ E.initLowLimValues = S;
371
+ E.initCutValues = T;
372
+ E.calcCutValue = H;
373
+ E.leaveEdge = K;
374
+ E.enterEdge = Q;
375
+ E.exchangeEdges = Z;
376
+ function E(e) {
377
+ e = he(e), C(e);
378
+ var n = $(e);
379
+ S(n), T(n, e);
380
+ for (var r, a; r = K(n); )
381
+ a = Q(n, e, r), Z(n, e, r, a);
382
+ }
383
+ function T(e, n) {
384
+ var r = Ce(e, e.nodes());
385
+ r = r.slice(0, r.length - 1), t.forEach(r, function(a) {
386
+ Se(e, n, a);
387
+ });
388
+ }
389
+ function Se(e, n, r) {
390
+ var a = e.node(r), o = a.parent;
391
+ e.edge(r, o).cutvalue = H(e, n, r);
392
+ }
393
+ function H(e, n, r) {
394
+ var a = e.node(r), o = a.parent, f = !0, i = n.edge(r, o), u = 0;
395
+ return i || (f = !1, i = n.edge(o, r)), u = i.weight, t.forEach(n.nodeEdges(r), function(d) {
396
+ var s = d.v === r, c = s ? d.w : d.v;
397
+ if (c !== o) {
398
+ var h = s === f, l = n.edge(d).weight;
399
+ if (u += h ? l : -l, Pe(e, r, c)) {
400
+ var v = e.edge(r, c).cutvalue;
401
+ u += h ? -v : v;
402
+ }
403
+ }
404
+ }), u;
405
+ }
406
+ function S(e, n) {
407
+ arguments.length < 2 && (n = e.nodes()[0]), J(e, {}, 1, n);
408
+ }
409
+ function J(e, n, r, a, o) {
410
+ var f = r, i = e.node(a);
411
+ return n[a] = !0, t.forEach(e.neighbors(a), function(u) {
412
+ t.has(n, u) || (r = J(e, n, r, u, a));
413
+ }), i.low = f, i.lim = r++, o ? i.parent = o : delete i.parent, r;
414
+ }
415
+ function K(e) {
416
+ return t.find(e.edges(), function(n) {
417
+ return e.edge(n).cutvalue < 0;
418
+ });
419
+ }
420
+ function Q(e, n, r) {
421
+ var a = r.v, o = r.w;
422
+ n.hasEdge(a, o) || (a = r.w, o = r.v);
423
+ var f = e.node(a), i = e.node(o), u = f, d = !1;
424
+ f.lim > i.lim && (u = i, d = !0);
425
+ var s = t.filter(n.edges(), function(c) {
426
+ return d === A(e, e.node(c.v), u) && d !== A(e, e.node(c.w), u);
427
+ });
428
+ return t.minBy(s, function(c) {
429
+ return k(n, c);
430
+ });
431
+ }
432
+ function Z(e, n, r, a) {
433
+ var o = r.v, f = r.w;
434
+ e.removeEdge(o, f), e.setEdge(a.v, a.w, {}), S(e), T(e, n), Me(e, n);
435
+ }
436
+ function Me(e, n) {
437
+ var r = t.find(e.nodes(), function(o) {
438
+ return !n.node(o).parent;
439
+ }), a = Te(e, r);
440
+ a = a.slice(1), t.forEach(a, function(o) {
441
+ var f = e.node(o).parent, i = n.edge(o, f), u = !1;
442
+ i || (i = n.edge(f, o), u = !0), n.node(o).rank = n.node(f).rank + (u ? i.minlen : -i.minlen);
443
+ });
444
+ }
445
+ function Pe(e, n, r) {
446
+ return e.hasEdge(n, r);
447
+ }
448
+ function A(e, n, r) {
449
+ return r.low <= n.lim && n.lim <= r.lim;
450
+ }
451
+ function Ve(e) {
452
+ switch (e.graph().ranker) {
453
+ case "network-simplex":
454
+ Y(e);
455
+ break;
456
+ case "tight-tree":
457
+ Oe(e);
458
+ break;
459
+ case "longest-path":
460
+ Be(e);
461
+ break;
462
+ default:
463
+ Y(e);
464
+ }
465
+ }
466
+ var Be = C;
467
+ function Oe(e) {
468
+ C(e), $(e);
469
+ }
470
+ function Y(e) {
471
+ E(e);
472
+ }
473
+ function Fe(e) {
474
+ var n = b(e, "root", {}, "_root"), r = Ae(e), a = t.max(t.values(r)) - 1, o = 2 * a + 1;
475
+ e.graph().nestingRoot = n, t.forEach(e.edges(), function(i) {
476
+ e.edge(i).minlen *= o;
477
+ });
478
+ var f = Ye(e) + 1;
479
+ t.forEach(e.children(), function(i) {
480
+ ee(e, n, o, f, a, r, i);
481
+ }), e.graph().nodeRankFactor = o;
482
+ }
483
+ function ee(e, n, r, a, o, f, i) {
484
+ var u = e.children(i);
485
+ if (!u.length) {
486
+ i !== n && e.setEdge(n, i, { weight: 0, minlen: r });
487
+ return;
488
+ }
489
+ var d = B(e, "_bt"), s = B(e, "_bb"), c = e.node(i);
490
+ e.setParent(d, i), c.borderTop = d, e.setParent(s, i), c.borderBottom = s, t.forEach(u, function(h) {
491
+ ee(e, n, r, a, o, f, h);
492
+ var l = e.node(h), v = l.borderTop ? l.borderTop : h, p = l.borderBottom ? l.borderBottom : h, m = l.borderTop ? a : 2 * a, g = v !== p ? 1 : o - f[i] + 1;
493
+ e.setEdge(d, v, {
494
+ weight: m,
495
+ minlen: g,
496
+ nestingEdge: !0
497
+ }), e.setEdge(p, s, {
498
+ weight: m,
499
+ minlen: g,
500
+ nestingEdge: !0
501
+ });
502
+ }), e.parent(i) || e.setEdge(n, d, { weight: 0, minlen: o + f[i] });
503
+ }
504
+ function Ae(e) {
505
+ var n = {};
506
+ function r(a, o) {
507
+ var f = e.children(a);
508
+ f && f.length && t.forEach(f, function(i) {
509
+ r(i, o + 1);
510
+ }), n[a] = o;
511
+ }
512
+ return t.forEach(e.children(), function(a) {
513
+ r(a, 1);
514
+ }), n;
515
+ }
516
+ function Ye(e) {
517
+ return t.reduce(
518
+ e.edges(),
519
+ function(n, r) {
520
+ return n + e.edge(r).weight;
521
+ },
522
+ 0
523
+ );
524
+ }
525
+ function De(e) {
526
+ var n = e.graph();
527
+ e.removeNode(n.nestingRoot), delete n.nestingRoot, t.forEach(e.edges(), function(r) {
528
+ var a = e.edge(r);
529
+ a.nestingEdge && e.removeEdge(r);
530
+ });
531
+ }
532
+ function Ge(e, n, r) {
533
+ var a = {}, o;
534
+ t.forEach(r, function(f) {
535
+ for (var i = e.parent(f), u, d; i; ) {
536
+ if (u = e.parent(i), u ? (d = a[u], a[u] = i) : (d = o, o = i), d && d !== i) {
537
+ n.setEdge(d, i);
538
+ return;
539
+ }
540
+ i = u;
541
+ }
542
+ });
543
+ }
544
+ function Ue(e, n, r) {
545
+ var a = je(e), o = new w({ compound: !0 }).setGraph({ root: a }).setDefaultNodeLabel(function(f) {
546
+ return e.node(f);
547
+ });
548
+ return t.forEach(e.nodes(), function(f) {
549
+ var i = e.node(f), u = e.parent(f);
550
+ (i.rank === n || i.minRank <= n && n <= i.maxRank) && (o.setNode(f), o.setParent(f, u || a), t.forEach(e[r](f), function(d) {
551
+ var s = d.v === f ? d.w : d.v, c = o.edge(s, f), h = t.isUndefined(c) ? 0 : c.weight;
552
+ o.setEdge(s, f, { weight: e.edge(d).weight + h });
553
+ }), t.has(i, "minRank") && o.setNode(f, {
554
+ borderLeft: i.borderLeft[n],
555
+ borderRight: i.borderRight[n]
556
+ }));
557
+ }), o;
558
+ }
559
+ function je(e) {
560
+ for (var n; e.hasNode(n = t.uniqueId("_root")); ) ;
561
+ return n;
562
+ }
563
+ function qe(e, n) {
564
+ for (var r = 0, a = 1; a < n.length; ++a)
565
+ r += We(e, n[a - 1], n[a]);
566
+ return r;
567
+ }
568
+ function We(e, n, r) {
569
+ for (var a = t.zipObject(
570
+ r,
571
+ t.map(r, function(s, c) {
572
+ return c;
573
+ })
574
+ ), o = t.flatten(
575
+ t.map(n, function(s) {
576
+ return t.sortBy(
577
+ t.map(e.outEdges(s), function(c) {
578
+ return { pos: a[c.w], weight: e.edge(c).weight };
579
+ }),
580
+ "pos"
581
+ );
582
+ })
583
+ ), f = 1; f < r.length; ) f <<= 1;
584
+ var i = 2 * f - 1;
585
+ f -= 1;
586
+ var u = t.map(new Array(i), function() {
587
+ return 0;
588
+ }), d = 0;
589
+ return t.forEach(
590
+ // @ts-expect-error
591
+ o.forEach(function(s) {
592
+ var c = s.pos + f;
593
+ u[c] += s.weight;
594
+ for (var h = 0; c > 0; )
595
+ c % 2 && (h += u[c + 1]), c = c - 1 >> 1, u[c] += s.weight;
596
+ d += s.weight * h;
597
+ })
598
+ ), d;
599
+ }
600
+ function $e(e) {
601
+ var n = {}, r = t.filter(e.nodes(), function(u) {
602
+ return !e.children(u).length;
603
+ }), a = t.max(
604
+ t.map(r, function(u) {
605
+ return e.node(u).rank;
606
+ })
607
+ ), o = t.map(t.range(a + 1), function() {
608
+ return [];
609
+ });
610
+ function f(u) {
611
+ if (!t.has(n, u)) {
612
+ n[u] = !0;
613
+ var d = e.node(u);
614
+ o[d.rank].push(u), t.forEach(e.successors(u), f);
615
+ }
616
+ }
617
+ var i = t.sortBy(r, function(u) {
618
+ return e.node(u).rank;
619
+ });
620
+ return t.forEach(i, f), o;
621
+ }
622
+ function ze(e, n) {
623
+ return t.map(n, function(r) {
624
+ var a = e.inEdges(r);
625
+ if (a.length) {
626
+ var o = t.reduce(
627
+ a,
628
+ function(f, i) {
629
+ var u = e.edge(i), d = e.node(i.v);
630
+ return {
631
+ sum: f.sum + u.weight * d.order,
632
+ weight: f.weight + u.weight
633
+ };
634
+ },
635
+ { sum: 0, weight: 0 }
636
+ );
637
+ return {
638
+ v: r,
639
+ barycenter: o.sum / o.weight,
640
+ weight: o.weight
641
+ };
642
+ } else
643
+ return { v: r };
644
+ });
645
+ }
646
+ function Xe(e, n) {
647
+ var r = {};
648
+ t.forEach(e, function(o, f) {
649
+ var i = r[o.v] = {
650
+ indegree: 0,
651
+ in: [],
652
+ out: [],
653
+ vs: [o.v],
654
+ i: f
655
+ };
656
+ t.isUndefined(o.barycenter) || (i.barycenter = o.barycenter, i.weight = o.weight);
657
+ }), t.forEach(n.edges(), function(o) {
658
+ var f = r[o.v], i = r[o.w];
659
+ !t.isUndefined(f) && !t.isUndefined(i) && (i.indegree++, f.out.push(r[o.w]));
660
+ });
661
+ var a = t.filter(r, function(o) {
662
+ return !o.indegree;
663
+ });
664
+ return He(a);
665
+ }
666
+ function He(e) {
667
+ var n = [];
668
+ function r(f) {
669
+ return function(i) {
670
+ i.merged || (t.isUndefined(i.barycenter) || t.isUndefined(f.barycenter) || i.barycenter >= f.barycenter) && Je(f, i);
671
+ };
672
+ }
673
+ function a(f) {
674
+ return function(i) {
675
+ i.in.push(f), --i.indegree === 0 && e.push(i);
676
+ };
677
+ }
678
+ for (; e.length; ) {
679
+ var o = e.pop();
680
+ n.push(o), t.forEach(o.in.reverse(), r(o)), t.forEach(o.out, a(o));
681
+ }
682
+ return t.map(
683
+ t.filter(n, function(f) {
684
+ return !f.merged;
685
+ }),
686
+ function(f) {
687
+ return t.pick(f, ["vs", "i", "barycenter", "weight"]);
688
+ }
689
+ );
690
+ }
691
+ function Je(e, n) {
692
+ var r = 0, a = 0;
693
+ e.weight && (r += e.barycenter * e.weight, a += e.weight), n.weight && (r += n.barycenter * n.weight, a += n.weight), e.vs = n.vs.concat(e.vs), e.barycenter = r / a, e.weight = a, e.i = Math.min(n.i, e.i), n.merged = !0;
694
+ }
695
+ function Ke(e, n) {
696
+ var r = pe(e, function(c) {
697
+ return t.has(c, "barycenter");
698
+ }), a = r.lhs, o = t.sortBy(r.rhs, function(c) {
699
+ return -c.i;
700
+ }), f = [], i = 0, u = 0, d = 0;
701
+ a.sort(Qe(!!n)), d = D(f, o, d), t.forEach(a, function(c) {
702
+ d += c.vs.length, f.push(c.vs), i += c.barycenter * c.weight, u += c.weight, d = D(f, o, d);
703
+ });
704
+ var s = { vs: t.flatten(f) };
705
+ return u && (s.barycenter = i / u, s.weight = u), s;
706
+ }
707
+ function D(e, n, r) {
708
+ for (var a; n.length && (a = t.last(n)).i <= r; )
709
+ n.pop(), e.push(a.vs), r++;
710
+ return r;
711
+ }
712
+ function Qe(e) {
713
+ return function(n, r) {
714
+ return n.barycenter < r.barycenter ? -1 : n.barycenter > r.barycenter ? 1 : e ? r.i - n.i : n.i - r.i;
715
+ };
716
+ }
717
+ function ne(e, n, r, a) {
718
+ var o = e.children(n), f = e.node(n), i = f ? f.borderLeft : void 0, u = f ? f.borderRight : void 0, d = {};
719
+ i && (o = t.filter(o, function(p) {
720
+ return p !== i && p !== u;
721
+ }));
722
+ var s = ze(e, o);
723
+ t.forEach(s, function(p) {
724
+ if (e.children(p.v).length) {
725
+ var m = ne(e, p.v, r, a);
726
+ d[p.v] = m, t.has(m, "barycenter") && en(p, m);
727
+ }
728
+ });
729
+ var c = Xe(s, r);
730
+ Ze(c, d);
731
+ var h = Ke(c, a);
732
+ if (i && (h.vs = t.flatten([i, h.vs, u]), e.predecessors(i).length)) {
733
+ var l = e.node(e.predecessors(i)[0]), v = e.node(e.predecessors(u)[0]);
734
+ t.has(h, "barycenter") || (h.barycenter = 0, h.weight = 0), h.barycenter = (h.barycenter * h.weight + l.order + v.order) / (h.weight + 2), h.weight += 2;
735
+ }
736
+ return h;
737
+ }
738
+ function Ze(e, n) {
739
+ t.forEach(e, function(r) {
740
+ r.vs = t.flatten(
741
+ r.vs.map(function(a) {
742
+ return n[a] ? n[a].vs : a;
743
+ })
744
+ );
745
+ });
746
+ }
747
+ function en(e, n) {
748
+ t.isUndefined(e.barycenter) ? (e.barycenter = n.barycenter, e.weight = n.weight) : (e.barycenter = (e.barycenter * e.weight + n.barycenter * n.weight) / (e.weight + n.weight), e.weight += n.weight);
749
+ }
750
+ function nn(e) {
751
+ var n = q(e), r = G(e, t.range(1, n + 1), "inEdges"), a = G(e, t.range(n - 1, -1, -1), "outEdges"), o = $e(e);
752
+ U(e, o);
753
+ for (var f = Number.POSITIVE_INFINITY, i, u = 0, d = 0; d < 4; ++u, ++d) {
754
+ rn(u % 2 ? r : a, u % 4 >= 2), o = x(e);
755
+ var s = qe(e, o);
756
+ s < f && (d = 0, i = t.cloneDeep(o), f = s);
757
+ }
758
+ U(e, i);
759
+ }
760
+ function G(e, n, r) {
761
+ return t.map(n, function(a) {
762
+ return Ue(e, a, r);
763
+ });
764
+ }
765
+ function rn(e, n) {
766
+ var r = new w();
767
+ t.forEach(e, function(a) {
768
+ var o = a.graph().root, f = ne(a, o, r, n);
769
+ t.forEach(f.vs, function(i, u) {
770
+ a.node(i).order = u;
771
+ }), Ge(a, r, f.vs);
772
+ });
773
+ }
774
+ function U(e, n) {
775
+ t.forEach(n, function(r) {
776
+ t.forEach(r, function(a, o) {
777
+ e.node(a).order = o;
778
+ });
779
+ });
780
+ }
781
+ function an(e) {
782
+ var n = tn(e);
783
+ t.forEach(e.graph().dummyChains, function(r) {
784
+ for (var a = e.node(r), o = a.edgeObj, f = on(e, n, o.v, o.w), i = f.path, u = f.lca, d = 0, s = i[d], c = !0; r !== o.w; ) {
785
+ if (a = e.node(r), c) {
786
+ for (; (s = i[d]) !== u && e.node(s).maxRank < a.rank; )
787
+ d++;
788
+ s === u && (c = !1);
789
+ }
790
+ if (!c) {
791
+ for (; d < i.length - 1 && e.node(s = i[d + 1]).minRank <= a.rank; )
792
+ d++;
793
+ s = i[d];
794
+ }
795
+ e.setParent(r, s), r = e.successors(r)[0];
796
+ }
797
+ });
798
+ }
799
+ function on(e, n, r, a) {
800
+ var o = [], f = [], i = Math.min(n[r].low, n[a].low), u = Math.max(n[r].lim, n[a].lim), d, s;
801
+ d = r;
802
+ do
803
+ d = e.parent(d), o.push(d);
804
+ while (d && (n[d].low > i || u > n[d].lim));
805
+ for (s = d, d = a; (d = e.parent(d)) !== s; )
806
+ f.push(d);
807
+ return { path: o.concat(f.reverse()), lca: s };
808
+ }
809
+ function tn(e) {
810
+ var n = {}, r = 0;
811
+ function a(o) {
812
+ var f = r;
813
+ t.forEach(e.children(o), a), n[o] = { low: f, lim: r++ };
814
+ }
815
+ return t.forEach(e.children(), a), n;
816
+ }
817
+ function fn(e, n) {
818
+ var r = {};
819
+ function a(o, f) {
820
+ var i = 0, u = 0, d = o.length, s = t.last(f);
821
+ return t.forEach(f, function(c, h) {
822
+ var l = dn(e, c), v = l ? e.node(l).order : d;
823
+ (l || c === s) && (t.forEach(f.slice(u, h + 1), function(p) {
824
+ t.forEach(e.predecessors(p), function(m) {
825
+ var g = e.node(m), M = g.order;
826
+ (M < i || v < M) && !(g.dummy && e.node(p).dummy) && re(r, m, p);
827
+ });
828
+ }), u = h + 1, i = v);
829
+ }), f;
830
+ }
831
+ return t.reduce(n, a), r;
832
+ }
833
+ function un(e, n) {
834
+ var r = {};
835
+ function a(f, i, u, d, s) {
836
+ var c;
837
+ t.forEach(t.range(i, u), function(h) {
838
+ c = f[h], e.node(c).dummy && t.forEach(e.predecessors(c), function(l) {
839
+ var v = e.node(l);
840
+ v.dummy && (v.order < d || v.order > s) && re(r, l, c);
841
+ });
842
+ });
843
+ }
844
+ function o(f, i) {
845
+ var u = -1, d, s = 0;
846
+ return t.forEach(i, function(c, h) {
847
+ if (e.node(c).dummy === "border") {
848
+ var l = e.predecessors(c);
849
+ l.length && (d = e.node(l[0]).order, a(i, s, h, u, d), s = h, u = d);
850
+ }
851
+ a(i, s, i.length, d, f.length);
852
+ }), i;
853
+ }
854
+ return t.reduce(n, o), r;
855
+ }
856
+ function dn(e, n) {
857
+ if (e.node(n).dummy)
858
+ return t.find(e.predecessors(n), function(r) {
859
+ return e.node(r).dummy;
860
+ });
861
+ }
862
+ function re(e, n, r) {
863
+ if (n > r) {
864
+ var a = n;
865
+ n = r, r = a;
866
+ }
867
+ var o = e[n];
868
+ o || (e[n] = o = {}), o[r] = !0;
869
+ }
870
+ function sn(e, n, r) {
871
+ if (n > r) {
872
+ var a = n;
873
+ n = r, r = a;
874
+ }
875
+ return t.has(e[n], r);
876
+ }
877
+ function cn(e, n, r, a) {
878
+ var o = {}, f = {}, i = {};
879
+ return t.forEach(n, function(u) {
880
+ t.forEach(u, function(d, s) {
881
+ o[d] = d, f[d] = d, i[d] = s;
882
+ });
883
+ }), t.forEach(n, function(u) {
884
+ var d = -1;
885
+ t.forEach(u, function(s) {
886
+ var c = a(s);
887
+ if (c.length) {
888
+ c = t.sortBy(c, function(m) {
889
+ return i[m];
890
+ });
891
+ for (var h = (c.length - 1) / 2, l = Math.floor(h), v = Math.ceil(h); l <= v; ++l) {
892
+ var p = c[l];
893
+ f[s] === s && d < i[p] && !sn(r, s, p) && (f[p] = s, f[s] = o[s] = o[p], d = i[p]);
894
+ }
895
+ }
896
+ });
897
+ }), { root: o, align: f };
898
+ }
899
+ function hn(e, n, r, a, o) {
900
+ var f = {}, i = ln(e, n, r, o), u = o ? "borderLeft" : "borderRight";
901
+ function d(h, l) {
902
+ for (var v = i.nodes(), p = v.pop(), m = {}; p; )
903
+ m[p] ? h(p) : (m[p] = !0, v.push(p), v = v.concat(l(p))), p = v.pop();
904
+ }
905
+ function s(h) {
906
+ f[h] = i.inEdges(h).reduce(function(l, v) {
907
+ return Math.max(l, f[v.v] + i.edge(v));
908
+ }, 0);
909
+ }
910
+ function c(h) {
911
+ var l = i.outEdges(h).reduce(function(p, m) {
912
+ return Math.min(p, f[m.w] - i.edge(m));
913
+ }, Number.POSITIVE_INFINITY), v = e.node(h);
914
+ l !== Number.POSITIVE_INFINITY && v.borderType !== u && (f[h] = Math.max(f[h], l));
915
+ }
916
+ return d(s, i.predecessors.bind(i)), d(c, i.successors.bind(i)), t.forEach(a, function(h) {
917
+ f[h] = f[r[h]];
918
+ }), f;
919
+ }
920
+ function ln(e, n, r, a) {
921
+ var o = new w(), f = e.graph(), i = En(f.nodesep, f.edgesep, a);
922
+ return t.forEach(n, function(u) {
923
+ var d;
924
+ t.forEach(u, function(s) {
925
+ var c = r[s];
926
+ if (o.setNode(c), d) {
927
+ var h = r[d], l = o.edge(h, c);
928
+ o.setEdge(h, c, Math.max(i(e, s, d), l || 0));
929
+ }
930
+ d = s;
931
+ });
932
+ }), o;
933
+ }
934
+ function vn(e, n) {
935
+ return t.minBy(t.values(n), function(r) {
936
+ var a = Number.NEGATIVE_INFINITY, o = Number.POSITIVE_INFINITY;
937
+ return t.forIn(r, function(f, i) {
938
+ var u = bn(e, i) / 2;
939
+ a = Math.max(f + u, a), o = Math.min(f - u, o);
940
+ }), a - o;
941
+ });
942
+ }
943
+ function pn(e, n) {
944
+ var r = t.values(n), a = t.min(r), o = t.max(r);
945
+ t.forEach(["u", "d"], function(f) {
946
+ t.forEach(["l", "r"], function(i) {
947
+ var u = f + i, d = e[u], s;
948
+ if (d !== n) {
949
+ var c = t.values(d);
950
+ s = i === "l" ? a - t.min(c) : o - t.max(c), s && (e[u] = t.mapValues(d, function(h) {
951
+ return h + s;
952
+ }));
953
+ }
954
+ });
955
+ });
956
+ }
957
+ function mn(e, n) {
958
+ return t.mapValues(e.ul, function(r, a) {
959
+ if (n)
960
+ return e[n.toLowerCase()][a];
961
+ var o = t.sortBy(t.map(e, a));
962
+ return (o[1] + o[2]) / 2;
963
+ });
964
+ }
965
+ function wn(e) {
966
+ var n = x(e), r = t.merge(fn(e, n), un(e, n)), a = {}, o;
967
+ t.forEach(["u", "d"], function(i) {
968
+ o = i === "u" ? n : t.values(n).reverse(), t.forEach(["l", "r"], function(u) {
969
+ u === "r" && (o = t.map(o, function(h) {
970
+ return t.values(h).reverse();
971
+ }));
972
+ var d = (i === "u" ? e.predecessors : e.successors).bind(e), s = cn(e, o, r, d), c = hn(e, o, s.root, s.align, u === "r");
973
+ u === "r" && (c = t.mapValues(c, function(h) {
974
+ return -h;
975
+ })), a[i + u] = c;
976
+ });
977
+ });
978
+ var f = vn(e, a);
979
+ return pn(a, f), mn(a, e.graph().align);
980
+ }
981
+ function En(e, n, r) {
982
+ return function(a, o, f) {
983
+ var i = a.node(o), u = a.node(f), d = 0, s;
984
+ if (d += i.width / 2, t.has(i, "labelpos"))
985
+ switch (i.labelpos.toLowerCase()) {
986
+ case "l":
987
+ s = -i.width / 2;
988
+ break;
989
+ case "r":
990
+ s = i.width / 2;
991
+ break;
992
+ }
993
+ if (s && (d += r ? s : -s), s = 0, d += (i.dummy ? n : e) / 2, d += (u.dummy ? n : e) / 2, d += u.width / 2, t.has(u, "labelpos"))
994
+ switch (u.labelpos.toLowerCase()) {
995
+ case "l":
996
+ s = u.width / 2;
997
+ break;
998
+ case "r":
999
+ s = -u.width / 2;
1000
+ break;
1001
+ }
1002
+ return s && (d += r ? s : -s), s = 0, d;
1003
+ };
1004
+ }
1005
+ function bn(e, n) {
1006
+ return e.node(n).width;
1007
+ }
1008
+ function gn(e) {
1009
+ e = j(e), kn(e), t.forOwn(wn(e), function(n, r) {
1010
+ e.node(r).x = n;
1011
+ });
1012
+ }
1013
+ function kn(e) {
1014
+ var n = x(e), r = e.graph().ranksep, a = 0;
1015
+ t.forEach(n, function(o) {
1016
+ var f = t.max(
1017
+ t.map(o, function(i) {
1018
+ return e.node(i).height;
1019
+ })
1020
+ );
1021
+ t.forEach(o, function(i) {
1022
+ e.node(i).y = a + f / 2;
1023
+ }), a += f + r;
1024
+ });
1025
+ }
1026
+ function $n(e, n) {
1027
+ var r = me;
1028
+ r("layout", function() {
1029
+ var a = r(" buildLayoutGraph", function() {
1030
+ return Mn(e);
1031
+ });
1032
+ r(" runLayout", function() {
1033
+ xn(a, r);
1034
+ }), r(" updateInputGraph", function() {
1035
+ yn(e, a);
1036
+ });
1037
+ });
1038
+ }
1039
+ function xn(e, n) {
1040
+ n(" makeSpaceForEdgeLabels", function() {
1041
+ Pn(e);
1042
+ }), n(" removeSelfEdges", function() {
1043
+ Un(e);
1044
+ }), n(" acyclic", function() {
1045
+ de(e);
1046
+ }), n(" nestingGraph.run", function() {
1047
+ Fe(e);
1048
+ }), n(" rank", function() {
1049
+ Ve(j(e));
1050
+ }), n(" injectEdgeLabelProxies", function() {
1051
+ Vn(e);
1052
+ }), n(" removeEmptyRanks", function() {
1053
+ ve(e);
1054
+ }), n(" nestingGraph.cleanup", function() {
1055
+ De(e);
1056
+ }), n(" normalizeRanks", function() {
1057
+ le(e);
1058
+ }), n(" assignRankMinMax", function() {
1059
+ Bn(e);
1060
+ }), n(" removeEdgeLabelProxies", function() {
1061
+ On(e);
1062
+ }), n(" normalize.run", function() {
1063
+ xe(e);
1064
+ }), n(" parentDummyChains", function() {
1065
+ an(e);
1066
+ }), n(" addBorderSegments", function() {
1067
+ we(e);
1068
+ }), n(" order", function() {
1069
+ nn(e);
1070
+ }), n(" insertSelfEdges", function() {
1071
+ jn(e);
1072
+ }), n(" adjustCoordinateSystem", function() {
1073
+ Ee(e);
1074
+ }), n(" position", function() {
1075
+ gn(e);
1076
+ }), n(" positionSelfEdges", function() {
1077
+ qn(e);
1078
+ }), n(" removeBorderNodes", function() {
1079
+ Gn(e);
1080
+ }), n(" normalize.undo", function() {
1081
+ Ne(e);
1082
+ }), n(" fixupEdgeLabelCoords", function() {
1083
+ Yn(e);
1084
+ }), n(" undoCoordinateSystem", function() {
1085
+ be(e);
1086
+ }), n(" translateGraph", function() {
1087
+ Fn(e);
1088
+ }), n(" assignNodeIntersects", function() {
1089
+ An(e);
1090
+ }), n(" reversePoints", function() {
1091
+ Dn(e);
1092
+ }), n(" acyclic.undo", function() {
1093
+ ce(e);
1094
+ });
1095
+ }
1096
+ function yn(e, n) {
1097
+ t.forEach(e.nodes(), function(r) {
1098
+ var a = e.node(r), o = n.node(r);
1099
+ a && (a.x = o.x, a.y = o.y, n.children(r).length && (a.width = o.width, a.height = o.height));
1100
+ }), t.forEach(e.edges(), function(r) {
1101
+ var a = e.edge(r), o = n.edge(r);
1102
+ a.points = o.points, t.has(o, "x") && (a.x = o.x, a.y = o.y);
1103
+ }), e.graph().width = n.graph().width, e.graph().height = n.graph().height;
1104
+ }
1105
+ var Nn = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], Ln = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }, In = ["acyclicer", "ranker", "rankdir", "align"], _n = ["width", "height"], Rn = { width: 0, height: 0 }, Cn = ["minlen", "weight", "width", "height", "labeloffset"], Tn = {
1106
+ minlen: 1,
1107
+ weight: 1,
1108
+ width: 0,
1109
+ height: 0,
1110
+ labeloffset: 10,
1111
+ labelpos: "r"
1112
+ }, Sn = ["labelpos"];
1113
+ function Mn(e) {
1114
+ var n = new w({ multigraph: !0, compound: !0 }), r = _(e.graph());
1115
+ return n.setGraph(
1116
+ t.merge({}, Ln, I(r, Nn), t.pick(r, In))
1117
+ ), t.forEach(e.nodes(), function(a) {
1118
+ var o = _(e.node(a));
1119
+ n.setNode(a, t.defaults(I(o, _n), Rn)), n.setParent(a, e.parent(a));
1120
+ }), t.forEach(e.edges(), function(a) {
1121
+ var o = _(e.edge(a));
1122
+ n.setEdge(
1123
+ a,
1124
+ t.merge({}, Tn, I(o, Cn), t.pick(o, Sn))
1125
+ );
1126
+ }), n;
1127
+ }
1128
+ function Pn(e) {
1129
+ var n = e.graph();
1130
+ n.ranksep /= 2, t.forEach(e.edges(), function(r) {
1131
+ var a = e.edge(r);
1132
+ a.minlen *= 2, a.labelpos.toLowerCase() !== "c" && (n.rankdir === "TB" || n.rankdir === "BT" ? a.width += a.labeloffset : a.height += a.labeloffset);
1133
+ });
1134
+ }
1135
+ function Vn(e) {
1136
+ t.forEach(e.edges(), function(n) {
1137
+ var r = e.edge(n);
1138
+ if (r.width && r.height) {
1139
+ var a = e.node(n.v), o = e.node(n.w), f = { rank: (o.rank - a.rank) / 2 + a.rank, e: n };
1140
+ b(e, "edge-proxy", f, "_ep");
1141
+ }
1142
+ });
1143
+ }
1144
+ function Bn(e) {
1145
+ var n = 0;
1146
+ t.forEach(e.nodes(), function(r) {
1147
+ var a = e.node(r);
1148
+ a.borderTop && (a.minRank = e.node(a.borderTop).rank, a.maxRank = e.node(a.borderBottom).rank, n = t.max(n, a.maxRank));
1149
+ }), e.graph().maxRank = n;
1150
+ }
1151
+ function On(e) {
1152
+ t.forEach(e.nodes(), function(n) {
1153
+ var r = e.node(n);
1154
+ r.dummy === "edge-proxy" && (e.edge(r.e).labelRank = r.rank, e.removeNode(n));
1155
+ });
1156
+ }
1157
+ function Fn(e) {
1158
+ var n = Number.POSITIVE_INFINITY, r = 0, a = Number.POSITIVE_INFINITY, o = 0, f = e.graph(), i = f.marginx || 0, u = f.marginy || 0;
1159
+ function d(s) {
1160
+ var c = s.x, h = s.y, l = s.width, v = s.height;
1161
+ n = Math.min(n, c - l / 2), r = Math.max(r, c + l / 2), a = Math.min(a, h - v / 2), o = Math.max(o, h + v / 2);
1162
+ }
1163
+ t.forEach(e.nodes(), function(s) {
1164
+ d(e.node(s));
1165
+ }), t.forEach(e.edges(), function(s) {
1166
+ var c = e.edge(s);
1167
+ t.has(c, "x") && d(c);
1168
+ }), n -= i, a -= u, t.forEach(e.nodes(), function(s) {
1169
+ var c = e.node(s);
1170
+ c.x -= n, c.y -= a;
1171
+ }), t.forEach(e.edges(), function(s) {
1172
+ var c = e.edge(s);
1173
+ t.forEach(c.points, function(h) {
1174
+ h.x -= n, h.y -= a;
1175
+ }), t.has(c, "x") && (c.x -= n), t.has(c, "y") && (c.y -= a);
1176
+ }), f.width = r - n + i, f.height = o - a + u;
1177
+ }
1178
+ function An(e) {
1179
+ t.forEach(e.edges(), function(n) {
1180
+ var r = e.edge(n), a = e.node(n.v), o = e.node(n.w), f, i;
1181
+ r.points ? (f = r.points[0], i = r.points[r.points.length - 1]) : (r.points = [], f = o, i = a), r.points.unshift(V(a, f)), r.points.push(V(o, i));
1182
+ });
1183
+ }
1184
+ function Yn(e) {
1185
+ t.forEach(e.edges(), function(n) {
1186
+ var r = e.edge(n);
1187
+ if (t.has(r, "x"))
1188
+ switch ((r.labelpos === "l" || r.labelpos === "r") && (r.width -= r.labeloffset), r.labelpos) {
1189
+ case "l":
1190
+ r.x -= r.width / 2 + r.labeloffset;
1191
+ break;
1192
+ case "r":
1193
+ r.x += r.width / 2 + r.labeloffset;
1194
+ break;
1195
+ }
1196
+ });
1197
+ }
1198
+ function Dn(e) {
1199
+ t.forEach(e.edges(), function(n) {
1200
+ var r = e.edge(n);
1201
+ r.reversed && r.points.reverse();
1202
+ });
1203
+ }
1204
+ function Gn(e) {
1205
+ t.forEach(e.nodes(), function(n) {
1206
+ if (e.children(n).length) {
1207
+ var r = e.node(n), a = e.node(r.borderTop), o = e.node(r.borderBottom), f = e.node(t.last(r.borderLeft)), i = e.node(t.last(r.borderRight));
1208
+ r.width = Math.abs(i.x - f.x), r.height = Math.abs(o.y - a.y), r.x = f.x + r.width / 2, r.y = a.y + r.height / 2;
1209
+ }
1210
+ }), t.forEach(e.nodes(), function(n) {
1211
+ e.node(n).dummy === "border" && e.removeNode(n);
1212
+ });
1213
+ }
1214
+ function Un(e) {
1215
+ t.forEach(e.edges(), function(n) {
1216
+ if (n.v === n.w) {
1217
+ var r = e.node(n.v);
1218
+ r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e: n, label: e.edge(n) }), e.removeEdge(n);
1219
+ }
1220
+ });
1221
+ }
1222
+ function jn(e) {
1223
+ var n = x(e);
1224
+ t.forEach(n, function(r) {
1225
+ var a = 0;
1226
+ t.forEach(r, function(o, f) {
1227
+ var i = e.node(o);
1228
+ i.order = f + a, t.forEach(i.selfEdges, function(u) {
1229
+ b(
1230
+ e,
1231
+ "selfedge",
1232
+ {
1233
+ width: u.label.width,
1234
+ height: u.label.height,
1235
+ rank: i.rank,
1236
+ order: f + ++a,
1237
+ e: u.e,
1238
+ label: u.label
1239
+ },
1240
+ "_se"
1241
+ );
1242
+ }), delete i.selfEdges;
1243
+ });
1244
+ });
1245
+ }
1246
+ function qn(e) {
1247
+ t.forEach(e.nodes(), function(n) {
1248
+ var r = e.node(n);
1249
+ if (r.dummy === "selfedge") {
1250
+ var a = e.node(r.e.v), o = a.x + a.width / 2, f = a.y, i = r.x - o, u = a.height / 2;
1251
+ e.setEdge(r.e, r.label), e.removeNode(n), r.label.points = [
1252
+ { x: o + 2 * i / 3, y: f - u },
1253
+ { x: o + 5 * i / 6, y: f - u },
1254
+ { x: o + i, y: f },
1255
+ { x: o + 5 * i / 6, y: f + u },
1256
+ { x: o + 2 * i / 3, y: f + u }
1257
+ ], r.label.x = r.x, r.label.y = r.y;
1258
+ }
1259
+ });
1260
+ }
1261
+ function I(e, n) {
1262
+ return t.mapValues(t.pick(e, n), Number);
1263
+ }
1264
+ function _(e) {
1265
+ var n = {};
1266
+ return t.forEach(e, function(r, a) {
1267
+ n[a.toLowerCase()] = r;
1268
+ }), n;
1269
+ }
1270
+ export {
1271
+ $n as l
1272
+ };