elanous 0.2.29 → 0.2.31

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 (709) hide show
  1. package/apps/pwa/out/404/index.html +1 -1
  2. package/apps/pwa/out/404.html +1 -1
  3. package/apps/pwa/out/_next/static/{cIpv5nU9AycwYWZI9H589 → LSXfY0u9QtfDbejY0Ukf_}/_buildManifest.js +1 -1
  4. package/apps/pwa/out/_next/static/chunks/{058a98ba.7eb28d5e6dc03565.js → 0bb0ff36.b8d418980951e5ba.js} +7 -7
  5. package/apps/pwa/out/_next/static/chunks/1034-8b639cee57b8e4a8.js +1 -0
  6. package/apps/pwa/out/_next/static/chunks/1085-6c2d35526f11f840.js +1 -0
  7. package/apps/pwa/out/_next/static/chunks/1220.1ff7d5cdc34b1ae5.js +27 -0
  8. package/apps/pwa/out/_next/static/chunks/1247.5884ec81b39fe2e7.js +287 -0
  9. package/apps/pwa/out/_next/static/chunks/1302.87681521a7a4661e.js +62 -0
  10. package/apps/pwa/out/_next/static/chunks/1324-59dae3002413623b.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/{6013-2f769370d8b4c2c6.js → 1335-6731f392c35216eb.js} +3 -3
  12. package/apps/pwa/out/_next/static/chunks/1343-f40b5870ac1eda5a.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/146-b6cd56be11dda017.js +1 -0
  14. package/apps/pwa/out/_next/static/chunks/{8332.6f0f49df772e163b.js → 1654.32de4b324981a188.js} +1 -1
  15. package/apps/pwa/out/_next/static/chunks/1834-50625904996a8fa8.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/1849.1ce38efa6c527d9a.js +149 -0
  17. package/apps/pwa/out/_next/static/chunks/{8795.32573a185af18c7b.js → 1913.7cc6fb6055b1ed3f.js} +2 -2
  18. package/apps/pwa/out/_next/static/chunks/{419.736c0d6f426249a7.js → 2001.6c7e0fd02190886c.js} +1 -1
  19. package/apps/pwa/out/_next/static/chunks/2030.41fae98c7e907304.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/2099-08b2f2dfba742c9b.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/2112-e4efc21a6505d5bc.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/2134.ecee03a550ee7250.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/{6767.1fcfc9b8be83975f.js → 2213.2ccbada92c33ea0f.js} +16 -16
  24. package/apps/pwa/out/_next/static/chunks/2236.66061832181cb745.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/2422.b0bd272e7020d7e6.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/2534.e85ae21ad0dac829.js +1 -0
  27. package/apps/pwa/out/_next/static/chunks/{4759.1f76713aefb87db5.js → 2871.0bca6137343b3f76.js} +1 -1
  28. package/apps/pwa/out/_next/static/chunks/{6776.06ff1e3b464cc607.js → 2898.fd781bc7cf01a7b7.js} +1 -1
  29. package/apps/pwa/out/_next/static/chunks/{1782-59db1b5aa06df38a.js → 2940-619bfd8ef337c611.js} +1 -1
  30. package/apps/pwa/out/_next/static/chunks/{8471.8d2a8c74f09c36ff.js → 2985.39ccdecd36848b12.js} +4 -4
  31. package/apps/pwa/out/_next/static/chunks/3040.92ff9ffc9f971cb9.js +115 -0
  32. package/apps/pwa/out/_next/static/chunks/3144.6861096c7b4edef7.js +64 -0
  33. package/apps/pwa/out/_next/static/chunks/{bc324b7c.02a09dd93f6a399b.js → 3267c0e6.d34854e7b3984a6e.js} +1 -1
  34. package/apps/pwa/out/_next/static/chunks/3278.2e5d15b53a4091c8.js +2 -0
  35. package/apps/pwa/out/_next/static/chunks/{7725-4f83d5541fbdb81b.js → 3541-ce3a5424ed5ad7f1.js} +1 -1
  36. package/apps/pwa/out/_next/static/chunks/3583.a05e88cc8d594628.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/3771.e928edf2867d28c0.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/3902.e1e71aaac850a045.js +34 -0
  39. package/apps/pwa/out/_next/static/chunks/4063-03284b5de59965f3.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/{46bd8bea.2f4b4099172fcdb7.js → 409f1e57.d0649fc47691ebfe.js} +1 -1
  41. package/apps/pwa/out/_next/static/chunks/4111.2bfedbb233ad206b.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/{1142.65d002789ab3af7d.js → 4174.92ed04922709ac9e.js} +2 -2
  43. package/apps/pwa/out/_next/static/chunks/4300-c7ec4eeabbb5f3f7.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/4483.646d5065199e1b55.js +36 -0
  45. package/apps/pwa/out/_next/static/chunks/4519.28199ff26b2fd80d.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/4581.ef2443578054544f.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/4608-8d894e9cbe4f08bf.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/4639.ae48a01d1bb50a93.js +286 -0
  49. package/apps/pwa/out/_next/static/chunks/4739.08742ac668aada67.js +77 -0
  50. package/apps/pwa/out/_next/static/chunks/4745.67d6f99c245af3f7.js +226 -0
  51. package/apps/pwa/out/_next/static/chunks/4882-16cef71d6a1a32be.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/4999.c064a4000c2a9e94.js +79 -0
  53. package/apps/pwa/out/_next/static/chunks/5173-233188df2f42c626.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/5260-69f35419bca263e7.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/5272.b92d1b72a15c25fe.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/5304.04d24756f242a094.js +148 -0
  57. package/apps/pwa/out/_next/static/chunks/5307.60f2209e809bd627.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/5415-997980f828667736.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/{3396-97b97928c49190c9.js → 5458-16cd7a2b51b74c8c.js} +1 -1
  60. package/apps/pwa/out/_next/static/chunks/{3403.7199205e65124486.js → 5525.86debf231e181813.js} +1 -1
  61. package/apps/pwa/out/_next/static/chunks/{9143.ff14585db1d275ff.js → 5543.a438b8ab5a13ea47.js} +1 -1
  62. package/apps/pwa/out/_next/static/chunks/5572-42c9084f27ca761e.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/5661-80470aac963d9f36.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/5723.421338408b5c30c4.js +74 -0
  65. package/apps/pwa/out/_next/static/chunks/5809.64c3664267c50bce.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/6000.64bc21ac8627f2f5.js +94 -0
  67. package/apps/pwa/out/_next/static/chunks/6013.39459b9c68eabf5f.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/607-06466dff012b03ef.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/{8398.73a19b39715eda04.js → 6092.a7f99e68b188ca66.js} +1 -1
  70. package/apps/pwa/out/_next/static/chunks/60fb96c9.360b01d8d4927b7b.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/{5591.a35e7a217734a8b9.js → 6157.0c9af021de4fb31b.js} +2 -2
  72. package/apps/pwa/out/_next/static/chunks/6192.a190b989b81e9743.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/6323.8672b4817a306928.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/{7375.050ea0d72968e49f.js → 6433.fc573af22bbc9ab7.js} +17 -17
  75. package/apps/pwa/out/_next/static/chunks/6444.7d1fdcb9b09ae71c.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/6517.4147878ac06d584d.js +90 -0
  77. package/apps/pwa/out/_next/static/chunks/6532.e34302010b2f0b68.js +32 -0
  78. package/apps/pwa/out/_next/static/chunks/6544cb48.a87fe20ddf137be2.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/6546.74bc4ed82f19016d.js +104 -0
  80. package/apps/pwa/out/_next/static/chunks/6684-e7523ce7c2fad075.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/6726.ebdc82feb161431e.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/6739.00fb6f892e5e392b.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/6745.934c4921bf15513a.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/6767.ea607cf0c20a25af.js +24 -0
  85. package/apps/pwa/out/_next/static/chunks/6843.67bfd020da0926c5.js +93 -0
  86. package/apps/pwa/out/_next/static/chunks/6948.1062d4594652b5bf.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/7138-eaf841fc1dc03463.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/7174-cda29ee13d7790e7.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/7304-3c07583f4e405f4f.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/7371.80c05c653b08e907.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/7391.ebae168025c91b6a.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/{1852.7f7b53991fcb99ef.js → 7502.ccd5b8065545edd0.js} +2 -2
  93. package/apps/pwa/out/_next/static/chunks/7557.e325503a090a4310.js +8 -0
  94. package/apps/pwa/out/_next/static/chunks/7569-9ce9432c7f10989f.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/{6534.1ab00f370db7b105.js → 7862.30a8d6482bb238eb.js} +1 -1
  96. package/apps/pwa/out/_next/static/chunks/7886-55854585fadeded1.js +1 -0
  97. package/apps/pwa/out/_next/static/chunks/7947-d0759430f8042240.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/{285adb1a.5654e605dddf86d2.js → 7a1887c4.f36b88fba31da8fd.js} +1 -1
  99. package/apps/pwa/out/_next/static/chunks/8018.a32663f04a6fc5f9.js +1 -0
  100. package/apps/pwa/out/_next/static/chunks/8097-92f87bd108322f66.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/8215-1661812b6e9ad71f.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/8260-19c921a51ca8ec3e.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/8440.3a5cf5c85aa76db8.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/8519-4599be2249161e68.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/8547.b028b90c5c01ace6.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/8587-cbe02a953a7f4990.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/877-2b977259c4b15655.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/9002.e5658224e3dc1b6f.js +24 -0
  109. package/apps/pwa/out/_next/static/chunks/9019-0a4b40c50c7314fb.js +1 -0
  110. package/apps/pwa/out/_next/static/chunks/{1516.dfaceff3fd2d0e0d.js → 9138.b6e80031afb1d973.js} +1 -1
  111. package/apps/pwa/out/_next/static/chunks/9188-d36e4fc869ddc166.js +1 -0
  112. package/apps/pwa/out/_next/static/chunks/{9907.49be0fcadaf214b5.js → 9221.7d22eaf353a2d4e7.js} +1 -1
  113. package/apps/pwa/out/_next/static/chunks/9230.44f5039e796e4ab4.js +1 -0
  114. package/apps/pwa/out/_next/static/chunks/{8767-2f6a634f5abeaa01.js → 9279-d28c5b7754d010ae.js} +1 -1
  115. package/apps/pwa/out/_next/static/chunks/939.336acce73e98482c.js +1 -0
  116. package/apps/pwa/out/_next/static/chunks/{3160-95c96f4d2a21dd26.js → 9398-6aed28f0a96d0d6f.js} +1 -1
  117. package/apps/pwa/out/_next/static/chunks/9407.e49124dedf0f5e72.js +1 -0
  118. package/apps/pwa/out/_next/static/chunks/9610.c07cce4bfcc14ed7.js +1 -0
  119. package/apps/pwa/out/_next/static/chunks/9667-ce78c2ce91050ff9.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/{328bb3ab-6628a1114fe3fb3b.js → 997ce8a5-2ad501927003b41b.js} +1 -1
  121. package/apps/pwa/out/_next/static/chunks/{6853.cc5174a9dee59593.js → 9989.3694300e5f000b14.js} +1 -1
  122. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-339fabb3499da0e1.js +1 -0
  123. package/apps/pwa/out/_next/static/chunks/app/approvals/page-bf3634a117322df7.js +1 -0
  124. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-3535a4a69f1fafaa.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/board/page-b9f51447f757fbf2.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/botlab/{page-a5635eba0d73b84e.js → page-2ebb8fd59b9461f9.js} +1 -1
  127. package/apps/pwa/out/_next/static/chunks/app/bots/page-a2fc4e49a4fa4ba8.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/ceo/page-5a503541353e60a8.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/chat/page-6025101384e361a5.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/consult/page-f4b630cc8b5273cd.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/control/page-a645f00a06483e9a.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/decisions/page-61ac22cbab1ee4ec.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/design-check/page-e9bab7413b028b28.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/editor/page-c992eafe028b642e.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/exec/page-e547e6ce55f1fb33.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/field/page-d27e1b9850fd54bf.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/healthz/route-339fabb3499da0e1.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/inside/page-805ac2e137b7a121.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/intake/page-0fec29c7ba01894b.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/layout-339a07410cd6f36b.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/live/page-349f2752d8cd37ad.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/live-run/page-d5c6dcf31c25cecc.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/loops/page-2fd93ed8c9f16580.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/market/page-9b564dbff0fefc35.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-62f4475d3c38fb9b.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/morning/page-814ba51385225776.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/not-found-397d479626e5a459.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/observatory/page-af1bba4e3251b728.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-3ad3be5e7d3fdce9.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-f219ccdbc0bf27df.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4da93ad35d4a8d28.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/outputs/page-456666766e5ce6fc.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/page-7404e377e8adb8c5.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/reflection/page-14456240ed2a36ad.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-3a658d5fa6d16a25.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/sessions/page-0157de6e85f8bb6b.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-0a07363b130182a1.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/settings/page-841d73d4ac44ed49.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-6f43a3d1146e6377.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/setup/layout-339fabb3499da0e1.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/{page-29900ed0011b2c83.js → page-521ee23ac8c0abfa.js} +1 -1
  162. package/apps/pwa/out/_next/static/chunks/app/share/page-a9992ee285efaa83.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/showroom/page-3d48e85fa89ec04f.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/tasks/page-d2ced71132fac9b2.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/term/page-f08358bdf251adb9.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/today/page-233c71cd5f68f0d7.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/trace/page-70151d78de2f375e.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/vault/page-dcac33a3e2cb72c0.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/{page-9f92737b8766009a.js → page-149dc1caba411bb9.js} +1 -1
  170. package/apps/pwa/out/_next/static/chunks/app/workflows/page-0448145ccd5c45c1.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workspace/page-9cb0c444903da65d.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-17e504c396e0e389.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/{425cfc4d.fb91158e3971c39f.js → b313b242.cb1265eea908db61.js} +1 -1
  174. package/apps/pwa/out/_next/static/chunks/e5012ffe.f727e23c231f4342.js +122 -0
  175. package/apps/pwa/out/_next/static/chunks/ea695e3c-1f1d70d740cf3031.js +1 -0
  176. package/apps/pwa/out/_next/static/chunks/ebc7d829.264a0bcb6c750b50.js +1 -0
  177. package/apps/pwa/out/_next/static/chunks/framework-906af9bd029e166c.js +1 -0
  178. package/apps/pwa/out/_next/static/chunks/main-a24847f9f684d469.js +1 -0
  179. package/apps/pwa/out/_next/static/chunks/main-app-7bdcd8aa7c8397d3.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/pages/_app-6ba46a5066fc226d.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/pages/_error-a8dc6d07591f2a25.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/webpack-f13df28c15c55eee.js +1 -0
  183. package/apps/pwa/out/_next/static/css/{72becfd42807b50d.css → 3f5fc6f96e2cf7b2.css} +1 -1
  184. package/apps/pwa/out/approvals/index.html +1 -1
  185. package/apps/pwa/out/approvals/index.txt +23 -23
  186. package/apps/pwa/out/autopilot/index.html +1 -1
  187. package/apps/pwa/out/autopilot/index.txt +23 -23
  188. package/apps/pwa/out/board/index.html +1 -1
  189. package/apps/pwa/out/board/index.txt +23 -23
  190. package/apps/pwa/out/botlab/index.html +1 -1
  191. package/apps/pwa/out/botlab/index.txt +22 -22
  192. package/apps/pwa/out/bots/index.html +1 -1
  193. package/apps/pwa/out/bots/index.txt +22 -22
  194. package/apps/pwa/out/ceo/index.html +1 -1
  195. package/apps/pwa/out/ceo/index.txt +23 -23
  196. package/apps/pwa/out/chat/index.html +1 -1
  197. package/apps/pwa/out/chat/index.txt +22 -22
  198. package/apps/pwa/out/consult/index.html +1 -1
  199. package/apps/pwa/out/consult/index.txt +23 -23
  200. package/apps/pwa/out/control/index.html +1 -1
  201. package/apps/pwa/out/control/index.txt +23 -23
  202. package/apps/pwa/out/decisions/index.html +1 -1
  203. package/apps/pwa/out/decisions/index.txt +22 -22
  204. package/apps/pwa/out/design-check/index.html +1 -1
  205. package/apps/pwa/out/design-check/index.txt +23 -23
  206. package/apps/pwa/out/editor/index.html +1 -1
  207. package/apps/pwa/out/editor/index.txt +23 -23
  208. package/apps/pwa/out/exec/index.html +1 -1
  209. package/apps/pwa/out/exec/index.txt +23 -23
  210. package/apps/pwa/out/field/index.html +1 -1
  211. package/apps/pwa/out/field/index.txt +23 -23
  212. package/apps/pwa/out/healthz +1 -1
  213. package/apps/pwa/out/index.html +1 -1
  214. package/apps/pwa/out/index.txt +22 -22
  215. package/apps/pwa/out/inside/index.html +1 -1
  216. package/apps/pwa/out/inside/index.txt +22 -22
  217. package/apps/pwa/out/intake/index.html +1 -1
  218. package/apps/pwa/out/intake/index.txt +23 -23
  219. package/apps/pwa/out/live/index.html +1 -1
  220. package/apps/pwa/out/live/index.txt +23 -23
  221. package/apps/pwa/out/live-run/index.html +1 -1
  222. package/apps/pwa/out/live-run/index.txt +23 -23
  223. package/apps/pwa/out/loops/index.html +1 -1
  224. package/apps/pwa/out/loops/index.txt +22 -22
  225. package/apps/pwa/out/market/index.html +1 -1
  226. package/apps/pwa/out/market/index.txt +22 -22
  227. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  228. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  229. package/apps/pwa/out/morning/index.html +1 -1
  230. package/apps/pwa/out/morning/index.txt +23 -23
  231. package/apps/pwa/out/observatory/index.html +1 -1
  232. package/apps/pwa/out/observatory/index.txt +23 -23
  233. package/apps/pwa/out/ops/checklist/index.html +1 -1
  234. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  235. package/apps/pwa/out/ops/release/index.html +1 -1
  236. package/apps/pwa/out/ops/release/index.txt +22 -22
  237. package/apps/pwa/out/ops/seats/index.html +1 -1
  238. package/apps/pwa/out/ops/seats/index.txt +22 -22
  239. package/apps/pwa/out/outputs/index.html +1 -1
  240. package/apps/pwa/out/outputs/index.txt +22 -22
  241. package/apps/pwa/out/reflection/index.html +1 -1
  242. package/apps/pwa/out/reflection/index.txt +23 -23
  243. package/apps/pwa/out/scheduler/index.html +1 -1
  244. package/apps/pwa/out/scheduler/index.txt +23 -23
  245. package/apps/pwa/out/sessions/index.html +1 -1
  246. package/apps/pwa/out/sessions/index.txt +22 -22
  247. package/apps/pwa/out/settings/devices/index.html +1 -1
  248. package/apps/pwa/out/settings/devices/index.txt +23 -23
  249. package/apps/pwa/out/settings/index.html +1 -1
  250. package/apps/pwa/out/settings/index.txt +23 -23
  251. package/apps/pwa/out/setup/done/index.html +1 -1
  252. package/apps/pwa/out/setup/done/index.txt +23 -23
  253. package/apps/pwa/out/setup/index.html +1 -1
  254. package/apps/pwa/out/setup/index.txt +23 -23
  255. package/apps/pwa/out/share/index.html +1 -1
  256. package/apps/pwa/out/share/index.txt +23 -23
  257. package/apps/pwa/out/showroom/index.html +1 -1
  258. package/apps/pwa/out/showroom/index.txt +22 -22
  259. package/apps/pwa/out/tasks/index.html +1 -1
  260. package/apps/pwa/out/tasks/index.txt +23 -23
  261. package/apps/pwa/out/term/index.html +1 -1
  262. package/apps/pwa/out/term/index.txt +23 -23
  263. package/apps/pwa/out/today/index.html +1 -1
  264. package/apps/pwa/out/today/index.txt +23 -23
  265. package/apps/pwa/out/trace/index.html +1 -1
  266. package/apps/pwa/out/trace/index.txt +23 -23
  267. package/apps/pwa/out/vault/index.html +1 -1
  268. package/apps/pwa/out/vault/index.txt +23 -23
  269. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  270. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  271. package/apps/pwa/out/workflows/index.html +1 -1
  272. package/apps/pwa/out/workflows/index.txt +23 -23
  273. package/apps/pwa/out/workspace/index.html +1 -1
  274. package/apps/pwa/out/workspace/index.txt +23 -23
  275. package/apps/pwa/out/worktrees/index.html +1 -1
  276. package/apps/pwa/out/worktrees/index.txt +23 -23
  277. package/bin/elanous.mjs +7 -3
  278. package/graphs/context/nightly-condense.yaml +1 -0
  279. package/graphs/intake/intake-daily.yaml +8 -1
  280. package/graphs/intake/recipes.yaml +5 -0
  281. package/graphs/lecture/lecture-note.yaml +2 -2
  282. package/graphs/ops/harness-gc.yaml +1 -0
  283. package/graphs/release/recipes.yaml +3 -0
  284. package/graphs/release/release-loop.yaml +9 -5
  285. package/graphs/units/recipes.yaml +3 -0
  286. package/graphs/units/release-gate-recheck.yaml +15 -0
  287. package/package.json +2 -1
  288. package/scripts/check-native-tool-wiring.ts +3 -2
  289. package/scripts/ci-android-unit-tests.ts +16 -0
  290. package/scripts/ci-typecheck-changed.ts +37 -9
  291. package/scripts/coord-channel-watch.sh +22 -16
  292. package/scripts/coord-role-pack.ts +81 -2
  293. package/scripts/cron-run.ts +96 -3
  294. package/scripts/detect-test-interference.ts +38 -5
  295. package/scripts/gate-pr-cache.ts +65 -0
  296. package/scripts/gh-surface/capture.ts +126 -0
  297. package/scripts/gh-surface/gh +40 -0
  298. package/scripts/import-graph-scc.ts +38 -0
  299. package/scripts/install.ps1 +19 -0
  300. package/scripts/intake-social.ts +181 -0
  301. package/scripts/lecture-note/node.ts +71 -4
  302. package/scripts/lib/android-toolchain.ts +32 -0
  303. package/scripts/lib/deterministic-env.ts +62 -0
  304. package/scripts/lib/gate-test-env.ts +19 -0
  305. package/scripts/measure-goal-grounding-corpus.ts +2 -1
  306. package/scripts/ratchets/test-interference-patterns.allowlist.txt +257 -0
  307. package/scripts/ratchets/test-interference-patterns.ts +367 -0
  308. package/scripts/release-loop/cut-branch.ts +4 -3
  309. package/scripts/release-loop/export-check-node.ts +0 -1
  310. package/scripts/release-loop/fixtures/warm-failure-assertion/sample.junit.xml +8 -0
  311. package/scripts/release-loop/fixtures/warm-job-029/sample.json +1 -0
  312. package/scripts/release-loop/fixtures/warm-job-029/sample.junit.xml +10 -0
  313. package/scripts/release-loop/gate-closure.ts +12 -8
  314. package/scripts/release-loop/gate-diff.ts +1 -1
  315. package/scripts/release-loop/gate-host-mirror.ts +66 -0
  316. package/scripts/release-loop/gate-node.ts +523 -75
  317. package/scripts/release-loop/gate-partial.ts +106 -9
  318. package/scripts/release-loop/gate-pr-cache.ts +66 -0
  319. package/scripts/release-loop/gate-prewarm-plan.ts +66 -0
  320. package/scripts/release-loop/gate-r2-verdict.ts +189 -0
  321. package/scripts/release-loop/gate-recheck-plan-node.ts +52 -0
  322. package/scripts/release-loop/gate-warm-artifacts.ts +253 -0
  323. package/scripts/release-loop/import-graph-scc-run.ts +54 -0
  324. package/scripts/release-loop/import-graph-scc.ts +215 -0
  325. package/scripts/release-loop/node-verdict.ts +2 -0
  326. package/scripts/release-loop/probe-pod-host-dirs-live.ts +113 -0
  327. package/scripts/release-loop/resume-release.ts +33 -4
  328. package/scripts/release-loop/resume.ts +13 -5
  329. package/scripts/release-loop/spawn-lane.ts +2 -19
  330. package/scripts/release-loop/tui-sim-node.ts +3 -2
  331. package/scripts/release-loop/unattended-release.ts +16 -0
  332. package/scripts/test-deterministic.ts +5 -61
  333. package/scripts/train-reach-grouping.ts +48 -0
  334. package/scripts/tsc-incremental-cache.ts +86 -0
  335. package/scripts/tsc-incremental-diagnostics.ts +76 -0
  336. package/scripts/tsc-main-safety-net.ts +2 -2
  337. package/src/acp/client.ts +4 -1
  338. package/src/acp/core-turn-bridge.ts +50 -5
  339. package/src/ad-pipeline/run.ts +4 -2
  340. package/src/agent/runner.ts +169 -3
  341. package/src/agent/subagent-callable.ts +3 -2
  342. package/src/agent-mission/review-loop.ts +6 -3
  343. package/src/agent-substrate/acp-implementer.ts +14 -2
  344. package/src/agent-substrate/pr-reviewer.ts +12 -0
  345. package/src/agent-substrate/self-review-cli.ts +30 -4
  346. package/src/autopilot/pr-manager.ts +62 -7
  347. package/src/briefing/brief-items.ts +24 -22
  348. package/src/capture/tui-self-report.ts +15 -0
  349. package/src/chat/chat-cli.ts +10 -2
  350. package/src/chat/index.ts +77 -11
  351. package/src/chat/input-control-key.ts +5 -3
  352. package/src/chat/tool-interrupt-behavior.ts +38 -0
  353. package/src/chat/tool-render/dispatch.ts +5 -1
  354. package/src/chat/turn-typeahead.ts +75 -20
  355. package/src/cli/__fixtures__/agent-help-before/agent.txt +4 -2
  356. package/src/cli/agent-cli.ts +41 -13
  357. package/src/cli/config-audit.ts +123 -0
  358. package/src/cli/decisions-cli.ts +80 -6
  359. package/src/cli/log-event-names.ts +7 -0
  360. package/src/cli/mcp-login.ts +21 -5
  361. package/src/cli/msg-cli.ts +88 -0
  362. package/src/cli/pr-cli.ts +214 -57
  363. package/src/cli/pr-land-heavy-remote.ts +2 -2
  364. package/src/cli/pr-land-overlap-evidence.ts +63 -9
  365. package/src/cli/pr-land-pod-shadow-job.ts +83 -0
  366. package/src/cli/pr-land-pod-shadow.ts +16 -3
  367. package/src/cli/pr-land-virtual-rebase.ts +108 -0
  368. package/src/cli/release-cli.ts +80 -14
  369. package/src/cli/seat-cli.ts +138 -3
  370. package/src/cli/self-update.ts +5 -2
  371. package/src/cli/tasks-cli.ts +97 -19
  372. package/src/context-bus/context-first.ts +13 -0
  373. package/src/context-bus/context-now.ts +13 -2
  374. package/src/context-bus/ops-events.ts +75 -0
  375. package/src/control-plane/lease-holder.ts +12 -8
  376. package/src/control-plane/ledger.ts +163 -4
  377. package/src/control-plane/server.ts +91 -11
  378. package/src/core-turn/run-core-turn.ts +1 -0
  379. package/src/core-turn/run-goal-loop.ts +222 -3
  380. package/src/core-turn/seat-turn-cap.ts +79 -0
  381. package/src/core-turn/short-question.ts +38 -6
  382. package/src/core-turn/types.ts +3 -0
  383. package/src/dashboard/acp-boot.ts +3 -0
  384. package/src/dashboard/index.ts +224 -615
  385. package/src/dashboard/input/chat-main-entry-runtime.ts +1 -1
  386. package/src/dashboard/input/chat-main-plain-turn-runtime.ts +4 -1
  387. package/src/dashboard/input/chat-main-session.ts +8 -1
  388. package/src/dashboard/input/chat-main-turn.ts +12 -3
  389. package/src/dashboard/input/compact-prepass-recovery.ts +33 -0
  390. package/src/dashboard/input/external-input-host.ts +26 -0
  391. package/src/dashboard/input/internal-turn.ts +261 -0
  392. package/src/dashboard/input/seat-autowake.ts +318 -0
  393. package/src/dashboard/input/turn-steer-bridge.ts +70 -0
  394. package/src/dashboard/loop-scheduler.ts +72 -0
  395. package/src/dashboard/seat-boot-preamble.ts +18 -0
  396. package/src/dashboard/skill-runtime.ts +2 -0
  397. package/src/dashboard/slash-runtime/dashboard-handlers.ts +126 -1181
  398. package/src/dashboard/slash-runtime/help-from-registry.ts +2 -1
  399. package/src/dashboard/slash-runtime/index.ts +13 -0
  400. package/src/dashboard/turn-busy-teardown.ts +50 -0
  401. package/src/decisions/decision-ledger.ts +45 -4
  402. package/src/discord-self-message.ts +4 -4
  403. package/src/domains/release-tool.ts +18 -1
  404. package/src/field-note/transcribe.ts +17 -0
  405. package/src/github/remote-call.ts +81 -0
  406. package/src/goals/registry.ts +46 -6
  407. package/src/goals/types.ts +7 -1
  408. package/src/graph-runner/runner.ts +1 -0
  409. package/src/grok/credential.ts +26 -0
  410. package/src/harness/harness-clean.ts +2 -1
  411. package/src/harness/harness-cli-command.ts +52 -5
  412. package/src/harness/harness-gc.ts +2 -1
  413. package/src/harness/harness-incidents.ts +57 -20
  414. package/src/harness/harness-pod-dispatch.ts +87 -10
  415. package/src/harness/harness-queue.ts +53 -4
  416. package/src/harness/harness-stop.ts +4 -3
  417. package/src/harness/harness-substrate-default.ts +78 -7
  418. package/src/harness/harness-worktree-auto.ts +2 -1
  419. package/src/harness/harness-worktrees.ts +3 -2
  420. package/src/hooks/dispatch.ts +2 -1
  421. package/src/index.ts +152 -25
  422. package/src/input/external-input-queue.ts +33 -1
  423. package/src/intake-plane/slash.ts +14 -3
  424. package/src/keybindings.ts +4 -1
  425. package/src/llm/tool-loop-steered-rejection.ts +33 -0
  426. package/src/llm.ts +138 -19
  427. package/src/loops/consensus.ts +348 -0
  428. package/src/loops/msg-wake.ts +206 -4
  429. package/src/loops/observe.ts +19 -3
  430. package/src/loops/orchestrator/tick.ts +64 -10
  431. package/src/loops/orchestrator/traffic.ts +64 -1
  432. package/src/loops/registry.ts +30 -0
  433. package/src/market/signed-index.ts +14 -0
  434. package/src/mcp/mcp-oauth.ts +54 -5
  435. package/src/models/prompts.ts +28 -0
  436. package/src/msg/msg-sse-client.ts +223 -0
  437. package/src/msg/msg-store.ts +86 -2
  438. package/src/mss/logging/log-store.ts +225 -1
  439. package/src/nexus/DAEMON-THIN-inventory-2026-10-15.md +122 -0
  440. package/src/nexus/api/http-server.ts +54 -15
  441. package/src/nexus/api/loop-resources.ts +19 -3
  442. package/src/nexus/api/ops-api.ts +11 -0
  443. package/src/nexus/daemon-thin-inventory.md +37 -0
  444. package/src/nexus/index.ts +70 -0
  445. package/src/nexus/state/state.ts +1 -0
  446. package/src/oauth/store.ts +32 -7
  447. package/src/onboarding/first-run.ts +28 -3
  448. package/src/ops/overview-cache.ts +16 -4
  449. package/src/ops/resources.ts +82 -0
  450. package/src/plugins/maker/connector-maker.ts +41 -0
  451. package/src/plugins/maker/skill-maker.ts +42 -0
  452. package/src/pr-tool/census.ts +288 -0
  453. package/src/prompt-library/chat-conciseness.ts +13 -0
  454. package/src/prompt-library/universal-preamble.ts +10 -5
  455. package/src/release-loop/gate-host-reservation.ts +97 -0
  456. package/src/release-loop/landing-freeze.ts +5 -0
  457. package/src/release-loop/light-rc.ts +5 -2
  458. package/src/release-loop/placement.ts +92 -1
  459. package/src/release-loop/rehearsal-shard-plan.ts +149 -0
  460. package/src/release-loop/rehearsal.ts +73 -17
  461. package/src/repl/index.ts +20 -2
  462. package/src/seat-loop/seat-knowhow.ts +282 -0
  463. package/src/seat-loop/seat-loop.ts +41 -2
  464. package/src/seat-loop/traffic-signal.ts +3 -0
  465. package/src/self-dev/ask-launch-flow.ts +24 -3
  466. package/src/self-dev/decompose-compose-graph.ts +28 -27
  467. package/src/self-dev/decompose-proposal.ts +53 -38
  468. package/src/self-dev/decompose.ts +17 -0
  469. package/src/self-dev/dev-pipeline.ts +31 -2
  470. package/src/self-dev/draft-residue.ts +24 -9
  471. package/src/self-dev/draft-sweep.ts +59 -4
  472. package/src/self-dev/external-call-zero.ts +77 -0
  473. package/src/self-dev/launch-preflight-text.ts +6 -0
  474. package/src/self-dev/launch-preflight.ts +25 -3
  475. package/src/self-dev/local-supervisor-judge.ts +185 -0
  476. package/src/self-dev/run-supervisor.ts +229 -19
  477. package/src/self-dev/run-types.ts +20 -0
  478. package/src/self-dev/shard-aggregate.ts +13 -2
  479. package/src/self-dev/shard-plan.ts +47 -0
  480. package/src/self-dev/shard-run.ts +112 -10
  481. package/src/self-dev/spawn-lane-files.ts +19 -0
  482. package/src/self-implement/app-api-budget.ts +51 -11
  483. package/src/self-implement/config-gate.ts +2 -1
  484. package/src/self-implement/expose-gate.ts +2 -1
  485. package/src/self-implement/gate-artifacts.ts +405 -0
  486. package/src/self-implement/gate-cli.ts +201 -16
  487. package/src/self-implement/gate-remote.ts +110 -25
  488. package/src/self-implement/gate-scenario.ts +85 -0
  489. package/src/self-implement/goal-author.ts +160 -8
  490. package/src/self-implement/graph-authority.ts +38 -6
  491. package/src/self-implement/graph-overlay-condition.ts +92 -1
  492. package/src/self-implement/heal-triage.ts +79 -0
  493. package/src/self-implement/host-regate.ts +61 -3
  494. package/src/self-implement/orchestrator.ts +14 -123
  495. package/src/self-implement/pr-title.ts +123 -0
  496. package/src/self-implement/run-checkpoint.ts +235 -0
  497. package/src/self-implement/run-ledger.ts +155 -10
  498. package/src/self-implement/run-stop.ts +4 -3
  499. package/src/self-implement/run-ttl.ts +28 -4
  500. package/src/self-implement/seams.ts +2 -0
  501. package/src/self-implement/shadow-stage.ts +7 -6
  502. package/src/self-implement/stop-autoheal.ts +2 -1
  503. package/src/self-implement/train-gate-remote.ts +37 -8
  504. package/src/self-implement/train-reach-grouping.ts +157 -0
  505. package/src/self-implement/train-scenario-layers.ts +133 -0
  506. package/src/self-implement/uncommitted-work.ts +2 -0
  507. package/src/session/pending-input.ts +19 -0
  508. package/src/session/session-start.ts +224 -0
  509. package/src/session-runtime/parallel-dispatch.ts +22 -5
  510. package/src/skills/tools/dev-harness.ts +6 -4
  511. package/src/skills/tools/shell.ts +1 -1
  512. package/src/steward/resync-tick.ts +114 -23
  513. package/src/steward/ta-repair-event-collect.ts +158 -0
  514. package/src/task-agent/card-evidence.ts +25 -1
  515. package/src/task-agent/green-sweep.ts +8 -3
  516. package/src/task-agent/judge.ts +76 -0
  517. package/src/task-agent/land-queue.ts +79 -0
  518. package/src/task-agent/live-moves.ts +30 -9
  519. package/src/task-agent/postland-card.ts +5 -0
  520. package/src/task-agent/prelaunch-already-done.ts +98 -0
  521. package/src/task-agent/real-launch-guard.ts +37 -0
  522. package/src/task-agent/rejudge-on-head.ts +89 -12
  523. package/src/task-agent/remote-rejudge-bind.ts +28 -8
  524. package/src/task-agent/repair-cycle.ts +45 -7
  525. package/src/task-agent/repair-worker.ts +7 -0
  526. package/src/task-agent/run-identity.ts +200 -0
  527. package/src/task-agent/shadow.ts +50 -3
  528. package/src/task-agent/task-hand.ts +158 -5
  529. package/src/task-agent/train-landing.ts +77 -0
  530. package/src/task-agent/work-order.ts +104 -0
  531. package/src/task-orchestrator/surfaces/pod-command-job.ts +88 -28
  532. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +88 -19
  533. package/src/task-orchestrator/surfaces/pod-host-acp-review.ts +2 -1
  534. package/src/task-orchestrator/surfaces/pod-image-source.ts +2 -1
  535. package/src/task-orchestrator/surfaces/pod-install-slots.ts +121 -9
  536. package/src/task-orchestrator/surfaces/pod-lease.ts +20 -6
  537. package/src/task-orchestrator/surfaces/pod-lifecycle-stages.ts +169 -0
  538. package/src/task-orchestrator/surfaces/pod-mirror-seed.ts +27 -0
  539. package/src/task-orchestrator/surfaces/pod-result-marker-wait.ts +33 -0
  540. package/src/task-orchestrator/surfaces/pod-reuse-cleanup.ts +63 -0
  541. package/src/task-orchestrator/surfaces/pod-source-receive.ts +19 -3
  542. package/src/task-orchestrator/surfaces/pod-warm-switch.ts +141 -0
  543. package/src/task-orchestrator/surfaces/pod-warm-ta-shadow.ts +85 -0
  544. package/src/task-orchestrator/surfaces/pod-warm-worker-protocol.ts +153 -0
  545. package/src/task-orchestrator/surfaces/pod-warm-worker-runtime.ts +208 -0
  546. package/src/task-orchestrator/surfaces/self-implement-pod.ts +132 -15
  547. package/src/telegram.ts +2 -4
  548. package/src/tui/input/pickers.ts +732 -0
  549. package/src/tui/slash/mission.ts +492 -0
  550. package/src/tui/slash/term.ts +877 -0
  551. package/src/tui-client/dashboard-session.ts +9 -0
  552. package/src/tui.ts +48 -0
  553. package/src/user-config/gemini-server-tools.ts +9 -0
  554. package/src/user-config.ts +53 -16
  555. package/src/util/spawn-sync-output.ts +7 -0
  556. package/src/ux-sim/fake-bin.ts +154 -0
  557. package/src/ux-sim/fake-clock.ts +36 -0
  558. package/src/ux-sim/headless-tui.ts +72 -0
  559. package/src/ux-sim/in-process-cli.ts +2 -1
  560. package/src/ux-sim/temp-git-remote.ts +82 -0
  561. package/src/version/packed-revision.json +1 -1
  562. package/src/video-pipeline/recipes/vlog.ts +25 -7
  563. package/apps/pwa/out/_next/static/chunks/1015-9cba22a5a4554797.js +0 -1
  564. package/apps/pwa/out/_next/static/chunks/1084-4e66af7376a18db7.js +0 -1
  565. package/apps/pwa/out/_next/static/chunks/1106.3a6410b7b0c70ad4.js +0 -1
  566. package/apps/pwa/out/_next/static/chunks/1127.32fc642f70423506.js +0 -8
  567. package/apps/pwa/out/_next/static/chunks/1189-d9b8e1995a831fae.js +0 -1
  568. package/apps/pwa/out/_next/static/chunks/1224.6da98c7ad0eb7dd8.js +0 -34
  569. package/apps/pwa/out/_next/static/chunks/1370.4e3e2558f111fd5d.js +0 -1
  570. package/apps/pwa/out/_next/static/chunks/1514-b7da377fdc4eb17a.js +0 -1
  571. package/apps/pwa/out/_next/static/chunks/1577.3c24c32584e10d70.js +0 -286
  572. package/apps/pwa/out/_next/static/chunks/161.130a569855c4d68c.js +0 -24
  573. package/apps/pwa/out/_next/static/chunks/1864.16da9556e78a9236.js +0 -1
  574. package/apps/pwa/out/_next/static/chunks/1b6f6b2a.aff090122be3726e.js +0 -1
  575. package/apps/pwa/out/_next/static/chunks/2341.e8a9135e5b910dd5.js +0 -36
  576. package/apps/pwa/out/_next/static/chunks/257.10afdbe3520f2fc2.js +0 -1
  577. package/apps/pwa/out/_next/static/chunks/2658.87550e692dc493f6.js +0 -64
  578. package/apps/pwa/out/_next/static/chunks/2673.85e2f02efae7a85f.js +0 -1
  579. package/apps/pwa/out/_next/static/chunks/2766-bee623b37472ed63.js +0 -1
  580. package/apps/pwa/out/_next/static/chunks/2794.6d836872b0bf43e2.js +0 -1
  581. package/apps/pwa/out/_next/static/chunks/2806.eb57ced1a528ed39.js +0 -1
  582. package/apps/pwa/out/_next/static/chunks/283.7a121c4910e6dad7.js +0 -1
  583. package/apps/pwa/out/_next/static/chunks/2870.1dc29aa5fc01f09f.js +0 -115
  584. package/apps/pwa/out/_next/static/chunks/293.fd38e77ce5d48103.js +0 -1
  585. package/apps/pwa/out/_next/static/chunks/2993-5952a1cd3fd5d441.js +0 -1
  586. package/apps/pwa/out/_next/static/chunks/32-a523427c5bd5ed00.js +0 -1
  587. package/apps/pwa/out/_next/static/chunks/3280.af38002a6424a905.js +0 -90
  588. package/apps/pwa/out/_next/static/chunks/3292-5ddffdb2f517b44f.js +0 -1
  589. package/apps/pwa/out/_next/static/chunks/3523.d3231daaf7aba993.js +0 -1
  590. package/apps/pwa/out/_next/static/chunks/3763.577de3181e1e6ea0.js +0 -1
  591. package/apps/pwa/out/_next/static/chunks/4138-cc56b0938ef72783.js +0 -1
  592. package/apps/pwa/out/_next/static/chunks/4255-8350c43d307a8875.js +0 -1
  593. package/apps/pwa/out/_next/static/chunks/4352.a4954693499c2714.js +0 -1
  594. package/apps/pwa/out/_next/static/chunks/4421-f2dcbc6fd80ec013.js +0 -1
  595. package/apps/pwa/out/_next/static/chunks/4513-51b94aeee37c9905.js +0 -1
  596. package/apps/pwa/out/_next/static/chunks/4928-c3b72f99aa588699.js +0 -1
  597. package/apps/pwa/out/_next/static/chunks/4986-f9fc0283fb325219.js +0 -1
  598. package/apps/pwa/out/_next/static/chunks/5014.671a7b9f69c2b7b1.js +0 -94
  599. package/apps/pwa/out/_next/static/chunks/5137.d398e24710b3feb6.js +0 -1
  600. package/apps/pwa/out/_next/static/chunks/5298.0bea74885cabe754.js +0 -1
  601. package/apps/pwa/out/_next/static/chunks/5315.74c53a39739b11c4.js +0 -1
  602. package/apps/pwa/out/_next/static/chunks/5317-8b1df8d02105cd07.js +0 -1
  603. package/apps/pwa/out/_next/static/chunks/5358-33051f41a2b239af.js +0 -1
  604. package/apps/pwa/out/_next/static/chunks/5388.a2ec02501f714ad5.js +0 -62
  605. package/apps/pwa/out/_next/static/chunks/5395.e6ac948a2d15058d.js +0 -1
  606. package/apps/pwa/out/_next/static/chunks/5409-f282bf533c151849.js +0 -1
  607. package/apps/pwa/out/_next/static/chunks/5466.d0f4aba9d52acfa8.js +0 -27
  608. package/apps/pwa/out/_next/static/chunks/5564.3d28b353470fe305.js +0 -104
  609. package/apps/pwa/out/_next/static/chunks/569.b0cbfb4dee4a167a.js +0 -93
  610. package/apps/pwa/out/_next/static/chunks/5835-72465b73a8bb8d74.js +0 -1
  611. package/apps/pwa/out/_next/static/chunks/5941.045d6093139e1f7a.js +0 -1
  612. package/apps/pwa/out/_next/static/chunks/6228.47cabb83564dfe54.js +0 -24
  613. package/apps/pwa/out/_next/static/chunks/6457-8d1993002a87d0fe.js +0 -1
  614. package/apps/pwa/out/_next/static/chunks/6513.ef54cfae52351982.js +0 -2
  615. package/apps/pwa/out/_next/static/chunks/6582.13d245bf87df69f1.js +0 -148
  616. package/apps/pwa/out/_next/static/chunks/6655.c33f6acc2c61bb89.js +0 -149
  617. package/apps/pwa/out/_next/static/chunks/6731-9d7195af289c8d4c.js +0 -1
  618. package/apps/pwa/out/_next/static/chunks/6733.0be05b1db9279fc5.js +0 -79
  619. package/apps/pwa/out/_next/static/chunks/6742-90937146253a8b9e.js +0 -1
  620. package/apps/pwa/out/_next/static/chunks/687-816858f77a396a4e.js +0 -1
  621. package/apps/pwa/out/_next/static/chunks/6888.72c7b8cfb02a7e61.js +0 -1
  622. package/apps/pwa/out/_next/static/chunks/6993.c17c828ac3ef3253.js +0 -1
  623. package/apps/pwa/out/_next/static/chunks/7076.9f27ef666b0cefdd.js +0 -1
  624. package/apps/pwa/out/_next/static/chunks/7113.1403c5d451804e8c.js +0 -287
  625. package/apps/pwa/out/_next/static/chunks/7169.9dd603c726c2cd7c.js +0 -1
  626. package/apps/pwa/out/_next/static/chunks/7247-e3ec21f761f86710.js +0 -1
  627. package/apps/pwa/out/_next/static/chunks/7261-a47b72f96f5199df.js +0 -1
  628. package/apps/pwa/out/_next/static/chunks/7335-5cda81ac90310077.js +0 -1
  629. package/apps/pwa/out/_next/static/chunks/7356-c2e4af090546e2d4.js +0 -1
  630. package/apps/pwa/out/_next/static/chunks/738-59518742078fda71.js +0 -1
  631. package/apps/pwa/out/_next/static/chunks/7385.a7375f10db73243a.js +0 -77
  632. package/apps/pwa/out/_next/static/chunks/7445.cf1cf2fe109bcd96.js +0 -1
  633. package/apps/pwa/out/_next/static/chunks/7505.a2057432ab6ef99a.js +0 -1
  634. package/apps/pwa/out/_next/static/chunks/7515.31f45fac1f9c70cb.js +0 -74
  635. package/apps/pwa/out/_next/static/chunks/7658-d4ce8c72a9548a91.js +0 -1
  636. package/apps/pwa/out/_next/static/chunks/8107-0b1ae46bc5bcb788.js +0 -1
  637. package/apps/pwa/out/_next/static/chunks/8132.bfea2f016ce8d992.js +0 -1
  638. package/apps/pwa/out/_next/static/chunks/8672.e299832bc7d18ee2.js +0 -1
  639. package/apps/pwa/out/_next/static/chunks/8735.f1ef798a5f260f6f.js +0 -226
  640. package/apps/pwa/out/_next/static/chunks/8774-88f67f7d8d53d299.js +0 -1
  641. package/apps/pwa/out/_next/static/chunks/8782.252e5a405d86e4ed.js +0 -32
  642. package/apps/pwa/out/_next/static/chunks/909-9ed7aa0dba804316.js +0 -1
  643. package/apps/pwa/out/_next/static/chunks/9100.22b0301256827007.js +0 -1
  644. package/apps/pwa/out/_next/static/chunks/9140-dde77575570bc71e.js +0 -1
  645. package/apps/pwa/out/_next/static/chunks/9292-a7ad9a01c7044b93.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/9517.00627dc51b02821c.js +0 -1
  647. package/apps/pwa/out/_next/static/chunks/9725.dcbb585652d8e9c5.js +0 -1
  648. package/apps/pwa/out/_next/static/chunks/9761.a3ebf5c389c24ddc.js +0 -1
  649. package/apps/pwa/out/_next/static/chunks/9972.834d2b2b7d48f1ed.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/9995-1a90486f5ae01546.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/a435ad95.577add051b4facb2.js +0 -1
  652. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-83372d8b5863ebf7.js +0 -1
  653. package/apps/pwa/out/_next/static/chunks/app/approvals/page-d69256d7613c140a.js +0 -1
  654. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-352c5e9ba3f9b858.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/app/board/page-69f1d725524201a8.js +0 -1
  656. package/apps/pwa/out/_next/static/chunks/app/bots/page-ad9181d84285e4ea.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/app/ceo/page-86feb08080261a2f.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/app/chat/page-ffa15987e4756d03.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/app/consult/page-11a3ab44ac327cc1.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/app/control/page-6309b11c4264d24d.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/app/decisions/page-8800472079612e87.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/app/design-check/page-d387bf3f2301882a.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/app/editor/page-048f88d8c8658da6.js +0 -1
  664. package/apps/pwa/out/_next/static/chunks/app/exec/page-6c14f9739b7f6880.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/app/field/page-2834f44f64e98d74.js +0 -1
  666. package/apps/pwa/out/_next/static/chunks/app/healthz/route-83372d8b5863ebf7.js +0 -1
  667. package/apps/pwa/out/_next/static/chunks/app/inside/page-a13df6f88e824887.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/app/intake/page-8a4397248754cf2b.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/app/layout-daf0bd329360a336.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/app/live/page-f7ef1c28764cb476.js +0 -1
  671. package/apps/pwa/out/_next/static/chunks/app/live-run/page-61e74f28b9353dac.js +0 -1
  672. package/apps/pwa/out/_next/static/chunks/app/loops/page-8aaa6dedc4c10dfb.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/app/market/page-294602ba649be829.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-5fa5f41ed3fce323.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/app/morning/page-33bf667a5fb297bf.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/app/not-found-5ae3cbd6e5dba515.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/app/observatory/page-eb867d16ad6fdede.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-1ab789fa68682f7e.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-6fd41b5b6ff13a71.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-fb3d5f7642c99fba.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/app/outputs/page-70f705b2b5ed42ca.js +0 -1
  682. package/apps/pwa/out/_next/static/chunks/app/page-c9c93b358a7667b5.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/app/reflection/page-1563c556b81c96ed.js +0 -1
  684. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ce89c20c45b3a673.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/app/sessions/page-423ae63d786f4ee9.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-591a5378a4c4447c.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/app/settings/page-a250496b19a5824b.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-c36a9277febc5911.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/app/setup/layout-83372d8b5863ebf7.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/app/share/page-a5de57edc6d7f942.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/app/showroom/page-16bdd4c9f40498df.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/app/tasks/page-75e946e6e71cc6d8.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/app/term/page-9eb56166774eb256.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/app/today/page-1c5f9ef35dbb22c5.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/app/trace/page-657ff9985e508498.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/app/vault/page-22dc72499da68fb2.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/app/workflows/page-094ad334e40f8169.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/app/workspace/page-8bcd379852ff6287.js +0 -1
  699. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-6b04413f280cd344.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/de70ab42-d28d47437208d458.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/f800c5e3.46dbd7f2af8c3fce.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/f8bc19ad.47579f6d684b0760.js +0 -122
  703. package/apps/pwa/out/_next/static/chunks/framework-ca9ac4609fb9fed8.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/main-app-0dd08d32d15a030f.js +0 -1
  705. package/apps/pwa/out/_next/static/chunks/main-f0399d33955c4e01.js +0 -1
  706. package/apps/pwa/out/_next/static/chunks/pages/_app-d42caca6f8ac2211.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/pages/_error-42e713c13aa41ca8.js +0 -1
  708. package/apps/pwa/out/_next/static/chunks/webpack-8fbf8f61a377aa16.js +0 -1
  709. /package/apps/pwa/out/_next/static/{cIpv5nU9AycwYWZI9H589 → LSXfY0u9QtfDbejY0Ukf_}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4063],{4458:(e,t,l)=>{l.d(t,{u:()=>n});function n(e,t){if(!e.enabled||"off"===e.scheduleState)return"off";if("failed"===e.lastStatus||"error"===e.lastStatus||"failure"===e.lastStatus||"abandoned"===e.lastStatus||"expired"===e.lastStatus)return"failed";if("stale"===e.scheduleState)return"late";let l=null===e.lastRunAt?NaN:Date.parse(e.lastRunAt);if(void 0!==e.secondDueAt){let n=null===e.secondDueAt?NaN:Date.parse(e.secondDueAt);return Number.isFinite(l)&&Number.isFinite(t)&&Number.isFinite(n)&&n>l&&t>n?"late":"alive"}return Number.isFinite(t)&&Number.isFinite(l)&&null!==e.intervalMs&&Number.isFinite(e.intervalMs)&&e.intervalMs>0&&t-l>2*e.intervalMs?"late":"alive"}},14063:(e,t,l)=>{l.d(t,{p1:()=>O});var n=l(65863),a=l(24815),r=l(76072),s=l(45695),i=l(63169),o=l(89279),d=l(50961),c=l(97119),u=l(37343),m=l(1437);l(4265);var f=l(84029),p=l(25089),h=l(82734);let b=/^[a-zA-Z0-9_-]{1,128}$/;function x(e){let{flows:t}=e,l=[],a=0;for(let e of t)for(let t of e.runs)l.push({seat:e.seat,run:t,y:27+34*a++});let r=20+34*l.length;return(0,n.jsx)("svg",{viewBox:"0 0 ".concat(320," ").concat(r),className:"h-auto w-full max-w-md","aria-hidden":"true",focusable:"false",children:t.map(e=>{var t;let a=l.filter(t=>t.seat===e.seat),r=(a[0].y+a[a.length-1].y)/2,s=null!=(t=f.DG[e.seat])?t:(0,p.t)(e.seat);return(0,n.jsxs)("g",{children:[(0,n.jsx)("line",{x1:60,y1:r,x2:68,y2:r,stroke:"#7492a8",strokeWidth:2}),a.length>1&&(0,n.jsx)("line",{x1:68,y1:a[0].y,x2:68,y2:a[a.length-1].y,stroke:"#7492a8",strokeWidth:2}),a.map(e=>(0,n.jsxs)("g",{children:[(0,n.jsx)("line",{x1:68,y1:e.y,x2:256,y2:e.y,stroke:"#7492a8",strokeWidth:2}),(0,n.jsx)("polygon",{points:"".concat(264,",").concat(e.y," ").concat(256,",").concat(e.y-4," ").concat(256,",").concat(e.y+4),fill:"#7492a8"}),(0,n.jsx)("circle",{cx:272,cy:e.y,r:8,fill:"#173556",stroke:"#38bdf8",strokeWidth:2}),(0,n.jsx)("text",{x:162,y:e.y-5,textAnchor:"middle",fontSize:10,fill:"#cbd5e1",children:e.run.runId.length>16?"".concat(e.run.runId.slice(0,15),"…"):e.run.runId})]},"".concat(e.run.runId,"-").concat(e.run.at))),(0,n.jsx)("circle",{cx:44,cy:r,r:16,fill:"#173556",stroke:"#38bdf8",strokeWidth:2}),(0,n.jsx)("text",{x:44,y:r+3.5,textAnchor:"middle",fontSize:9,fontWeight:"bold",fill:"#e0f2fe",children:s})]},e.seat)})})}function g(e){let{edges:t,seatIds:l}=e,a=function(e,t){let l=[...new Set(null!=t?t:e.filter(e=>"run"===e.kind&&e.to.startsWith("loop:")&&b.test(e.from)).map(e=>e.from))];void 0===t&&l.sort();let n=new Set(l),a=new Map,r=new Set;for(let t of e){var s;if("run"!==t.kind||!n.has(t.from)||!t.to.startsWith("loop:"))continue;let e=t.to.slice(5);if(!b.test(e))continue;let l="".concat(t.at,"|").concat(t.from,"|").concat(t.to);if(r.has(l))continue;r.add(l);let i=null!=(s=a.get(t.from))?s:[];i.push({runId:e,at:t.at}),a.set(t.from,i)}return l.filter(e=>a.has(e)).map(e=>{var t;return{seat:e,runs:(null!=(t=a.get(e))?t:[]).sort((e,t)=>e.at.localeCompare(t.at))}})}(t,l);return(0,n.jsxs)("section",{"aria-label":"자원 발사 흐름",className:"rounded-xl border border-slate-600 p-3",children:[(0,n.jsx)("h3",{className:"font-semibold",children:"자원 흐름 \xb7 자리 → 런"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-slate-400",children:"현재 스냅숏의 실제 발사 관계(런 원장)로 자리 → 런 간선을 그립니다."}),0===a.length?(0,n.jsx)("p",{role:"status",className:"mt-2 text-sm text-slate-300",children:"실제 발사 관계가 아직 없습니다"}):(0,n.jsxs)("div",{className:"mt-2 grid gap-3 lg:grid-cols-[auto_1fr] lg:items-start",children:[(0,n.jsx)(x,{flows:a}),(0,n.jsx)("ol",{"aria-label":"자원 발사 간선",className:"space-y-2",children:a.map(e=>e.runs.map(t=>{var l;return(0,n.jsx)("li",{children:(0,n.jsxs)("a",{href:"/trace?level=L2&run=".concat(encodeURIComponent(t.runId)),className:"block w-full min-w-0 break-words rounded-lg border border-slate-600 px-3 py-2 text-left text-sm text-slate-300 focus-visible:outline-2 focus-visible:outline-sky-400",children:[null!=(l=f.DG[e.seat])?l:(0,p.t)(e.seat)," → 런 \xb7 ",(0,p.t)(t.runId)," \xb7 ",(0,n.jsx)("time",{dateTime:t.at,children:new Date(t.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]})},"".concat(e.seat,"-").concat(t.runId,"-").concat(t.at))}))})]})]})}let v={"살아 있음":"bg-emerald-500/15 text-emerald-300 ring-emerald-500/30",늦음:"bg-red-500/15 text-red-300 ring-red-500/30",실패:"bg-red-500/15 text-red-300 ring-red-500/30",꺼짐:"bg-slate-700 text-slate-300 ring-slate-500","판정 불가":"bg-slate-700 text-slate-300 ring-slate-500"},y=f.Pv;function w(e){let{detail:t}=e;return(0,n.jsxs)("div",{"data-near-detail":"",className:"w-[180px] space-y-1 rounded-lg border border-slate-600 bg-[#10243b]/95 p-2 text-left text-[10px] font-normal text-slate-200",children:[null!==t.now&&(0,n.jsxs)("p",{className:"break-words",children:[(0,n.jsx)("span",{className:"text-slate-400",children:"지금 "}),t.now]}),(null!==t.running||null!==t.waiting)&&(0,n.jsxs)("p",{className:"flex gap-2",children:[null!==t.running&&(0,n.jsxs)("span",{children:["도는 런 ",t.running]}),null!==t.waiting&&(0,n.jsxs)("span",{children:["대기 ",t.waiting]})]}),t.recent.length>0?(0,n.jsx)("ol",{"aria-label":"최근 행동",className:"space-y-0.5",children:t.recent.map((e,t)=>(0,n.jsx)("li",{className:"break-words",children:e},t))}):(0,n.jsx)("p",{className:"text-slate-400",children:"최근 행동 없음"})]})}let k={activity:function(e){let{data:t}=e,l="seat"===t.type||"hub"===t.type;return(0,n.jsxs)("div",{className:"relative flex flex-col items-center gap-1 text-center text-white",children:[(0,n.jsx)(u.h7,{type:"target",position:m.yX.Left,className:"!border-sky-400 !bg-sky-400"}),(0,n.jsx)("div",{className:"flex items-center justify-center rounded-full border-2 border-sky-400 bg-[#173556] px-2 font-bold ".concat(l?"h-[90px] w-[90px] text-lg":"h-[64px] w-[64px] text-xs"),children:(0,n.jsx)("span",{className:"line-clamp-2 break-all",children:(0,p.t)(t.label)})}),t.verdict&&(0,n.jsx)("span",{"data-loop-verdict":t.verdict,className:"rounded-full px-2 py-0.5 text-xs font-semibold ring-1 ".concat(v[t.verdict]),children:t.verdict}),t.detail&&(0,n.jsx)(w,{detail:t.detail}),(0,n.jsx)(u.h7,{type:"source",position:m.yX.Right,className:"!border-sky-400 !bg-sky-400"})]})}},j={packet:function(e){var t,l;let{id:r,sourceX:s,sourceY:i,targetX:o,targetY:d,sourcePosition:c,targetPosition:f,style:p,markerEnd:h,label:b,labelStyle:x,interactionWidth:g,data:v}=e,[y,w,k]=(0,m.Fp)({sourceX:s,sourceY:i,targetX:o,targetY:d,sourcePosition:c,targetPosition:f}),j=(0,a.useRef)(null),N=(0,a.useRef)(null),S=null!=(t=null==v?void 0:v.packet)?t:null,A=null!=(l=null==S?void 0:S.key)?l:null;return(0,a.useEffect)(()=>{if(null!==A)try{var e,t,l,n;null==(t=j.current)||null==(e=t.beginElement)||e.call(t),null==(n=N.current)||null==(l=n.beginElement)||l.call(n)}catch(e){}},[A]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(u.tE,{id:r,path:y,style:p,markerEnd:h,label:b,labelX:w,labelY:k,labelStyle:x,interactionWidth:g}),S&&(0,n.jsxs)("g",{"data-packet":S.word,"aria-hidden":"true",opacity:0,children:[(0,n.jsx)("text",{textAnchor:"middle",dominantBaseline:"central",fontSize:16,fill:"#e0f2fe",stroke:"#10243b",strokeWidth:.6,children:S.shape}),(0,n.jsx)("animateMotion",{ref:j,begin:"indefinite",dur:"".concat(S.roundTrip?2400:1200,"ms"),path:y,fill:"freeze",...S.roundTrip?{keyPoints:"0;1;0",keyTimes:"0;0.5;1",calcMode:"linear"}:{}}),(0,n.jsx)("animate",{ref:N,attributeName:"opacity",begin:"indefinite",dur:"".concat(S.roundTrip?2400:1200,"ms"),values:"1;1;0",keyTimes:"0;0.85;1",fill:"freeze"})]})]})}},N={done:"border-emerald-500/60 bg-emerald-500/15",failed:"border-red-500/60 bg-red-500/15",current:"border-sky-300 bg-sky-500/20",pending:"border-dashed border-slate-500 bg-slate-800/40"};function S(e){return"hand"===e.kind?e.broken?"broken":"shadow"===e.mode?"shadow":"live":null}function A(e,t,l){if(t)return"".concat(y.launch," \xb7 유령 \xb7 런 원장 없음 ").concat(Math.floor((l-Date.parse(e.at))/6e4),"분");let n=S(e);return"broken"===n?"".concat(y.hand," \xb7 끊김 ✕"):"shadow"===n?"".concat(y.hand," \xb7 그림자"):y[e.kind]}function C(e){let{rows:t,edges:l,seenAt:s,now:i,state:o,seatIds:d,details:c}=e,m=(0,r.useSearchParams)(),b=m.get("card"),x=(0,f._s)(m),[w,C]=(0,a.useState)(1),M=(0,f.QU)(w),[T,R]=(0,a.useState)(!1);(0,a.useEffect)(()=>{var e;if(R(function(){try{return"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch(e){return!1}}()),"function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)"),l=()=>R(t.matches);return null==(e=t.addEventListener)||e.call(t,"change",l),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",l)}},[]);let E=(0,a.useMemo)(()=>null===x?[]:(0,f.QB)(l,x),[l,x]),I=(0,a.useMemo)(()=>new Set(null===x?[]:(0,f.Z7)(l,x).map(f.iy)),[l,x]),[O,D]=(0,a.useState)(b);(0,a.useEffect)(()=>{D(b)},[b]);let U=(0,a.useMemo)(()=>[...new Set(l.filter(e=>"card"===e.kind).map(e=>e.ref))].sort(),[l]),W=(0,a.useMemo)(()=>null===O?[]:(0,f.Cd)(l,O),[l,O]),_=new Set(W.map(f.iy)),Z=null!==O?_:null!==x?I:null,P=e=>{D(e);let t=new URL(window.location.href);null===e?t.searchParams.delete("card"):t.searchParams.set("card",e),window.history.replaceState(window.history.state,"",t.toString())},z=(0,a.useMemo)(()=>(0,f.hA)(t,l,d),[t,l,d]),F=(0,a.useMemo)(()=>{let e=z.filter(e=>"seat"===e.type);return[...e.map(e=>e.id),"미지정"].map((t,l)=>({owner:t,column:l,nodes:[..."미지정"===t?[]:e.filter(e=>e.id===t),...z.filter(e=>"loop"===e.type&&e.owner===t)]})).filter(e=>e.nodes.length>0)},[z]),L=new Map(z.map((e,t)=>[e.id,"node-".concat(t)])),X=e=>{var t,l;return null!=(l=null==(t=z.find(t=>t.id===e))?void 0:t.label)?l:"알 수 없음"},q=new Set(l.filter(e=>"run"===e.kind&&e.to.startsWith("loop:")).map(e=>e.to)).size,K=e=>{if("near"!==M)return;let t=(0,f.qV)(e,l,e===f.EV?{running:q,...null==c?void 0:c[e]}:null==c?void 0:c[e],X,i);return null===t.now&&null===t.running&&null===t.waiting&&0===t.recent.length?void 0:t},V=F.map((e,t)=>F.slice(0,t).reduce((e,t)=>e+Math.ceil(t.nodes.length/8),0)),G=F.flatMap((e,t)=>{let{nodes:l}=e;return l.map((e,l)=>({id:L.get(e.id),type:"activity",position:{x:(V[t]+Math.floor(l/8))*220,y:l%8*138},data:{label:e.label,type:e.type,verdict:e.verdict,detail:K(e.id)}}))});f.fi.forEach((e,t)=>{let l=z.find(t=>t.id===e.id);l&&G.push({id:L.get(l.id),type:"activity",position:{x:220*t,y:-170},data:{label:l.label,type:l.type,verdict:l.verdict,detail:K(l.id)}})});let $=z.find(e=>e.id===f.qn);$&&G.push({id:L.get($.id),type:"activity",position:{x:0,y:-310},data:{label:$.label,type:$.type,detail:K($.id)}}),z.filter(e=>"other"===e.type).forEach((e,t)=>G.push({id:L.get(e.id),type:"activity",position:{x:180*Math.floor(t/8),y:138*Math.max(...F.map(e=>Math.min(e.nodes.length,8)),1)+40+t%8*138},data:{label:e.label,type:e.type,detail:K(e.id)}}));let Q=l.filter(e=>L.has(e.from)&&L.has(e.to)).map((e,t)=>{var n;let a=(0,f.iy)(e),r=i-(null!=(n=s[a])?n:0),o=r<f._o,d=null!==Z&&Z.has(a),c=null!==Z&&!d,u=S(e),m=(0,f.$2)(e,l,i),p=A(e,m,i),h=m||T||!(r<2600)?null:{key:a,shape:f.Ok[e.kind],word:y[e.kind],roundTrip:(0,f.yo)(e,l)};return{id:"edge-".concat(t),type:"packet",source:L.get(e.from),target:L.get(e.to),label:p,data:{edge:e,packet:h,hand:u},animated:!1,focusable:!0,interactionWidth:24,style:{stroke:m||"broken"===u?"#fca5a5":d||!c&&o?"#7dd3fc":"#7492a8",strokeWidth:d||!c&&o?4:2,opacity:c?.16:d||o?1:"shadow"===u?.35:.55,...m||"broken"===u?{strokeDasharray:"2 7"}:"shadow"===u?{strokeDasharray:"6 5"}:{},transition:"stroke 1.5s ease, stroke-width 1.5s ease, opacity 1.5s ease"},labelStyle:{fill:c?"#7492a8":m||"broken"===u?"#fecaca":d||o?"#e0f2fe":"#a8b7c7",fontSize:12,opacity:c?.4:1}}});return(0,n.jsxs)("section",{"aria-label":"루프 활동 지도",className:"min-w-0 space-y-3",children:[(0,n.jsx)("p",{className:"text-sm text-slate-300",children:"자리(큰 원) \xb7 루프(작은 원) \xb7 최근 60분 실제 사건. 노드나 간선을 누르면 Trace로 이동합니다. 자원 노드는 자원 화면을 엽니다."}),(0,n.jsx)("p",{className:"text-xs text-slate-400",children:"꾸러미 모양 \xb7 요청 ● 결정 ◆ 보고 ■ 넘김 ▲ 발사 ★ 판단 ⬟ \xb7 넘김 실선 = 실발사 \xb7 점선 = 그림자 \xb7 ✕ = 끊김 \xb7 유령 = 발사 뒤 10분간 같은 ref 런 간선 없음 \xb7 확대하면 노드 안 지금 일이 보입니다."}),null!==x&&(0,n.jsxs)("section",{"aria-label":"데모 여정",className:"rounded-xl border border-sky-500/50 bg-[#173556] p-3",children:[(0,n.jsxs)("h3",{className:"font-semibold",children:["여정 \xb7 ",(0,p.t)(x)]}),"ready"===o&&0===I.size&&(0,n.jsx)("p",{role:"status",className:"mt-1 text-sm text-slate-300",children:"아직 사건 없음 — 틱이 이 카드를 집으면 1단계부터 채워집니다"}),(0,n.jsx)("ol",{className:"mt-2 flex min-w-0 flex-wrap items-stretch gap-2 text-sm",children:E.map((e,t)=>(0,n.jsxs)("li",{"data-journey-state":e.state,className:"flex min-w-0 items-center gap-2 rounded-lg border px-3 py-2 ".concat(N[e.state]),children:[(0,n.jsx)("span",{"aria-hidden":"true",children:h.bq[e.state].mark}),(0,n.jsxs)("span",{className:"min-w-0 break-words",children:[t+1,". ",e.label," \xb7 ",h.bq[e.state].word]}),e.edge&&(0,n.jsx)("time",{className:"text-xs text-slate-300",dateTime:e.edge.at,children:new Date(e.edge.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]},e.key))})]}),(0,n.jsxs)("div",{role:"group","aria-label":"데모 카드 선택",className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,n.jsx)("span",{children:"카드 경로"}),U.map(e=>(0,n.jsx)("button",{type:"button","aria-pressed":O===e,onClick:()=>P(e),className:"min-h-11 rounded-lg border border-slate-500 px-3 py-2 aria-pressed:border-sky-300 aria-pressed:bg-sky-800 focus-visible:outline-2 focus-visible:outline-sky-400",children:(0,p.t)(e)},e)),null!==O&&(0,n.jsx)("button",{type:"button",onClick:()=>P(null),className:"min-h-11 rounded-lg border border-slate-500 px-3 py-2 focus-visible:outline-2 focus-visible:outline-sky-400",children:"전체 보기"})]}),null!==O&&(0,n.jsxs)("section",{"aria-label":"선택 카드 흐름",className:"rounded-xl border border-sky-500/50 bg-[#173556] p-3",children:[(0,n.jsxs)("h3",{className:"font-semibold",children:["요구 한 줄 → 회신 \xb7 카드 ",(0,p.t)(O)]}),"ready"===o&&0===W.length&&(0,n.jsx)("p",{role:"status",children:"이 카드는 아직 흐른 사건이 없음"}),W.length>0&&(0,n.jsx)("ol",{className:"mt-2 space-y-2",children:W.map((e,t)=>{var l,a,r,s;return(0,n.jsxs)("li",{className:"break-words text-sm",children:[t+1,". ",(0,p.t)(null!=(r=null==(l=z.find(t=>t.id===e.from))?void 0:l.label)?r:"출발")," → ",e.to.startsWith("surface:")?"회신 \xb7 ".concat((0,p.t)(e.to.slice(8))):(0,p.t)(null!=(s=null==(a=z.find(t=>t.id===e.to))?void 0:a.label)?s:"도착")," \xb7 ",(0,n.jsx)("time",{dateTime:e.at,children:new Date(e.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]},"".concat((0,f.iy)(e),"-").concat(t))})})]}),"error"===o&&(0,n.jsx)("p",{role:"alert",className:"text-red-300",children:"지도 원천을 읽지 못했습니다. 이전 지도가 보이면 현재 데이터가 아닙니다. 데몬 연결을 확인하세요."}),"unauthorized"===o&&(0,n.jsx)("p",{role:"alert",className:"text-red-300",children:"지도 원천에 접근 권한이 없습니다 — 토큰으로 다시 붙으세요"}),"loading"===o&&(0,n.jsx)("p",{role:"status",children:"지도를 읽는 중…"}),(0,n.jsx)("div",{className:"h-[440px] min-w-0 w-full overflow-hidden rounded-2xl border border-slate-600 bg-[#10243b]","aria-label":"자리와 루프 관계도",children:(0,n.jsxs)(u.Gc,{nodes:G,edges:Q,nodeTypes:k,edgeTypes:j,fitView:!0,minZoom:.25,maxZoom:2.5,onInit:e=>C(e.getZoom()),onMove:(e,t)=>C(t.zoom),nodesDraggable:!1,nodesConnectable:!1,edgesReconnectable:!1,deleteKeyCode:null,onNodeClick:(e,t)=>{let l=z.find(e=>L.get(e.id)===t.id);l&&window.location.assign((0,f.ol)(l.id))},onEdgeClick:(e,t)=>{var l;let n=null==(l=t.data)?void 0:l.edge;n&&window.location.assign((0,f.ol)(n.to,n))},children:[(0,n.jsx)(u.VS,{color:"#355470"}),(0,n.jsx)(u.H2,{showInteractive:!1})]},"loading"===o?"loading":"loaded")}),"ready"===o&&(0,n.jsx)(g,{edges:l,seatIds:d}),(0,n.jsx)("div",{"aria-label":"지도 목록",className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-4",children:F.map(e=>{var t;return(0,n.jsxs)("section",{className:"min-w-0 rounded-xl border border-slate-600 p-3",children:[(0,n.jsx)("h3",{className:"mb-2 font-semibold",children:null!=(t=f.DG[e.owner])?t:(0,p.t)(e.owner)}),(0,n.jsx)("ul",{className:"space-y-2",children:e.nodes.map(e=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>window.location.assign((0,f.ol)(e.id)),className:"flex w-full min-w-0 items-center gap-2 rounded-lg border border-slate-600 px-2 py-2 text-left text-sm focus-visible:outline-2 focus-visible:outline-sky-400",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"shrink-0 rounded-full border border-sky-400 bg-[#173556] ".concat("seat"===e.type?"h-8 w-8":"h-5 w-5")}),(0,n.jsx)("span",{className:"min-w-0 break-words",children:(0,p.t)(e.label)}),e.verdict&&(0,n.jsx)("span",{"data-loop-verdict":e.verdict,className:"ml-auto shrink-0 rounded-full px-2 py-0.5 text-xs ring-1 ".concat(v[e.verdict]),children:e.verdict})]})},e.id))})]},e.owner)})}),(0,n.jsx)("ul",{"aria-label":"최근 간선 사건",className:"space-y-2",children:l.map((e,t)=>{var a,r,o,d,c;return(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>window.location.assign((0,f.ol)(e.to,e)),className:"block w-full min-w-0 break-words rounded-lg border border-slate-600 px-3 py-2 text-left text-sm focus-visible:outline-2 focus-visible:outline-sky-400 ".concat(null!==O?_.has((0,f.iy)(e))?"border-sky-300 bg-sky-500/30 text-sky-100":"bg-slate-800/30 text-slate-400 opacity-40":i-(null!=(o=s[(0,f.iy)(e)])?o:0)<f._o?"bg-sky-500/20 text-sky-100 transition-colors duration-[1500ms] motion-reduce:transition-none":"bg-slate-800/50 text-slate-300"),children:[(0,p.t)(null!=(d=null==(a=z.find(t=>t.id===e.from))?void 0:a.label)?d:"출발")," → ",(0,p.t)(null!=(c=null==(r=z.find(t=>t.id===e.to))?void 0:r.label)?c:"도착")," \xb7 ",A(e,(0,f.$2)(e,l,i),i)," \xb7 ",(0,n.jsx)("time",{dateTime:e.at,children:new Date(e.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]})},"edge-".concat(t))})}),"ready"===o&&0===l.length&&(0,n.jsx)("p",{role:"status",className:"text-slate-300",children:"최근 사건이 없습니다."})]})}var M=l(79818);let T=["loop.","task-agent","harness.queue","self-implement.pod"],R={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e),setInterval:(e,t)=>globalThis.setInterval(e,t),clearInterval:e=>globalThis.clearInterval(e)},E=(0,d.g)(null,null);function I(e){let{view:t,runsUnreadable:l,refreshedAt:a}=e;return(0,n.jsxs)("section",{"aria-label":"루프 에이전트 활동",className:"min-w-0 space-y-6 p-4 text-lg min-[1440px]:text-[22px]",children:[(0,n.jsx)("div",{className:"grid grid-cols-2 gap-3 min-[1440px]:grid-cols-4",children:t.seats.map(e=>(0,n.jsxs)("article",{"aria-label":"".concat(e.seat," 자리"),className:"min-w-0 space-y-3 rounded-2xl border border-border bg-card p-3 min-[1440px]:p-6",children:[(0,n.jsx)("h2",{className:"font-bold",children:e.seat}),(0,n.jsx)("p",{className:"break-words","aria-label":"지금 하는 일",children:e.now}),(0,n.jsxs)("dl",{className:"space-y-1 text-base min-[1440px]:text-[22px]",children:[(0,n.jsxs)("div",{className:"flex flex-wrap justify-between gap-x-2",children:[(0,n.jsx)("dt",{children:"오늘 착지"}),(0,n.jsx)("dd",{children:e.landedToday})]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-between gap-x-2",children:[(0,n.jsx)("dt",{children:"막힘"}),(0,n.jsx)("dd",{children:e.blocked})]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-between gap-x-2",children:[(0,n.jsx)("dt",{children:"대표 결정 대기"}),(0,n.jsx)("dd",{children:e.decisionsWaiting})]})]})]},e.seat))}),(0,n.jsxs)("section",{"aria-label":"지금 도는 런",className:"min-w-0 rounded-2xl border border-border bg-card p-4",children:[(0,n.jsx)("h2",{className:"font-semibold",children:"지금 도는 런"}),l?(0,n.jsx)("p",{className:"text-muted-foreground",children:"못 읽음"}):0===t.runs.length?(0,n.jsx)("p",{className:"text-muted-foreground",children:"지금 도는 런이 없습니다"}):(0,n.jsx)("ul",{className:"mt-3 flex flex-wrap gap-3",children:t.runs.map((e,t)=>(0,n.jsxs)("li",{className:"min-w-0 break-words rounded-lg border border-border px-3 py-2",children:["런 ",e.id6," \xb7 ",e.stage," \xb7 경과 ","못 읽음"===e.elapsedSec?e.elapsedSec:"".concat(e.elapsedSec,"초")]},"".concat(e.id6,"-").concat(t)))})]}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["마지막 갱신 ",(0,n.jsx)("time",{dateTime:null!=a?a:void 0,children:a?new Date(a).toLocaleString("ko-KR",{timeZone:"Asia/Seoul"}):"못 읽음"})]})]})}function O(){var e,t,l,u,m,p,h,b;let{initialMode:x="activity"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:g,config:v}=(0,s.Q)(),[y,w]=(0,a.useState)(null),k=(0,f._s)((0,r.useSearchParams)()),[j,N]=(0,a.useState)(null!==k?"map":x),[S,A]=(0,a.useState)(null),[O,D]=(0,a.useState)(0),U="".concat(v.baseUrl,"\0").concat(v.token),W="".concat(U,"\0").concat(j,"\0").concat(null!=k?k:""),_=(null==y?void 0:y.source)===U?y:null,Z=null!=(t=null==_||null==(e=_.seats)?void 0:e.seats.flatMap(e=>{var t,l;return null!=(l=null==(t=e.subSeats)?void 0:t.map(e=>e.id))?l:[]}))?t:[];(0,a.useEffect)(()=>{let e=!0,t=!1,l=(0,o.xX)({baseUrl:v.baseUrl,token:v.token});w({source:U,seats:null,runs:null,runsUnreadable:!0,refreshedAt:null});let n=async()=>{var n;if(!e||t||document.hidden)return;t=!0;let a=new Intl.DateTimeFormat("sv-SE",{timeZone:"Asia/Seoul"}).format(new Date),[r,s]=await Promise.allSettled([(0,i.Nn)(g,a),l.getHarnessRuns()]);if(t=!1,!e)return;let o="fulfilled"===r.status&&"ready"===r.value.kind?r.value.data:null,d="fulfilled"===s.status&&Array.isArray(null==(n=s.value)?void 0:n.entries)?s.value:null;w({source:U,seats:o,runs:d,runsUnreadable:null===d,refreshedAt:o||d?new Date().toISOString():null})};n();let a=window.setInterval(()=>{n()},1e4),r=()=>{document.hidden||n()};return document.addEventListener("visibilitychange",r),()=>{e=!1,window.clearInterval(a),document.removeEventListener("visibilitychange",r)}},[g,v.baseUrl,v.token,U]),(0,a.useEffect)(()=>{if("map"!==j)return;let e=!0,t=!1,l=!1;A(null),D(Date.now());let n=async()=>{if(!e||document.hidden)return;if(t){l=!0;return}t=!0,l=!1;let a=Date.now();try{let[t,l,n]=await Promise.all([(0,c.Em)(e=>g.fetchJson(e),a),g.fetchJson("/v1/schedules?includeOff=1&includeOwners=1"),g.fetchJson((0,f.Ew)(k)?"/v1/loops/edges?ref=".concat(encodeURIComponent(k),"&mode=live&limit=500"):"/v1/loops/edges?since=".concat(encodeURIComponent(new Date(a-f.oO).toISOString()),"&limit=200"))]),r=l.owners;if(!Array.isArray(r))throw Error("루프 주인 조회 실패");let s=null===k?(0,f.u1)(n,a):(0,f.s_)(n,a);e&&A(e=>({source:W,rows:(0,f.lG)(t,r,a),edges:s,seenAt:(0,f.XV)((null==e?void 0:e.source)===W?e.seenAt:null,s,a),state:"ready"}))}catch(t){if(e){let e=t instanceof o.Iu&&(401===t.status||403===t.status);A(t=>({source:W,rows:e?[]:(null==t?void 0:t.source)===W?t.rows:[],edges:e?[]:(null==t?void 0:t.source)===W?t.edges:[],seenAt:e?{}:(null==t?void 0:t.source)===W?t.seenAt:{},state:e?"unauthorized":"error"}))}}finally{t=!1,l&&e&&n()}};n();let a=function(e,t){var l,n,a,r,s;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null!=(l=i.timers)?l:R,d=null!=(n=i.debounceMs)?n:800,c=null!=(a=i.pollMs)?a:5e3,u=!1,m=null,f=null,p=o.setInterval(()=>{u||null!==f||t()},null!=(r=i.safetyMs)?r:3e4),h=()=>{var e;u||null!==f||(f=o.setInterval(()=>{u||t()},c),null==(e=i.onMode)||e.call(i,"poll"))},b=e.logsStreamUrl({category:T.join(",")}),x=()=>{};if(null===b)h();else{let e=!1;x=(0,M.BX)(b,{events:{log:()=>{if(!u){var e;null!==f&&(o.clearInterval(f),f=null,null==(e=i.onMode)||e.call(i,"stream")),null!==m&&o.clearTimeout(m),m=o.setTimeout(()=>{m=null,u||t()},d)}}},onError:h,onConstructError:()=>{e=!0}}),e?h():null==(s=i.onMode)||s.call(i,"stream")}return()=>{u||(u=!0,null!==m&&o.clearTimeout(m),null!==f&&o.clearInterval(f),o.clearInterval(p),m=null,f=null,x())}}(g,()=>{n()}),r=window.setInterval(()=>{document.hidden||D(Date.now())},250),s=()=>{document.hidden||n()};return document.addEventListener("visibilitychange",s),()=>{e=!1,a(),window.clearInterval(r),document.removeEventListener("visibilitychange",s)}},[g,j,W,k]);let P=(null==S?void 0:S.source)===W?S:null;return(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsxs)("div",{role:"group","aria-label":"루프 에이전트 보기",className:"flex gap-2 px-4 pt-4",children:[(0,n.jsx)("button",{type:"button","aria-pressed":"activity"===j,onClick:()=>N("activity"),className:"min-h-11 rounded-lg border border-slate-500 px-4 py-2 aria-pressed:bg-sky-800",children:"현황"}),(0,n.jsx)("button",{type:"button","aria-pressed":"map"===j,onClick:()=>N("map"),className:"min-h-11 rounded-lg border border-slate-500 px-4 py-2 aria-pressed:bg-sky-800",children:"지도"})]}),"activity"===j?(0,n.jsx)(I,{view:_?(0,d.g)(_.seats,_.runs):E,runsUnreadable:null==(l=null==_?void 0:_.runsUnreadable)||l,refreshedAt:null!=(u=null==_?void 0:_.refreshedAt)?u:null}):(0,n.jsx)("div",{className:"min-w-0 p-4",children:(0,n.jsx)(C,{rows:null!=(m=null==P?void 0:P.rows)?m:[],edges:null!=(p=null==P?void 0:P.edges)?p:[],seatIds:["OP","MK","TC","UX",...Z],details:_?function(e,t){let l={COO:"OP",CMO:"MK",CTO:"TC",CXO:"UX"},n=t?"못 읽음":e.runs.length,a={[f.Xg]:{running:n},[f.EV]:{running:n}};for(let t of e.seats)a[l[t.seat]]={now:t.now,waiting:t.decisionsWaiting};return a}((0,d.g)(_.seats,_.runs),_.runsUnreadable):void 0,seenAt:null!=(h=null==P?void 0:P.seenAt)?h:{},now:O,state:null!=(b=null==P?void 0:P.state)?b:"loading"})})]})}},25089:(e,t,l)=>{l.d(t,{t:()=>u});let n=/\brun-([0-9a-f]{8})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,a=/(?:\/(?:Users|home|private)\/[\w.%@+~/-]+|\b[A-Za-z]:\\(?:[^\\\s,;<>"']+\\)*[^\\\s,;<>"']+)/g,r=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,s=RegExp("(?<![A-Za-z0-9_-])(?:[A-Za-z0-9_]{40,}|(?:sk|ghp|gho|ghs|github_pat|xox[abpr])[-_][A-Za-z0-9_-]{20,})(?![A-Za-z0-9_-])","g"),i=/\b(?:OP|MK|TC|UX)\b/g,o=/\bmsb(\d+)\b/gi,d=/(?:\u{1F451}|🪑|🅞|🅜|🅣|🅤|🅢|🅕)\uFE0F?/gu,c={OP:"COO",MK:"CMO",TC:"CTO",UX:"CXO"};function u(e){let t,l=e;do t=l,l=l.replace(n,(e,t)=>"run-".concat(t.slice(0,6))).replace(a,"").replace(r,"").replace(d,"").replace(s,"").replace(i,e=>c[e]).replace(o,(e,t)=>"remote-".concat(t));while(l!==t&&function(e){return[n,a,r,s,i,d,o].flatMap(t=>[...e.matchAll(t)].map(e=>e[0]))}(l).length>0);return l}},50961:(e,t,l)=>{l.d(t,{g:()=>i,q:()=>s});var n=l(25089);let a=[{id:"OP",seat:"COO"},{id:"MK",seat:"CMO"},{id:"TC",seat:"CTO"},{id:"UX",seat:"CXO"}];function r(e){return(0,n.t)(e.replace(/\s+/g," ")).trim()}function s(e){var t;let l=e.split("\n"),n=(e,t)=>{let l=e.trim();return t&&(l=(l=l.replace(/^\*\*\[[^\]]+\]\*\*\s*/,"")).replace(/^(?:📌\S*\s*)?\d{4}-\d{2}-\d{2}\s+\d{1,2}:\d{2}\s*KST\s*/,"")),r(l=(l=(l=(l=(l=(l=l.replace(/^→\s*(?:[A-Z]{1,4}|전원|전체)(?=\s|·|$)(?:\s*·\s*(?:[A-Z]{1,4}|전원|전체)(?=\s|·|$))*\s*(?:·)?\s*/u,"")).replace(/^—\s*/,"")).replace(/^[-*]\s+/,"").replace(/\*\*|`|__/g,"").replace(/^#+\s*/,"").trim()).replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,"")).replace(RegExp("^(?:\\p{Extended_Pictographic}\\uFE0F?)+\\s*","u"),"")).replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,""))},a=n(null!=(t=l[0])?t:"",!0);if(a)return a;let s=l.slice(1).find(e=>e.trim());return s?n(s,!1):""}function i(e,t){var l;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now();return{seats:a.map(t=>{var l;let{id:n,seat:a}=t,r=null==e?void 0:e.seats.find(e=>e.seat===n);return{seat:a,now:(null==r?void 0:r.now)&&Array.from(s(r.now.text)).slice(0,40).join("")||"못 읽음",landedToday:(null==r?void 0:r.landed)==null?"못 읽음":r.landed.length,blocked:(null==r?void 0:r.blocked)==null?"못 읽음":r.blocked.length,decisionsWaiting:null!=(l=null==r?void 0:r.pendingDecisions)?l:"못 읽음"}}),runs:(null!=(l=null==t?void 0:t.entries)?l:[]).filter(e=>"running"===e.status).sort((e,t)=>{var l,n;return(Date.parse(null!=(l=t.lastActivityTimestamp)?l:"")||0)-(Date.parse(null!=(n=e.lastActivityTimestamp)?n:"")||0)}).slice(0,6).map(e=>{var t;let l=Date.parse(null!=(t=e.lastActivityTimestamp)?t:"");return{id6:function(e){let t=e.replace(/^run-/i,"");return/^[a-z0-9]{6}/i.test(t)&&r(t.slice(0,6))||"못 읽음"}(e.runId),stage:r(e.lastPhase||e.status)||"못 읽음",elapsedSec:Number.isFinite(l)?Math.max(0,Math.floor((n-l)/1e3)):"못 읽음"}})}}},84029:(e,t,l)=>{l.d(t,{$2:()=>d,Cd:()=>S,DG:()=>c,EV:()=>b,Ew:()=>g,Ok:()=>W,Pv:()=>D,QB:()=>I,QU:()=>O,XV:()=>C,Xg:()=>h,Z7:()=>E,_o:()=>o,_s:()=>v,fi:()=>x,hA:()=>j,iy:()=>A,lG:()=>s,oO:()=>i,ol:()=>N,qV:()=>U,qn:()=>p,s_:()=>w,u1:()=>y,yo:()=>_});var n=l(4458),a=l(25089);let r={alive:"살아 있음",late:"늦음",failed:"실패",off:"꺼짐"};function s(e,t,l){let s=new Map(t.flatMap(e=>e.jobs.map(t=>[t,e.owner]))),i=new Map(t.map(e=>[e.id,e.owner])),o=e.map(e=>{var t;return{...e,owner:null!=(t=e.id.startsWith("schedule:")?s.get(e.id.slice(9)):i.get(e.id.slice(5)))?t:"미지정"}});for(let e of t){var d,c,u,m,f,p,h;if(o.some(t=>t.id==="loop:".concat(e.id)))continue;let t=(0,n.u)({enabled:e.enabled,lastRunAt:null!=(m=null==(d=e.lastRun)?void 0:d.at)?m:null,lastStatus:null!=(f=null==(c=e.lastRun)?void 0:c.status.toLowerCase())?f:null,intervalMs:null},l);o.push({id:"loop:".concat(e.id),name:(0,a.t)(e.title),layer:"그래프",owner:null!=(p=e.owner)?p:"미지정",mode:"등록",lastRun:null!=(h=null==(u=e.lastRun)?void 0:u.at)?h:null,verdict:"alive"!==t||e.lastRun?r[t]:"판정 불가"})}return o}let i=36e5,o=1500;function d(e,t,l){if("launch"!==e.kind||"string"==typeof e.run&&""!==e.run)return!1;let n=Date.parse(e.at);return Number.isFinite(n)&&l-n>=6e5&&!t.some(t=>"run"===t.kind&&t.ref===e.ref)}let c={OP:"COO",MK:"CMO",TC:"CTO",UX:"CXO"},u=["OP","MK","TC","UX"],m=new Set(["request","decision","report","card","run","hand","launch","move"]),f=/^[a-zA-Z0-9_-]{1,128}$/,p="loop:resources",h="agent:task-agent",b="hub:runs",x=[{id:"loop:orchestrator",label:"조율"},{id:h,label:"TASK-AGENT"},{id:b,label:"런 묶음"},{id:"loop:release-loop",label:"발행 루프"},{id:"loop:guardian",label:"수호자"}];function g(e){return"string"==typeof e&&f.test(e)}function v(e){var t,l;let n=null!=(t=null==e?void 0:e.get("journey"))?t:null;if(g(n))return n;let a=null!=(l=null==e?void 0:e.get("demo"))?l:null;return g(a)&&"0"!==a&&"1"!==a?a:null}function y(e,t){return k(e,t,!0)}function w(e,t){return k(e,t,!1)}function k(e,t,l){let n=e&&"object"==typeof e&&"edges"in e?e.edges:null;if(!Array.isArray(n))throw Error("간선 조회 실패");return n.filter(e=>{if(!e||"object"!=typeof e||!m.has(e.kind)||"string"!=typeof e.at||"string"!=typeof e.from||"string"!=typeof e.to||"string"!=typeof e.ref)return!1;let n=Date.parse(e.at);return Number.isFinite(n)&&n<=t&&(!l||n>=t-i)})}function j(e,t){var l,n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u,s=new Map;for(let e of r)s.set(e,{id:e,type:"seat",label:null!=(l=c[e])?l:(0,a.t)(e)});for(let e of x)s.set(e.id,{id:e.id,type:"hub",label:e.label});s.set(p,{id:p,type:"hub",label:"자원"});let i=new Set(r),o=new Set;for(let t of e){let e=i.has(t.owner)?t.owner:"미지정",l=t.id,n=(0,a.t)(t.name),r=o.has(n)?"".concat(n," \xb7 ").concat((0,a.t)(t.id)):n;o.add(n);let d=s.get(l);s.set(l,(null==d?void 0:d.type)==="hub"?{...d,owner:e,verdict:t.verdict}:{id:l,type:"loop",label:r,owner:e,verdict:t.verdict})}for(let e of t)for(let t of[e.from,e.to]){if(s.has(t))continue;let[e,l]=t.split(":",2);"loop"===e&&l&&f.test(l)?s.set(t,{id:t,type:"other",label:l.startsWith("run-")?"런 \xb7 ".concat((0,a.t)(l)):"칸 \xb7 ".concat((0,a.t)(l))}):"card"===e||"surface"===e?s.set(t,{id:t,type:"other",label:"card"===e?"카드":"입구 \xb7 ".concat((0,a.t)(null!=l?l:""))}):"agent"===e&&l&&f.test(l)?s.set(t,{id:t,type:"other",label:"에이전트 \xb7 ".concat((0,a.t)(l))}):"pr"===e&&l&&/^\d{1,9}$/.test(l)?s.set(t,{id:t,type:"other",label:"PR #".concat(l)}):("release"===e||"landed"===e)&&l&&f.test(l)?s.set(t,{id:t,type:"other",label:"".concat("release"===e?"발행":"착지"," \xb7 ").concat((0,a.t)(l))}):i.has(t)&&s.set(t,{id:t,type:"seat",label:null!=(n=c[t])?n:(0,a.t)(t)})}return[...s.values()]}function N(e,t){if(e===p&&!t)return"/loops?view=resources";if(t&&("hand"===t.kind||"launch"===t.kind||"move"===t.kind)&&f.test(t.ref))return"/trace?q=".concat(encodeURIComponent(t.ref));if(e.startsWith("pr:")&&/^\d{1,9}$/.test(e.slice(3))&&!t)return"/trace?q=".concat(encodeURIComponent(e.slice(3)));let l=(null==t?void 0:t.kind)==="run"?t.ref:e;if((null==t?void 0:t.kind)==="card"&&f.test(t.ref))return"/trace?q=".concat(encodeURIComponent(t.ref));if(l.startsWith("loop:")&&f.test(l.slice(5))){let e=l.slice(5);return e.startsWith("run-")?"/trace?level=L2&run=".concat(encodeURIComponent(e)):"/trace?q=".concat(encodeURIComponent(e))}return l.startsWith("schedule:")&&f.test(l.slice(9))?"/trace?q=".concat(encodeURIComponent(l.slice(9))):l.startsWith("card:")&&f.test(l.slice(5))?"/trace?q=".concat(encodeURIComponent(l.slice(5))):(null==t?void 0:t.kind)==="run"&&f.test(l)?"/trace?level=L2&run=".concat(encodeURIComponent(l)):"/trace"}function S(e,t){let l=e=>e.startsWith("surface:")?0:e.startsWith("card:")?1:e.startsWith("loop:")?2:3;return e.filter(e=>"card"===e.kind&&e.ref===t).sort((e,t)=>e.at.localeCompare(t.at)||l(e.from)-l(t.from))}function A(e){return JSON.stringify([e.at,e.kind,e.from,e.to,e.ref])}function C(e,t,l){return Object.fromEntries(t.map(t=>{var n;let a=A(t);return[a,null!=(n=null==e?void 0:e[a])?n:null===e?l-o:l]}))}let M=[{key:"tick",label:"틱 \xb7 넘김"},{key:"agent",label:"TASK-AGENT \xb7 발사"},{key:"run",label:"런"},{key:"pr",label:"PR"},{key:"land",label:"착지 \xb7 green 제안"}];function T(e,t){let l=new Set([t]);for(let n of e)"hand"===n.kind&&void 0!==n.cell&&(n.cell===t||n.cell.startsWith("".concat(t,"-")))&&l.add(n.ref);return l}function R(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set([t]),n=e.ref===t||l.has(e.ref);return"hand"===e.kind?n&&"shadow"!==e.mode?"tick":null:"launch"===e.kind?n?"agent":null:"move"===e.kind?n&&"green-proposal"===e.move?"land":null:"run"===e.kind?e.to.startsWith("pr:")?"pr":e.to.startsWith("loop:")?"run":null:"card"===e.kind&&e.to.startsWith("landed:")?"land":null}function E(e,t){let l=T(e,t),n=e=>M.findIndex(n=>n.key===R(e,t,l));return[...S(e,t),...e.filter(e=>"card"!==e.kind||e.ref!==t).filter(e=>null!==R(e,t,l))].sort((e,t)=>e.at.localeCompare(t.at)||n(e)-n(t))}function I(e,t){let l=E(e,t),n=T(e,t),a=0===l.length,r=M.reduce((e,a,r)=>l.some(e=>R(e,t,n)===a.key&&!e.broken)?r:e,-1);return M.map((e,s)=>{let i=l.filter(l=>R(l,t,n)===e.key),o=i.find(e=>!e.broken);return o?{key:e.key,label:e.label,state:"done",edge:o}:0===i.length&&s<r?{key:e.key,label:e.label,state:"done"}:i.length>0?(a=!0,{key:e.key,label:e.label,state:"failed",edge:i[0]}):a?{key:e.key,label:e.label,state:"pending"}:(a=!0,{key:e.key,label:e.label,state:"current"})})}function O(e){return e<.8?"far":"near"}let D={request:"요청",decision:"결정",report:"보고",card:"카드",run:"런",hand:"넘김",launch:"발사",move:"판단"};function U(e,t,l,n,r){var s,i;let o=t.filter(t=>t.from===e||t.to===e).sort((e,t)=>t.at.localeCompare(e.at)).slice(0,5).map(l=>"".concat(void 0!==r&&d(l,t,r)?"발사 \xb7 유령":D[l.kind]," ").concat(l.from===e?"→":"←"," ").concat((0,a.t)(n(l.from===e?l.to:l.from))));return{now:(null==l?void 0:l.now)?(0,a.t)(l.now):null,recent:o,running:null!=(s=null==l?void 0:l.running)?s:null,waiting:null!=(i=null==l?void 0:l.waiting)?i:null}}let W={request:"●",decision:"◆",report:"■",hand:"▲",launch:"★",move:"⬟",card:"◇",run:"▶"};function _(e,t){let l="request"===e.kind?["report","decision"]:"report"===e.kind||"decision"===e.kind?["request"]:[];return l.length>0&&t.some(t=>l.includes(t.kind)&&t.ref===e.ref&&t.from===e.to&&t.to===e.from)}},97119:(e,t,l)=>{l.d(t,{QK:()=>s,i6:()=>r,Pz:()=>o,Em:()=>i,Yy:()=>d});var n=l(4458);let a={alive:"살아 있음",late:"늦음",failed:"실패",off:"꺼짐"},r="/v1/schedules?includeOff=1",s="/v1/dashboard/loops";async function i(e,t){var l,i,o,c,u,m,f,p;let[h,b]=await Promise.allSettled([e(r),e(s)]),x="fulfilled"===h.status?null==(l=h.value)?void 0:l.schedules:null,g="fulfilled"===b.status?null==(o=b.value)||null==(i=o.loops)?void 0:i.loops:null;if(!Array.isArray(x)&&!Array.isArray(g))throw Error("loop registries unavailable");if(!Array.isArray(x))throw Error("스케줄 레지스트리 조회 실패");if(!Array.isArray(g))throw Error("루프 레지스트리 조회 실패");let v=d(x,t).map(e=>({...e,id:"schedule:".concat(e.id)}));for(let e of g){let l=e.last?Date.parse(e.last.at):NaN,r=(0,n.u)({enabled:!1!==e.armed,lastRunAt:null!=(m=null==(c=e.last)?void 0:c.at)?m:null,lastStatus:null!=(f=null==(u=e.last)?void 0:u.status.toLowerCase())?f:null,intervalMs:null},t);v.push({id:"loop:".concat(e.name),name:e.label,layer:null!=(p=e.category)?p:"루프",owner:"미지정",mode:null===e.armed?"관측":e.armed?"armed":"off",lastRun:Number.isFinite(l)?e.last.at:null,verdict:"alive"===r?"판정 불가":a[r]})}return v}function o(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now,n=0,a=!0;return{async refresh(){let r=++n;try{let s=await i(e,l());a&&r===n&&t({rows:s,state:"ready"})}catch(e){a&&r===n&&t({rows:[],state:"error"})}},dispose(){a=!1}}}function d(e,t){return e.map(e=>{var l,r,s,i,o,d,c;let u=e.lastRun?Date.parse(e.lastRun.at):NaN,m=(0,n.u)({enabled:"off"!==e.state,lastRunAt:null!=(d=null==(l=e.lastRun)?void 0:l.at)?d:null,lastStatus:(null==(r=e.lastRun)?void 0:r.exit)!=null&&0!==e.lastRun.exit?"failed":(null==(s=e.lastRun)?void 0:s.status)==null||["ok","success","completed"].includes(e.lastRun.status.toLowerCase())?null!=(c=null==(o=e.lastRun)||null==(i=o.status)?void 0:i.toLowerCase())?c:null:"failed",intervalMs:e.cron?null:e.intervalMs,...e.cron?{scheduleState:e.state}:{}},t),f=!e.cron&&!(e.intervalMs&&e.intervalMs>0),p="alive"===m&&(!Number.isFinite(u)||f)?"판정 불가":a[m];return{id:e.id,name:e.name,layer:e.domain||e.category||e.source,owner:"미지정",mode:e.runVia||e.source,lastRun:Number.isFinite(u)?e.lastRun.at:null,verdict:p}})}}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3643],{97119:(t,e,a)=>{a.d(e,{DA:()=>R,FA:()=>F,I7:()=>B,Zk:()=>w,aP:()=>ez,lC:()=>m,nM:()=>A,nq:()=>e_});var r=a(27292),l=a(26621),i=a(51537),n=a(27254),s=a(88472),o=a(7328),h=a(42398),d=a(66432),c=a(25885),g=a(28044);async function y(t){let e=t.getElementsByTagName("img");if(!e||0===e.length)return;let a=!u(t);await Promise.all([...e].map(t=>new Promise(e=>{function r(){if(t.style.display="flex",t.style.flexDirection="column",a){let e=(0,o.D7)().fontSize?(0,o.D7)().fontSize:window.getComputedStyle(document.body).fontSize,[a=o.UI.fontSize]=(0,s.I5)(e),r=5*a+"px";t.style.minWidth=r,t.style.maxWidth=r}else t.style.width="100%";e(t)}(0,d.K)(r,"setupImage"),setTimeout(()=>{t.complete&&r()}),t.addEventListener("error",r),t.addEventListener("load",r)})))}function u(t){return 3===t.nodeType?t.textContent?.trim()!=="":1===t.nodeType&&"img"!==t.tagName.toLowerCase()&&[...t.childNodes].some(u)}(0,d.K)(y,"configureLabelImages"),(0,d.K)(u,"hasTextBesidesImages");var p=(0,d.K)(async(t,e,a)=>{let r=(0,o.D7)(),i=t.insert("g").attr("class",a??"node default").attr("id",e.domId||e.id),n=i.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle)),h=[{text:"string"==typeof e.label?e.label:e.label?.[0]??"",cssClass:"c4-name"},{text:e.stereotype,cssClass:"c4-type"},...(e.description??[]).map(t=>({text:t,cssClass:"c4-descr"}))].filter(t=>t.text),d=e.width?Math.max(e.width-2*(e.padding??0),32):(0,o.D7)().flowchart?.wrappingWidth??200,g=r.c4?.wrap??!0?d:1/0,y=await Promise.all(h.map(async t=>{let a=n.append("g").attr("class",t.cssClass),i=await (0,l.GZ)(a,(0,o.jZ)((0,s.Sm)(t.text??""),r),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:g,style:e.labelStyle},r);return(0,c.Ltv)(i).selectAll("tspan.text-outer-tspan").attr("text-anchor","middle"),(0,c.Ltv)(i).selectAll("tspan.text-inner-tspan").attr("font-weight",null).attr("font-style",null),{el:a,box:a.node().getBBox()}})),u=Math.max(...y.map(({box:t})=>t.width),0),p=0;for(let{el:t,box:e}of y)t.attr("transform",`translate(${u/2-e.x-e.width/2}, ${p-e.y})`),p+=e.height+3;let f=y.length>0?p-3:0;return n.insert("rect",":first-child"),n.attr("transform",`translate(${-u/2}, ${-f/2})`),{shapeSvg:i,bbox:n.node().getBBox(),halfPadding:(e.padding??0)/2,label:n}},"c4LabelHelper"),f=(0,d.K)((t,e)=>{let{x:a,y:r,width:l,height:i}=t;return l>=e?t:"left"in t?{x:a,y:r,width:e,height:i,top:r,left:a,bottom:r+i,right:a+e,toJSON:(0,d.K)(()=>({}),"toJSON")}:{x:a-(e-l)/2,y:r,width:e,height:i}},"withMinWidth"),w=(0,d.K)(async(t,e,a)=>{let r,i,n;if(void 0!==e.stereotype)return p(t,e,a);let h=e.useHtmlLabels||(0,o._3)((0,o.D7)()?.htmlLabels);r=a||"node default";let d=t.insert("g").attr("class",r).attr("id",e.domId||e.id),g=d.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle));i=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];let u=!!e.icon||!!e.img,w="markdown"===e.labelType,x=i&&!e.width?e.minWidth??0:0,m=await (0,l.GZ)(g,(0,o.jZ)((0,s.Sm)(i),(0,o.D7)()),{useHtmlLabels:h,width:e.width||e.wrappingWidth||(0,o.D7)().flowchart?.wrappingWidth,minWidth:x,classes:w?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:u,markdown:w},(0,o.D7)()),b=(e?.padding??0)/2;if(h){let t=m.children[0],e=(0,c.Ltv)(m);await y(t),n=f(n=await l.lT.measure(()=>t.getBoundingClientRect()),x),e.attr("width",n.width),e.attr("height",n.height)}else n=f(n=await l.lT.measure(()=>m.getBBox()),x);return h?g.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"):g.attr("transform","translate(0, "+-n.height/2+")"),e.centerLabel&&g.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),g.insert("rect",":first-child"),{shapeSvg:d,bbox:n,halfPadding:b,label:g}},"labelHelper"),x=(0,d.K)(async(t,e,a)=>{let r,i=a.useHtmlLabels??(0,o.E)((0,o.D7)()),n=t.insert("g").attr("class","label").attr("style",a.labelStyle||""),h=await (0,l.GZ)(n,(0,o.jZ)((0,s.Sm)(e),(0,o.D7)()),{useHtmlLabels:i,width:a.width||(0,o.D7)()?.flowchart?.wrappingWidth,style:a.labelStyle,addSvgBackground:!!a.icon||!!a.img}),d=a.padding/2;if((0,o.E)((0,o.D7)())){let t=h.children[0],e=(0,c.Ltv)(h);r=await l.lT.measure(()=>t.getBoundingClientRect()),e.attr("width",r.width),e.attr("height",r.height)}else r=await l.lT.measure(()=>h.getBBox());return i?n.attr("transform","translate("+-r.width/2+", "+-r.height/2+")"):n.attr("transform","translate(0, "+-r.height/2+")"),a.centerLabel&&n.attr("transform","translate("+-r.width/2+", "+-r.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:t,bbox:r,halfPadding:d,label:n}},"insertLabel"),m=(0,d.K)((t,e,a)=>{if(a){t.width=a.width,t.height=a.height;return}let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),b=(0,d.K)((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function $(t){let e=t.map((t,e)=>`${0===e?"M":"L"}${t.x},${t.y}`);return e.push("Z"),e.join(" ")}function k(t,e,a,r,l,i){let n=[],s=a-t,o=2*Math.PI/(s/i),h=e+(r-e)/2;for(let e=0;e<=50;e++){let a=t+e/50*s,r=h+l*Math.sin(o*(a-t));n.push({x:a,y:r})}return n}function M(t,e,a,r,l,i){let n=[],s=l*Math.PI/180,o=(i*Math.PI/180-s)/(r-1);for(let l=0;l<r;l++){let r=s+l*o,i=t+a*Math.cos(r),h=e+a*Math.sin(r);n.push({x:-i,y:-h})}return n}function D(t){let e=Array.from(t.childNodes).filter(t=>"path"===t.tagName),a=document.createElementNS("http://www.w3.org/2000/svg","path"),r=e.map(t=>t.getAttribute("d")).filter(t=>null!==t).join(" ");a.setAttribute("d",r);let l=e.find(t=>"none"!==t.getAttribute("fill")),i=e.find(t=>"none"!==t.getAttribute("stroke")),n=(0,d.K)((t,e)=>t?.getAttribute(e)??void 0,"getAttr");l&&Object.entries({fill:n(l,"fill"),"fill-opacity":n(l,"fill-opacity")??"1"}).forEach(([t,e])=>{e&&a.setAttribute(t,e)}),i&&Object.entries({stroke:n(i,"stroke"),"stroke-width":n(i,"stroke-width")??"1","stroke-opacity":n(i,"stroke-opacity")??"1"}).forEach(([t,e])=>{e&&a.setAttribute(t,e)});let s=document.createElementNS("http://www.w3.org/2000/svg","g");return s.appendChild(a),s}(0,d.K)($,"createPathFromPoints"),(0,d.K)(k,"generateFullSineWavePoints"),(0,d.K)(M,"generateCirclePoints"),(0,d.K)(D,"mergePaths");var A=(0,d.K)((t,e)=>{var a,r,l=t.x,i=t.y,n=e.x-l,s=e.y-i,o=t.width/2,h=t.height/2;return Math.abs(s)*o>Math.abs(n)*h?(s<0&&(h=-h),a=0===s?0:h*n/s,r=h):(n<0&&(o=-o),a=o,r=0===n?0:o*s/n),{x:l+a,y:i+r}},"intersectRect");function S(t,e){return t.intersect(e)}function v(t,e,a,r){var l=t.x,i=t.y,n=l-r.x,s=i-r.y,o=Math.sqrt(e*e*s*s+a*a*n*n),h=Math.abs(e*a*n/o);r.x<l&&(h=-h);var d=Math.abs(e*a*s/o);return r.y<i&&(d=-d),{x:l+h,y:i+d}}function K(t,e,a){return v(t,e,e,a)}function C(t,e,a,r){{let l=e.y-t.y,i=t.x-e.x,n=e.x*t.y-t.x*e.y,s=l*a.x+i*a.y+n,o=l*r.x+i*r.y+n;if(0!==s&&0!==o&&L(s,o))return;let h=r.y-a.y,d=a.x-r.x,c=r.x*a.y-a.x*r.y,g=h*t.x+d*t.y+c,y=h*e.x+d*e.y+c;if(1e-6>Math.abs(g)&&1e-6>Math.abs(y)&&L(g,y))return;let u=l*d-h*i;if(0===u)return;return{x:(i*c-d*n)/u,y:(h*n-l*c)/u}}}function L(t,e){return t*e>0}function N(t,e,a){let r=t.x,l=t.y,i=[],n=1/0,s=1/0;"function"==typeof e.forEach?e.forEach(function(t){n=Math.min(n,t.x),s=Math.min(s,t.y)}):(n=Math.min(n,e.x),s=Math.min(s,e.y));let o=r-t.width/2-n,h=l-t.height/2-s;for(let r=0;r<e.length;r++){let l=e[r],n=e[r<e.length-1?r+1:0],s=C(t,a,{x:o+l.x,y:h+l.y},{x:o+n.x,y:h+n.y});s&&i.push(s)}return i.length?(i.length>1&&i.sort(function(t,e){let r=t.x-a.x,l=t.y-a.y,i=Math.sqrt(r*r+l*l),n=e.x-a.x,s=e.y-a.y,o=Math.sqrt(n*n+s*s);return i<o?-1:+(i!==o)}),i[0]):t}(0,d.K)(S,"intersectNode"),(0,d.K)(v,"intersectEllipse"),(0,d.K)(K,"intersectCircle"),(0,d.K)(C,"intersectLine"),(0,d.K)(L,"sameSign"),(0,d.K)(N,"intersectPolygon");var B={node:S,circle:K,ellipse:v,polygon:N,rect:A},F=(0,d.K)((t,e,a,r,l)=>["M",t+l,e,"H",t+a-l,"A",l,l,"0 0 1",t+a,e+l,"V",e+r-l,"A",l,l,"0 0 1",t+a-l,e+r,"H",t+l,"A",l,l,"0 0 1",t,e+r-l,"V",e+l,"A",l,l,"0 0 1",t+l,e,"Z"].join(" "),"createRoundedRectPathD"),R=(0,d.K)(async(t,e,a,r=!1,i=!1)=>{let n=e||"";"object"==typeof n&&(n=n[0]);let s=(0,o.D7)(),h=(0,o.E)(s);return await (0,l.GZ)(t,n,{style:a,isTitle:r,useHtmlLabels:h,markdown:!1,isNode:i,width:1/0},s)},"createLabel");function P(t,e){let{labelStyles:a}=(0,r.GX)(e);e.labelStyle=a;let l=b(e),i=l;l||(i="anchor");let n=t.insert("g").attr("class",i).attr("id",e.domId||e.id),{cssStyles:o}=e,d=g.A.svg(n),c=(0,r.Fr)(e,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==e.look&&(c.roughness=0);let y=d.circle(0,0,2,c),u=n.insert(()=>y,":first-child");return u.attr("class","anchor").attr("style",(0,s.KL)(o)),m(e,u),e.intersect=function(t){return h.R.info("Circle intersect",e,1,t),B.circle(e,1,t)},n}function X(t,e,a,r,l,i,n){let s=Math.atan2(r-e,a-t),o=Math.sqrt(((a-t)/2/l)**2+((r-e)/2/i)**2);if(o>1)throw Error("The given radii are too small to create an arc between the points.");let h=Math.sqrt(1-o**2),d=(t+a)/2+h*i*Math.sin(s)*(n?-1:1),c=(e+r)/2-h*l*Math.cos(s)*(n?-1:1),g=Math.atan2((e-c)/i,(t-d)/l),y=Math.atan2((r-c)/i,(a-d)/l)-g;n&&y<0&&(y+=2*Math.PI),!n&&y>0&&(y-=2*Math.PI);let u=[];for(let t=0;t<20;t++){let e=g+t/19*y,a=d+l*Math.cos(e),r=c+i*Math.sin(e);u.push({x:a,y:r})}return u}function G(t,e,a){let[r,l]=[e,a].sort((t,e)=>e-t);return l*(1-Math.sqrt(1-(t/r/2)**2))}async function I(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i,o=(0,d.K)(t=>t+s,"calcTotalHeight"),h=(0,d.K)(t=>{let e=t/2;return[e/(2.5+t/50),e]},"calcEllipseRadius"),{shapeSvg:c,bbox:y}=await w(t,e,b(e)),u=o(e?.height?e?.height:y.height),[p,f]=h(u),x=G(u,p,f),k=(e?.width?e?.width:y.width)+2*n+x-x,{cssStyles:M}=e,D=[{x:k/2,y:-u/2},{x:-k/2,y:-u/2},...X(-k/2,-u/2,-k/2,u/2,p,f,!1),{x:k/2,y:u/2},...X(k/2,u/2,k/2,-u/2,p,f,!0)],A=g.A.svg(c),S=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(S.roughness=0,S.fillStyle="solid");let v=$(D),K=A.path(v,S),C=c.insert(()=>K,":first-child");return C.attr("class","basic label-container outer-path"),M&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",M),l&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",l),C.attr("transform",`translate(${p/2}, 0)`),m(e,C),e.intersect=function(t){return B.polygon(e,D,t)},c}async function W(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=a?.nodeBorder??a?.lineColor??"currentColor",c=e.padding??12,y=Math.max(s.width+2*c,e.width??0,80),u=Math.max(Math.min(.08*y,12),5),p=Math.max(s.height+2*c+u,e.height??0),f=-p/2+u,x=p/2,$=.72*y,k=`M${-y/2},${f} L${-$/2},${x} A${$/2},${u} 0 0 0 ${$/2},${x} L${y/2},${f} A${y/2},${u} 0 0 0 ${-y/2},${f} Z`,{cssStyles:M}=e,D=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=g.A.svg(n).path(k,(0,r.Fr)(e,{}));D.node()?.appendChild(t),M&&D.attr("style",M)}else D.append("path").attr("d",k).attr("style",i);D.append("ellipse").attr("cx",0).attr("cy",f).attr("rx",y/2).attr("ry",u).attr("style",`fill:none;stroke:${h};stroke-width:1px`),m(e,D);let A=f+(x-f)/2;o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${A-s.height/2-(s.y-(s.top??0))})`);let S=(0,d.K)((t,e,a)=>Array.from({length:13},(r,l)=>{let i=Math.PI-l*Math.PI/12;return{x:t*Math.cos(i),y:e+a*u*Math.sin(i)}}),"arc"),v=[...S(y/2,f,-1),...S($/2,x,1).reverse()];return e.intersect=function(t){return B.polygon(e,v,t)},n}function H(t){let{themeVariables:e}=(0,o.D7)(),a=e.clusterBkg,r=e.clusterBorder;return"flow"===t?{rx:10,fill:"none",stroke:e.flowContainerStroke||e.secondaryBorderColor,strokeWidth:.75,cssClass:"flow-collapsed"}:{rx:8,fill:a,stroke:r,cssClass:"collapsed-group"}}async function T(t,e){let a,l=H(e.metadata?.containerType),{fill:i,stroke:h}=l,{nodeStyles:d}=(0,r.GX)(e),{shapeSvg:c,bbox:y}=await w(t,e,b(e)),{theme:u,themeVariables:p}=(0,o.D7)();(0,n.XE)(c,e.colorIndex,u,p.borderColorArray);let f=e.padding??8,x=y.height,$=Math.max(y.width+2*f,80,e?.width??0),k=Math.max(x+8+20+2*f,e?.height??0),M=-$/2,D=-k/2,A=c.select(".label");if(A&&(e.useHtmlLabels??(0,o.E)((0,o.D7)())?A.attr("transform",`translate(${-y.width/2}, ${-y.height/2+-14})`):A.attr("transform",`translate(0, ${-y.height/2+-14})`)),"handDrawn"===e.look){let t=g.A.svg(c),n=(0,r.Fr)(e,{fill:i,stroke:h,...void 0===l.strokeWidth?{}:{strokeWidth:l.strokeWidth},..."none"===i?{fillWeight:0}:{fillStyle:"solid"}}),o=t.path(F(M,D,$,k,l.rx),n);(a=c.insert(()=>o,":first-child")).attr("class","basic label-container "+l.cssClass).attr("style",(0,s.KL)(e.cssStyles))}else(a=c.insert("rect",":first-child")).attr("class","basic label-container "+l.cssClass).attr("style",d).attr("rx",l.rx).attr("ry",l.rx).attr("x",M).attr("y",D).attr("width",$).attr("height",k).attr("fill",i).attr("stroke",h),void 0!==l.strokeWidth&&a.attr("stroke-width",l.strokeWidth+"px");let S=D+f+x+8;c.append("line").attr("class","collapsed-separator").attr("x1",M+8).attr("y1",S).attr("x2",M+$-8).attr("y2",S).attr("stroke",h).attr("stroke-dasharray","3, 3");let v=S+10;for(let t=-1;t<=1;t++)c.append("circle").attr("class","collapsed-indicator").attr("cx",10*t).attr("cy",v).attr("r",2.5).attr("fill",h);return m(e,a),e.calcIntersect=function(t,e){return B.rect(t,e)},e.intersect=function(t){return B.rect(e,t)},c}function E(t,e,a,r){return t.insert("polygon",":first-child").attr("points",r.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+a/2+")")}(0,d.K)(P,"anchor"),(0,d.K)(X,"generateArcPoints"),(0,d.K)(G,"calculateArcSagitta"),(0,d.K)(I,"bowTieRect"),(0,d.K)(W,"bucket"),(0,d.K)(H,"getCollapsedStyle"),(0,d.K)(T,"collapsedGroup"),(0,d.K)(E,"insertPolygonShape");var j=["right","left","up","down"],q="point",Z=(0,d.K)(t=>{let e=new Set;for(let a of t)switch(a){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(a)}return e},"expandAndDeduplicateDirections"),_=(0,d.K)(t=>j.filter(e=>t.has(e)).join("|")||q,"getDirectionKey"),z={"right|left|up|down":(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:0,y:0},{x:e,y:0},{x:r/2,y:2*a},{x:r-e,y:0},{x:r,y:0},{x:r,y:-t/3},{x:r+2*a,y:-t/2},{x:r,y:-2*t/3},{x:r,y:-t},{x:r-e,y:-t},{x:r/2,y:-t-2*a},{x:e,y:-t},{x:0,y:-t},{x:0,y:-2*t/3},{x:-2*a,y:-t/2},{x:0,y:-t/3}],"right|left|up|down"),"right|left|up":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:e,y:0},{x:a-e,y:0},{x:a,y:-t/2},{x:a-e,y:-t},{x:e,y:-t},{x:0,y:-t/2}],"right|left|up"),"right|left|down":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:0,y:0},{x:e,y:-t},{x:a-e,y:-t},{x:a,y:0}],"right|left|down"),"right|up|down":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:0,y:0},{x:a,y:-e},{x:a,y:-t+e},{x:0,y:-t}],"right|up|down"),"left|up|down":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:a,y:0},{x:0,y:-e},{x:0,y:-t+e},{x:a,y:-t}],"left|up|down"),"right|left":(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:0},{x:e,y:-a},{x:r-e,y:-a},{x:r-e,y:0},{x:r,y:-t/2},{x:r-e,y:-t},{x:r-e,y:-t+a},{x:e,y:-t+a},{x:e,y:-t},{x:0,y:-t/2}],"right|left"),"up|down":(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:r/2,y:0},{x:0,y:-a},{x:e,y:-a},{x:e,y:-t+a},{x:0,y:-t+a},{x:r/2,y:-t},{x:r,y:-t+a},{x:r-e,y:-t+a},{x:r-e,y:-a},{x:r,y:-a}],"up|down"),"right|up":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:0,y:0},{x:a,y:-e},{x:0,y:-t}],"right|up"),"right|down":(0,d.K)(({height:t,width:e})=>[{x:0,y:0},{x:e,y:0},{x:0,y:-t}],"right|down"),"left|up":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:a,y:0},{x:0,y:-e},{x:a,y:-t}],"left|up"),"left|down":(0,d.K)(({height:t,width:e})=>[{x:e,y:0},{x:0,y:0},{x:e,y:-t}],"left|down"),right:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:-a},{x:e,y:-a},{x:r-e,y:-a},{x:r-e,y:0},{x:r,y:-t/2},{x:r-e,y:-t},{x:r-e,y:-t+a},{x:e,y:-t+a},{x:e,y:-t+a}],"right"),left:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:0},{x:e,y:-a},{x:r-e,y:-a},{x:r-e,y:-t+a},{x:e,y:-t+a},{x:e,y:-t},{x:0,y:-t/2}],"left"),up:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:-a},{x:e,y:-t+a},{x:0,y:-t+a},{x:r/2,y:-t},{x:r,y:-t+a},{x:r-e,y:-t+a},{x:r-e,y:-a}],"up"),down:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:r/2,y:0},{x:0,y:-a},{x:e,y:-a},{x:e,y:-t+a},{x:r-e,y:-t+a},{x:r-e,y:-a},{x:r,y:-a}],"down"),[q]:()=>[{x:0,y:0}]},O=(0,d.K)((t,e,a,r)=>{let l=Z(t),i=(a.padding??0)/2,n=e.height+4*i,s=n/2,o=r??e.width+2*s+2*i;return(z[_(l)]??z[q])({height:n,midpoint:s,padding:i,width:o})},"getArrowPoints");async function V(t,e){let{shapeSvg:a,bbox:r}=await w(t,e,b(e)),l=e.padding??0,i=r.height+2*l,n=i/2,s=r.width+2*n+l,o=e.width??0,h=e.positioned&&(e.widthInColumns??1)>1&&o>s?o:s,d=O(e.directions??[],r,e,h),c=E(a,h,i,d);return c.attr("style",e.style??null),m(e,c),e.intersect=function(t){return B.polygon(e,d,t)},a}async function Y(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=a?.nodeBorder??a?.lineColor??"currentColor",d=e.padding??12,c=Math.max(s.width+2*d,e.width??0,90),y=Math.max(s.height+2*d+18,e.height??0),u=-y/2,{cssStyles:p}=e,f=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=g.A.svg(n).path(F(-c/2,u,c,y,12),(0,r.Fr)(e,{}));f.node()?.appendChild(t),p&&f.attr("style",p)}else f.append("rect").attr("x",-c/2).attr("y",u).attr("width",c).attr("height",y).attr("rx",12).attr("ry",12).attr("style",i);f.append("line").attr("x1",-c/2).attr("y1",u+18).attr("x2",c/2).attr("y2",u+18).attr("style",`stroke:${h};stroke-width:1px`);for(let t=0;t<3;t++)f.append("circle").attr("cx",-c/2+12+9*t).attr("cy",u+9).attr("r",2.5).attr("style",`fill:${h};stroke:none`);f.append("rect").attr("class","browser-address-bar").attr("x",-c/2+44).attr("y",u+4).attr("width",Math.max(c-56,10)).attr("height",10).attr("rx",3).attr("ry",3).attr("style",`fill:none;stroke:${h};stroke-width:1px;opacity:0.6`),m(e,f);let x=u+18+(y-18)/2;return o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return B.rect(e,t)},n}async function J(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,s="neo"===e.look?28:n,o="neo"===e.look?24:n,{shapeSvg:h,bbox:d}=await w(t,e,b(e)),c=(e?.width??d.width)+("neo"===e.look?2*s:s+12),y=(e?.height??d.height)+("neo"===e.look?2*o:o),u=-y,p=[{x:12,y:u},{x:c,y:u},{x:c,y:0},{x:0,y:0},{x:0,y:u+12},{x:12,y:u}],{cssStyles:f}=e;if("handDrawn"===e.look){let t=g.A.svg(h),l=(0,r.Fr)(e,{}),i=$(p),n=t.path(i,l);a=h.insert(()=>n,":first-child").attr("transform",`translate(${-c/2}, ${y/2})`),f&&a.attr("style",f)}else a=E(h,c,y,p);return i&&a.attr("style",i),m(e,a),e.intersect=function(t){return B.polygon(e,p,t)},h}function U(t,e){let{nodeStyles:a}=(0,r.GX)(e);e.label="";let l=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,n=Math.max(28,e.width??0),s=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}],o=g.A.svg(l),h=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(h.roughness=0,h.fillStyle="solid");let d=$(s),c=o.path(d,h),y=l.insert(()=>c,":first-child");return i&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",i),a&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",a),e.width=28,e.height=28,e.intersect=function(t){return B.polygon(e,s,t)},l}async function Q(t,e,a){let l,{labelStyles:i,nodeStyles:n}=(0,r.GX)(e);e.labelStyle=i;let{shapeSvg:o,bbox:d,halfPadding:c}=await w(t,e,b(e)),y=a?.padding??c,u=Math.sqrt(d.width**2+d.height**2)/2,p="neo"===e.look?u+32:u+y,{cssStyles:f}=e;if("handDrawn"===e.look){let t=g.A.svg(o),a=(0,r.Fr)(e,{}),i=t.circle(0,0,2*p,a);(l=o.insert(()=>i,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(f))}else l=o.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",p).attr("cx",0).attr("cy",0);return m(e,l),e.calcIntersect=function(t,e){let a=t.width/2;return B.circle(t,a,e)},e.intersect=function(t){return h.R.info("Circle intersect",e,p,t),B.circle(e,p,t)},o}async function tt(t,e){let a=["node",e.cssClasses,e.class].filter(Boolean).join(" "),{shapeSvg:r,bbox:l,halfPadding:i}=await w(t,e,a),n=r.insert("rect",":first-child"),s=e.padding??0,o=e.positioned?e.width??0:l.width+s,h=e.positioned?e.height??0:l.height+s,d=e.positioned?-o/2:-l.width/2-i,c=e.positioned?-h/2:-l.height/2-i;return n.attr("class","basic cluster composite label-container").attr("style",e.style??null).attr("rx",e.rx??null).attr("ry",e.ry??null).attr("x",d).attr("y",c).attr("width",o).attr("height",h),m(e,n),e.intersect=function(t){return B.rect(e,t)},r}async function te(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=a?.nodeBorder??a?.lineColor??"currentColor",d=e.padding??12,c=Math.max(s.width+2*d,e.width??0,90),y=Math.max(s.height+2*d+20,e.height??0),u=-y/2,{cssStyles:p}=e,f=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=g.A.svg(n).path(F(-c/2,u,c,y,12),(0,r.Fr)(e,{}));f.node()?.appendChild(t),p&&f.attr("style",p)}else f.append("rect").attr("x",-c/2).attr("y",u).attr("width",c).attr("height",y).attr("rx",12).attr("ry",12).attr("style",i);f.append("text").attr("x",-c/2+12).attr("y",u+16).attr("class","console-glyph").attr("style",`font-family:monospace;font-weight:bold;font-size:14px;fill:${h}`).text(">_"),m(e,f);let x=u+20+(y-20)/2;return o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return B.rect(e,t)},n}function ta(t){let e=Math.cos(Math.PI/4),a=Math.sin(Math.PI/4),r=2*t,l={x:r/2*e,y:r/2*a},i={x:-(r/2)*e,y:r/2*a},n={x:-(r/2)*e,y:-(r/2)*a},s={x:r/2*e,y:-(r/2)*a};return`M ${i.x},${i.y} L ${s.x},${s.y}
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4932],{37561:(t,e,a)=>{a.d(e,{DA:()=>R,FA:()=>F,I7:()=>B,Zk:()=>w,aP:()=>ez,lC:()=>m,nM:()=>A,nq:()=>e_});var r=a(61078),l=a(43819),i=a(73283),n=a(15464),s=a(72902),o=a(23530),h=a(18776),d=a(95174),c=a(21571),g=a(3682);async function y(t){let e=t.getElementsByTagName("img");if(!e||0===e.length)return;let a=!u(t);await Promise.all([...e].map(t=>new Promise(e=>{function r(){if(t.style.display="flex",t.style.flexDirection="column",a){let e=(0,o.D7)().fontSize?(0,o.D7)().fontSize:window.getComputedStyle(document.body).fontSize,[a=o.UI.fontSize]=(0,s.I5)(e),r=5*a+"px";t.style.minWidth=r,t.style.maxWidth=r}else t.style.width="100%";e(t)}(0,d.K)(r,"setupImage"),setTimeout(()=>{t.complete&&r()}),t.addEventListener("error",r),t.addEventListener("load",r)})))}function u(t){return 3===t.nodeType?t.textContent?.trim()!=="":1===t.nodeType&&"img"!==t.tagName.toLowerCase()&&[...t.childNodes].some(u)}(0,d.K)(y,"configureLabelImages"),(0,d.K)(u,"hasTextBesidesImages");var p=(0,d.K)(async(t,e,a)=>{let r=(0,o.D7)(),i=t.insert("g").attr("class",a??"node default").attr("id",e.domId||e.id),n=i.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle)),h=[{text:"string"==typeof e.label?e.label:e.label?.[0]??"",cssClass:"c4-name"},{text:e.stereotype,cssClass:"c4-type"},...(e.description??[]).map(t=>({text:t,cssClass:"c4-descr"}))].filter(t=>t.text),d=e.width?Math.max(e.width-2*(e.padding??0),32):(0,o.D7)().flowchart?.wrappingWidth??200,g=r.c4?.wrap??!0?d:1/0,y=await Promise.all(h.map(async t=>{let a=n.append("g").attr("class",t.cssClass),i=await (0,l.GZ)(a,(0,o.jZ)((0,s.Sm)(t.text??""),r),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:g,style:e.labelStyle},r);return(0,c.Ltv)(i).selectAll("tspan.text-outer-tspan").attr("text-anchor","middle"),(0,c.Ltv)(i).selectAll("tspan.text-inner-tspan").attr("font-weight",null).attr("font-style",null),{el:a,box:a.node().getBBox()}})),u=Math.max(...y.map(({box:t})=>t.width),0),p=0;for(let{el:t,box:e}of y)t.attr("transform",`translate(${u/2-e.x-e.width/2}, ${p-e.y})`),p+=e.height+3;let f=y.length>0?p-3:0;return n.insert("rect",":first-child"),n.attr("transform",`translate(${-u/2}, ${-f/2})`),{shapeSvg:i,bbox:n.node().getBBox(),halfPadding:(e.padding??0)/2,label:n}},"c4LabelHelper"),f=(0,d.K)((t,e)=>{let{x:a,y:r,width:l,height:i}=t;return l>=e?t:"left"in t?{x:a,y:r,width:e,height:i,top:r,left:a,bottom:r+i,right:a+e,toJSON:(0,d.K)(()=>({}),"toJSON")}:{x:a-(e-l)/2,y:r,width:e,height:i}},"withMinWidth"),w=(0,d.K)(async(t,e,a)=>{let r,i,n;if(void 0!==e.stereotype)return p(t,e,a);let h=e.useHtmlLabels||(0,o._3)((0,o.D7)()?.htmlLabels);r=a||"node default";let d=t.insert("g").attr("class",r).attr("id",e.domId||e.id),g=d.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle));i=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];let u=!!e.icon||!!e.img,w="markdown"===e.labelType,x=i&&!e.width?e.minWidth??0:0,m=await (0,l.GZ)(g,(0,o.jZ)((0,s.Sm)(i),(0,o.D7)()),{useHtmlLabels:h,width:e.width||e.wrappingWidth||(0,o.D7)().flowchart?.wrappingWidth,minWidth:x,classes:w?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:u,markdown:w},(0,o.D7)()),b=(e?.padding??0)/2;if(h){let t=m.children[0],e=(0,c.Ltv)(m);await y(t),n=f(n=await l.lT.measure(()=>t.getBoundingClientRect()),x),e.attr("width",n.width),e.attr("height",n.height)}else n=f(n=await l.lT.measure(()=>m.getBBox()),x);return h?g.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"):g.attr("transform","translate(0, "+-n.height/2+")"),e.centerLabel&&g.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),g.insert("rect",":first-child"),{shapeSvg:d,bbox:n,halfPadding:b,label:g}},"labelHelper"),x=(0,d.K)(async(t,e,a)=>{let r,i=a.useHtmlLabels??(0,o.E)((0,o.D7)()),n=t.insert("g").attr("class","label").attr("style",a.labelStyle||""),h=await (0,l.GZ)(n,(0,o.jZ)((0,s.Sm)(e),(0,o.D7)()),{useHtmlLabels:i,width:a.width||(0,o.D7)()?.flowchart?.wrappingWidth,style:a.labelStyle,addSvgBackground:!!a.icon||!!a.img}),d=a.padding/2;if((0,o.E)((0,o.D7)())){let t=h.children[0],e=(0,c.Ltv)(h);r=await l.lT.measure(()=>t.getBoundingClientRect()),e.attr("width",r.width),e.attr("height",r.height)}else r=await l.lT.measure(()=>h.getBBox());return i?n.attr("transform","translate("+-r.width/2+", "+-r.height/2+")"):n.attr("transform","translate(0, "+-r.height/2+")"),a.centerLabel&&n.attr("transform","translate("+-r.width/2+", "+-r.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:t,bbox:r,halfPadding:d,label:n}},"insertLabel"),m=(0,d.K)((t,e,a)=>{if(a){t.width=a.width,t.height=a.height;return}let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),b=(0,d.K)((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function $(t){let e=t.map((t,e)=>`${0===e?"M":"L"}${t.x},${t.y}`);return e.push("Z"),e.join(" ")}function k(t,e,a,r,l,i){let n=[],s=a-t,o=2*Math.PI/(s/i),h=e+(r-e)/2;for(let e=0;e<=50;e++){let a=t+e/50*s,r=h+l*Math.sin(o*(a-t));n.push({x:a,y:r})}return n}function M(t,e,a,r,l,i){let n=[],s=l*Math.PI/180,o=(i*Math.PI/180-s)/(r-1);for(let l=0;l<r;l++){let r=s+l*o,i=t+a*Math.cos(r),h=e+a*Math.sin(r);n.push({x:-i,y:-h})}return n}function D(t){let e=Array.from(t.childNodes).filter(t=>"path"===t.tagName),a=document.createElementNS("http://www.w3.org/2000/svg","path"),r=e.map(t=>t.getAttribute("d")).filter(t=>null!==t).join(" ");a.setAttribute("d",r);let l=e.find(t=>"none"!==t.getAttribute("fill")),i=e.find(t=>"none"!==t.getAttribute("stroke")),n=(0,d.K)((t,e)=>t?.getAttribute(e)??void 0,"getAttr");l&&Object.entries({fill:n(l,"fill"),"fill-opacity":n(l,"fill-opacity")??"1"}).forEach(([t,e])=>{e&&a.setAttribute(t,e)}),i&&Object.entries({stroke:n(i,"stroke"),"stroke-width":n(i,"stroke-width")??"1","stroke-opacity":n(i,"stroke-opacity")??"1"}).forEach(([t,e])=>{e&&a.setAttribute(t,e)});let s=document.createElementNS("http://www.w3.org/2000/svg","g");return s.appendChild(a),s}(0,d.K)($,"createPathFromPoints"),(0,d.K)(k,"generateFullSineWavePoints"),(0,d.K)(M,"generateCirclePoints"),(0,d.K)(D,"mergePaths");var A=(0,d.K)((t,e)=>{var a,r,l=t.x,i=t.y,n=e.x-l,s=e.y-i,o=t.width/2,h=t.height/2;return Math.abs(s)*o>Math.abs(n)*h?(s<0&&(h=-h),a=0===s?0:h*n/s,r=h):(n<0&&(o=-o),a=o,r=0===n?0:o*s/n),{x:l+a,y:i+r}},"intersectRect");function S(t,e){return t.intersect(e)}function v(t,e,a,r){var l=t.x,i=t.y,n=l-r.x,s=i-r.y,o=Math.sqrt(e*e*s*s+a*a*n*n),h=Math.abs(e*a*n/o);r.x<l&&(h=-h);var d=Math.abs(e*a*s/o);return r.y<i&&(d=-d),{x:l+h,y:i+d}}function K(t,e,a){return v(t,e,e,a)}function C(t,e,a,r){{let l=e.y-t.y,i=t.x-e.x,n=e.x*t.y-t.x*e.y,s=l*a.x+i*a.y+n,o=l*r.x+i*r.y+n;if(0!==s&&0!==o&&L(s,o))return;let h=r.y-a.y,d=a.x-r.x,c=r.x*a.y-a.x*r.y,g=h*t.x+d*t.y+c,y=h*e.x+d*e.y+c;if(1e-6>Math.abs(g)&&1e-6>Math.abs(y)&&L(g,y))return;let u=l*d-h*i;if(0===u)return;return{x:(i*c-d*n)/u,y:(h*n-l*c)/u}}}function L(t,e){return t*e>0}function N(t,e,a){let r=t.x,l=t.y,i=[],n=1/0,s=1/0;"function"==typeof e.forEach?e.forEach(function(t){n=Math.min(n,t.x),s=Math.min(s,t.y)}):(n=Math.min(n,e.x),s=Math.min(s,e.y));let o=r-t.width/2-n,h=l-t.height/2-s;for(let r=0;r<e.length;r++){let l=e[r],n=e[r<e.length-1?r+1:0],s=C(t,a,{x:o+l.x,y:h+l.y},{x:o+n.x,y:h+n.y});s&&i.push(s)}return i.length?(i.length>1&&i.sort(function(t,e){let r=t.x-a.x,l=t.y-a.y,i=Math.sqrt(r*r+l*l),n=e.x-a.x,s=e.y-a.y,o=Math.sqrt(n*n+s*s);return i<o?-1:+(i!==o)}),i[0]):t}(0,d.K)(S,"intersectNode"),(0,d.K)(v,"intersectEllipse"),(0,d.K)(K,"intersectCircle"),(0,d.K)(C,"intersectLine"),(0,d.K)(L,"sameSign"),(0,d.K)(N,"intersectPolygon");var B={node:S,circle:K,ellipse:v,polygon:N,rect:A},F=(0,d.K)((t,e,a,r,l)=>["M",t+l,e,"H",t+a-l,"A",l,l,"0 0 1",t+a,e+l,"V",e+r-l,"A",l,l,"0 0 1",t+a-l,e+r,"H",t+l,"A",l,l,"0 0 1",t,e+r-l,"V",e+l,"A",l,l,"0 0 1",t+l,e,"Z"].join(" "),"createRoundedRectPathD"),R=(0,d.K)(async(t,e,a,r=!1,i=!1)=>{let n=e||"";"object"==typeof n&&(n=n[0]);let s=(0,o.D7)(),h=(0,o.E)(s);return await (0,l.GZ)(t,n,{style:a,isTitle:r,useHtmlLabels:h,markdown:!1,isNode:i,width:1/0},s)},"createLabel");function P(t,e){let{labelStyles:a}=(0,r.GX)(e);e.labelStyle=a;let l=b(e),i=l;l||(i="anchor");let n=t.insert("g").attr("class",i).attr("id",e.domId||e.id),{cssStyles:o}=e,d=g.A.svg(n),c=(0,r.Fr)(e,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==e.look&&(c.roughness=0);let y=d.circle(0,0,2,c),u=n.insert(()=>y,":first-child");return u.attr("class","anchor").attr("style",(0,s.KL)(o)),m(e,u),e.intersect=function(t){return h.R.info("Circle intersect",e,1,t),B.circle(e,1,t)},n}function X(t,e,a,r,l,i,n){let s=Math.atan2(r-e,a-t),o=Math.sqrt(((a-t)/2/l)**2+((r-e)/2/i)**2);if(o>1)throw Error("The given radii are too small to create an arc between the points.");let h=Math.sqrt(1-o**2),d=(t+a)/2+h*i*Math.sin(s)*(n?-1:1),c=(e+r)/2-h*l*Math.cos(s)*(n?-1:1),g=Math.atan2((e-c)/i,(t-d)/l),y=Math.atan2((r-c)/i,(a-d)/l)-g;n&&y<0&&(y+=2*Math.PI),!n&&y>0&&(y-=2*Math.PI);let u=[];for(let t=0;t<20;t++){let e=g+t/19*y,a=d+l*Math.cos(e),r=c+i*Math.sin(e);u.push({x:a,y:r})}return u}function G(t,e,a){let[r,l]=[e,a].sort((t,e)=>e-t);return l*(1-Math.sqrt(1-(t/r/2)**2))}async function I(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i,o=(0,d.K)(t=>t+s,"calcTotalHeight"),h=(0,d.K)(t=>{let e=t/2;return[e/(2.5+t/50),e]},"calcEllipseRadius"),{shapeSvg:c,bbox:y}=await w(t,e,b(e)),u=o(e?.height?e?.height:y.height),[p,f]=h(u),x=G(u,p,f),k=(e?.width?e?.width:y.width)+2*n+x-x,{cssStyles:M}=e,D=[{x:k/2,y:-u/2},{x:-k/2,y:-u/2},...X(-k/2,-u/2,-k/2,u/2,p,f,!1),{x:k/2,y:u/2},...X(k/2,u/2,k/2,-u/2,p,f,!0)],A=g.A.svg(c),S=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(S.roughness=0,S.fillStyle="solid");let v=$(D),K=A.path(v,S),C=c.insert(()=>K,":first-child");return C.attr("class","basic label-container outer-path"),M&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",M),l&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",l),C.attr("transform",`translate(${p/2}, 0)`),m(e,C),e.intersect=function(t){return B.polygon(e,D,t)},c}async function W(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=a?.nodeBorder??a?.lineColor??"currentColor",c=e.padding??12,y=Math.max(s.width+2*c,e.width??0,80),u=Math.max(Math.min(.08*y,12),5),p=Math.max(s.height+2*c+u,e.height??0),f=-p/2+u,x=p/2,$=.72*y,k=`M${-y/2},${f} L${-$/2},${x} A${$/2},${u} 0 0 0 ${$/2},${x} L${y/2},${f} A${y/2},${u} 0 0 0 ${-y/2},${f} Z`,{cssStyles:M}=e,D=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=g.A.svg(n).path(k,(0,r.Fr)(e,{}));D.node()?.appendChild(t),M&&D.attr("style",M)}else D.append("path").attr("d",k).attr("style",i);D.append("ellipse").attr("cx",0).attr("cy",f).attr("rx",y/2).attr("ry",u).attr("style",`fill:none;stroke:${h};stroke-width:1px`),m(e,D);let A=f+(x-f)/2;o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${A-s.height/2-(s.y-(s.top??0))})`);let S=(0,d.K)((t,e,a)=>Array.from({length:13},(r,l)=>{let i=Math.PI-l*Math.PI/12;return{x:t*Math.cos(i),y:e+a*u*Math.sin(i)}}),"arc"),v=[...S(y/2,f,-1),...S($/2,x,1).reverse()];return e.intersect=function(t){return B.polygon(e,v,t)},n}function H(t){let{themeVariables:e}=(0,o.D7)(),a=e.clusterBkg,r=e.clusterBorder;return"flow"===t?{rx:10,fill:"none",stroke:e.flowContainerStroke||e.secondaryBorderColor,strokeWidth:.75,cssClass:"flow-collapsed"}:{rx:8,fill:a,stroke:r,cssClass:"collapsed-group"}}async function T(t,e){let a,l=H(e.metadata?.containerType),{fill:i,stroke:h}=l,{nodeStyles:d}=(0,r.GX)(e),{shapeSvg:c,bbox:y}=await w(t,e,b(e)),{theme:u,themeVariables:p}=(0,o.D7)();(0,n.XE)(c,e.colorIndex,u,p.borderColorArray);let f=e.padding??8,x=y.height,$=Math.max(y.width+2*f,80,e?.width??0),k=Math.max(x+8+20+2*f,e?.height??0),M=-$/2,D=-k/2,A=c.select(".label");if(A&&(e.useHtmlLabels??(0,o.E)((0,o.D7)())?A.attr("transform",`translate(${-y.width/2}, ${-y.height/2+-14})`):A.attr("transform",`translate(0, ${-y.height/2+-14})`)),"handDrawn"===e.look){let t=g.A.svg(c),n=(0,r.Fr)(e,{fill:i,stroke:h,...void 0===l.strokeWidth?{}:{strokeWidth:l.strokeWidth},..."none"===i?{fillWeight:0}:{fillStyle:"solid"}}),o=t.path(F(M,D,$,k,l.rx),n);(a=c.insert(()=>o,":first-child")).attr("class","basic label-container "+l.cssClass).attr("style",(0,s.KL)(e.cssStyles))}else(a=c.insert("rect",":first-child")).attr("class","basic label-container "+l.cssClass).attr("style",d).attr("rx",l.rx).attr("ry",l.rx).attr("x",M).attr("y",D).attr("width",$).attr("height",k).attr("fill",i).attr("stroke",h),void 0!==l.strokeWidth&&a.attr("stroke-width",l.strokeWidth+"px");let S=D+f+x+8;c.append("line").attr("class","collapsed-separator").attr("x1",M+8).attr("y1",S).attr("x2",M+$-8).attr("y2",S).attr("stroke",h).attr("stroke-dasharray","3, 3");let v=S+10;for(let t=-1;t<=1;t++)c.append("circle").attr("class","collapsed-indicator").attr("cx",10*t).attr("cy",v).attr("r",2.5).attr("fill",h);return m(e,a),e.calcIntersect=function(t,e){return B.rect(t,e)},e.intersect=function(t){return B.rect(e,t)},c}function E(t,e,a,r){return t.insert("polygon",":first-child").attr("points",r.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+a/2+")")}(0,d.K)(P,"anchor"),(0,d.K)(X,"generateArcPoints"),(0,d.K)(G,"calculateArcSagitta"),(0,d.K)(I,"bowTieRect"),(0,d.K)(W,"bucket"),(0,d.K)(H,"getCollapsedStyle"),(0,d.K)(T,"collapsedGroup"),(0,d.K)(E,"insertPolygonShape");var j=["right","left","up","down"],q="point",Z=(0,d.K)(t=>{let e=new Set;for(let a of t)switch(a){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(a)}return e},"expandAndDeduplicateDirections"),_=(0,d.K)(t=>j.filter(e=>t.has(e)).join("|")||q,"getDirectionKey"),z={"right|left|up|down":(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:0,y:0},{x:e,y:0},{x:r/2,y:2*a},{x:r-e,y:0},{x:r,y:0},{x:r,y:-t/3},{x:r+2*a,y:-t/2},{x:r,y:-2*t/3},{x:r,y:-t},{x:r-e,y:-t},{x:r/2,y:-t-2*a},{x:e,y:-t},{x:0,y:-t},{x:0,y:-2*t/3},{x:-2*a,y:-t/2},{x:0,y:-t/3}],"right|left|up|down"),"right|left|up":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:e,y:0},{x:a-e,y:0},{x:a,y:-t/2},{x:a-e,y:-t},{x:e,y:-t},{x:0,y:-t/2}],"right|left|up"),"right|left|down":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:0,y:0},{x:e,y:-t},{x:a-e,y:-t},{x:a,y:0}],"right|left|down"),"right|up|down":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:0,y:0},{x:a,y:-e},{x:a,y:-t+e},{x:0,y:-t}],"right|up|down"),"left|up|down":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:a,y:0},{x:0,y:-e},{x:0,y:-t+e},{x:a,y:-t}],"left|up|down"),"right|left":(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:0},{x:e,y:-a},{x:r-e,y:-a},{x:r-e,y:0},{x:r,y:-t/2},{x:r-e,y:-t},{x:r-e,y:-t+a},{x:e,y:-t+a},{x:e,y:-t},{x:0,y:-t/2}],"right|left"),"up|down":(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:r/2,y:0},{x:0,y:-a},{x:e,y:-a},{x:e,y:-t+a},{x:0,y:-t+a},{x:r/2,y:-t},{x:r,y:-t+a},{x:r-e,y:-t+a},{x:r-e,y:-a},{x:r,y:-a}],"up|down"),"right|up":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:0,y:0},{x:a,y:-e},{x:0,y:-t}],"right|up"),"right|down":(0,d.K)(({height:t,width:e})=>[{x:0,y:0},{x:e,y:0},{x:0,y:-t}],"right|down"),"left|up":(0,d.K)(({height:t,midpoint:e,width:a})=>[{x:a,y:0},{x:0,y:-e},{x:a,y:-t}],"left|up"),"left|down":(0,d.K)(({height:t,width:e})=>[{x:e,y:0},{x:0,y:0},{x:e,y:-t}],"left|down"),right:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:-a},{x:e,y:-a},{x:r-e,y:-a},{x:r-e,y:0},{x:r,y:-t/2},{x:r-e,y:-t},{x:r-e,y:-t+a},{x:e,y:-t+a},{x:e,y:-t+a}],"right"),left:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:0},{x:e,y:-a},{x:r-e,y:-a},{x:r-e,y:-t+a},{x:e,y:-t+a},{x:e,y:-t},{x:0,y:-t/2}],"left"),up:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:e,y:-a},{x:e,y:-t+a},{x:0,y:-t+a},{x:r/2,y:-t},{x:r,y:-t+a},{x:r-e,y:-t+a},{x:r-e,y:-a}],"up"),down:(0,d.K)(({height:t,midpoint:e,padding:a,width:r})=>[{x:r/2,y:0},{x:0,y:-a},{x:e,y:-a},{x:e,y:-t+a},{x:r-e,y:-t+a},{x:r-e,y:-a},{x:r,y:-a}],"down"),[q]:()=>[{x:0,y:0}]},O=(0,d.K)((t,e,a,r)=>{let l=Z(t),i=(a.padding??0)/2,n=e.height+4*i,s=n/2,o=r??e.width+2*s+2*i;return(z[_(l)]??z[q])({height:n,midpoint:s,padding:i,width:o})},"getArrowPoints");async function V(t,e){let{shapeSvg:a,bbox:r}=await w(t,e,b(e)),l=e.padding??0,i=r.height+2*l,n=i/2,s=r.width+2*n+l,o=e.width??0,h=e.positioned&&(e.widthInColumns??1)>1&&o>s?o:s,d=O(e.directions??[],r,e,h),c=E(a,h,i,d);return c.attr("style",e.style??null),m(e,c),e.intersect=function(t){return B.polygon(e,d,t)},a}async function Y(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=a?.nodeBorder??a?.lineColor??"currentColor",d=e.padding??12,c=Math.max(s.width+2*d,e.width??0,90),y=Math.max(s.height+2*d+18,e.height??0),u=-y/2,{cssStyles:p}=e,f=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=g.A.svg(n).path(F(-c/2,u,c,y,12),(0,r.Fr)(e,{}));f.node()?.appendChild(t),p&&f.attr("style",p)}else f.append("rect").attr("x",-c/2).attr("y",u).attr("width",c).attr("height",y).attr("rx",12).attr("ry",12).attr("style",i);f.append("line").attr("x1",-c/2).attr("y1",u+18).attr("x2",c/2).attr("y2",u+18).attr("style",`stroke:${h};stroke-width:1px`);for(let t=0;t<3;t++)f.append("circle").attr("cx",-c/2+12+9*t).attr("cy",u+9).attr("r",2.5).attr("style",`fill:${h};stroke:none`);f.append("rect").attr("class","browser-address-bar").attr("x",-c/2+44).attr("y",u+4).attr("width",Math.max(c-56,10)).attr("height",10).attr("rx",3).attr("ry",3).attr("style",`fill:none;stroke:${h};stroke-width:1px;opacity:0.6`),m(e,f);let x=u+18+(y-18)/2;return o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return B.rect(e,t)},n}async function J(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,s="neo"===e.look?28:n,o="neo"===e.look?24:n,{shapeSvg:h,bbox:d}=await w(t,e,b(e)),c=(e?.width??d.width)+("neo"===e.look?2*s:s+12),y=(e?.height??d.height)+("neo"===e.look?2*o:o),u=-y,p=[{x:12,y:u},{x:c,y:u},{x:c,y:0},{x:0,y:0},{x:0,y:u+12},{x:12,y:u}],{cssStyles:f}=e;if("handDrawn"===e.look){let t=g.A.svg(h),l=(0,r.Fr)(e,{}),i=$(p),n=t.path(i,l);a=h.insert(()=>n,":first-child").attr("transform",`translate(${-c/2}, ${y/2})`),f&&a.attr("style",f)}else a=E(h,c,y,p);return i&&a.attr("style",i),m(e,a),e.intersect=function(t){return B.polygon(e,p,t)},h}function U(t,e){let{nodeStyles:a}=(0,r.GX)(e);e.label="";let l=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,n=Math.max(28,e.width??0),s=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}],o=g.A.svg(l),h=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(h.roughness=0,h.fillStyle="solid");let d=$(s),c=o.path(d,h),y=l.insert(()=>c,":first-child");return i&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",i),a&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",a),e.width=28,e.height=28,e.intersect=function(t){return B.polygon(e,s,t)},l}async function Q(t,e,a){let l,{labelStyles:i,nodeStyles:n}=(0,r.GX)(e);e.labelStyle=i;let{shapeSvg:o,bbox:d,halfPadding:c}=await w(t,e,b(e)),y=a?.padding??c,u=Math.sqrt(d.width**2+d.height**2)/2,p="neo"===e.look?u+32:u+y,{cssStyles:f}=e;if("handDrawn"===e.look){let t=g.A.svg(o),a=(0,r.Fr)(e,{}),i=t.circle(0,0,2*p,a);(l=o.insert(()=>i,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(f))}else l=o.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",p).attr("cx",0).attr("cy",0);return m(e,l),e.calcIntersect=function(t,e){let a=t.width/2;return B.circle(t,a,e)},e.intersect=function(t){return h.R.info("Circle intersect",e,p,t),B.circle(e,p,t)},o}async function tt(t,e){let a=["node",e.cssClasses,e.class].filter(Boolean).join(" "),{shapeSvg:r,bbox:l,halfPadding:i}=await w(t,e,a),n=r.insert("rect",":first-child"),s=e.padding??0,o=e.positioned?e.width??0:l.width+s,h=e.positioned?e.height??0:l.height+s,d=e.positioned?-o/2:-l.width/2-i,c=e.positioned?-h/2:-l.height/2-i;return n.attr("class","basic cluster composite label-container").attr("style",e.style??null).attr("rx",e.rx??null).attr("ry",e.ry??null).attr("x",d).attr("y",c).attr("width",o).attr("height",h),m(e,n),e.intersect=function(t){return B.rect(e,t)},r}async function te(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=a?.nodeBorder??a?.lineColor??"currentColor",d=e.padding??12,c=Math.max(s.width+2*d,e.width??0,90),y=Math.max(s.height+2*d+20,e.height??0),u=-y/2,{cssStyles:p}=e,f=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=g.A.svg(n).path(F(-c/2,u,c,y,12),(0,r.Fr)(e,{}));f.node()?.appendChild(t),p&&f.attr("style",p)}else f.append("rect").attr("x",-c/2).attr("y",u).attr("width",c).attr("height",y).attr("rx",12).attr("ry",12).attr("style",i);f.append("text").attr("x",-c/2+12).attr("y",u+16).attr("class","console-glyph").attr("style",`font-family:monospace;font-weight:bold;font-size:14px;fill:${h}`).text(">_"),m(e,f);let x=u+20+(y-20)/2;return o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return B.rect(e,t)},n}function ta(t){let e=Math.cos(Math.PI/4),a=Math.sin(Math.PI/4),r=2*t,l={x:r/2*e,y:r/2*a},i={x:-(r/2)*e,y:r/2*a},n={x:-(r/2)*e,y:-(r/2)*a},s={x:r/2*e,y:-(r/2)*a};return`M ${i.x},${i.y} L ${s.x},${s.y}
2
2
  M ${l.x},${l.y} L ${n.x},${n.y}`}function tr(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a,e.label="";let i=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),n=Math.max(30,e?.width??0),{cssStyles:s}=e,o=g.A.svg(i),d=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(d.roughness=0,d.fillStyle="solid");let c=o.circle(0,0,2*n,d),y=ta(n),u=o.path(y,d),p=i.insert(()=>c,":first-child");return p.insert(()=>u),p.attr("class","outer-path"),s&&"handDrawn"!==e.look&&p.selectAll("path").attr("style",s),l&&"handDrawn"!==e.look&&p.selectAll("path").attr("style",l),m(e,p),e.intersect=function(t){return h.R.info("crossedCircle intersect",e,{radius:n,point:t}),B.circle(e,n,t)},i}function tl(t,e,a,r=100,l=0,i=180){let n=[],s=l*Math.PI/180,o=(i*Math.PI/180-s)/(r-1);for(let l=0;l<r;l++){let r=s+l*o,i=t+a*Math.cos(r),h=e+a*Math.sin(r);n.push({x:-i,y:-h})}return n}async function ti(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n,label:s}=await w(t,e,b(e)),o="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,d=n.width+o,c=n.height+h,y=Math.max(5,.1*c),{cssStyles:u}=e,p=[...tl(d/2,-c/2,y,30,-90,0),{x:-d/2-y,y:y},...tl(d/2+2*y,-y,y,20,-180,-270),...tl(d/2+2*y,y,y,20,-90,-180),{x:-d/2-y,y:-c/2},...tl(d/2,c/2,y,20,0,90)],f=[{x:d/2,y:-c/2-y},{x:-d/2,y:-c/2-y},...tl(d/2,-c/2,y,20,-90,0),{x:-d/2-y,y:-y},...tl(d/2+.1*d,-y,y,20,-180,-270),...tl(d/2+.1*d,y,y,20,-90,-180),{x:-d/2-y,y:c/2},...tl(d/2,c/2,y,20,0,90),{x:-d/2,y:c/2+y},{x:d/2,y:c/2+y}],x=g.A.svg(i),k=(0,r.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let M=$(p).replace("Z",""),D=x.path(M,k),A=$(f),S=x.path(A,{...k}),v=i.insert("g",":first-child");return v.insert(()=>S,":first-child").attr("stroke-opacity",0),v.insert(()=>D,":first-child"),v.attr("class","text"),u&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",u),l&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",l),v.attr("transform",`translate(${y}, 0)`),s.attr("transform",`translate(${-d/2+y-(n.x-(n.left??0))},${-c/2+(e.padding??0)/2-(n.y-(n.top??0))})`),m(e,v),e.intersect=function(t){return B.polygon(e,f,t)},i}function tn(t,e,a,r=100,l=0,i=180){let n=[],s=l*Math.PI/180,o=(i*Math.PI/180-s)/(r-1);for(let l=0;l<r;l++){let r=s+l*o,i=t+a*Math.cos(r),h=e+a*Math.sin(r);n.push({x:i,y:h})}return n}async function ts(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n,label:s}=await w(t,e,b(e)),o="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,d=n.width+("neo"===e.look?2*o:o),c=n.height+("neo"===e.look?2*h:h),y=Math.max(5,.1*c),{cssStyles:u}=e,p=[...tn(d/2,-c/2,y,20,-90,0),{x:d/2+y,y:-y},...tn(d/2+2*y,-y,y,20,-180,-270),...tn(d/2+2*y,y,y,20,-90,-180),{x:d/2+y,y:c/2},...tn(d/2,c/2,y,20,0,90)],f=[{x:-d/2,y:-c/2-y},{x:d/2,y:-c/2-y},...tn(d/2,-c/2,y,20,-90,0),{x:d/2+y,y:-y},...tn(d/2+2*y,-y,y,20,-180,-270),...tn(d/2+2*y,y,y,20,-90,-180),{x:d/2+y,y:c/2},...tn(d/2,c/2,y,20,0,90),{x:d/2,y:c/2+y},{x:-d/2,y:c/2+y}],x=g.A.svg(i),k=(0,r.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let M=$(p).replace("Z",""),D=x.path(M,k),A=$(f),S=x.path(A,{...k}),v=i.insert("g",":first-child");return v.insert(()=>S,":first-child").attr("stroke-opacity",0),v.insert(()=>D,":first-child"),v.attr("class","text"),u&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",u),l&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",l),v.attr("transform",`translate(${-y}, 0)`),s.attr("transform",`translate(${-d/2+(e.padding??0)/2-(n.x-(n.left??0))},${-c/2+(e.padding??0)/2-(n.y-(n.top??0))})`),m(e,v),e.intersect=function(t){return B.polygon(e,f,t)},i}function to(t,e,a,r=100,l=0,i=180){let n=[],s=l*Math.PI/180,o=(i*Math.PI/180-s)/(r-1);for(let l=0;l<r;l++){let r=s+l*o,i=t+a*Math.cos(r),h=e+a*Math.sin(r);n.push({x:-i,y:-h})}return n}async function th(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n,label:s}=await w(t,e,b(e)),o="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,d=n.width+("neo"===e.look?2*o:o),c=n.height+("neo"===e.look?2*h:h),y=Math.max(5,.1*c),{cssStyles:u}=e,p=[...to(d/2,-c/2,y,30,-90,0),{x:-d/2-y,y:y},...to(d/2+2*y,-y,y,20,-180,-270),...to(d/2+2*y,y,y,20,-90,-180),{x:-d/2-y,y:-c/2},...to(d/2,c/2,y,20,0,90)],f=[...to(-d/2+y+y/2,-c/2,y,20,-90,-180),{x:d/2-y/2,y:y},...to(-d/2-y/2,-y,y,20,0,90),...to(-d/2-y/2,y,y,20,-90,0),{x:d/2-y/2,y:-y},...to(-d/2+y+y/2,c/2,y,30,-180,-270)],x=[{x:d/2,y:-c/2-y},{x:-d/2,y:-c/2-y},...to(d/2,-c/2,y,20,-90,0),{x:-d/2-y,y:-y},...to(d/2+2*y,-y,y,20,-180,-270),...to(d/2+2*y,y,y,20,-90,-180),{x:-d/2-y,y:c/2},...to(d/2,c/2,y,20,0,90),{x:-d/2,y:c/2+y},{x:d/2-y-y/2,y:c/2+y},...to(-d/2+y+y/2,-c/2,y,20,-90,-180),{x:d/2-y/2,y:y},...to(-d/2-y/2,-y,y,20,0,90),...to(-d/2-y/2,y,y,20,-90,0),{x:d/2-y/2,y:-y},...to(-d/2+y+y/2,c/2,y,30,-180,-270)],k=g.A.svg(i),M=(0,r.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(M.roughness=0,M.fillStyle="solid");let D=$(p).replace("Z",""),A=k.path(D,M),S=$(f).replace("Z",""),v=k.path(S,M),K=$(x),C=k.path(K,{...M}),L=i.insert("g",":first-child");return L.insert(()=>C,":first-child").attr("stroke-opacity",0),L.insert(()=>A,":first-child"),L.insert(()=>v,":first-child"),L.attr("class","text"),u&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",u),l&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",l),L.attr("transform",`translate(${y-y/4}, 0)`),s.attr("transform",`translate(${-d/2+(e.padding??0)/2-(n.x-(n.left??0))},${-c/2+(e.padding??0)/2-(n.y-(n.top??0))})`),m(e,L),e.intersect=function(t){return B.polygon(e,x,t)},i}async function td(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i,{shapeSvg:o,bbox:h}=await w(t,e,b(e)),d=Math.max(5,h.height+2*s,e?.height??0),c=d/2,y=Math.max(d/4,c-Math.sqrt(Math.max(0,c**2-(h.height/2)**2))),u=Math.max(20,h.width+2*n+2*y,(h.width+2*n)*1.25,e?.width??0),{cssStyles:p}=e,f=g.A.svg(o),x=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let k=u-c,D=d/4,A=[{x:k,y:0},{x:D,y:0},{x:0,y:d/2},{x:D,y:d},{x:k,y:d},...M(-k,-d/2,c,50,270,90)],S=$(A),v=f.path(S,x),K=o.insert(()=>v,":first-child");return K.attr("class","basic label-container outer-path"),p&&"handDrawn"!==e.look&&K.selectChildren("path").attr("style",p),l&&"handDrawn"!==e.look&&K.selectChildren("path").attr("style",l),K.attr("transform",`translate(${-u/2}, ${-d/2})`),m(e,K),e.intersect=function(t){return B.polygon(e,A,t)},o}async function tc(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n,label:s}=await w(t,e,b(e)),o=e.padding??20,h=Math.max(n.width+2*o,e.width??0,100),d=Math.min(Math.max(.23*h,16),56),c=.27*d,y=Math.max(n.height+2*o,e.height?e.height-(2*d-c):0),u=Math.min(.177*h,.45*y),p=y+2*d-c,f=-p/2,x=f+2*d-c,$=i.insert("g",":first-child").attr("class","basic label-container"),{cssStyles:k}=e;if("handDrawn"===e.look){let t=g.A.svg(i),a=(0,r.Fr)(e,{}),l=t.path(F(-h/2,x,h,y,u),a),n=t.circle(0,f+d,2*d,a);$.insert(()=>n,":first-child"),$.insert(()=>l,":first-child"),k&&$.attr("style",k)}else $.append("rect").attr("x",-h/2).attr("y",x).attr("width",h).attr("height",y).attr("rx",u).attr("ry",u).attr("style",l),$.append("circle").attr("cx",0).attr("cy",f+d).attr("r",d).attr("style",l);m(e,$);let D=x+y/2;s.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${D-n.height/2-(n.y-(n.top??0))})`);let A=f+d,S=180*Math.asin(Math.min(1,(x-A)/d))/Math.PI,v=[...M(0,-A,d,24,180+S,-S),...M(-(-h/2+u),-(x+u),u,12,90,0),...M(-(-h/2+u),-(p/2-u),u,12,360,270),...M(-(h/2-u),-(p/2-u),u,12,270,180),...M(-(h/2-u),-(x+u),u,12,180,90)];return e.intersect=function(t){return B.polygon(e,v,t)},i}(0,d.K)(V,"block_arrow"),(0,d.K)(Y,"browser"),(0,d.K)(J,"card"),(0,d.K)(U,"choice"),(0,d.K)(Q,"circle"),(0,d.K)(tt,"composite"),(0,d.K)(te,"consoleWindow"),(0,d.K)(ta,"createLine"),(0,d.K)(tr,"crossedCircle"),(0,d.K)(tl,"generateCirclePoints"),(0,d.K)(ti,"curlyBraceLeft"),(0,d.K)(tn,"generateCirclePoints"),(0,d.K)(ts,"curlyBraceRight"),(0,d.K)(to,"generateCirclePoints"),(0,d.K)(th,"curlyBraces"),(0,d.K)(td,"curvedTrapezoid"),(0,d.K)(tc,"person");var tg=(0,d.K)((t,e,a,r,l,i)=>`M${t},${e+i} a${l},${i} 0,0,0 ${a},0 a${l},${i} 0,0,0 ${-a},0 l0,${r} a${l},${i} 0,0,0 ${a},0 l0,${-r}`,"createCylinderPathD"),ty=(0,d.K)((t,e,a,r,l,i)=>`M${t},${e+i} M${t+a},${e+i} a${l},${i} 0,0,0 ${-a},0 l0,${r} a${l},${i} 0,0,0 ${a},0 l0,${-r}`,"createOuterCylinderPathD"),tu=(0,d.K)((t,e,a,r,l,i)=>`M${t-a/2},${-r/2} a${l},${i} 0,0,0 ${a},0`,"createInnerCylinderPathD");async function tp(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,o="neo"===e.look?24:n,h="neo"===e.look?24:n,d=e.width??0;e.width&&(e.width=e.width-h,e.width<8&&(e.width=8)),e.height&&(e.height=e.height-o-d/2/(2.5+d/50)*3,e.height<8&&(e.height=8));let{shapeSvg:c,bbox:y,label:u}=await w(t,e,b(e)),p=Math.max(e.width??0,y.width)+h,f=p/2,x=f/(2.5+p/50),$=Math.max(e.height??0,y.height)+o+x,{cssStyles:k}=e;if("handDrawn"===e.look){let t=g.A.svg(c),l=ty(0,0,p,$,f,x),i=tu(0,x,p,$,f,x),n=(0,r.Fr)(e,{}),s=t.path(l,n),o=t.path(i,(0,r.Fr)(e,{fill:"none"}));a=c.insert(()=>o,":first-child"),(a=c.insert(()=>s,":first-child")).attr("class","basic label-container"),k&&a.attr("style",k)}else{let t=tg(0,0,p,$,f,x);a=c.insert("path",":first-child").attr("d",t).attr("class","basic label-container outer-path").attr("style",(0,s.KL)(k)).attr("style",i)}return a.attr("label-offset-y",x),a.attr("transform",`translate(${-p/2}, ${-($/2+x)})`),m(e,a),u.attr("transform",`translate(${-(y.width/2)-(y.x-(y.left??0))}, ${-(y.height/2)+(e.padding??0)/1.5-(y.y-(y.top??0))})`),e.intersect=function(t){let a=B.rect(e,t),r=a.x-(e.x??0);if(0!=f&&(Math.abs(r)<(e.width??0)/2||Math.abs(r)==(e.width??0)/2&&Math.abs(a.y-(e.y??0))>(e.height??0)/2-x)){let l=x*x*(1-r*r/(f*f));l>0&&(l=Math.sqrt(l)),l=x-l,t.y-(e.y??0)>0&&(l=-l),a.y+=l}return a},c}async function tf(t,e,a){let l,{labelStyles:i,nodeStyles:n}=(0,r.GX)(e);e.labelStyle=i;let{shapeSvg:o,bbox:h}=await w(t,e,b(e)),d=Math.max(h.width+2*a.labelPaddingX,e?.width||0),c=Math.max(h.height+2*a.labelPaddingY,e?.height||0),y=-d/2,u=-c/2,{rx:p,ry:f}=e,{cssStyles:x}=e;if(a?.rx&&a.ry&&(p=a.rx,f=a.ry),"handDrawn"===e.look){let t=g.A.svg(o),a=(0,r.Fr)(e,{}),i=p||f?t.path(F(y,u,d,c,p||0),a):t.rectangle(y,u,d,c,a);(l=o.insert(()=>i,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(x))}else(l=o.insert("rect",":first-child")).attr("class","basic label-container").attr("style",n).attr("rx",(0,s.KL)(p)).attr("ry",(0,s.KL)(f)).attr("x",y).attr("y",u).attr("width",d).attr("height",c);return m(e,l,"handDrawn"===e.look?void 0:{width:d,height:c}),e.calcIntersect=function(t,e){return B.rect(t,e)},e.intersect=function(t){return B.rect(e,t)},o}async function tw(t,e){let{cssClasses:a,labelPaddingX:l,labelPaddingY:i,padding:n,width:s,height:o}=e,h=await tf(t,e,{rx:0,ry:0,classes:a??"",labelPaddingX:l??(n??0)*2,labelPaddingY:i??n??0});if("handDrawn"===e.look){let t=g.A.svg(h),a=(0,r.Fr)(e,{}),l=h.select(".basic.label-container > path:nth-child(2)"),i=l.node();if(!i)return h;let n=null;return i instanceof SVGGraphicsElement&&(n=i.getBBox(),h.insert(()=>t.line(n.x,n.y,n.x+n.width,n.y,a),".basic.label-container g.label"),h.insert(()=>t.line(n.x,n.y+n.height,n.x+n.width,n.y+n.height,a),".basic.label-container g.label"),l.remove()),h}let d=h.select(".basic.label-container"),c=(Number(d.attr("width"))||s)??0,y=(Number(d.attr("height"))||o)??0;return c>0&&y>0&&d.attr("stroke-dasharray",`${c} ${y}`),h}async function tx(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i="neo"===e.look?16:e.padding??0,n="neo"===e.look?16:e.padding??0,{shapeSvg:s,bbox:o,label:h}=await w(t,e,b(e)),d=o.width+i,c=o.height+n,y=.2*c,u=-d/2,p=-c/2-y/2,{cssStyles:f}=e,x=g.A.svg(s),$=(0,r.Fr)(e,{});"handDrawn"!==e.look&&($.roughness=0,$.fillStyle="solid");let k=x.polygon([{x:u,y:p+y},{x:-u,y:p+y},{x:-u,y:-p},{x:u,y:-p},{x:u,y:p},{x:-u,y:p},{x:-u,y:p+y}].map(t=>[t.x,t.y]),$),M=s.insert(()=>k,":first-child");return M.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",f),l&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",l),h.attr("transform",`translate(${u+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+y+(e.padding??0)/2-(o.y-(o.top??0))})`),m(e,M),e.intersect=function(t){return B.rect(e,t)},s}async function tm(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e),n="neo"===e.look?12:5;e.labelStyle=l;let o=e.padding??0,d="neo"===e.look?16:o,{shapeSvg:c,bbox:y}=await w(t,e,b(e)),u=Math.sqrt(y.width**2+y.height**2)/2,p=(e?.width?e?.width/2:u)+(d??0),f=p+n,{cssStyles:x}=e;if("handDrawn"===e.look){let t=g.A.svg(c),l=(0,r.Fr)(e,{roughness:.2,strokeWidth:2.5}),i=(0,r.Fr)(e,{roughness:.2,strokeWidth:1.5}),n=t.circle(0,0,2*f,l),o=t.circle(0,0,2*p,i);(a=c.insert("g",":first-child")).attr("class",(0,s.KL)(e.cssClasses)).attr("style",(0,s.KL)(x)),a.node()?.appendChild(n),a.node()?.appendChild(o)}else{let t=(a=c.insert("g",":first-child")).insert("circle",":first-child"),e=a.insert("circle");a.attr("class","basic label-container").attr("style",i),t.attr("class","outer-circle").attr("style",i).attr("r",f).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",i).attr("r",p).attr("cx",0).attr("cy",0)}return m(e,a),e.intersect=function(t){return h.R.info("DoubleCircle intersect",e,f,t),B.circle(e,f,t)},c}async function tb(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:s,bbox:h,halfPadding:d}=await w(t,e,b(e)),{theme:c,themeVariables:y}=(0,o.D7)();(0,n.XE)(s,e.colorIndex,c,y.borderColorArray);let u=d??10,p=h.width/2+2*u,f=h.height/2+2*u,{cssStyles:x}=e;if("handDrawn"===e.look){let t=g.A.svg(s),l=(0,r.Fr)(e,{}),i=t.ellipse(0,0,2*p,2*f,l);(a=s.insert(()=>i,":first-child")).attr("class","basic label-container"),x&&a.attr("style",x)}else a=s.insert("ellipse",":first-child").attr("class","basic label-container").attr("style",i).attr("rx",p).attr("ry",f).attr("cx",0).attr("cy",0);return e.width=2*p,e.height=2*f,m(e,a),e.calcIntersect=function(t,e){let a=t.width/2,r=t.height/2;return B.ellipse(t,a,r,e)},e.intersect=function(t){return B.ellipse(e,p,f,t)},s}function t$(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.label="",e.labelStyle=l;let n=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:s}=e,o=g.A.svg(n),{nodeBorder:d}=a,c=(0,r.Fr)(e,{fillStyle:"solid"});"handDrawn"!==e.look&&(c.roughness=0);let y=o.circle(0,0,14,c),u=n.insert(()=>y,":first-child");return u.selectAll("path").attr("style",`fill: ${d} !important;`),s&&s.length>0&&"handDrawn"!==e.look&&u.selectAll("path").attr("style",s),i&&"handDrawn"!==e.look&&u.selectAll("path").attr("style",i),m(e,u),e.intersect=function(t){return h.R.info("filledCircle intersect",e,{radius:7,point:t}),B.circle(e,7,t)},n}async function tk(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?2*i:i;(e.width||e.height)&&(e.height=e?.height??0,e.height<10&&(e.height=10),e.width=(e?.width??0)-n-n/2,e.width<10&&(e.width=10));let{shapeSvg:s,bbox:o,label:d}=await w(t,e,b(e)),c=(e?.width?e?.width:o.width)+(n??0),y=e?.height?e?.height:c+o.height,u=[{x:0,y:-y},{x:y,y:-y},{x:y/2,y:0}],{cssStyles:p}=e,f=g.A.svg(s),x=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let k=$(u),M=f.path(k,x),D=s.insert(()=>M,":first-child").attr("transform",`translate(${-y/2}, ${y/2})`).attr("class","outer-path");return p&&"handDrawn"!==e.look&&D.selectChildren("path").attr("style",p),l&&"handDrawn"!==e.look&&D.selectChildren("path").attr("style",l),e.width=c,e.height=y,m(e,D),d.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-y/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(t){return h.R.info("Triangle intersect",e,u,t),B.polygon(e,u,t)},s}async function tM(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e)),h=e.padding??12,d=Math.max(s.width+2*h,e.width??0,90),c=s.height+2*h,y=Math.max(Math.min(.16*c,14),8),u=Math.max(c+y,e.height??0),p=u-y,f=Math.max(.38*d,28),x=-u/2,$=[{x:-d/2,y:x},{x:-d/2+f,y:x},{x:-d/2+f,y:x+y},{x:d/2,y:x+y},{x:d/2,y:u/2},{x:-d/2,y:u/2}],k=[`M${$[0].x},${$[0].y}`,...$.slice(1).map(t=>`L${t.x},${t.y}`),"Z"].join(" "),{cssStyles:M}=e;if("handDrawn"===e.look){let t=g.A.svg(n).path(k,(0,r.Fr)(e,{}));a=n.insert(()=>t,":first-child").attr("class","basic label-container"),M&&a.attr("style",M)}else a=n.insert("path",":first-child").attr("d",k).attr("class","basic label-container").attr("style",i);return"handDrawn"===e.look?m(e,a):m(e,a,{width:d,height:u}),o.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x+y+p/2-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return B.polygon(e,$,t)},n}function tD(t,e,{dir:a,config:{state:l,themeVariables:i}}){let{nodeStyles:n}=(0,r.GX)(e);e.label="";let s=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:o}=e,h=Math.max(70,e?.width??0),d=Math.max(10,e?.height??0);("LR"===a||"RL"===a)&&(h=Math.max(10,e?.width??0),d=Math.max(70,e?.height??0));let c=-1*h/2,y=-1*d/2,u=g.A.svg(s),p=(0,r.Fr)(e,{stroke:i.lineColor,fill:i.lineColor});"handDrawn"!==e.look&&(p.roughness=0,p.fillStyle="solid");let f=u.rectangle(c,y,h,d,p),w=s.insert(()=>f,":first-child");o&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",o),n&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",n),m(e,w);let x=l?.padding??0;return e.width&&e.height&&(e.width+=x/2||0,e.height+=x/2||0),e.intersect=function(t){return B.rect(e,t)},s}async function tA(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-2*n,e.height<10&&(e.height=10),e.width=(e?.width??0)-2*i,e.width<15&&(e.width=15));let{shapeSvg:s,bbox:o}=await w(t,e,b(e)),d=(e?.height?e?.height:Math.max(10,o.height))+2*n,c=d/2,y=c-Math.sqrt(Math.max(0,c**2-(o.height/2)**2)),u=(e?.width?e?.width:Math.max(15,o.width)+2*y)+2*i,{cssStyles:p}=e,f=g.A.svg(s),x=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let k=[{x:-u/2,y:-d/2},{x:u/2-c,y:-d/2},...M(-u/2+c,0,c,50,90,270),{x:u/2-c,y:d/2},{x:-u/2,y:d/2}],D=$(k),A=f.path(D,x),S=s.insert(()=>A,":first-child");return S.attr("class","basic label-container outer-path"),p&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",p),l&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",l),m(e,S),e.intersect=function(t){return h.R.info("Pill intersect",e,{radius:c,point:t}),B.polygon(e,k,t)},s}(0,d.K)(tp,"cylinder"),(0,d.K)(tf,"drawRect"),(0,d.K)(tw,"datastore"),(0,d.K)(tx,"dividedRectangle"),(0,d.K)(tm,"doublecircle"),(0,d.K)(tb,"usecaseEllipse"),(0,d.K)(t$,"filledCircle"),(0,d.K)(tk,"flippedTriangle"),(0,d.K)(tM,"folder"),(0,d.K)(tD,"forkJoin"),(0,d.K)(tA,"halfRoundedRectangle");var tS=(0,d.K)((t,e,a,r,l)=>`M${t+l},${e} L${t+a-l},${e} L${t+a},${e-r/2} L${t+a-l},${e-r} L${t+l},${e-r} L${t},${e-r/2} Z`,"createHexagonPathD");async function tv(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e),n="neo"===e.look?3.5:4;e.labelStyle=l;let s=e.padding??0,o="neo"===e.look?70:s,h="neo"===e.look?32:s;if(e.width||e.height){let t=e.height??0;e.width=(e?.width??0)-t/n*2-h,e.height=(e.height??0)-o}let{shapeSvg:d,bbox:c}=await w(t,e,b(e)),y=(e?.height?e?.height:c.height)+o,u=y/n,p=(e?.width?e?.width:c.width)+2*u+h,f=[{x:u,y:0},{x:p-u,y:0},{x:p,y:-y/2},{x:p-u,y:-y},{x:u,y:-y},{x:0,y:-y/2}],{cssStyles:x}=e;if("handDrawn"===e.look){let t=g.A.svg(d),l=(0,r.Fr)(e,{}),i=tS(0,0,p,y,u),n=t.path(i,l);a=d.insert(()=>n,":first-child").attr("transform",`translate(${-p/2}, ${y/2})`),x&&a.attr("style",x)}else a=E(d,p,y,f);return i&&a.attr("style",i),e.width=p,e.height=y,m(e,a),e.intersect=function(t){return B.polygon(e,f,t)},d}async function tK(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.label="",e.labelStyle=a;let{shapeSvg:i}=await w(t,e,b(e)),n=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:o}=e,d=g.A.svg(i),c=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(c.roughness=0,c.fillStyle="solid");let y=[{x:0,y:0},{x:n,y:0},{x:0,y:s},{x:n,y:s}],u=$(y),p=d.path(u,c),f=i.insert(()=>p,":first-child");return f.attr("class","basic label-container outer-path"),o&&"handDrawn"!==e.look&&f.selectChildren("path").attr("style",o),l&&"handDrawn"!==e.look&&f.selectChildren("path").attr("style",l),f.attr("transform",`translate(${-n/2}, ${-s/2})`),m(e,f),e.intersect=function(t){return h.R.info("Pill intersect",e,{points:y}),B.polygon(e,y,t)},i}async function tC(t,e,{config:{themeVariables:a,flowchart:l}}){let{labelStyles:n}=(0,r.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,l?.wrappingWidth??0);let{shapeSvg:o,bbox:d,label:c}=await w(t,e,"icon-shape default"),y="t"===e.pos,{nodeBorder:u}=a,{stylesMap:p}=(0,r.WW)(e),f=-s/2,x=-s/2,b=8*!!e.label,$=g.A.svg(o),k=(0,r.Fr)(e,{stroke:"none",fill:"none"});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let M=$.rectangle(f,x,s,s,k),D=Math.max(s,d.width),A=s+d.height+b,S=$.rectangle(-D/2,-A/2,D,A,{...k,fill:"transparent",stroke:"none"}),v=o.insert(()=>M,":first-child"),K=o.insert(()=>S);if(e.icon){let t=o.append("g");t.html(`<g>${await (0,i.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let a=t.node().getBBox(),r=a.width,l=a.height,n=a.x,h=a.y;t.attr("transform",`translate(${-r/2-n},${y?d.height/2+b/2-l/2-h:-d.height/2-b/2-l/2-h})`),t.attr("style",`color: ${p.get("stroke")??u};`)}return c.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${y?-A/2:A/2-d.height})`),v.attr("transform",`translate(0,${y?d.height/2+b/2:-d.height/2-b/2})`),m(e,K),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return B.rect(e,t);let a=e.x??0,r=e.y??0,l=e.height??0,i=[];return i=y?[{x:a-d.width/2,y:r-l/2},{x:a+d.width/2,y:r-l/2},{x:a+d.width/2,y:r-l/2+d.height+b},{x:a+s/2,y:r-l/2+d.height+b},{x:a+s/2,y:r+l/2},{x:a-s/2,y:r+l/2},{x:a-s/2,y:r-l/2+d.height+b},{x:a-d.width/2,y:r-l/2+d.height+b}]:[{x:a-s/2,y:r-l/2},{x:a+s/2,y:r-l/2},{x:a+s/2,y:r-l/2+s},{x:a+d.width/2,y:r-l/2+s},{x:a+d.width/2/2,y:r+l/2},{x:a-d.width/2,y:r+l/2},{x:a-d.width/2,y:r-l/2+s},{x:a-s/2,y:r-l/2+s}],B.polygon(e,i,t)},o}async function tL(t,e,{config:{themeVariables:a,flowchart:l}}){let{labelStyles:n}=(0,r.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,l?.wrappingWidth??0);let{shapeSvg:o,bbox:d,label:c}=await w(t,e,"icon-shape default"),y=8*!!e.label,u="t"===e.pos,{nodeBorder:p,mainBkg:f}=a,{stylesMap:x}=(0,r.WW)(e),b=g.A.svg(o),$=(0,r.Fr)(e,{});"handDrawn"!==e.look&&($.roughness=0,$.fillStyle="solid"),$.stroke=x.get("fill")??f;let k=o.append("g");e.icon&&k.html(`<g>${await (0,i.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let M=k.node().getBBox(),D=M.width,A=M.height,S=M.x,v=M.y,K=Math.max(D,A)*Math.SQRT2+40,C=b.circle(0,0,K,$),L=Math.max(K,d.width),N=K+d.height+y,F=b.rectangle(-L/2,-N/2,L,N,{...$,fill:"transparent",stroke:"none"}),R=o.insert(()=>C,":first-child"),P=o.insert(()=>F);return k.attr("transform",`translate(${-D/2-S},${u?d.height/2+y/2-A/2-v:-d.height/2-y/2-A/2-v})`),k.attr("style",`color: ${x.get("stroke")??p};`),c.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${u?-N/2:N/2-d.height})`),R.attr("transform",`translate(0,${u?d.height/2+y/2:-d.height/2-y/2})`),m(e,P),e.intersect=function(t){return h.R.info("iconSquare intersect",e,t),B.rect(e,t)},o}async function tN(t,e,{config:{themeVariables:a,flowchart:l}}){let{labelStyles:n}=(0,r.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,l?.wrappingWidth??0);let{shapeSvg:o,bbox:d,halfPadding:c,label:y}=await w(t,e,"icon-shape default"),u="t"===e.pos,p=s+2*c,f=s+2*c,{nodeBorder:x,mainBkg:b}=a,{stylesMap:$}=(0,r.WW)(e),k=8*!!e.label,M=g.A.svg(o),D=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(D.roughness=0,D.fillStyle="solid"),D.stroke=$.get("fill")??b;let A=M.path(F(-f/2,-p/2,f,p,5),D),S=Math.max(f,d.width),v=p+d.height+k,K=M.rectangle(-S/2,-v/2,S,v,{...D,fill:"transparent",stroke:"none"}),C=o.insert(()=>A,":first-child").attr("class","icon-shape2"),L=o.insert(()=>K);if(e.icon){let t=o.append("g");t.html(`<g>${await (0,i.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let a=t.node().getBBox(),r=a.width,l=a.height,n=a.x,h=a.y;t.attr("transform",`translate(${-r/2-n},${u?d.height/2+k/2-l/2-h:-d.height/2-k/2-l/2-h})`),t.attr("style",`color: ${$.get("stroke")??x};`)}return y.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${u?-v/2:v/2-d.height})`),C.attr("transform",`translate(0,${u?d.height/2+k/2:-d.height/2-k/2})`),m(e,L),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return B.rect(e,t);let a=e.x??0,r=e.y??0,l=e.height??0,i=[];return i=u?[{x:a-d.width/2,y:r-l/2},{x:a+d.width/2,y:r-l/2},{x:a+d.width/2,y:r-l/2+d.height+k},{x:a+f/2,y:r-l/2+d.height+k},{x:a+f/2,y:r+l/2},{x:a-f/2,y:r+l/2},{x:a-f/2,y:r-l/2+d.height+k},{x:a-d.width/2,y:r-l/2+d.height+k}]:[{x:a-f/2,y:r-l/2},{x:a+f/2,y:r-l/2},{x:a+f/2,y:r-l/2+p},{x:a+d.width/2,y:r-l/2+p},{x:a+d.width/2/2,y:r+l/2},{x:a-d.width/2,y:r+l/2},{x:a-d.width/2,y:r-l/2+p},{x:a-f/2,y:r-l/2+p}],B.polygon(e,i,t)},o}async function tB(t,e,{config:{themeVariables:a,flowchart:l}}){let{labelStyles:n}=(0,r.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,l?.wrappingWidth??0);let{shapeSvg:o,bbox:d,halfPadding:c,label:y}=await w(t,e,"icon-shape default"),u="t"===e.pos,p=s+2*c,f=s+2*c,{nodeBorder:x,mainBkg:b}=a,{stylesMap:$}=(0,r.WW)(e),k=8*!!e.label,M=g.A.svg(o),D=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(D.roughness=0,D.fillStyle="solid"),D.stroke=$.get("fill")??b;let A=M.path(F(-f/2,-p/2,f,p,.1),D),S=Math.max(f,d.width),v=p+d.height+k,K=M.rectangle(-S/2,-v/2,S,v,{...D,fill:"transparent",stroke:"none"}),C=o.insert(()=>A,":first-child"),L=o.insert(()=>K);if(e.icon){let t=o.append("g");t.html(`<g>${await (0,i.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let a=t.node().getBBox(),r=a.width,l=a.height,n=a.x,h=a.y;t.attr("transform",`translate(${-r/2-n},${u?d.height/2+k/2-l/2-h:-d.height/2-k/2-l/2-h})`),t.attr("style",`color: ${$.get("stroke")??x};`)}return y.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${u?-v/2:v/2-d.height})`),C.attr("transform",`translate(0,${u?d.height/2+k/2:-d.height/2-k/2})`),m(e,L),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return B.rect(e,t);let a=e.x??0,r=e.y??0,l=e.height??0,i=[];return i=u?[{x:a-d.width/2,y:r-l/2},{x:a+d.width/2,y:r-l/2},{x:a+d.width/2,y:r-l/2+d.height+k},{x:a+f/2,y:r-l/2+d.height+k},{x:a+f/2,y:r+l/2},{x:a-f/2,y:r+l/2},{x:a-f/2,y:r-l/2+d.height+k},{x:a-d.width/2,y:r-l/2+d.height+k}]:[{x:a-f/2,y:r-l/2},{x:a+f/2,y:r-l/2},{x:a+f/2,y:r-l/2+p},{x:a+d.width/2,y:r-l/2+p},{x:a+d.width/2/2,y:r+l/2},{x:a-d.width/2,y:r+l/2},{x:a-d.width/2,y:r-l/2+p},{x:a-f/2,y:r-l/2+p}],B.polygon(e,i,t)},o}async function tF(t,e,{config:{flowchart:a}}){let l=new Image;l.src=e?.img??"",await l.decode();let i=Number(l.naturalWidth.toString().replace("px","")),n=Number(l.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/n;let{labelStyles:s}=(0,r.GX)(e);e.labelStyle=s;let o=a?.wrappingWidth;e.defaultWidth=a?.wrappingWidth;let d=Math.max(e.label?o??0:0,e?.assetWidth??i),c="on"===e.constraint&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:d,y="on"===e.constraint?c/e.imageAspectRatio:e?.assetHeight??n;e.width=Math.max(c,o??0);let{shapeSvg:u,bbox:p,label:f}=await w(t,e,"image-shape default"),x="t"===e.pos,b=-c/2,$=8*!!e.label,k=g.A.svg(u),M=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(M.roughness=0,M.fillStyle="solid");let D=k.rectangle(b,-y/2,c,y,M),A=Math.max(c,p.width),S=y+p.height+$,v=k.rectangle(-A/2,-S/2,A,S,{...M,fill:"none",stroke:"none"}),K=u.insert(()=>D,":first-child"),C=u.insert(()=>v);if(e.img){let t=u.append("image");t.attr("href",e.img),t.attr("width",c),t.attr("height",y),t.attr("preserveAspectRatio","none"),t.attr("transform",`translate(${-c/2},${x?S/2-y:-S/2})`)}return f.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${x?-y/2-p.height/2-$/2:y/2-p.height/2+$/2})`),K.attr("transform",`translate(0,${x?p.height/2+$/2:-p.height/2-$/2})`),m(e,C),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return B.rect(e,t);let a=e.x??0,r=e.y??0,l=e.height??0,i=[];return i=x?[{x:a-p.width/2,y:r-l/2},{x:a+p.width/2,y:r-l/2},{x:a+p.width/2,y:r-l/2+p.height+$},{x:a+c/2,y:r-l/2+p.height+$},{x:a+c/2,y:r+l/2},{x:a-c/2,y:r+l/2},{x:a-c/2,y:r-l/2+p.height+$},{x:a-p.width/2,y:r-l/2+p.height+$}]:[{x:a-c/2,y:r-l/2},{x:a+c/2,y:r-l/2},{x:a+c/2,y:r-l/2+y},{x:a+p.width/2,y:r-l/2+y},{x:a+p.width/2/2,y:r+l/2},{x:a-p.width/2,y:r+l/2},{x:a-p.width/2,y:r-l/2+y},{x:a-c/2,y:r-l/2+y}],B.polygon(e,i,t)},u}async function tR(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:o,bbox:h}=await w(t,e,b(e)),d=Math.max(h.height+2*n,e.height??0),c=Math.max(h.width+2*s,(e.width??0)-d),y=[{x:0,y:0},{x:c,y:0},{x:c+3*d/6,y:-d},{x:-3*d/6,y:-d}],{cssStyles:u}=e;if("handDrawn"===e.look){let t=g.A.svg(o),l=(0,r.Fr)(e,{}),i=$(y),n=t.path(i,l);a=o.insert(()=>n,":first-child").attr("transform",`translate(${-c/2}, ${d/2})`),u&&a.attr("style",u)}else a=E(o,c,d,y);return i&&a.attr("style",i),e.width=c,e.height=d,m(e,a),e.intersect=function(t){return B.polygon(e,y,t)},o}async function tP(t,e){let{shapeSvg:a,bbox:r,label:l}=await w(t,e,"label"),i=a.insert("rect",":first-child");return i.attr("width",.1).attr("height",.1),a.attr("class","label edgeLabel"),l.attr("transform",`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),m(e,i),e.intersect=function(t){return B.rect(e,t)},a}async function tX(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:o,bbox:h}=await w(t,e,b(e)),d=Math.max(h.height+n,e.height??0),c=Math.max(h.width+s,(e.width??0)-d),y=[{x:0,y:0},{x:c+3*d/6,y:0},{x:c,y:-d},{x:-(3*d)/6,y:-d}],{cssStyles:u}=e;if("handDrawn"===e.look){let t=g.A.svg(o),l=(0,r.Fr)(e,{}),i=$(y),n=t.path(i,l);a=o.insert(()=>n,":first-child").attr("transform",`translate(${-c/2}, ${d/2})`),u&&a.attr("style",u)}else a=E(o,c,d,y);return i&&a.attr("style",i),e.width=c,e.height=d,m(e,a),e.intersect=function(t){return B.polygon(e,y,t)},o}async function tG(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:o,bbox:h}=await w(t,e,b(e)),d=Math.max(h.height+n,e.height??0),c=Math.max(h.width+s,(e.width??0)-d),y=[{x:-3*d/6,y:0},{x:c,y:0},{x:c+3*d/6,y:-d},{x:0,y:-d}],{cssStyles:u}=e;if("handDrawn"===e.look){let t=g.A.svg(o),l=(0,r.Fr)(e,{}),i=$(y),n=t.path(i,l);a=o.insert(()=>n,":first-child").attr("transform",`translate(${-c/2}, ${d/2})`),u&&a.attr("style",u)}else a=E(o,c,d,y);return i&&a.attr("style",i),e.width=c,e.height=d,m(e,a),e.intersect=function(t){return B.polygon(e,y,t)},o}function tI(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.label="",e.labelStyle=a;let i=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:n}=e,s=Math.max(35,e?.width??0),o=Math.max(35,e?.height??0),d=[{x:s,y:0},{x:0,y:o+3.5},{x:s-14,y:o+3.5},{x:0,y:2*o},{x:s,y:o-3.5},{x:14,y:o-3.5}],c=g.A.svg(i),y=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(y.roughness=0,y.fillStyle="solid");let u=$(d),p=c.path(u,y),f=i.insert(()=>p,":first-child");return f.attr("class","outer-path"),n&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",n),l&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",l),f.attr("transform",`translate(-${s/2},${-o})`),m(e,f),e.intersect=function(t){return h.R.info("lightningBolt intersect",e,t),B.polygon(e,d,t)},i}(0,d.K)(tv,"hexagon"),(0,d.K)(tK,"hourglass"),(0,d.K)(tC,"icon"),(0,d.K)(tL,"iconCircle"),(0,d.K)(tN,"iconRounded"),(0,d.K)(tB,"iconSquare"),(0,d.K)(tF,"imageSquare"),(0,d.K)(tR,"inv_trapezoid"),(0,d.K)(tP,"labelRect"),(0,d.K)(tX,"lean_left"),(0,d.K)(tG,"lean_right"),(0,d.K)(tI,"lightningBolt");var tW=(0,d.K)((t,e,a,r,l,i,n)=>`M${t},${e+i} a${l},${i} 0,0,0 ${a},0 a${l},${i} 0,0,0 ${-a},0 l0,${r} a${l},${i} 0,0,0 ${a},0 l0,${-r} M${t},${e+i+n} a${l},${i} 0,0,0 ${a},0`,"createCylinderPathD"),tH=(0,d.K)((t,e,a,r,l,i,n)=>`M${t},${e+i} M${t+a},${e+i} a${l},${i} 0,0,0 ${-a},0 l0,${r} a${l},${i} 0,0,0 ${a},0 l0,${-r} M${t},${e+i+n} a${l},${i} 0,0,0 ${a},0`,"createOuterCylinderPathD"),tT=(0,d.K)((t,e,a,r,l,i)=>`M${t-a/2},${-r/2} a${l},${i} 0,0,0 ${a},0`,"createInnerCylinderPathD");async function tE(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let n=e.padding??0,o="neo"===e.look?16:n,h="neo"===e.look?24:n;if(e.width||e.height){let t=e.width??0;e.width=(e.width??0)-o,e.width<10&&(e.width=10),e.height=(e.height??0)-h-t/2/(2.5+t/50)*3,e.height<10&&(e.height=10)}let{shapeSvg:d,bbox:c,label:y}=await w(t,e,b(e)),u=(e?.width?e?.width:c.width)+2*o,p=u/2,f=p/(2.5+u/50),x=(e?.height?e?.height:c.height)+f+2*h,$=.1*x,{cssStyles:k}=e;if("handDrawn"===e.look){let t=g.A.svg(d),l=tH(0,0,u,x,p,f,$),i=tT(0,f,u,x,p,f),n=(0,r.Fr)(e,{}),s=t.path(l,n),o=t.path(i,n);d.insert(()=>o,":first-child").attr("class","line"),(a=d.insert(()=>s,":first-child")).attr("class","basic label-container"),k&&a.attr("style",k)}else{let t=tW(0,0,u,x,p,f,$);a=d.insert("path",":first-child").attr("d",t).attr("class","basic label-container outer-path").attr("style",(0,s.KL)(k)).attr("style",i)}return a.attr("label-offset-y",f),a.attr("transform",`translate(${-u/2}, ${-(x/2+f)})`),m(e,a),y.attr("transform",`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+f-(c.y-(c.top??0))})`),e.intersect=function(t){let a=B.rect(e,t),r=a.x-(e.x??0);if(0!=p&&(Math.abs(r)<(e.width??0)/2||Math.abs(r)==(e.width??0)/2&&Math.abs(a.y-(e.y??0))>(e.height??0)/2-f)){let l=f*f*(1-r*r/(p*p));l>0&&(l=Math.sqrt(l)),l=f-l,t.y-(e.y??0)>0&&(l=-l),a.y+=l}return a},d}async function tj(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i;if(e.width||e.height){let t=e.width;e.width=(t??0)*10/11-2*n,e.width<10&&(e.width=10),e.height=(e?.height??0)-2*s,e.height<10&&(e.height=10)}let{shapeSvg:o,bbox:h,label:d}=await w(t,e,b(e)),c=(e?.width?e?.width:h.width)+(n??0)*2,y=(e?.height?e?.height:h.height)+(s??0)*2,u="neo"===e.look?y/4:y/8,p=y+u,{cssStyles:f}=e,x=g.A.svg(o),$=(0,r.Fr)(e,{});"handDrawn"!==e.look&&($.roughness=0,$.fillStyle="solid");let M=[{x:-c/2-c/2*.1,y:-p/2},{x:-c/2-c/2*.1,y:p/2},...k(-c/2-c/2*.1,p/2,c/2+c/2*.1,p/2,u,.8),{x:c/2+c/2*.1,y:-p/2},{x:-c/2-c/2*.1,y:-p/2},{x:-c/2,y:-p/2},{x:-c/2,y:p/2*1.1},{x:-c/2,y:-p/2}],D=x.polygon(M.map(t=>[t.x,t.y]),$),A=o.insert(()=>D,":first-child");return A.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",f),l&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",l),A.attr("transform",`translate(0,${-u/2})`),d.attr("transform",`translate(${-c/2+(e.padding??0)+c/2*.1/2-(h.x-(h.left??0))},${-y/2+(e.padding??0)-u-(h.y-(h.top??0))})`),m(e,A),e.intersect=function(t){return B.polygon(e,M,t)},o}(0,d.K)(tE,"linedCylinder"),(0,d.K)(tj,"linedWaveEdgedRect");var tq={normal:"usecase-actor-shape usecase-actor-normal",hollow:"usecase-actor-hollow",awesome:"usecase-actor-awesome",icon:"usecase-actor-icon"},tZ=Math.PI/3,t_=(0,d.K)((t,e)=>{let a=.6*e,r=e*Math.sqrt(.64),l=Math.cos(tZ),i=-Math.sin(tZ),n=-(a*i),s=t+a*l,o=r*l,h=r*i;return`M ${n-o} ${s-h} L ${n+o} ${s+h}`},"businessMarkerPathForCircle"),tz={normal:t_(-24,12),hollow:t_(-23,9),awesome:t_(-21,13),icon:"M 12 -8 L 26 -26"},tO=(0,d.K)((t,e,a)=>{let r=(e.x??0)-(e.left??0),l=(e.y??0)-(e.top??0);t.attr("transform",`translate(${-e.width/2-r},${a-e.height/2-l})`)},"positionLabel"),tV=(0,d.K)((t,e,a,l,i=!1)=>{if("handDrawn"===e.look){let n=g.A.svg(t).path(a,(0,r.Fr)(e,i?{fill:"none"}:{}));return t.insert(()=>n,":first-child").attr("class",l)}let n=t.append("path").attr("class",l).attr("d",a);return i&&n.attr("fill","none"),n},"appendActorPath"),tY=(0,d.K)((t,e,a,l,i,n,s=!1)=>{if("handDrawn"===e.look){let o=g.A.svg(t).circle(a,l,2*i,(0,r.Fr)(e,s?{fill:"none"}:{}));return t.insert(()=>o,":first-child").attr("class",n)}let o=t.append("circle").attr("class",n).attr("cx",a).attr("cy",l).attr("r",i);return s&&o.attr("fill","none"),o},"appendActorCircle"),tJ=(0,d.K)((t,e,a)=>{e.business&&t.append("path").attr("class","usecase-business-marker usecase-actor-business-marker").attr("d",tz[a]).attr("fill","none").attr("style","stroke: inherit !important; stroke-width: inherit !important")},"appendBusinessActorMarker");async function tU(t,e,a,l){let i,s,{labelStyles:h,nodeStyles:d}=(0,r.GX)(e);e.labelStyle=h;let c="icon"===a||void 0!==e.stereotype?{...e,icon:"icon"===a?void 0:e.icon,stereotype:void 0}:e,{shapeSvg:g,bbox:y,label:u}=await w(t,c,b(e,`usecase-actor-variant usecase-actor-${a}`)),p=e.accessibleName??e.label;p&&g.attr("role","img").attr("aria-label",p),u.attr("class","label actor-label usecase-actor-label");let{theme:f,themeVariables:$}=(0,o.D7)();if((0,n.XE)(g,e.colorIndex,f,$.borderColorArray),e.stereotype){let t=await x(g,`\xab${e.stereotype}\xbb`,{labelStyle:h,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0,width:e.wrappingWidth});i=t.label.attr("class","label usecase-stereotype"),s=t.bbox}let k=g.append("g").attr("class",`usecase-actor-glyph ${tq[a]}`).attr("style",d||null);await l(k,e),tJ(k,e,a);let M=e.padding??8,D=s?.height??0,A=80+y.height+(s?D+2:0),S=Math.max(56,y.width,s?.width??0)+2*M,v=A+2*M,K=-A/2;k.attr("transform",`translate(0,${K+36})`);let C=K+72+8;return i&&s&&(tO(i,s,C+=D/2),C+=D/2+2),tO(u,y,C+y.height/2),m(e,g.insert("rect",":first-child").attr("class","usecase-actor-outline").attr("x",-S/2).attr("y",-v/2).attr("width",S).attr("height",v).attr("opacity",0).attr("aria-hidden","true")),e.intersect=t=>B.rect(e,t),g}async function tQ(t,e){return tU(t,e,"normal",(t,e)=>{tV(t,e,"M 0 -12 C 6.627 -12 12 -17.373 12 -24 C 12 -30.627 6.627 -36 0 -36 C -6.627 -36 -12 -30.627 -12 -24 C -12 -17.373 -6.627 -12 0 -12 Z M 0 -12 V 8 M -17 -5 H 17 M 0 8 L -15 28 M 0 8 L 15 28","usecase-actor-stick")})}async function t0(t,e){return tU(t,e,"awesome",(t,e)=>{tV(t,e,"M 0 -34 C 7.18 -34 13 -28.18 13 -21 C 13 -13.82 7.18 -8 0 -8 C -7.18 -8 -13 -13.82 -13 -21 C -13 -28.18 -7.18 -34 0 -34 Z M -24 25 C -24 7 -14 -3 0 -3 C 14 -3 24 7 24 25 C 24 28 21 30 18 30 H -18 C -21 30 -24 28 -24 25 Z","usecase-actor-awesome-silhouette")})}async function t2(t,e){return tU(t,e,"hollow",(t,e)=>{tY(t,e,0,-23,9,"usecase-actor-hollow-head",!0),tV(t,e,"M -22 -10 H 22 V 0 H 6 L 22 17 L 13 28 L 0 13 L -13 28 L -22 17 L -6 0 H -22 Z","usecase-actor-hollow-body",!0)})}(0,d.K)(tU,"renderUsecaseActor"),(0,d.K)(tQ,"usecaseActor"),(0,d.K)(t0,"usecaseActorAwesome"),(0,d.K)(t2,"usecaseActorHollow");var t1=(0,d.K)(async(t,e)=>{if("handDrawn"===e.look){let a=g.A.svg(t).rectangle(-26,-28,52,52,(0,r.Fr)(e,{}));t.insert(()=>a,":first-child").attr("class","usecase-actor-icon-frame")}else t.append("rect").attr("class","usecase-actor-icon-frame").attr("x",-26).attr("y",-28).attr("width",52).attr("height",52).attr("rx",4).attr("ry",4);let a=e.icon??"",l=await (0,i.dn)(a.includes(":")?a:`fa:${a}`),n=await (0,i.WY)(a,{height:42,width:42,fallbackPrefix:"fa"}),s=t.append("g").attr("class",`usecase-actor-icon-symbol${l?"":" usecase-actor-icon-fallback"}`).attr("aria-hidden","true").html(`<g>${n}</g>`),o=s.node()?.getBBox();o&&s.attr("transform",`translate(${-o.width/2-o.x},${-2-o.height/2-o.y})`)},"drawIconActor");async function t5(t,e){return tU(t,e,"icon",t1)}(0,d.K)(t5,"usecaseActorIcon");var t8=(0,d.K)((t,e,a)=>{let r=(e.x??0)-(e.left??0),l=(e.y??0)-(e.top??0);t.attr("transform",`translate(${-e.width/2-r},${a-e.height/2-l})`)},"positionLabel");async function t3(t,e){let a,l,i,{labelStyles:s,nodeStyles:h}=(0,r.GX)(e);e.labelStyle=s;let d=e.stereotype?{...e,stereotype:void 0}:e,{shapeSvg:c,bbox:y,halfPadding:u,label:p}=await w(t,d,b(e,"usecase-business-shape"));p.attr("class","label usecase-label");let{theme:f,themeVariables:$}=(0,o.D7)();if((0,n.XE)(c,e.colorIndex,f,$.borderColorArray),e.stereotype){let t=await x(c,`\xab${e.stereotype}\xbb`,{labelStyle:s,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0,width:e.wrappingWidth});a=t.label.attr("class","label usecase-stereotype"),l=t.bbox}let k=2*!!l,M=y.height+(l?.height??0)+k,D=Math.max(y.width,l?.width??0),A=u??10,S=D/2+2*A,v=M/2+2*A,K=Math.min(Math.max(A/5,1),A/2),C=D/2+K,L=S-K,N=C/S,F=L/S,R=v*Math.sqrt(Math.max(0,1-N*N)),P=-v*Math.sqrt(Math.max(0,1-F*F));if(a&&l&&t8(a,l,-M/2+l.height/2),t8(p,y,M/2-y.height/2),"handDrawn"===e.look){let t=g.A.svg(c).ellipse(0,0,2*S,2*v,(0,r.Fr)(e,{}));i=c.insert(()=>t,":first-child").attr("class","basic label-container usecase-business-ellipse")}else i=c.insert("ellipse",":first-child").attr("class","basic label-container usecase-business-ellipse").attr("style",h).attr("rx",S).attr("ry",v).attr("cx",0).attr("cy",0);c.append("path").attr("class","usecase-business-marker").attr("d",`M ${C} ${R} L ${L} ${P}`).attr("fill","none").attr("style",h||null);let X=e.accessibleName??e.label;return X&&c.attr("role","img").attr("aria-label",X),m(e,i),e.calcIntersect=(t,e)=>B.ellipse(t,t.width/2,t.height/2,e),e.intersect=t=>B.ellipse(e,S,v,t),c}(0,d.K)(t3,"usecaseBusiness");var t4=(0,d.K)((t,e,a,r)=>{let l=(e.x??0)-(e.left??0),i=(e.y??0)-(e.top??0);t.attr("transform",`translate(${a-e.width/2-l},${r-e.height/2-i})`)},"positionLabel"),t7=(0,d.K)(t=>{let e=Number.parseFloat(t??"");return Number.isFinite(e)&&e>=0?e:1},"numericStrokeWidth");async function t6(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e),{stylesMap:i}=(0,r.WW)(e);e.labelStyle=a;let{shapeSvg:n,bbox:s,label:o}=await w(t,e,b(e,"usecase-json-table"));n.attr("role","img"),e.accessibleName&&n.attr("aria-label",e.accessibleName),o.attr("class","label usecase-json-title");let h=n.append("g").attr("class","usecase-json-table-grid"),c=[];for(let t of e.jsonRows??[]){let r=await x(h,t.key,{labelStyle:a,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0}),l=await x(h,t.value,{labelStyle:a,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0});c.push({key:{label:r.label.attr("class","label usecase-json-key"),bbox:r.bbox},value:{label:l.label.attr("class","label usecase-json-value"),bbox:l.bbox}})}let y=Math.max(0,...c.map(({key:t})=>t.bbox.width))+16,u=Math.max(0,...c.map(({value:t})=>t.bbox.width))+16,p=Math.max(s.width+16,y+u),f=u+Math.max(0,p-y-u),$=s.height+8,k=c.map(({key:t,value:e})=>Math.max(t.bbox.height,e.bbox.height)+8),M=$+k.reduce((t,e)=>t+e,0),D=t7(i.get("stroke-width")),A=p+2*D,S=M+2*D,v=-p/2,K=-M/2,C="handDrawn"===e.look?g.A.svg(n):void 0,L=C?(0,r.Fr)(e,{}):void 0,N=(0,d.K)((t,e,a,r,i,n)=>{if(C&&L){let l=C.rectangle(a,r,i,n,L);return t.insert(()=>l,":first-child").attr("class",e)}return t.insert("rect",":first-child").attr("class",e).attr("x",a).attr("y",r).attr("width",i).attr("height",n).attr("style",l)},"insertCell"),F=N(n,"label-container usecase-json-border",-A/2,-S/2,A,S);N(h,"usecase-json-cell usecase-json-title-cell",v,K,p,$),h.node()?.append(o.node()),t4(o,s,0,K+$/2);let R=K+$;return c.forEach(({key:t,value:e},a)=>{let r=k[a],l=h.append("g").attr("class","usecase-json-row").attr("data-row-index",a).attr("transform",`translate(0,${R})`);N(l,"usecase-json-cell usecase-json-key-cell",v,0,y,r),N(l,"usecase-json-cell usecase-json-value-cell",v+y,0,f,r),l.node()?.append(t.label.node(),e.label.node()),t4(t.label,t.bbox,v+y/2,r/2),t4(e.label,e.bbox,v+y+f/2,r/2),R+=r}),m(e,F),e.intersect=t=>B.rect(e,t),n}async function t9(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i,o="neo"===e.look?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*n-2*o,10),e.height=Math.max((e?.height??0)-2*s-2*o,10));let{shapeSvg:h,bbox:d,label:c}=await w(t,e,b(e)),y=(e?.width?e?.width:d.width)+2*n+2*o,u=(e?.height?e?.height:d.height)+2*s+2*o,p=y-2*o,f=u-2*o,x=-p/2,k=-f/2,{cssStyles:M}=e,A=g.A.svg(h),S=(0,r.Fr)(e,{}),v=[{x:x-o,y:k+o},{x:x-o,y:k+f+o},{x:x+p-o,y:k+f+o},{x:x+p-o,y:k+f},{x:x+p,y:k+f},{x:x+p,y:k+f-o},{x:x+p+o,y:k+f-o},{x:x+p+o,y:k-o},{x:x+o,y:k-o},{x:x+o,y:k},{x,y:k},{x,y:k+o}];"handDrawn"!==e.look&&(S.roughness=0,S.fillStyle="solid");let K=$(v),C=A.path(K,S),L=$([{x,y:k+o},{x:x+p-o,y:k+o},{x:x+p-o,y:k+f},{x:x+p,y:k+f},{x:x+p,y:k},{x,y:k}]),N=A.path(L,S);"handDrawn"!==e.look&&(C=D(C),N=D(N));let F=h.insert("g",":first-child");return F.insert(()=>C),F.insert(()=>N),F.attr("class","basic label-container outer-path"),M&&"handDrawn"!==e.look&&F.selectAll("path").attr("style",M),l&&"handDrawn"!==e.look&&F.selectAll("path").attr("style",l),c.attr("transform",`translate(${-(d.width/2)-o-(d.x-(d.left??0))}, ${-(d.height/2)+o-(d.y-(d.top??0))})`),m(e,F),e.intersect=function(t){return B.polygon(e,v,t)},h}async function et(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n,label:s}=await w(t,e,b(e)),o=e.padding??0,h="neo"===e.look?16:o,d="neo"===e.look?12:o,c=!0;(e.width||e.height)&&(c=!1,e.width=(e?.width??0)-2*h,e.height=(e?.height??0)-3*d);let y=Math.max(n.width,e?.width??0)+2*h,u=Math.max(n.height,e?.height??0)+3*d,p="neo"===e.look?u/4:u/8,f=u+(c?p/2:-p/2),x=-y/2,M=-f/2,{cssStyles:D}=e,A=k(x-10,M+f+10,x+y-10,M+f+10,p,.8),S=A?.[A.length-1],v=[{x:x-10,y:M+10},{x:x-10,y:M+f+10},...A,{x:x+y-10,y:S.y-10},{x:x+y,y:S.y-10},{x:x+y,y:S.y-20},{x:x+y+10,y:S.y-20},{x:x+y+10,y:M-10},{x:x+10,y:M-10},{x:x+10,y:M},{x,y:M},{x,y:M+10}],K=[{x,y:M+10},{x:x+y-10,y:M+10},{x:x+y-10,y:S.y-10},{x:x+y,y:S.y-10},{x:x+y,y:M},{x,y:M}],C=g.A.svg(i),L=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(L.roughness=0,L.fillStyle="solid");let N=$(v),F=C.path(N,L),R=$(K),P=C.path(R,L),X=i.insert(()=>F,":first-child");return X.insert(()=>P),X.attr("class","basic label-container outer-path"),D&&"handDrawn"!==e.look&&X.selectAll("path").attr("style",D),l&&"handDrawn"!==e.look&&X.selectAll("path").attr("style",l),X.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(n.width/2)-10-(n.x-(n.left??0))}, ${-(n.height/2)+10-p-(n.y-(n.top??0))})`),m(e,X),e.intersect=function(t){return B.polygon(e,v,t)},i}async function ee(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l,e.useHtmlLabels||(0,o.E)((0,o.zj)())||(e.centerLabel=!0);let{shapeSvg:n,bbox:s,label:h}=await w(t,e,b(e)),d=Math.max(s.width+(e.padding??0)*2,e?.width??0),c=Math.max(s.height+(e.padding??0)*2,e?.height??0),{cssStyles:y}=e,u=g.A.svg(n),p=(0,r.Fr)(e,{fill:a.noteBkgColor,stroke:a.noteBorderColor});"handDrawn"!==e.look&&(p.roughness=0,p.fillStyle="solid");let f=u.rectangle(-d/2,-c/2,d,c,p),x=n.insert(()=>f,":first-child");return x.attr("class","basic label-container outer-path"),h.attr("class","label noteLabel"),y&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",y),i&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",i),h.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),m(e,x),e.intersect=function(t){return B.rect(e,t)},n}(0,d.K)(t6,"usecaseJsonTable"),(0,d.K)(t9,"multiRect"),(0,d.K)(et,"multiWaveEdgedRectangle"),(0,d.K)(ee,"note");var ea=(0,d.K)((t,e,a)=>`M${t+a/2},${e} L${t+a},${e-a/2} L${t+a/2},${e-a} L${t},${e-a/2} Z`,"createDecisionBoxPathD");async function er(t,e){let a,{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{shapeSvg:n,bbox:s}=await w(t,e,b(e)),o=s.width+(e.padding??0)+(s.height+(e.padding??0)),h=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],{cssStyles:d}=e;if("handDrawn"===e.look){let t=g.A.svg(n),l=(0,r.Fr)(e,{}),i=ea(0,0,o),s=t.path(i,l);a=n.insert(()=>s,":first-child").attr("transform",`translate(${-o/2+.5}, ${o/2})`),d&&a.attr("style",d)}else(a=E(n,o,o,h)).attr("transform",`translate(${-o/2+.5}, ${o/2})`);return i&&a.attr("style",i),m(e,a),e.calcIntersect=function(t,e){let a=t.width;return B.polygon(t,[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],e)},e.intersect=function(t){return this.calcIntersect(e,t)},n}async function el(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?21:i??0,s="neo"===e.look?12:i??0,{shapeSvg:o,bbox:h,label:d}=await w(t,e,b(e)),c=h.width+("neo"===e.look?2*n:n),y=Math.max(h.height+("neo"===e.look?2*s:s),e.height??0),u=-Math.max(c,(e.width??0)-y/4)/2,p=-y/2,f=p/2,x=[{x:u+f,y:p},{x:u,y:0},{x:u+f,y:-p},{x:-u,y:-p},{x:-u,y:p}],{cssStyles:k}=e,M=g.A.svg(o),D=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(D.roughness=0,D.fillStyle="solid");let A=$(x),S=M.path(A,D),v=o.insert(()=>S,":first-child");return v.attr("class","basic label-container outer-path"),k&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",k),l&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",l),v.attr("transform",`translate(${-f/2},0)`),d.attr("transform",`translate(${-f/2-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),m(e,v),e.intersect=function(t){return B.polygon(e,x,t)},o}async function ei(t,e){let a,l,i,{labelStyles:n,nodeStyles:s}=(0,r.GX)(e);e.labelStyle=n,a=e.cssClasses?"node "+e.cssClasses:"node default";let d=t.insert("g").attr("class",a).attr("id",e.domId||e.id),y=d.insert("g"),u=d.insert("g").attr("class","label").attr("style",s),p=e.description,f=e.label,w=await R(u,f,e.labelStyle,!0,!0),x={width:0,height:0};if((0,o.E)((0,o.D7)())){let t=w.children[0],e=(0,c.Ltv)(w);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}h.R.info("Text 2",p);let b=p||[],$=w.getBBox(),k=await R(u,Array.isArray(b)?b.join("<br/>"):b,e.labelStyle,!0,!0),M=k.children[0],D=(0,c.Ltv)(k);x=M.getBoundingClientRect(),D.attr("width",x.width),D.attr("height",x.height);let A=(e.padding||0)/2;(0,c.Ltv)(k).attr("transform","translate( "+(x.width>$.width?0:($.width-x.width)/2)+", "+($.height+A+5)+")"),(0,c.Ltv)(w).attr("transform","translate( "+(x.width<$.width?0:-($.width-x.width)/2)+", 0)"),x=u.node().getBBox(),u.attr("transform","translate("+-x.width/2+", "+(-x.height/2-A+3)+")");let S=x.width+(e.padding||0),v=x.height+(e.padding||0),K=-x.width/2-A,C=-x.height/2-A;if("handDrawn"===e.look){let t=g.A.svg(d),a=(0,r.Fr)(e,{}),n=t.path(F(K,C,S,v,e.rx||0),a),s=t.line(-x.width/2-A,-x.height/2-A+$.height+A,x.width/2+A,-x.height/2-A+$.height+A,a);i=d.insert(()=>(h.R.debug("Rough node insert CXC",n),s),":first-child"),l=d.insert(()=>(h.R.debug("Rough node insert CXC",n),n),":first-child")}else l=y.insert("rect",":first-child"),i=y.insert("line"),l.attr("class","outer title-state").attr("style",s).attr("x",-x.width/2-A).attr("y",-x.height/2-A).attr("width",x.width+(e.padding||0)).attr("height",x.height+(e.padding||0)),i.attr("class","divider").attr("x1",-x.width/2-A).attr("x2",x.width/2+A).attr("y1",-x.height/2-A+$.height+A).attr("y2",-x.height/2-A+$.height+A);return m(e,l),e.intersect=function(t){return B.rect(e,t)},d}async function en(t,e,{config:{themeVariables:a}}){let r=a?.radius??5,l={rx:r,ry:r,classes:"",labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return tf(t,e,l)}async function es(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0,{shapeSvg:o,bbox:h,label:d}=await w(t,e,b(e)),c=(e?.width??h.width)+2*i+("neo"===e.look?8:16),y=(e?.height??h.height)+2*n,u=c-8,p=8-c/2,f=-y/2,{cssStyles:x}=e,$=g.A.svg(o),k=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let M=$.polygon([{x:p,y:f},{x:p+u,y:f},{x:p+u,y:f+y},{x:p-8,y:f+y},{x:p-8,y:f},{x:p,y:f},{x:p,y:f+y}].map(t=>[t.x,t.y]),k),D=o.insert(()=>M,":first-child");return D.attr("class","basic label-container outer-path").attr("style",(0,s.KL)(x)),l&&"handDrawn"!==e.look&&D.selectAll("path").attr("style",l),x&&"handDrawn"!==e.look&&D.selectAll("path").attr("style",l),d.attr("transform",`translate(${4-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),m(e,D),e.intersect=function(t){return B.rect(e,t)},o}async function eo(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*n,10),e.height=Math.max((e?.height??0)/1.5-2*s,10));let{shapeSvg:o,bbox:h,label:d}=await w(t,e,b(e)),c=(e?.width?e?.width:h.width)+2*n,y=((e?.height?e?.height:h.height)+2*s)*1.5/1.5,u=-c/2,p=-y/2,{cssStyles:f}=e,x=g.A.svg(o),k=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let M=[{x:u,y:p},{x:u,y:p+y},{x:u+c,y:p+y},{x:u+c,y:p-y/2}],D=$(M),A=x.path(D,k),S=o.insert(()=>A,":first-child");return S.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",f),l&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",l),S.attr("transform",`translate(0, ${y/4})`),d.attr("transform",`translate(${-c/2+(e.padding??0)-(h.x-(h.left??0))}, ${-y/4+(e.padding??0)-(h.y-(h.top??0))})`),m(e,S),e.intersect=function(t){return B.polygon(e,M,t)},o}async function eh(t,e){let a=e.padding??0,r="neo"===e.look?16:2*a,l="neo"===e.look?12:a,i={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??r,labelPaddingY:l},s=await tf(t,e,i);if(void 0!==e.colorIndex){let{theme:t,themeVariables:a}=(0,o.D7)();(0,n.XE)(s,e.colorIndex,t,a.borderColorArray)}return s}(0,d.K)(er,"question"),(0,d.K)(el,"rect_left_inv_arrow"),(0,d.K)(ei,"rectWithTitle"),(0,d.K)(en,"roundedRect"),(0,d.K)(es,"shadedProcess"),(0,d.K)(eo,"slopedRect"),(0,d.K)(eh,"squareRect");var ed=(0,d.K)((t,e,a)=>{let r=t.height+a,l=r*Math.cos(Math.PI/98),i=Math.sqrt(Math.max(0,l**2-t.height**2));return{w:Math.max(t.width+r/4+e,1.5*r+(r-l),t.width+e+r-i),h:r}},"stadiumDimensions");async function ec(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?40:i,s="neo"===e.look?24:i,{shapeSvg:o,bbox:h}=await w(t,e,b(e)),{w:d,h:c}=ed(h,n,s),y=c/2,{cssStyles:u}=e,p=g.A.svg(o),f=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let x=[{x:-d/2+y,y:-c/2},{x:d/2-y,y:-c/2},...M(-d/2+y,0,y,50,90,270),{x:d/2-y,y:c/2},...M(d/2-y,0,y,50,270,450)],k=$(x),D=p.path(k,f),A=o.insert(()=>D,":first-child");return A.attr("class","basic label-container outer-path"),u&&"handDrawn"!==e.look&&A.selectChildren("path").attr("style",u),l&&"handDrawn"!==e.look&&A.selectChildren("path").attr("style",l),m(e,A),e.intersect=function(t){return B.polygon(e,x,t)},o}async function eg(t,e){let a={rx:"neo"===e.look?3:5,ry:"neo"===e.look?3:5,classes:"flowchart-node"};return tf(t,e,a)}function ey(t,e,{config:{themeVariables:a}}){let{labelStyles:l,nodeStyles:i}=(0,r.GX)(e);e.labelStyle=l;let{cssStyles:n}=e,{lineColor:s,stateBorder:o,nodeBorder:h,nodeShadow:d}=a;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let c=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),y=g.A.svg(c),u=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(u.roughness=0,u.fillStyle="solid");let p=y.circle(0,0,e.width,{...u,stroke:s,strokeWidth:2}),f=o??h,w=(e.width??0)*5/14,x=y.circle(0,0,w,{...u,fill:f,stroke:f,strokeWidth:2,fillStyle:"solid"}),b=c.insert(()=>p,":first-child");if(b.insert(()=>x),"handDrawn"!==e.look&&b.attr("class","outer-path"),n&&b.selectAll("path").attr("style",n),i&&b.selectAll("path").attr("style",i),e.width<25&&d&&"handDrawn"!==e.look){let e=t.node()?.ownerSVGElement?.id??"",a=e?`${e}-drop-shadow-small`:"drop-shadow-small";b.attr("style",`filter:url(#${a})`)}return m(e,b),e.intersect=function(t){return B.circle(e,(e.width??0)/2,t)},c}function eu(t,e,{config:{themeVariables:a}}){let l,{lineColor:i,nodeShadow:n}=a;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=g.A.svg(s).circle(0,0,e.width,(0,r.ue)(i));(l=s.insert(()=>t)).attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else(l=s.insert("circle",":first-child")).attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&n&&"handDrawn"!==e.look){let e=t.node()?.ownerSVGElement?.id??"",a=e?`${e}-drop-shadow-small`:"drop-shadow-small";l.attr("style",`filter:url(#${a})`)}return m(e,l),e.intersect=function(t){return B.circle(e,(e.width??7)/2,t)},s}async function ep(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e?.padding??8,n="neo"===e.look?28:i,o="neo"===e.look?12:i,{shapeSvg:h,bbox:d}=await w(t,e,b(e)),c=Math.max(d.width+16+n,e.width??0),y=Math.max(d.height+o,e.height??0),u=c-16,p=-c/2,f=-y/2,x=[{x:0,y:0},{x:u,y:0},{x:u,y:-y},{x:0,y:-y},{x:0,y:0},{x:-8,y:0},{x:u+8,y:0},{x:u+8,y:-y},{x:-8,y:-y},{x:-8,y:0}];if("handDrawn"===e.look){let t=g.A.svg(h),a=(0,r.Fr)(e,{}),l=t.rectangle(p,f,u+16,y,a),i=t.line(p+8,f,p+8,f+y,a),n=t.line(p+8+u,f,p+8+u,f+y,a);h.insert(()=>i,":first-child"),h.insert(()=>n,":first-child");let o=h.insert(()=>l,":first-child"),{cssStyles:d}=e;o.attr("class","basic label-container").attr("style",(0,s.KL)(d)),m(e,o)}else{let t=E(h,u,y,x);l&&t.attr("style",l),m(e,t)}return e.intersect=function(t){return B.polygon(e,x,t)},h}async function ef(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let i=e.padding??0,n="neo"===e.look?16:i,s="neo"===e.look?12:i;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-2*s,10),e.width=Math.max((e?.width??0)-2*n-.2*(e.height+2*s),10));let{shapeSvg:o,bbox:h}=await w(t,e,b(e)),d=(e?.height?e?.height:h.height)+2*s,c=.2*d,y=(e?.width?e?.width:h.width)+2*n+c-c,u=-y/2,p=-d/2,{cssStyles:f}=e,x=g.A.svg(o),k=(0,r.Fr)(e,{}),M=[{x:u-c/2,y:p},{x:u+y+c/2,y:p},{x:u+y+c/2,y:p+d},{x:u-c/2,y:p+d}];"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let D=$(M),A=x.path(D,k),S=$([{x:u+y-c/2,y:p+d},{x:u+y+c/2,y:p+d},{x:u+y+c/2,y:p+d-.2*d}]),v=x.path(S,{...k,fillStyle:"solid"}),K=o.insert(()=>v,":first-child");return K.insert(()=>A,":first-child"),K.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&K.selectAll("path").attr("style",f),l&&"handDrawn"!==e.look&&K.selectAll("path").attr("style",l),m(e,K),e.intersect=function(t){return B.polygon(e,M,t)},o}async function ew(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n,label:s}=await w(t,e,b(e)),o=Math.max(n.width+(e.padding??0)*2,e?.width??0),h=Math.max(n.height+(e.padding??0)*2,e?.height??0),d=h/8,c=.2*o,y=.2*h,u=h+d,{cssStyles:p}=e,f=g.A.svg(i),x=(0,r.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let M=[{x:-o/2-o/2*.1,y:u/2},...k(-o/2-o/2*.1,u/2,o/2+o/2*.1,u/2,d,.8),{x:o/2+o/2*.1,y:-u/2},{x:-o/2-o/2*.1,y:-u/2}],D=-o/2+o/2*.1,A=-u/2-.4*y,S=[{x:D+o-c,y:(A+h)*1.3},{x:D+o,y:A+h-y},{x:D+o,y:(A+h)*.9},...k(D+o,(A+h)*1.25,D+o-c,(A+h)*1.3,-(.02*h),.5)],v=$(M),K=f.path(v,x),C=$(S),L=f.path(C,{...x,fillStyle:"solid"}),N=i.insert(()=>L,":first-child");return N.insert(()=>K,":first-child"),N.attr("class","basic label-container outer-path"),p&&"handDrawn"!==e.look&&N.selectAll("path").attr("style",p),l&&"handDrawn"!==e.look&&N.selectAll("path").attr("style",l),N.attr("transform",`translate(0,${-d/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(n.x-(n.left??0))},${-h/2+(e.padding??0)-d/2-(n.y-(n.top??0))})`),m(e,N),e.intersect=function(t){return B.polygon(e,M,t)},i}async function ex(t,e){let{labelStyles:a,nodeStyles:l}=(0,r.GX)(e);e.labelStyle=a;let{shapeSvg:i,bbox:n}=await w(t,e,b(e)),s=Math.max(n.width+(e.padding??0),e?.width||0),o=Math.max(n.height+(e.padding??0),e?.height||0),h=i.insert("rect",":first-child");return h.attr("class","text").attr("style",l).attr("rx",0).attr("ry",0).attr("x",-s/2).attr("y",-o/2).attr("width",s).attr("height",o),m(e,h),e.intersect=function(t){return B.rect(e,t)},i}(0,d.K)(ec,"stadium"),(0,d.K)(eg,"state"),(0,d.K)(ey,"stateEnd"),(0,d.K)(eu,"stateStart"),(0,d.K)(ep,"subroutine"),(0,d.K)(ef,"taggedRect"),(0,d.K)(ew,"taggedWaveEdgedRectangle"),(0,d.K)(ex,"text");var em=(0,d.K)((t,e,a,r,l,i)=>`M${t},${e}
3
3
  a${l},${i} 0,0,1 0,${-r}
4
4
  l${a},0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4111],{14111:(t,e,r)=>{"use strict";let n=r(32564),i=r(19677),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function f(t){if(t>0x7fffffff)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return a(t)}return s(t,e,r)}function s(t,e,r){if("string"==typeof t){var n=t,i=e;if(("string"!=typeof i||""===i)&&(i="utf8"),!u.isEncoding(i))throw TypeError("Unknown encoding: "+i);let r=0|y(n,i),o=f(r),s=o.write(n,i);return s!==r&&(o=o.slice(0,s)),o}if(ArrayBuffer.isView(t)){var o=t;if(k(o,Uint8Array)){let t=new Uint8Array(o);return p(t.buffer,t.byteOffset,t.byteLength)}return l(o)}if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(k(t,ArrayBuffer)||t&&k(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(k(t,SharedArrayBuffer)||t&&k(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');let s=t.valueOf&&t.valueOf();if(null!=s&&s!==t)return u.from(s,e,r);let h=function(t){if(u.isBuffer(t)){let e=0|c(t.length),r=f(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||function(t){return t!=t}(t.length)?f(0):l(t):"Buffer"===t.type&&Array.isArray(t.data)?l(t.data):void 0}(t);if(h)return h;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return u.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function a(t){return h(t),f(t<0?0:0|c(t))}function l(t){let e=t.length<0?0:0|c(t.length),r=f(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){let n;if(e<0||t.byteLength<e)throw RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),u.prototype),n}function c(t){if(t>=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function y(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||k(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function g(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=e;n<r;++n)i+=P[t[n]];return i}(this,e,r);case"utf8":case"utf-8":return B(this,e,r);case"ascii":return function(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}(this,e,r);case"latin1":case"binary":return function(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case"base64":var o,f,u;return o=this,f=e,u=r,0===f&&u===o.length?n.fromByteArray(o):n.fromByteArray(o.slice(f,u));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(t,e,r){let n=t.slice(e,r),i="";for(let t=0;t<n.length-1;t+=2)i+=String.fromCharCode(n[t]+256*n[t+1]);return i}(this,e,r);default:if(i)throw TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function d(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}function b(t,e,r,n,i){var o;if(0===t.length)return -1;if("string"==typeof r?(n=r,r=0):r>0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(o=r*=1)!=o&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length)if(i)return -1;else r=t.length-1;else if(r<0)if(!i)return -1;else r=0;if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:w(t,e,r,n,i);if("number"==typeof e){if(e&=255,"function"==typeof Uint8Array.prototype.indexOf)if(i)return Uint8Array.prototype.indexOf.call(t,e,r);else return Uint8Array.prototype.lastIndexOf.call(t,e,r);return w(t,[e],r,n,i)}throw TypeError("val must be string, number or Buffer")}function w(t,e,r,n,i){let o,f=1,u=t.length,s=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;f=2,u/=2,s/=2,r/=2}function h(t,e){return 1===f?t[e]:t.readUInt16BE(e*f)}if(i){let n=-1;for(o=r;o<u;o++)if(h(t,o)===h(e,-1===n?0:o-n)){if(-1===n&&(n=o),o-n+1===s)return n*f}else -1!==n&&(o-=o-n),n=-1}else for(r+s>u&&(r=u-s),o=r;o>=0;o--){let r=!0;for(let n=0;n<s;n++)if(h(t,o+n)!==h(e,n)){r=!1;break}if(r)return o}return -1}function B(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let e=t[i],o=null,f=e>239?4:e>223?3:e>191?2:1;if(i+f<=r){let r,n,u,s;switch(f){case 1:e<128&&(o=e);break;case 2:(192&(r=t[i+1]))==128&&(s=(31&e)<<6|63&r)>127&&(o=s);break;case 3:r=t[i+1],n=t[i+2],(192&r)==128&&(192&n)==128&&(s=(15&e)<<12|(63&r)<<6|63&n)>2047&&(s<55296||s>57343)&&(o=s);break;case 4:r=t[i+1],n=t[i+2],u=t[i+3],(192&r)==128&&(192&n)==128&&(192&u)==128&&(s=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&u)>65535&&s<1114112&&(o=s)}}null===o?(o=65533,f=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=f}var o=n;let f=o.length;if(f<=4096)return String.fromCharCode.apply(String,o);let u="",s=0;for(;s<f;)u+=String.fromCharCode.apply(String,o.slice(s,s+=4096));return u}function E(t,e,r){if(t%1!=0||t<0)throw RangeError("offset is not uint");if(t+e>r)throw RangeError("Trying to access beyond buffer length")}function m(t,e,r,n,i,o){if(!u.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw RangeError('"value" argument is out of bounds');if(r+n>t.length)throw RangeError("Index out of range")}function I(t,e,r,n,i){L(e,n,i,t,r,7);let o=Number(e&BigInt(0xffffffff));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let f=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,r}function A(t,e,r,n,i){L(e,n,i,t,r,7);let o=Number(e&BigInt(0xffffffff));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let f=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r+3]=f,f>>=8,t[r+2]=f,f>>=8,t[r+1]=f,f>>=8,t[r]=f,r+8}function v(t,e,r,n,i,o){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function U(t,e,r,n,o){return e*=1,r>>>=0,o||v(t,e,r,4,34028234663852886e22,-34028234663852886e22),i.write(t,e,r,n,23,4),r+4}function R(t,e,r,n,o){return e*=1,r>>>=0,o||v(t,e,r,8,17976931348623157e292,-17976931348623157e292),i.write(t,e,r,n,52,8),r+8}e.hp=u,e.IS=50,u.TYPED_ARRAY_SUPPORT=function(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),u.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}}),u.poolSize=8192,u.from=function(t,e,r){return s(t,e,r)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array),u.alloc=function(t,e,r){return(h(t),t<=0)?f(t):void 0!==e?"string"==typeof r?f(t).fill(e,r):f(t).fill(e):f(t)},u.allocUnsafe=function(t){return a(t)},u.allocUnsafeSlow=function(t){return a(t)},u.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==u.prototype},u.compare=function(t,e){if(k(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),k(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(t)||!u.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:+(n<r)},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){let r;if(!Array.isArray(t))throw TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);if(void 0===e)for(r=0,e=0;r<t.length;++r)e+=t[r].length;let n=u.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){let e=t[r];if(k(e,Uint8Array))i+e.length>n.length?(u.isBuffer(e)||(e=u.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else if(u.isBuffer(e))e.copy(n,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=e.length}return n},u.byteLength=y,u.prototype._isBuffer=!0,u.prototype.swap16=function(){let t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)d(this,e,e+1);return this},u.prototype.swap32=function(){let t=this.length;if(t%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},u.prototype.swap64=function(){let t=this.length;if(t%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},u.prototype.toString=function(){let t=this.length;return 0===t?"":0==arguments.length?B(this,0,t):g.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(t){if(!u.isBuffer(t))throw TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){let t="",r=e.IS;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},o&&(u.prototype[o]=u.prototype.inspect),u.prototype.compare=function(t,e,r,n,i){if(k(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;let o=i-n,f=r-e,s=Math.min(o,f),h=this.slice(n,i),a=t.slice(e,r);for(let t=0;t<s;++t)if(h[t]!==a[t]){o=h[t],f=a[t];break}return o<f?-1:+(f<o)},u.prototype.includes=function(t,e,r){return -1!==this.indexOf(t,e,r)},u.prototype.indexOf=function(t,e,r){return b(this,t,e,r,!0)},u.prototype.lastIndexOf=function(t,e,r){return b(this,t,e,r,!1)},u.prototype.write=function(t,e,r,n){var i,o,f,u,s,h,a,l;if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let p=this.length-e;if((void 0===r||r>p)&&(r=p),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let c=!1;for(;;)switch(n){case"hex":return function(t,e,r,n){let i;r=Number(r)||0;let o=t.length-r;n?(n=Number(n))>o&&(n=o):n=o;let f=e.length;for(n>f/2&&(n=f/2),i=0;i<n;++i){var u;let n=parseInt(e.substr(2*i,2),16);if((u=n)!=u)break;t[r+i]=n}return i}(this,t,e,r);case"utf8":case"utf-8":return i=e,o=r,M($(t,this.length-i),this,i,o);case"ascii":case"latin1":case"binary":return f=e,u=r,M(function(t){let e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(t),this,f,u);case"base64":return s=e,h=r,M(N(t),this,s,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a=e,l=r,M(function(t,e){let r,n,i=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)n=(r=t.charCodeAt(o))>>8,i.push(r%256),i.push(n);return i}(t,this.length-a),this,a,l);default:if(c)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),c=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},u.prototype.slice=function(t,e){let r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);let n=this.subarray(t,e);return Object.setPrototypeOf(n,u.prototype),n},u.prototype.readUintLE=u.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n},u.prototype.readUintBE=u.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUint8=u.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+0x1000000*this[t+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),0x1000000*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readBigUInt64LE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&S(t,this.length-8);let n=e+256*this[++t]+65536*this[++t]+0x1000000*this[++t],i=this[++t]+256*this[++t]+65536*this[++t]+0x1000000*r;return BigInt(n)+(BigInt(i)<<BigInt(32))}),u.prototype.readBigUInt64BE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&S(t,this.length-8);let n=0x1000000*e+65536*this[++t]+256*this[++t]+this[++t],i=0x1000000*this[++t]+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<<BigInt(32))+BigInt(i)}),u.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=e,i=1,o=this[t+--n];for(;n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return(t>>>=0,e||E(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},u.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);let r=this[t]|this[t+1]<<8;return 32768&r?0xffff0000|r:r},u.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);let r=this[t+1]|this[t]<<8;return 32768&r?0xffff0000|r:r},u.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readBigInt64LE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&S(t,this.length-8),(BigInt(this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24))<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+0x1000000*this[++t])}),u.prototype.readBigInt64BE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&S(t,this.length-8),(BigInt((e<<24)+65536*this[++t]+256*this[++t]+this[++t])<<BigInt(32))+BigInt(0x1000000*this[++t]+65536*this[++t]+256*this[++t]+r)}),u.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(t,e,r,n){if(t*=1,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;m(this,t,e,r,n,0)}let i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(t,e,r,n){if(t*=1,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;m(this,t,e,r,n,0)}let i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUint8=u.prototype.writeUInt8=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,1,255,0),this[e]=255&t,e+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0xffffffff,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0xffffffff,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeBigUInt64LE=j(function(t,e=0){return I(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=j(function(t,e=0){return A(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(t,e,r,n){if(t*=1,e>>>=0,!n){let n=Math.pow(2,8*r-1);m(this,t,e,r,n-1,-n)}let i=0,o=1,f=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===f&&0!==this[e+i-1]&&(f=1),this[e+i]=(t/o|0)-f&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t*=1,e>>>=0,!n){let n=Math.pow(2,8*r-1);m(this,t,e,r,n-1,-n)}let i=r-1,o=1,f=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===f&&0!==this[e+i+1]&&(f=1),this[e+i]=(t/o|0)-f&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeInt16BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeInt32LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0x7fffffff,-0x80000000),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},u.prototype.writeInt32BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0x7fffffff,-0x80000000),t<0&&(t=0xffffffff+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeBigInt64LE=j(function(t,e=0){return I(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=j(function(t,e=0){return A(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return R(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return R(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(!u.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r||0===t.length||0===this.length)return 0;if(e<0)throw RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);let i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},u.prototype.fill=function(t,e,r,n){let i;if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===t.length){let e=t.charCodeAt(0);("utf8"===n&&e<128||"latin1"===n)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw RangeError("Out of range index");if(r<=e)return this;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{let o=u.isBuffer(t)?t:u.from(t,n),f=o.length;if(0===f)throw TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=o[i%f]}return this};let x={};function O(t,e,r){x[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function T(t){let e="",r=t.length,n=+("-"===t[0]);for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function L(t,e,r,n,i,o){if(t>r||t<e){let n,i="bigint"==typeof e?"n":"";throw n=o>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${(o+1)*8}${i}`:`>= -(2${i} ** ${(o+1)*8-1}${i}) and < 2 ** ${(o+1)*8-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new x.ERR_OUT_OF_RANGE("value",n,t)}_(i,"offset"),(void 0===n[i]||void 0===n[i+o])&&S(i,n.length-(o+1))}function _(t,e){if("number"!=typeof t)throw new x.ERR_INVALID_ARG_TYPE(e,"number",t)}function S(t,e,r){if(Math.floor(t)!==t)throw _(t,r),new x.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new x.ERR_BUFFER_OUT_OF_BOUNDS;throw new x.ERR_OUT_OF_RANGE(r||"offset",`>= ${+!!r} and <= ${e}`,t)}O("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),O("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),O("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>0x100000000?i=T(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=T(i)),i+="n"),n+=` It must be ${e}. Received ${i}`},RangeError);let C=/[^+/0-9A-Za-z-_]/g;function $(t,e){let r;e=e||1/0;let n=t.length,i=null,o=[];for(let f=0;f<n;++f){if((r=t.charCodeAt(f))>55295&&r<57344){if(!i){if(r>56319||f+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return o}function N(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(C,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function M(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length)&&!(i>=t.length);++i)e[i+r]=t[i];return i}function k(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}let P=function(){let t="0123456789abcdef",e=Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function j(t){return"undefined"==typeof BigInt?F:t}function F(){throw Error("BigInt not supported")}},19677:(t,e)=>{e.read=function(t,e,r,n,i){var o,f,u=8*i-n-1,s=(1<<u)-1,h=s>>1,a=-7,l=r?i-1:0,p=r?-1:1,c=t[e+l];for(l+=p,o=c&(1<<-a)-1,c>>=-a,a+=u;a>0;o=256*o+t[e+l],l+=p,a-=8);for(f=o&(1<<-a)-1,o>>=-a,a+=n;a>0;f=256*f+t[e+l],l+=p,a-=8);if(0===o)o=1-h;else{if(o===s)return f?NaN:1/0*(c?-1:1);f+=Math.pow(2,n),o-=h}return(c?-1:1)*f*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var f,u,s,h=8*o-i-1,a=(1<<h)-1,l=a>>1,p=5960464477539062e-23*(23===i),c=n?0:o-1,y=n?1:-1,g=+(e<0||0===e&&1/e<0);for(isNaN(e=Math.abs(e))||e===1/0?(u=+!!isNaN(e),f=a):(f=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-f))<1&&(f--,s*=2),f+l>=1?e+=p/s:e+=p*Math.pow(2,1-l),e*s>=2&&(f++,s/=2),f+l>=a?(u=0,f=a):f+l>=1?(u=(e*s-1)*Math.pow(2,i),f+=l):(u=e*Math.pow(2,l-1)*Math.pow(2,i),f=0));i>=8;t[r+c]=255&u,c+=y,u/=256,i-=8);for(f=f<<i|u,h+=i;h>0;t[r+c]=255&f,c+=y,f/=256,h-=8);t[r+c-y]|=128*g}},32564:(t,e)=>{"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return(r+n)*3/4-n},e.toByteArray=function(t){var e,r,o=s(t),f=o[0],u=o[1],h=new i((f+u)*3/4-u),a=0,l=u>0?f-4:f;for(r=0;r<l;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],h[a++]=e>>16&255,h[a++]=e>>8&255,h[a++]=255&e;return 2===u&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,h[a++]=255&e),1===u&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,h[a++]=e>>8&255,h[a++]=255&e),h},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],f=0,u=n-i;f<u;f+=16383)o.push(function(t,e,n){for(var i,o=[],f=e;f<n;f+=3)i=(t[f]<<16&0xff0000)+(t[f+1]<<8&65280)+(255&t[f+2]),o.push(r[i>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return o.join("")}(t,f,f+16383>u?u:f+16383));return 1===i?o.push(r[(e=t[n-1])>>2]+r[e<<4&63]+"=="):2===i&&o.push(r[(e=(t[n-2]<<8)+t[n-1])>>10]+r[e>>4&63]+r[e<<2&63]+"="),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,u=o.length;f<u;++f)r[f]=o[f],n[o.charCodeAt(f)]=f;function s(t){var e=t.length;if(e%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}n[45]=62,n[95]=63}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1142],{64468:(e,t,r)=>{r.d(t,{$:()=>O,U:()=>j,db:()=>S});var i=r(64244),a=r(7328),n=r(42398),o=r(66432),l="",s="",d="",m=[],c=new Map,h=(0,o.K)(e=>(0,a.jZ)(e,(0,a.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",m.length=0,c.clear(),(0,a.IU)(),n.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),n.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f=(0,o.K)(e=>{let t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};n.R.debug("[Railroad] Adding rule:",t.name),c.has(t.name)&&n.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),m.push(t),c.set(t.name,t)},"addRule"),x=(0,o.K)(()=>m,"getRules"),w=(0,o.K)(e=>c.get(e),"getRule"),k=(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),n.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),C=(0,o.K)(()=>s,"getAccTitle"),$=(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),n.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),S={clear:u,setTitle:g,getTitle:T,addRule:f,getRules:x,getRule:w,setAccTitle:k,getAccTitle:C,setAccDescription:$,getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},F={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},y=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,R=/^[\w "',.-]+$/,b=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),v=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||b.has(e)),"isRailroadStyleOptions"),z=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:v(e)?e:{}:{},"extractRailroadOverrides"),K=(0,o.K)(e=>{if(!e||v(e))return{};let{railroad:t,svgId:r,theme:i,look:a,...n}=e;return n},"extractThemeOverrides"),N=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return y.test(r)?r:t},"sanitizeColorValue"),M=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return R.test(r)?r:t},"sanitizeFontFamilyValue"),A=(0,o.K)((e,t)=>{let r="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(r)&&r>=0?r:t},"sanitizeNumberValue"),D=(0,o.K)(e=>{let t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),E=(0,o.K)(e=>{let t=M(e.fontFamily,F.fontFamily),r=D(e.fontSize)??F.fontSize;return{...F,fontFamily:t,fontSize:r,terminalFill:N(e.secondBkg??e.secondaryColor,F.terminalFill),terminalStroke:N(e.secondaryBorderColor??e.lineColor,F.terminalStroke),terminalTextColor:N(e.secondaryTextColor??e.textColor,F.terminalTextColor),nonTerminalFill:N(e.mainBkg??e.background,F.nonTerminalFill),nonTerminalStroke:N(e.primaryBorderColor??e.lineColor,F.nonTerminalStroke),nonTerminalTextColor:N(e.primaryTextColor??e.textColor,F.nonTerminalTextColor),lineColor:N(e.lineColor,F.lineColor),markerFill:N(e.lineColor,F.markerFill),commentFill:N(e.labelBackground??e.tertiaryColor,F.commentFill),commentStroke:N(e.tertiaryBorderColor??e.lineColor,F.commentStroke),commentTextColor:N(e.tertiaryTextColor??e.textColor,F.commentTextColor),specialFill:N(e.tertiaryColor??e.secondaryColor,F.specialFill),specialStroke:N(e.tertiaryBorderColor??e.secondaryBorderColor,F.specialStroke),ruleNameColor:N(e.titleColor??e.textColor,F.ruleNameColor)}},"buildThemeDefaults"),B=(0,o.K)(e=>{let t=(0,a.zj)(),r=E({...(0,a.P$)(),...t.themeVariables??{},...K(e)}),i={...t.railroad??{},...z(e)};return{compactMode:i.compactMode??r.compactMode,padding:A(i.padding,r.padding),verticalSeparation:A(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:A(i.horizontalSeparation,r.horizontalSeparation),arcRadius:A(i.arcRadius,r.arcRadius),fontSize:A(i.fontSize,r.fontSize),fontFamily:M(i.fontFamily,r.fontFamily),terminalFill:N(i.terminalFill,r.terminalFill),terminalStroke:N(i.terminalStroke,r.terminalStroke),terminalTextColor:N(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:N(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:N(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:N(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:N(i.lineColor,r.lineColor),strokeWidth:A(i.strokeWidth,r.strokeWidth),markerFill:N(i.markerFill,r.markerFill),commentFill:N(i.commentFill,r.commentFill),commentStroke:N(i.commentStroke,r.commentStroke),commentTextColor:N(i.commentTextColor,r.commentTextColor),specialFill:N(i.specialFill,r.specialFill),specialStroke:N(i.specialStroke,r.specialStroke),ruleNameColor:N(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:A(i.markerRadius,r.markerRadius)}},"buildRailroadStyleOptions"),O=(0,o.K)(e=>{let{fontFamily:t,fontSize:r,terminalFill:i,terminalStroke:a,terminalTextColor:n,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:m,markerFill:c,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=B(e);return`
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4174],{36814:(e,t,r)=>{r.d(t,{$:()=>O,U:()=>j,db:()=>S});var i=r(7650),a=r(23530),n=r(18776),o=r(95174),l="",s="",d="",m=[],c=new Map,h=(0,o.K)(e=>(0,a.jZ)(e,(0,a.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",m.length=0,c.clear(),(0,a.IU)(),n.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),n.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f=(0,o.K)(e=>{let t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};n.R.debug("[Railroad] Adding rule:",t.name),c.has(t.name)&&n.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),m.push(t),c.set(t.name,t)},"addRule"),x=(0,o.K)(()=>m,"getRules"),w=(0,o.K)(e=>c.get(e),"getRule"),k=(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),n.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),C=(0,o.K)(()=>s,"getAccTitle"),$=(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),n.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),S={clear:u,setTitle:g,getTitle:T,addRule:f,getRules:x,getRule:w,setAccTitle:k,getAccTitle:C,setAccDescription:$,getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},F={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},y=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,R=/^[\w "',.-]+$/,b=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),v=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||b.has(e)),"isRailroadStyleOptions"),z=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:v(e)?e:{}:{},"extractRailroadOverrides"),K=(0,o.K)(e=>{if(!e||v(e))return{};let{railroad:t,svgId:r,theme:i,look:a,...n}=e;return n},"extractThemeOverrides"),N=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return y.test(r)?r:t},"sanitizeColorValue"),M=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return R.test(r)?r:t},"sanitizeFontFamilyValue"),A=(0,o.K)((e,t)=>{let r="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(r)&&r>=0?r:t},"sanitizeNumberValue"),D=(0,o.K)(e=>{let t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),E=(0,o.K)(e=>{let t=M(e.fontFamily,F.fontFamily),r=D(e.fontSize)??F.fontSize;return{...F,fontFamily:t,fontSize:r,terminalFill:N(e.secondBkg??e.secondaryColor,F.terminalFill),terminalStroke:N(e.secondaryBorderColor??e.lineColor,F.terminalStroke),terminalTextColor:N(e.secondaryTextColor??e.textColor,F.terminalTextColor),nonTerminalFill:N(e.mainBkg??e.background,F.nonTerminalFill),nonTerminalStroke:N(e.primaryBorderColor??e.lineColor,F.nonTerminalStroke),nonTerminalTextColor:N(e.primaryTextColor??e.textColor,F.nonTerminalTextColor),lineColor:N(e.lineColor,F.lineColor),markerFill:N(e.lineColor,F.markerFill),commentFill:N(e.labelBackground??e.tertiaryColor,F.commentFill),commentStroke:N(e.tertiaryBorderColor??e.lineColor,F.commentStroke),commentTextColor:N(e.tertiaryTextColor??e.textColor,F.commentTextColor),specialFill:N(e.tertiaryColor??e.secondaryColor,F.specialFill),specialStroke:N(e.tertiaryBorderColor??e.secondaryBorderColor,F.specialStroke),ruleNameColor:N(e.titleColor??e.textColor,F.ruleNameColor)}},"buildThemeDefaults"),B=(0,o.K)(e=>{let t=(0,a.zj)(),r=E({...(0,a.P$)(),...t.themeVariables??{},...K(e)}),i={...t.railroad??{},...z(e)};return{compactMode:i.compactMode??r.compactMode,padding:A(i.padding,r.padding),verticalSeparation:A(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:A(i.horizontalSeparation,r.horizontalSeparation),arcRadius:A(i.arcRadius,r.arcRadius),fontSize:A(i.fontSize,r.fontSize),fontFamily:M(i.fontFamily,r.fontFamily),terminalFill:N(i.terminalFill,r.terminalFill),terminalStroke:N(i.terminalStroke,r.terminalStroke),terminalTextColor:N(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:N(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:N(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:N(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:N(i.lineColor,r.lineColor),strokeWidth:A(i.strokeWidth,r.strokeWidth),markerFill:N(i.markerFill,r.markerFill),commentFill:N(i.commentFill,r.commentFill),commentStroke:N(i.commentStroke,r.commentStroke),commentTextColor:N(i.commentTextColor,r.commentTextColor),specialFill:N(i.specialFill,r.specialFill),specialStroke:N(i.specialStroke,r.specialStroke),ruleNameColor:N(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:A(i.markerRadius,r.markerRadius)}},"buildRailroadStyleOptions"),O=(0,o.K)(e=>{let{fontFamily:t,fontSize:r,terminalFill:i,terminalStroke:a,terminalTextColor:n,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:m,markerFill:c,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=B(e);return`
2
2
  .railroad-diagram {
3
3
  font-family: ${t};
4
4
  font-size: ${r}px;
@@ -83,4 +83,4 @@
83
83
  .railroad-group {
84
84
  /* Grouping container, no specific styles */
85
85
  }
86
- `},"getStyles"),W=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,r,i,a,n,o){return this.d+=`A ${e} ${t} ${r} ${+!!i} ${+!!a} ${n} ${o} `,this}build(){return this.d.trim()}},q=class{constructor(e,t=B()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),r=t.node().getBBox(),i={width:r.width,height:r.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-terminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-nonterminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0,n=0;for(let e of r)i+=e.dimensions.width,a=Math.max(a,e.dimensions.up),n=Math.max(n,e.dimensions.down);i+=(r.length-1)*this.config.horizontalSeparation;let o=e.append("g").attr("class","railroad-sequence"),l=0;for(let e=0;e<r.length;e++){let t=r[e],i=a-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<r.length-1){let e=l+t.dimensions.width,r=e+this.config.horizontalSeparation,i=a;o.append("path").attr("class","railroad-line").attr("d",new W().moveTo(e,i).lineTo(r,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+n,up:a,down:n}}}renderChoice(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0;for(let e of r)i=Math.max(i,e.dimensions.width),a+=e.dimensions.height;a+=(r.length-1)*this.config.verticalSeparation;let n=this.config.arcRadius,o=i+4*n,l=e.append("g").attr("class","railroad-choice"),s=0,d=a/2;for(let e of r){let t=s,r=t+e.dimensions.up,a=2*n+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${a}, ${t})`);let m=new W,c=r>d;r===d?m.moveTo(0,d).lineTo(a,r):m.moveTo(0,d).arcTo(n,n,0,!1,c,n,d+(c?n:-n)).lineTo(n,r-(c?n:-n)).arcTo(n,n,0,!1,!c,2*n,r).lineTo(a,r),l.append("path").attr("class","railroad-line").attr("d",m.build());let h=new W,p=a+e.dimensions.width,u=o-2*n;r===d?h.moveTo(p,r).lineTo(o,d):h.moveTo(p,r).lineTo(u,r).arcTo(n,n,0,!1,!c,o-n,r+(c?-n:n)).lineTo(o-n,d+(c?n:-n)).arcTo(n,n,0,!1,c,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:a,up:d,down:a-d}}}renderOptional(e,t){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=2*i,n=r.dimensions.width+4*i,o=r.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),s=2*i;l.node().appendChild(r.element).setAttribute("transform",`translate(${s}, ${a})`);let d=a+r.dimensions.up,m=new W().moveTo(0,d).lineTo(2*i,d);l.append("path").attr("class","railroad-line").attr("d",m.build());let c=new W().moveTo(s+r.dimensions.width,d).lineTo(n,d);l.append("path").attr("class","railroad-line").attr("d",c.build());let h=new W().moveTo(0,d).arcTo(i,i,0,!1,!1,i,d-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(n-2*i,0).arcTo(i,i,0,!1,!0,n-i,i).lineTo(n-i,d-i).arcTo(i,i,0,!1,!1,n,d);return l.append("path").attr("class","railroad-line").attr("d",h.build()),{element:l.node(),dimensions:{width:n,height:o,up:d,down:o-d}}}renderRepetition(e,t,r){let i=this.renderExpression(e,t),a=this.config.arcRadius,n=2*a,o=i.dimensions.width+4*a,l=0===r,s=i.dimensions.height+n+(l?n:0),d=e.append("g").attr("class","railroad-repetition"),m=2*a,c=l?n:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${m}, ${c})`);let h=c+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(0,h).lineTo(2*a,h).build()),d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(m+i.dimensions.width,h).lineTo(o,h).build());let p=c+i.dimensions.height+a,u=new W().moveTo(m+i.dimensions.width,h).arcTo(a,a,0,!1,!0,m+i.dimensions.width+a,h+a).lineTo(m+i.dimensions.width+a,p).arcTo(a,a,0,!1,!0,m+i.dimensions.width,p+a).lineTo(2*a,p+a).arcTo(a,a,0,!1,!0,a,p).lineTo(a,h+a).arcTo(a,a,0,!1,!0,2*a,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){let e=new W().moveTo(0,h).arcTo(a,a,0,!1,!1,a,h-a).lineTo(a,a).arcTo(a,a,0,!1,!0,2*a,0).lineTo(o-2*a,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,h-a).arcTo(a,a,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){let r=this.measureText("? "+t+" ?"),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-special");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text("? "+t+" ?"),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let r=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",a=this.measureText(i).width+20,n=a+20,o=r.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;return o.attr("transform",`translate(${n}, ${d})`),r.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i),r.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",s).attr("r",this.config.markerRadius),r.append("g").attr("class","railroad-end").append("circle").attr("cx",n+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(a+this.config.markerRadius,s).lineTo(n,s).build()),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(n+l.dimensions.width,s).lineTo(n+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:n+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,r=0;for(let i of e){let e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,r=Math.max(r,e.width)}return{width:r+2*this.config.padding,height:t+this.config.padding}}},V=(0,o.K)((e,t,r)=>{(0,a.a$)(e,t.height,t.width,r),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),j={draw:(0,o.K)((e,t,r)=>{n.R.debug("[Railroad] Rendering diagram\n"+e);try{let e=(0,i.D)(t);e.attr("class","railroad-diagram");let r=(0,a.zj)().railroad,o=r?.useMaxWidth??!0,l=S.getRules();if(n.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length){n.R.warn("[Railroad] No rules to render"),V(e,{height:100,width:200},o);return}let s=new q(e,B()).renderDiagram(l);V(e,s,o),n.R.debug("[Railroad] Render complete")}catch(e){throw n.R.error("[Railroad] Render error:",e),e}},"draw")}},82033:(e,t,r)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}r.d(t,{S:()=>i}),(0,r(66432).K)(i,"populateCommonDb")}}]);
86
+ `},"getStyles"),W=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,r,i,a,n,o){return this.d+=`A ${e} ${t} ${r} ${+!!i} ${+!!a} ${n} ${o} `,this}build(){return this.d.trim()}},q=class{constructor(e,t=B()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),r=t.node().getBBox(),i={width:r.width,height:r.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-terminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-nonterminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0,n=0;for(let e of r)i+=e.dimensions.width,a=Math.max(a,e.dimensions.up),n=Math.max(n,e.dimensions.down);i+=(r.length-1)*this.config.horizontalSeparation;let o=e.append("g").attr("class","railroad-sequence"),l=0;for(let e=0;e<r.length;e++){let t=r[e],i=a-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<r.length-1){let e=l+t.dimensions.width,r=e+this.config.horizontalSeparation,i=a;o.append("path").attr("class","railroad-line").attr("d",new W().moveTo(e,i).lineTo(r,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+n,up:a,down:n}}}renderChoice(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0;for(let e of r)i=Math.max(i,e.dimensions.width),a+=e.dimensions.height;a+=(r.length-1)*this.config.verticalSeparation;let n=this.config.arcRadius,o=i+4*n,l=e.append("g").attr("class","railroad-choice"),s=0,d=a/2;for(let e of r){let t=s,r=t+e.dimensions.up,a=2*n+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${a}, ${t})`);let m=new W,c=r>d;r===d?m.moveTo(0,d).lineTo(a,r):m.moveTo(0,d).arcTo(n,n,0,!1,c,n,d+(c?n:-n)).lineTo(n,r-(c?n:-n)).arcTo(n,n,0,!1,!c,2*n,r).lineTo(a,r),l.append("path").attr("class","railroad-line").attr("d",m.build());let h=new W,p=a+e.dimensions.width,u=o-2*n;r===d?h.moveTo(p,r).lineTo(o,d):h.moveTo(p,r).lineTo(u,r).arcTo(n,n,0,!1,!c,o-n,r+(c?-n:n)).lineTo(o-n,d+(c?n:-n)).arcTo(n,n,0,!1,c,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:a,up:d,down:a-d}}}renderOptional(e,t){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=2*i,n=r.dimensions.width+4*i,o=r.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),s=2*i;l.node().appendChild(r.element).setAttribute("transform",`translate(${s}, ${a})`);let d=a+r.dimensions.up,m=new W().moveTo(0,d).lineTo(2*i,d);l.append("path").attr("class","railroad-line").attr("d",m.build());let c=new W().moveTo(s+r.dimensions.width,d).lineTo(n,d);l.append("path").attr("class","railroad-line").attr("d",c.build());let h=new W().moveTo(0,d).arcTo(i,i,0,!1,!1,i,d-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(n-2*i,0).arcTo(i,i,0,!1,!0,n-i,i).lineTo(n-i,d-i).arcTo(i,i,0,!1,!1,n,d);return l.append("path").attr("class","railroad-line").attr("d",h.build()),{element:l.node(),dimensions:{width:n,height:o,up:d,down:o-d}}}renderRepetition(e,t,r){let i=this.renderExpression(e,t),a=this.config.arcRadius,n=2*a,o=i.dimensions.width+4*a,l=0===r,s=i.dimensions.height+n+(l?n:0),d=e.append("g").attr("class","railroad-repetition"),m=2*a,c=l?n:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${m}, ${c})`);let h=c+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(0,h).lineTo(2*a,h).build()),d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(m+i.dimensions.width,h).lineTo(o,h).build());let p=c+i.dimensions.height+a,u=new W().moveTo(m+i.dimensions.width,h).arcTo(a,a,0,!1,!0,m+i.dimensions.width+a,h+a).lineTo(m+i.dimensions.width+a,p).arcTo(a,a,0,!1,!0,m+i.dimensions.width,p+a).lineTo(2*a,p+a).arcTo(a,a,0,!1,!0,a,p).lineTo(a,h+a).arcTo(a,a,0,!1,!0,2*a,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){let e=new W().moveTo(0,h).arcTo(a,a,0,!1,!1,a,h-a).lineTo(a,a).arcTo(a,a,0,!1,!0,2*a,0).lineTo(o-2*a,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,h-a).arcTo(a,a,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){let r=this.measureText("? "+t+" ?"),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-special");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text("? "+t+" ?"),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let r=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",a=this.measureText(i).width+20,n=a+20,o=r.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;return o.attr("transform",`translate(${n}, ${d})`),r.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i),r.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",s).attr("r",this.config.markerRadius),r.append("g").attr("class","railroad-end").append("circle").attr("cx",n+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(a+this.config.markerRadius,s).lineTo(n,s).build()),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(n+l.dimensions.width,s).lineTo(n+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:n+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,r=0;for(let i of e){let e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,r=Math.max(r,e.width)}return{width:r+2*this.config.padding,height:t+this.config.padding}}},V=(0,o.K)((e,t,r)=>{(0,a.a$)(e,t.height,t.width,r),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),j={draw:(0,o.K)((e,t,r)=>{n.R.debug("[Railroad] Rendering diagram\n"+e);try{let e=(0,i.D)(t);e.attr("class","railroad-diagram");let r=(0,a.zj)().railroad,o=r?.useMaxWidth??!0,l=S.getRules();if(n.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length){n.R.warn("[Railroad] No rules to render"),V(e,{height:100,width:200},o);return}let s=new q(e,B()).renderDiagram(l);V(e,s,o),n.R.debug("[Railroad] Render complete")}catch(e){throw n.R.error("[Railroad] Render error:",e),e}},"draw")}},56619:(e,t,r)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}r.d(t,{S:()=>i}),(0,r(95174).K)(i,"populateCommonDb")}}]);