elanous 0.2.20 → 0.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/MObU8ujkMciAKr6ljAV05/_buildManifest.js +1 -0
- package/apps/pwa/out/_next/static/chunks/088d8e8a.8069543d082bec12.js +160 -0
- package/apps/pwa/out/_next/static/chunks/1109.78a7a3288c0259d9.js +148 -0
- package/apps/pwa/out/_next/static/chunks/115.1c6690b8604f81c4.js +32 -0
- package/apps/pwa/out/_next/static/chunks/119fc678.6f591cdb84ca5791.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1262.76a3f08e67c5f816.js +309 -0
- package/apps/pwa/out/_next/static/chunks/{1307-77fad80cf54477c6.js → 1307-c97eba9fb72a9a5e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1358d292.5c87f12cad6eaa91.js +122 -0
- package/apps/pwa/out/_next/static/chunks/1438.27a1a7b8f2308004.js +149 -0
- package/apps/pwa/out/_next/static/chunks/1442.02d85cd88f4c1eac.js +79 -0
- package/apps/pwa/out/_next/static/chunks/1501-1aad662d82ba43f7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1584.9e2dd53da6e6d4b1.js +24 -0
- package/apps/pwa/out/_next/static/chunks/1586.b989b0614afb77e6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1609.2ad355062870151f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1612-f6df0fc0eed7157b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1923.37f1d5fe7ebe3860.js +27 -0
- package/apps/pwa/out/_next/static/chunks/1948.5f35b39eef222a94.js +5 -0
- package/apps/pwa/out/_next/static/chunks/1993.3fd074a2a246234e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2140.d2daf9ee96e295d1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2212.0359851457473efc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/224.583e562365a52f74.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2328.0f37465646bafa7d.js +36 -0
- package/apps/pwa/out/_next/static/chunks/2372.bf71372184991937.js +286 -0
- package/apps/pwa/out/_next/static/chunks/2549-a8515c86f9e8cb96.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2655.72cc6a97276c5acc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2743-ef6e8c3ced74cce5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2840-5458ad50c49cac6a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2856.f75d5baef7f49b74.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3344.0de4b0ec5a454b7a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/335.a13f339e97893437.js +94 -0
- package/apps/pwa/out/_next/static/chunks/3394.646348f34b2500be.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3443.6276909b53d72d53.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3495.abd4254d808bf2dc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3522-1de1319d028ac89c.js +25 -0
- package/apps/pwa/out/_next/static/chunks/3721.ba5b82db0d9a5572.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3919.9ff7dc25afefee33.js +74 -0
- package/apps/pwa/out/_next/static/chunks/3998.bd9a69d9b50e9bd2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4003.ab6db1dc266576c9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4216.e8ac94b9fe6b96ab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4327.c44dc2b55cb43ee5.js +34 -0
- package/apps/pwa/out/_next/static/chunks/4401.94257d497b6d26bc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4559.17ca2cdbaa8d414f.js +115 -0
- package/apps/pwa/out/_next/static/chunks/4588.ad3364cb7fb97ada.js +86 -0
- package/apps/pwa/out/_next/static/chunks/4706.97e734bd4c9816ca.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4982.6e44352f751b9a1b.js +77 -0
- package/apps/pwa/out/_next/static/chunks/5342.49c5c5a530e62b50.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5360-08a80abdf3a4da99.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5431.66c58ab1327ee0b7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5717.bcfcb96e701b82e0.js +90 -0
- package/apps/pwa/out/_next/static/chunks/5755-30d102586789bf7f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5957.3f1a4012388dd962.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5977-59fedea50d13c762.js +1 -0
- package/apps/pwa/out/_next/static/chunks/602.9bf02ac8e9502598.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6020.3a1b347e2d2dfacc.js +8 -0
- package/apps/pwa/out/_next/static/chunks/{6158.af2e93b7adff709b.js → 6158.566c890adc06a459.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/6375.fce1d174ba6d0324.js +64 -0
- package/apps/pwa/out/_next/static/chunks/6546.92a828aef441271f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/658.957fdb0a8c6c6c8e.js +287 -0
- package/apps/pwa/out/_next/static/chunks/6706.323590aabb8b1293.js +226 -0
- package/apps/pwa/out/_next/static/chunks/6747.b67947f293a4c02d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6767.8e6c5f6e744fcd9f.js +38 -0
- package/apps/pwa/out/_next/static/chunks/6868.000b24a3045c5574.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6946.bba74e9c96050f30.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7033.a558f1b2f6912a53.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7065.46029c26c53eac50.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7087.6fae577d09249bc1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7175-350f4ce2873bc038.js +1 -0
- package/apps/pwa/out/_next/static/chunks/722.de8d9801e0f6d414.js +41 -0
- package/apps/pwa/out/_next/static/chunks/7497.57981e9d7a75a52a.js +24 -0
- package/apps/pwa/out/_next/static/chunks/7630.2b9a68659053ff4e.js +193 -0
- package/apps/pwa/out/_next/static/chunks/7672.4af122ad892117c7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/771.6ab889a233e7dae7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7899.597af4a9996c907f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/79b78388.663188133449d707.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8096.f7da0776cfde6300.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8194.484f51e273d9abd2.js +217 -0
- package/apps/pwa/out/_next/static/chunks/8769.815ca69879f608b4.js +104 -0
- package/apps/pwa/out/_next/static/chunks/8857-f1762140ef9a96b1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/88729267.9c6c000157c83f2f.js +62 -0
- package/apps/pwa/out/_next/static/chunks/8f835b4f.048eeb02299e3e12.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9068.5f2764fccf86c1b2.js +93 -0
- package/apps/pwa/out/_next/static/chunks/9247-7581825d511a64c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9451.ebfb0dcc9c02250f.js +23 -0
- package/apps/pwa/out/_next/static/chunks/9497-b0e758d1cd4ae8d7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9559.e648369b1d57cf9a.js +62 -0
- package/apps/pwa/out/_next/static/chunks/9832.2ab2e818013574c7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/a9f2b54d-40c16bd0efdb04b8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-937c92292a4ab4f0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/{page-85b316bb4235980b.js → page-d781be3e3a9cfd74.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/board/{page-9b2b26a33cb2cd42.js → page-b0a80997903852d8.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/{page-c9955fde67b1bcb5.js → page-2b1263165630d9c8.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/{page-7a852956c74015a3.js → page-ea998f7f5d156bea.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-33c328b64ca508f8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/{page-4ba4abe096b6c2a8.js → page-e2d6bed48ac20120.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/{page-575d4a8b4f7becb2.js → page-111cabe4d1fd69ae.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/control/{page-f5d56ff5f45ad164.js → page-544dd4bd4847eeb7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/decisions/{page-2260e9eef0357421.js → page-3ee191319bf97d87.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-e4bcb2c503dab04b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-300897dcbbd5ed76.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/{page-466bf0ee16ad1432.js → page-a449f1ed472b81c2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/field/{page-a23bc71713bcc08f.js → page-9045094d6d3b5cd0.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-c06673596849ef45.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-103fa3191c1b2e08.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-9f81233f29dcd409.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-be8b4615c919e36c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-c685b104e0dfa609.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-8d693331cfbb6add.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-cef4f30a4c22fae1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-66ea1b54fc83fa15.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/{page-ec102c9b8b691e37.js → page-7a12f61be4a579d1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-c85b0589591a99c9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-725a4da02dd129eb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/{page-f6055495e9ed7ea8.js → page-8cc707bd09a497d9.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-90b55be1f15ce0e8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-cb16606e08be65db.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-16dc64b74ed6a40a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-21bec4afeb2f0917.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/{page-db03ae3589a81c9e.js → page-dc39ee7a36d26385.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/{page-4a6463b97f0ad94f.js → page-84ae759f76053672.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/{page-75bffecc9aa1004e.js → page-3db58ddb61fe2be9.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-c5315e30f3528dc4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/{page-31d5b875760bb62d.js → page-2fe368efb6de3b6a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/{page-c26fa10aac6c21c4.js → page-8d04132dd0ac5e10.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/{page-68793c6e10331d66.js → page-f23484de467c9ea3.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/share/{page-46d5201d2207a511.js → page-c69762987b751174.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-5456692bda39aafb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/{page-be1c4e8697f22360.js → page-d75f7cd65845ce98.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-5603f5e568b25ce3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/today/page-d2cc0f4e89f42028.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/{page-0fd895fab9b62c1b.js → page-a6eb73b8a4840f1c.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-c0a3f4d10edb83fa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/{page-c6e4364d9de8f717.js → page-6c0b88068c143f15.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/{page-0acc8e198f7b0dfb.js → page-7f8d7fcdf058a845.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/{page-34882c84f84021c5.js → page-22163556cd38bc88.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-141436fd26dd56fc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/d70879db.c66c56a95a91efc6.js +66 -0
- package/apps/pwa/out/_next/static/chunks/f8626309.a4e5d362b1d55e59.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-f2b4016b9b981bc8.js +1 -0
- package/apps/pwa/out/_next/static/css/{d3427996da11e480.css → b9d8151e48998417.css} +1 -1
- package/apps/pwa/out/_next/static/css/e81df11490b4413b.css +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +14 -14
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +14 -14
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +14 -14
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +14 -14
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +14 -14
- package/apps/pwa/out/ceo/index.html +1 -1
- package/apps/pwa/out/ceo/index.txt +14 -14
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +14 -14
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +14 -14
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +14 -14
- package/apps/pwa/out/decisions/index.html +1 -1
- package/apps/pwa/out/decisions/index.txt +14 -14
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +14 -14
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +15 -15
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +14 -14
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +14 -14
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +14 -14
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +15 -15
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +14 -14
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +14 -14
- package/apps/pwa/out/live-run/index.html +1 -0
- package/apps/pwa/out/live-run/index.txt +35 -0
- package/apps/pwa/out/loops/index.html +1 -1
- package/apps/pwa/out/loops/index.txt +14 -14
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +14 -14
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +14 -14
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +14 -14
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +14 -14
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +14 -14
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +14 -14
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +14 -14
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +14 -14
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +15 -15
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +14 -14
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +14 -14
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +14 -14
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +14 -14
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +14 -14
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +14 -14
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +14 -14
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +14 -14
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +14 -14
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +14 -14
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +14 -14
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +14 -14
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +14 -14
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +14 -14
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +14 -14
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +14 -14
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +14 -14
- package/graphs/drafts/recipes.yaml +4 -4
- package/graphs/implement-loop.yaml +277 -5
- package/package.json +1 -1
- package/scripts/coord-channel-watch.sh +31 -4
- package/scripts/docs-lint.ts +4 -1
- package/scripts/marketing/generate-ax-brief.ts +18 -1
- package/scripts/measure-nl-routing-corpus.ts +11 -3
- package/scripts/release-loop/gate-node.ts +5 -5
- package/scripts/release-loop/shard-plan.ts +50 -5
- package/scripts/rhythm/daily.ts +2 -1
- package/src/browser-cdp/client.ts +10 -5
- package/src/cli/ops-cli.ts +11 -0
- package/src/cli/ops-overview-cli.ts +50 -0
- package/src/cli/pod-cli.ts +1 -0
- package/src/cli/tasks-cli.ts +106 -0
- package/src/dashboard/index.ts +40 -4
- package/src/esc-abort-gate.ts +3 -1
- package/src/graph-runner/graph-cli.ts +57 -0
- package/src/graph-runner/graph-run-api.ts +13 -0
- package/src/graph-wizard/archetypes.ts +88 -0
- package/src/graph-wizard/generate.ts +545 -0
- package/src/graph-wizard/saved-steps.ts +120 -0
- package/src/graph-wizard/steps.ts +193 -0
- package/src/harness/harness-cli-command.ts +68 -12
- package/src/index.ts +7 -4
- package/src/intake-plane/digest.ts +18 -11
- package/src/maturity/feature-maturity.ts +2 -1
- package/src/nexus/api/draft-metrics.ts +114 -0
- package/src/nexus/api/graph-wizard-api.ts +53 -0
- package/src/nexus/api/graphs-api.ts +50 -12
- package/src/nexus/api/harness-traversal.ts +205 -0
- package/src/nexus/api/http-server.ts +31 -0
- package/src/nexus/outbound/router.ts +28 -8
- package/src/onboarding/first-run.ts +3 -0
- package/src/ops/overview-collect.ts +345 -0
- package/src/ops/overview-seat-era.ts +90 -0
- package/src/ops/overview.ts +223 -0
- package/src/release-loop/gate-shards.ts +7 -2
- package/src/self-dev/ask-launch-flow.ts +4 -2
- package/src/self-dev/ask-launch-io.ts +3 -1
- package/src/self-dev/graph-journey-nodes.ts +157 -0
- package/src/self-dev/graph-journey-route.ts +105 -0
- package/src/self-dev/launch-preflight.ts +43 -3
- package/src/self-dev/release-path-guard.ts +7 -4
- package/src/self-implement/frozen-merges.ts +23 -0
- package/src/self-implement/goal-author.ts +14 -0
- package/src/self-implement/heal-intake.ts +3 -0
- package/src/self-implement/orchestrator.ts +16 -1
- package/src/self-implement/seams.ts +3 -0
- package/src/self-implement/self-implement-runtime.ts +12 -0
- package/src/session-runtime/index.ts +5 -3
- package/src/shell-env-bootstrap.ts +17 -3
- package/src/task-agent/card-evidence.ts +6 -0
- package/src/task-agent/parent-host.ts +315 -0
- package/src/task-agent/task-hand.ts +9 -2
- package/src/task-orchestrator/surfaces/pod-command-job.ts +41 -6
- package/src/task-orchestrator/surfaces/pod-gate-deps.ts +123 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +39 -6
- package/src/tool-runtime/browser-runtime.ts +87 -3
- package/src/tool-runtime/index.ts +1 -0
- package/src/user-config.ts +20 -4
- package/src/version/packed-revision.json +1 -1
- package/apps/pwa/out/_next/static/Bam1YziK2iH9bN4K0utGk/_buildManifest.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1612-f60c0c93ec773f81.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1844-9ec4b1d12f6e80eb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1866-e7a6999f25548b30.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1948.15f356b15a625597.js +0 -5
- package/apps/pwa/out/_next/static/chunks/2116-6429c188eb846ab8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/224-e7be8f762fe74986.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2549-89c518a4c8ed4d00.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2957-96ffab3d521fb08f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5360-be1f1d8f9fcc9755.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5755-ea7ed88eb956f47b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5977-94ed6f78e9814b2b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7748-6e51bfe927019f5c.js +0 -25
- package/apps/pwa/out/_next/static/chunks/9247-c1753a059e7bac08.js +0 -1
- package/apps/pwa/out/_next/static/chunks/a9f2b54d-33c0689b70ed8cf3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-c855c24de7db74fe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-c5a5c621be0e04ae.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-7c058069c5e7fa63.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-dc5da0b8a2edb8a4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-ed4a6f799f005d09.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-9cd565005b93aca6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-55f0f40c6db95f15.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-474cb5888ea0e8f3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/loops/page-35bfec2e631d3eae.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-9ca21f9ad3208a61.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-f9ccb1b1adbea14d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-a9c2cfa8dda922a5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-6da35144878feb6d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-25204694fa9984a5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-a60e035f151d84d3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-189c587f36874538.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-c56634bde705a65d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-a8d2fe0c669e0de4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-d81c07a7b4f618ae.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-cf0a4b4abead71ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-a4717e2c4bf7a28f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-8b6c1454a8e8f306.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-0506a1e0e4bdb2f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-c260571513bf43c2.js +0 -1
- package/apps/pwa/out/_next/static/css/c23d959d3ee15e57.css +0 -1
- /package/apps/pwa/out/_next/static/{Bam1YziK2iH9bN4K0utGk → MObU8ujkMciAKr6ljAV05}/_ssgManifest.js +0 -0
- /package/skills/project-onboarding/{skill.md → SKILL.md} +0 -0
|
@@ -59,6 +59,8 @@ import { homedir } from 'node:os';
|
|
|
59
59
|
import { isAbsolute, join, normalize, relative, resolve, sep } from 'node:path';
|
|
60
60
|
import { findGitDir } from '../../git-fs/locate.js';
|
|
61
61
|
import { debug } from '../../debug/log.js';
|
|
62
|
+
import { enterJourneyNode, exitJourneyNode, passJourneyNode } from '../../self-dev/graph-journey-nodes.js';
|
|
63
|
+
import { routeJourneyEdge } from '../../self-dev/graph-journey-route.js';
|
|
62
64
|
import { selectLiveDetail } from '../../live/detail-switch.js';
|
|
63
65
|
import { authStorePath } from '../../oauth/store.js';
|
|
64
66
|
import { grokAuthFilePath, isGrokSubscriptionExpiring, refreshGrokSubscriptionToken, resolveGrokCredential } from '../../grok/credential.js';
|
|
@@ -1066,9 +1068,27 @@ export function podSelfImplementSpawn(options: PodSpawnOptions = {}): SelfImplem
|
|
|
1066
1068
|
: { exitCode: null, output: '', error: { code: 'aborted', message: 'aborted before a pool slot opened' } };
|
|
1067
1069
|
const unfitDone = await unfitFailure();
|
|
1068
1070
|
if (unfitDone) return unfitDone;
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1071
|
+
// HARNESS-FULL-GRAPH — Pod 입장(입장 관문 ⊕ 멤버 슬롯)은 그래프 노드 pool-admit 이다.
|
|
1072
|
+
// 2판: decompose →(substrate=pod) pool-admit 간선은 «여기»(Pod 입장 직전 · 실제 단계 경계)에서 남긴다.
|
|
1073
|
+
routeJourneyEdge('decompose', 'pod', { substrate: 'pod' });
|
|
1074
|
+
enterJourneyNode('pool-admit', { provenance: 'self-implement-pod', data: { spaceId: input.spaceId } });
|
|
1075
|
+
// ⛔ 감싸는 함수(async 래퍼)를 쓰지 않는다 — 마이크로태스크가 늘면 Job apply 순서가 밀린다(시험이 잡았다). 같은 자리 try/catch 로.
|
|
1076
|
+
const podAdmitError = (error: unknown): void => {
|
|
1077
|
+
exitJourneyNode('pool-admit', { provenance: 'self-implement-pod', outcome: 'error', data: { spaceId: input.spaceId, error: error instanceof Error ? error.message : String(error) } });
|
|
1078
|
+
};
|
|
1079
|
+
let admitted: boolean;
|
|
1080
|
+
try { admitted = await acquireAdmission(); } catch (error) { podAdmitError(error); throw error; }
|
|
1081
|
+
if (!admitted) {
|
|
1082
|
+
exitJourneyNode('pool-admit', { provenance: 'self-implement-pod', outcome: 'refused', data: { spaceId: input.spaceId, reason: 'admission' } });
|
|
1083
|
+
return admissionFailure();
|
|
1084
|
+
}
|
|
1085
|
+
let member: PodPoolMember | null;
|
|
1086
|
+
try { member = await acquireSlot(); } catch (error) { podAdmitError(error); throw error; }
|
|
1087
|
+
if (options.pool && !member) {
|
|
1088
|
+
exitJourneyNode('pool-admit', { provenance: 'self-implement-pod', outcome: 'refused', data: { spaceId: input.spaceId, reason: 'no-slot' } });
|
|
1089
|
+
return { exitCode: null, output: '', error: { code: 'aborted', message: 'aborted before a pool slot opened' } };
|
|
1090
|
+
}
|
|
1091
|
+
exitJourneyNode('pool-admit', { provenance: 'self-implement-pod', outcome: 'admitted', data: { spaceId: input.spaceId, ...(member ? { context: member.context } : {}) } });
|
|
1072
1092
|
const currentContext = member ? null : baseKubectl(['config', 'current-context']);
|
|
1073
1093
|
let context = member?.context ?? (currentContext?.status === 0 ? currentContext.stdout.trim() : '');
|
|
1074
1094
|
const kubectl: Kubectl = (args, stdin) => baseKubectl(['--context', context, ...args], stdin);
|
|
@@ -1135,10 +1155,17 @@ export function podSelfImplementSpawn(options: PodSpawnOptions = {}): SelfImplem
|
|
|
1135
1155
|
};
|
|
1136
1156
|
const candidates = grok ? [] : plannedCodexAccounts ?? [plannedAccount];
|
|
1137
1157
|
const usable: Array<{ name: string; credential: ReturnType<typeof accountCredentials> }> = [];
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1158
|
+
enterJourneyNode('credential-refresh', { provenance: 'self-implement-pod', data: { spaceId: input.spaceId, candidates: candidates.length } });
|
|
1159
|
+
try {
|
|
1160
|
+
for (const candidate of candidates) {
|
|
1161
|
+
const credential = await podCodexCredentialWithPrerefresh(candidate, prerefreshDeps);
|
|
1162
|
+
if (credential) usable.push({ name: candidate, credential });
|
|
1163
|
+
}
|
|
1164
|
+
} catch (error) {
|
|
1165
|
+
exitJourneyNode('credential-refresh', { provenance: 'self-implement-pod', outcome: 'error', data: { spaceId: input.spaceId, error: error instanceof Error ? error.message : String(error) } });
|
|
1166
|
+
throw error;
|
|
1141
1167
|
}
|
|
1168
|
+
exitJourneyNode('credential-refresh', { provenance: 'self-implement-pod', outcome: grok || usable.length > 0 ? 'usable' : 'exhausted', data: { spaceId: input.spaceId, usable: usable.length } });
|
|
1142
1169
|
if (!grok && usable.length === 0) throw new Error(`openai-codex 후보(${candidates.join(', ')}) access token 이 전부 3시간 안에 만료 — 선갱신도 못 했다(본부 임대 없음 또는 갱신 실패 · pod.credential-prerefresh 를 보라)`);
|
|
1143
1170
|
const account = grok ? plannedAccount : usable[0]!.name;
|
|
1144
1171
|
if (account !== plannedAccount) debug.log('self-implement.pod', 'account-skipped-expiring', { spaceId: input.spaceId, from: plannedAccount, to: account });
|
|
@@ -1725,6 +1752,12 @@ export function podSelfImplementSpawn(options: PodSpawnOptions = {}): SelfImplem
|
|
|
1725
1752
|
// SCHED-CONTRACT: a failed child must say why outside the Pod, not «no error diagnostic».
|
|
1726
1753
|
const podReason = podExitCode === 1 ? extractPodFailureReason({ logs, logTailReason, containerReason, jobReason: failedReason || undefined, deadlineSeconds, result: disposition ? { stage: disposition.stage, prUrl: disposition.prUrl ?? null, prNumber: disposition.prNumber ?? null } : null }) : undefined;
|
|
1727
1754
|
if (podReason) debug.log('self-implement.pod', 'failure-reason', { job: name, reason: podReason });
|
|
1755
|
+
if (podExitCode === 1) {
|
|
1756
|
+
// HARNESS-FULL-GRAPH — 실패 쪽 두 노드: 결과 해석(result-parse) → 수확(salvage, Pod Job 이 push 한 줄로 판정).
|
|
1757
|
+
passJourneyNode('result-parse', { provenance: 'self-implement-pod', outcome: podReason ? 'parsed' : 'no-reason', data: { job: name } });
|
|
1758
|
+
const salvageOutcome = /^ELANOUS_POD_SALVAGE \S+ \S+$/m.test(logs) ? 'pushed' : logs.includes('ELANOUS_POD_SALVAGE_NONE') ? 'none' : 'unknown';
|
|
1759
|
+
passJourneyNode('salvage', { provenance: 'self-implement-pod', outcome: salvageOutcome, data: { job: name } });
|
|
1760
|
+
}
|
|
1728
1761
|
return {
|
|
1729
1762
|
exitCode: podExitCode,
|
|
1730
1763
|
output: tail,
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
// D1). It holds a lazy singleton per elanous process: first call
|
|
17
17
|
// spawns Chrome, subsequent calls reuse; the client lives until the
|
|
18
18
|
// process exits or `closeBrowserRuntime()` is invoked.
|
|
19
|
+
// BrowserRead remains read-only. An explicitly requested BrowserNavigate
|
|
20
|
+
// input asks a person through the HITL confirmation channels only and fails
|
|
21
|
+
// closed without approval. The shell-command approver is never consulted: an
|
|
22
|
+
// unattended surface may auto-allow shell patterns, which must not type into a page.
|
|
23
|
+
// Click still runs through performBrowserAction in src/harness/browser-act.ts,
|
|
24
|
+
// where armed, reversibility and host-boundary checks precede CdpClient.click.
|
|
19
25
|
|
|
20
26
|
import type { CdpClient } from '../browser-cdp/client.js';
|
|
21
27
|
import { createCdpClient, CdpUnavailable } from '../browser-cdp/client.js';
|
|
@@ -24,6 +30,9 @@ import { defaultControlSignalBus } from '../input/control-signal.js';
|
|
|
24
30
|
import type { LLMToolSpec } from '../llm.js';
|
|
25
31
|
import { debug } from '../debug/log.js';
|
|
26
32
|
import { getHarnessRunId } from '../harness/harness-space.js';
|
|
33
|
+
import { decideTypeAction } from '../harness/browser-act-type.js';
|
|
34
|
+
import { requestConfirmation } from '../hitl/confirm.js';
|
|
35
|
+
import type { TypeTarget } from '../harness/bot-type-request.js';
|
|
27
36
|
import type { ToolRuntime, ToolRuntimeContext } from './types.js';
|
|
28
37
|
|
|
29
38
|
// ─── Dependency injection ───────────────────────────────────────
|
|
@@ -116,6 +125,8 @@ export async function closeBrowserRuntime(): Promise<void> {
|
|
|
116
125
|
export interface BrowserNavigateArgs {
|
|
117
126
|
/** Absolute URL. Scheme required. */
|
|
118
127
|
url: string;
|
|
128
|
+
/** Input requires a selected target and explicit approval; no form submission. */
|
|
129
|
+
input?: { selector: string; text: string };
|
|
119
130
|
/** When true, block until Page.loadEventFired (or timeoutMs).
|
|
120
131
|
* Default true. */
|
|
121
132
|
waitForLoad?: boolean;
|
|
@@ -147,6 +158,16 @@ export function buildBrowserNavigateTool(): LLMToolSpec {
|
|
|
147
158
|
type: 'string',
|
|
148
159
|
description: 'Absolute URL including scheme (https://...). about:blank also accepted.',
|
|
149
160
|
},
|
|
161
|
+
input: {
|
|
162
|
+
type: 'object',
|
|
163
|
+
description: 'Type into a selected page field only after explicit approval. Never submits a form.',
|
|
164
|
+
properties: {
|
|
165
|
+
selector: { type: 'string', description: 'CSS selector of the input field.' },
|
|
166
|
+
text: { type: 'string', description: 'Text without newlines (at most 200 characters).' },
|
|
167
|
+
},
|
|
168
|
+
required: ['selector', 'text'],
|
|
169
|
+
additionalProperties: false,
|
|
170
|
+
},
|
|
150
171
|
waitForLoad: {
|
|
151
172
|
type: 'boolean',
|
|
152
173
|
description: 'Wait for Page.loadEventFired before returning. Default true.',
|
|
@@ -165,9 +186,33 @@ export function buildBrowserNavigateTool(): LLMToolSpec {
|
|
|
165
186
|
const DEFAULT_NAV_TIMEOUT_MS = 10_000;
|
|
166
187
|
const MAX_NAV_TIMEOUT_MS = 60_000;
|
|
167
188
|
|
|
168
|
-
export async function dispatchBrowserNavigate(args: BrowserNavigateArgs): Promise<BrowserNavigateResult> {
|
|
189
|
+
export async function dispatchBrowserNavigate(args: BrowserNavigateArgs, ctx?: ToolRuntimeContext): Promise<BrowserNavigateResult> {
|
|
169
190
|
ensureBrowserControlSignalConsumer();
|
|
170
191
|
const url = String(args.url ?? '').trim();
|
|
192
|
+
const input = args.input;
|
|
193
|
+
// Input is never an implicit side effect of navigation. Approval is scoped
|
|
194
|
+
// to this URL, selector and text, before connecting or dispatching CDP.
|
|
195
|
+
if (input !== undefined) {
|
|
196
|
+
if (typeof input.selector !== 'string' || !input.selector.trim()
|
|
197
|
+
|| typeof input.text !== 'string' || !input.text.trim()
|
|
198
|
+
|| /[\r\n]/.test(input.text) || input.text.length > 200) {
|
|
199
|
+
return { output: '# BrowserNavigate: invalid input', finalUrl: '', title: '', loadMs: 0 };
|
|
200
|
+
}
|
|
201
|
+
let httpUrl = false;
|
|
202
|
+
try { httpUrl = ['http:', 'https:'].includes(new URL(url).protocol); } catch { /* invalid URL */ }
|
|
203
|
+
if (!httpUrl) return { output: '# BrowserNavigate: invalid input URL', finalUrl: '', title: '', loadMs: 0 };
|
|
204
|
+
let approved = false;
|
|
205
|
+
try {
|
|
206
|
+
// Human confirmation only — `ctx.approver` is the shell-command approver (TC review of #24990).
|
|
207
|
+
approved = (await requestConfirmation({
|
|
208
|
+
prompt: `Browser input on ${url}`,
|
|
209
|
+
detail: `Selector: ${input.selector}\nText: ${input.text}`,
|
|
210
|
+
...(ctx?.confirmChannels ? { channels: ctx.confirmChannels } : {}),
|
|
211
|
+
onTimeout: () => false,
|
|
212
|
+
})).answer === true;
|
|
213
|
+
} catch { /* approval failure is denial */ }
|
|
214
|
+
if (!approved) return { output: '# BrowserNavigate: input not approved', finalUrl: '', title: '', loadMs: 0 };
|
|
215
|
+
}
|
|
171
216
|
if (!url) {
|
|
172
217
|
observeBrowserAction({ action: 'navigate', url: '', target: 'url', ok: false, error: 'url is required' });
|
|
173
218
|
return { output: '# BrowserNavigate: error\nurl is required', finalUrl: '', title: '', loadMs: 0 };
|
|
@@ -233,6 +278,45 @@ export async function dispatchBrowserNavigate(args: BrowserNavigateArgs): Promis
|
|
|
233
278
|
timedOut = r.timedOut;
|
|
234
279
|
}
|
|
235
280
|
|
|
281
|
+
if (input !== undefined) {
|
|
282
|
+
try {
|
|
283
|
+
if (!client.input) throw new Error('CDP input unavailable');
|
|
284
|
+
const currentUrl = await client.evaluate('document.location.href');
|
|
285
|
+
if (currentUrl !== new URL(url).href) throw new Error('CDP input refused: page URL changed after approval');
|
|
286
|
+
const inspected = await client.evaluate(`(() => {
|
|
287
|
+
const element = document.querySelector(${JSON.stringify(input.selector)});
|
|
288
|
+
if (!(element instanceof HTMLElement)) return null;
|
|
289
|
+
return { tag: element.tagName.toLowerCase(),
|
|
290
|
+
type: element instanceof HTMLInputElement ? element.type : null,
|
|
291
|
+
name: element.getAttribute('name'), id: element.getAttribute('id'),
|
|
292
|
+
contentEditable: element.isContentEditable, inForm: !!element.closest('form') };
|
|
293
|
+
})()`);
|
|
294
|
+
const candidate = inspected && typeof inspected === 'object' ? inspected as Record<string, unknown> : null;
|
|
295
|
+
const target: TypeTarget | null = candidate
|
|
296
|
+
&& typeof candidate.tag === 'string'
|
|
297
|
+
&& (candidate.type === null || typeof candidate.type === 'string')
|
|
298
|
+
&& (candidate.name === null || typeof candidate.name === 'string')
|
|
299
|
+
&& (candidate.id === null || typeof candidate.id === 'string')
|
|
300
|
+
&& typeof candidate.contentEditable === 'boolean' && typeof candidate.inForm === 'boolean'
|
|
301
|
+
? candidate as TypeTarget : null;
|
|
302
|
+
const verdict = decideTypeAction({ url, selector: input.selector, text: input.text,
|
|
303
|
+
// The caller's approval is for this exact URL; it cannot authorize a different host.
|
|
304
|
+
actionHosts: [new URL(url).hostname], armed: true, target });
|
|
305
|
+
if (!verdict.allowed) throw new Error(verdict.reason);
|
|
306
|
+
const focused = await client.evaluate(`(() => {
|
|
307
|
+
const element = document.querySelector(${JSON.stringify(input.selector)});
|
|
308
|
+
if (!(element instanceof HTMLElement)) return false;
|
|
309
|
+
element.focus();
|
|
310
|
+
return document.activeElement === element;
|
|
311
|
+
})()`);
|
|
312
|
+
if (focused !== true) throw new Error('CDP input target could not be focused');
|
|
313
|
+
await client.input(input.text);
|
|
314
|
+
} catch (err) {
|
|
315
|
+
return { output: `# BrowserNavigate: input error\n${err instanceof Error ? err.message : String(err)}`,
|
|
316
|
+
finalUrl: url, title: '', loadMs: Date.now() - started };
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
236
320
|
const loadMs = Date.now() - started;
|
|
237
321
|
|
|
238
322
|
// Best-effort metadata. Errors here don't abort the tool.
|
|
@@ -255,8 +339,8 @@ export async function dispatchBrowserNavigate(args: BrowserNavigateArgs): Promis
|
|
|
255
339
|
export const browserNavigateRuntime: ToolRuntime<BrowserNavigateArgs, BrowserNavigateResult> = {
|
|
256
340
|
id: 'browser_navigate',
|
|
257
341
|
spec: buildBrowserNavigateTool(),
|
|
258
|
-
async run(req,
|
|
259
|
-
return dispatchBrowserNavigate(req);
|
|
342
|
+
async run(req, ctx: ToolRuntimeContext) {
|
|
343
|
+
return dispatchBrowserNavigate(req, ctx);
|
|
260
344
|
},
|
|
261
345
|
};
|
|
262
346
|
|
|
@@ -177,6 +177,7 @@ export { setWorktreeRuntimeDeps } from './git-worktree-runtimes.js';
|
|
|
177
177
|
export {
|
|
178
178
|
setSelfImplementApprover,
|
|
179
179
|
setSelfImplementRuntimeDeps,
|
|
180
|
+
setSelfImplementSoftStopSpaceObserver,
|
|
180
181
|
} from '../self-implement/self-implement-runtime.js';
|
|
181
182
|
export {
|
|
182
183
|
setTerminalSessionsGetter,
|
package/src/user-config.ts
CHANGED
|
@@ -3743,7 +3743,7 @@ export interface UserConfig {
|
|
|
3743
3743
|
guardian?: { mode?: 'shadow' | 'live' };
|
|
3744
3744
|
/** TA-JUDGE-LIVE-SAFE: task-agent judge moves executed for real. Only `review` · `propose-green` are honoured
|
|
3745
3745
|
* (`src/task-agent/live-moves.ts` drops anything else with a warning). Absent = env ELANOUS_TASK_AGENT_LIVE_MOVES, else none (pure shadow). */
|
|
3746
|
-
taskAgent?: { liveMoves?: string[] };
|
|
3746
|
+
taskAgent?: { liveMoves?: string[]; parentHost?: { host?: string; cwd?: string; elanous?: string; configDir?: string; podPool?: string } };
|
|
3747
3747
|
events?: EventsConfig;
|
|
3748
3748
|
/** GATE-REMOTE — see GateRemoteConfig. Absent = defaults (auto on · node-b · load 20 · cap 2). */
|
|
3749
3749
|
gateRemote?: GateRemoteConfig;
|
|
@@ -4022,21 +4022,37 @@ function parseAutoReviewConfig(raw: unknown): AutoReviewConfig | undefined {
|
|
|
4022
4022
|
}
|
|
4023
4023
|
|
|
4024
4024
|
/** Keeps `taskAgent.liveMoves` as raw strings — the allow-list (and the unknown-entry warning) lives in the task agent. */
|
|
4025
|
+
/** HARNESS-PARENT-ON-MSB1 — `taskAgent.parentHost` (기본 없음 = 끔). 문자열 칸만 받는다. */
|
|
4026
|
+
function parseTaskAgentParentHost(raw: unknown): NonNullable<UserConfig['taskAgent']>['parentHost'] {
|
|
4027
|
+
if (raw === undefined) return undefined;
|
|
4028
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
4029
|
+
warnUserConfigDrop('taskAgent.parentHost', '객체가 아니다 — 버림(로컬 발사)');
|
|
4030
|
+
return undefined;
|
|
4031
|
+
}
|
|
4032
|
+
const out: Record<string, string> = {};
|
|
4033
|
+
for (const key of ['host', 'cwd', 'elanous', 'configDir', 'podPool'] as const) {
|
|
4034
|
+
const value = (raw as Record<string, unknown>)[key];
|
|
4035
|
+
if (typeof value === 'string' && value.trim()) out[key] = value.trim();
|
|
4036
|
+
}
|
|
4037
|
+
return out;
|
|
4038
|
+
}
|
|
4039
|
+
|
|
4025
4040
|
function parseTaskAgentConfig(raw: unknown): UserConfig['taskAgent'] {
|
|
4026
4041
|
if (raw === undefined) return undefined;
|
|
4027
4042
|
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
4028
4043
|
warnUserConfigDrop('taskAgent', '섹션이 객체가 아니다 — 버림');
|
|
4029
4044
|
return undefined;
|
|
4030
4045
|
}
|
|
4046
|
+
const parentHost = parseTaskAgentParentHost((raw as Record<string, unknown>).parentHost);
|
|
4031
4047
|
const liveMoves = (raw as Record<string, unknown>).liveMoves;
|
|
4032
|
-
if (liveMoves === undefined) return undefined;
|
|
4048
|
+
if (liveMoves === undefined) return parentHost ? { parentHost } : undefined;
|
|
4033
4049
|
// 설정이 «있으면» 환경 변수로 내려가지 않는다 — 배열이 아니면 빈 목록(fail-closed), 문자열 밖 항목은 글자로 바꿔 넘겨
|
|
4034
4050
|
// 실행부가 «모르는 항목»으로 경고하고 버리게 한다(유효한 항목은 산다).
|
|
4035
4051
|
if (!Array.isArray(liveMoves)) {
|
|
4036
4052
|
warnUserConfigDrop('taskAgent.liveMoves', '배열이 아니다 — 빈 목록(실행 0)');
|
|
4037
|
-
return { liveMoves: [] };
|
|
4053
|
+
return { liveMoves: [], ...(parentHost ? { parentHost } : {}) };
|
|
4038
4054
|
}
|
|
4039
|
-
return { liveMoves: liveMoves.map((entry) => typeof entry === 'string' ? entry : JSON.stringify(entry) ?? String(entry)) };
|
|
4055
|
+
return { liveMoves: liveMoves.map((entry) => typeof entry === 'string' ? entry : JSON.stringify(entry) ?? String(entry)), ...(parentHost ? { parentHost } : {}) };
|
|
4040
4056
|
}
|
|
4041
4057
|
|
|
4042
4058
|
function parseGuardianConfig(raw: unknown): UserConfig['guardian'] {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"commit":"
|
|
1
|
+
{"commit":"7d04a88523648e6883e3c1888f1df2ac59944696"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:46,errorRate:1e-4,numBits:882,numHashes:14,bitArray:[1,1,0,e,0,r,e,r,r,e,r,e,r,r,r,e,e,e,r,e,r,e,e,r,e,e,r,e,r,r,e,r,e,e,r,r,e,e,e,r,r,e,r,r,e,r,e,r,r,r,e,r,e,r,r,e,r,e,e,r,e,e,r,r,e,r,r,e,e,e,r,e,e,e,e,r,e,e,e,r,e,e,r,r,r,e,r,r,r,e,e,e,r,r,e,e,r,r,e,r,r,e,r,r,r,e,r,r,r,e,r,e,e,e,r,e,r,e,e,r,e,e,r,e,r,r,e,e,e,e,e,r,e,e,r,e,r,r,r,r,r,r,e,r,e,e,e,e,e,r,r,e,r,e,r,e,e,e,r,r,e,e,r,e,r,e,r,e,r,r,r,r,r,r,r,e,r,e,r,r,e,r,r,r,e,r,r,r,r,e,e,e,e,e,r,e,r,e,e,e,r,r,r,r,e,e,e,e,r,r,e,e,r,e,e,e,e,e,r,e,e,e,e,e,r,e,r,r,e,r,r,r,e,r,e,r,r,e,r,r,e,e,e,e,r,r,r,e,e,r,e,r,r,r,r,r,e,r,e,r,e,r,r,r,e,e,e,r,e,e,r,r,e,e,e,e,r,e,e,r,r,e,e,r,r,r,r,r,e,r,r,r,e,e,r,r,e,r,e,r,e,r,r,e,e,e,e,e,r,r,e,r,e,e,r,e,e,e,e,e,e,r,e,e,r,e,e,r,r,e,r,r,e,r,r,e,e,e,e,e,r,r,r,r,e,e,e,e,e,e,e,e,r,e,r,r,r,r,e,e,r,e,r,r,e,r,r,e,r,r,r,e,e,r,e,e,e,e,e,e,r,r,e,r,r,r,r,r,e,e,e,e,r,e,r,e,e,e,r,r,e,e,r,r,e,r,e,e,e,e,r,e,r,e,r,e,e,e,r,e,e,e,e,e,r,r,r,r,e,r,e,r,r,r,r,r,e,r,r,r,e,e,e,e,r,e,r,r,e,r,e,r,r,e,e,r,e,r,e,e,r,r,e,e,e,e,e,r,e,r,e,r,e,r,r,r,e,r,r,e,r,r,r,e,e,e,r,e,e,e,e,r,r,e,r,r,e,e,e,r,r,r,r,r,e,e,r,e,r,e,r,r,r,e,r,e,e,e,r,r,r,e,e,e,e,e,r,e,r,r,r,e,r,e,e,r,r,r,r,r,e,e,e,r,e,e,e,r,e,r,r,r,r,e,e,e,r,r,e,r,r,e,e,r,e,r,r,r,e,r,e,r,e,e,e,e,e,e,e,e,e,r,e,e,r,r,r,e,e,r,e,e,e,e,e,e,r,r,e,e,r,e,e,r,e,e,e,r,e,e,r,r,e,e,e,r,r,r,e,e,r,r,e,r,e,r,r,r,r,e,r,r,r,e,e,e,e,e,r,e,r,r,e,e,r,e,r,e,r,r,r,e,r,r,r,r,r,e,e,r,r,r,e,r,r,r,e,r,e,r,r,e,r,e,e,e,e,e,e,e,e,r,e,r,r,r,e,r,e,e,e,e,e,r,e,r,e,r,e,r,r,e,r,e,e,r,e,r,e,r,e,e,r,e,e,e,r,e,e,e,r,e,e,r,r,e,r,r,r,r,r,e,e,r,e,r,r,r,e,r,r,r,r,e,r,e,e,e,e,e,e,e,e,r,e,r,r,r,e,r,r,r,e,r,r,r,e,e,e,r,r,r,r,r,r,e,e,e,e,r,e,r,r,e,r,r,r,r,e,r,e,r,r,r,e,r,r,e,r,e,e,r,e,r,e,e,r,e,e,e,r,r,r,r,r,e,r,r,r,e,e,e,e,r,e,r,r,r,r,r,e,e,e,r,e,r,e,e,e,r,e,r,r,e,e,r,e,r,e,e,r,r,r,e,e,r,r,r,e,e,r,e,e,e,e,e,e,e,r,e,e,r,e,r,e,e,e,r,e,r,e,r]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,r,r,e,e,e,r,r,e,e,r,r,e,e,r,e,r,r,r]},"/_error":["static/chunks/pages/_error-6af8591cd3a3f038.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1612],{5500:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("layers-2",[["path",{d:"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z",key:"15q6uc"}],["path",{d:"m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845",key:"byia6g"}]])},13080:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]])},17873:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},19027:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]])},20931:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("git-pull-request",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]])},22403:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]])},24982:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},26879:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]])},31826:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},32030:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},33932:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},35308:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},36744:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("calendar-clock",[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]])},40828:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},46044:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},53987:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},65962:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("sliders-vertical",[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]])},73855:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},74227:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},76340:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("square-kanban",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}]])},91123:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},91925:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},94476:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(3704).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1844],{3704:(e,t,r)=>{r.d(t,{A:()=>h});var s=r(46124);let i=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var u={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,s.createContext)({}),l=(0,s.forwardRef)((e,t)=>{var r,n,l;let{color:h,size:c,strokeWidth:o,absoluteStrokeWidth:d,className:p="",children:f,iconNode:y,...R}=e,{size:v=24,strokeWidth:m=2,absoluteStrokeWidth:b=!1,color:Q="currentColor",className:g=""}=null!=(r=(0,s.useContext)(a))?r:{},I=(null!=d?d:b)?24*Number(null!=o?o:m)/Number(null!=c?c:v):null!=o?o:m;return(0,s.createElement)("svg",{ref:t,...u,width:null!=(n=null!=c?c:v)?n:u.width,height:null!=(l=null!=c?c:v)?l:u.height,stroke:null!=h?h:Q,strokeWidth:I,className:i("lucide",g,p),...!f&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(R)&&{"aria-hidden":"true"},...R},[...y.map(e=>{let[t,r]=e;return(0,s.createElement)(t,r)}),...Array.isArray(f)?f:[f]])}),h=(e,t)=>{let r=(0,s.forwardRef)((r,u)=>{let{className:a,...h}=r;return(0,s.createElement)(l,{ref:u,iconNode:t,className:i("lucide-".concat(n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),a),...h})});return r.displayName=n(e),r}},21501:(e,t,r)=>{r.d(t,{I:()=>g});var s=r(58824),i=r(11423),n=r(92477),u=r(67948),a=r(33814),l=r(56544),h=r(40404),c=r(51649),o=class extends a.Q{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#r=(0,l.T)(),this.bindMethods(),this.setOptions(t)}#e;#s=void 0;#i=void 0;#n=void 0;#u;#a;#r;#t;#l;#h;#c;#o;#d;#p;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#s.addObserver(this),d(this.#s,this.options)?this.#y():this.updateResult(),this.#R())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return p(this.#s,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return p(this.#s,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#v(),this.#m(),this.#s.removeObserver(this)}setOptions(e){let t=this.options,r=this.#s;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,h.nU)(this.options.enabled,this.#s))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#b(),this.#s.setOptions(this.options),t._defaulted&&!(0,h.f8)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#s,observer:this});let s=this.hasListeners();s&&f(this.#s,r,this.options,t)&&this.#y(),this.updateResult(),s&&(this.#s!==r||(0,h.nU)(this.options.enabled,this.#s)!==(0,h.nU)(t.enabled,this.#s)||(0,h.d2)(this.options.staleTime,this.#s)!==(0,h.d2)(t.staleTime,this.#s))&&this.#Q();let i=this.#g();s&&(this.#s!==r||(0,h.nU)(this.options.enabled,this.#s)!==(0,h.nU)(t.enabled,this.#s)||i!==this.#p)&&this.#I(i)}getOptimisticResult(e){var t,r;let s=this.#e.getQueryCache().build(this.#e,e),i=this.createResult(s,e);return t=this,r=i,(0,h.f8)(t.getCurrentResult(),r)||(this.#n=i,this.#a=this.options,this.#u=this.#s.state),i}getCurrentResult(){return this.#n}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#r.status||this.#r.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#s}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#y({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#y(e){this.#b();let t=this.#s.fetch(this.options,e);return e?.throwOnError||(t=t.catch(h.lQ)),t}#Q(){this.#v();let e=(0,h.d2)(this.options.staleTime,this.#s);if(i.H.isServer()||this.#n.isStale||!(0,h.gn)(e))return;let t=(0,h.j3)(this.#n.dataUpdatedAt,e);this.#o=c.zs.setTimeout(()=>{this.#n.isStale||this.updateResult()},t+1)}#g(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#s):this.options.refetchInterval)??!1}#I(e){this.#m(),this.#p=e,!i.H.isServer()&&!1!==(0,h.nU)(this.options.enabled,this.#s)&&(0,h.gn)(this.#p)&&0!==this.#p&&(this.#d=c.zs.setInterval(()=>{(this.options.refetchIntervalInBackground||s.m.isFocused())&&this.#y()},this.#p))}#R(){this.#Q(),this.#I(this.#g())}#v(){void 0!==this.#o&&(c.zs.clearTimeout(this.#o),this.#o=void 0)}#m(){void 0!==this.#d&&(c.zs.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let r,s=this.#s,i=this.options,n=this.#n,a=this.#u,c=this.#a,o=e!==s?e.state:this.#i,{state:p}=e,R={...p},v=!1;if(t._optimisticResults){let r=this.hasListeners(),n=!r&&d(e,t),a=r&&f(e,s,t,i);(n||a)&&(R={...R,...(0,u.k)(p.data,e.options)}),"isRestoring"===t._optimisticResults&&(R.fetchStatus="idle")}let{error:m,errorUpdatedAt:b,status:Q}=R;r=R.data;let g=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===Q){let e;n?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=n.data,g=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#c?.state.data,this.#c):t.placeholderData,void 0!==e&&(Q="success",r=(0,h.pl)(n?.data,e,t),v=!0)}if(t.select&&void 0!==r&&!g)if(n&&r===a?.data&&t.select===this.#l)r=this.#h;else try{this.#l=t.select,r=t.select(r),r=(0,h.pl)(n?.data,r,t),this.#h=r,this.#t=null}catch(e){this.#t=e}this.#t&&(m=this.#t,r=this.#h,b=Date.now(),Q="error");let I="fetching"===R.fetchStatus,O="pending"===Q,C="error"===Q,T=O&&I,w=void 0!==r,S={status:Q,fetchStatus:R.fetchStatus,isPending:O,isSuccess:"success"===Q,isError:C,isInitialLoading:T,isLoading:T,data:r,dataUpdatedAt:R.dataUpdatedAt,error:m,errorUpdatedAt:b,failureCount:R.fetchFailureCount,failureReason:R.fetchFailureReason,errorUpdateCount:R.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:R.dataUpdateCount>o.dataUpdateCount||R.errorUpdateCount>o.errorUpdateCount,isFetching:I,isRefetching:I&&!O,isLoadingError:C&&!w,isPaused:"paused"===R.fetchStatus,isPlaceholderData:v,isRefetchError:C&&w,isStale:y(e,t),refetch:this.refetch,promise:this.#r,isEnabled:!1!==(0,h.nU)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==S.data,r="error"===S.status&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},n=()=>{i(this.#r=S.promise=(0,l.T)())},u=this.#r;switch(u.status){case"pending":e.queryHash===s.queryHash&&i(u);break;case"fulfilled":(r||S.data!==u.value)&&n();break;case"rejected":r&&S.error===u.reason||n()}}return S}updateResult(){let e=this.#n,t=this.createResult(this.#s,this.options);if(this.#u=this.#s.state,this.#a=this.options,void 0!==this.#u.data&&(this.#c=this.#s),(0,h.f8)(t,e))return;this.#n=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#f.size)return!0;let s=new Set(r??this.#f);return this.options.throwOnError&&s.add("error"),Object.keys(this.#n).some(t=>this.#n[t]!==e[t]&&s.has(t))};this.#O({listeners:r()})}#b(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#s)return;let t=this.#s;this.#s=e,this.#i=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#R()}#O(e){n.jG.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#n)}),this.#e.getQueryCache().notify({query:this.#s,type:"observerResultsUpdated"})})}};function d(e,t){return!1!==(0,h.nU)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==(0,h.nU)(t.retryOnMount,e))||void 0!==e.state.data&&p(e,t,t.refetchOnMount)}function p(e,t,r){if(!1!==(0,h.nU)(t.enabled,e)&&"static"!==(0,h.d2)(t.staleTime,e)){let s="function"==typeof r?r(e):r;return"always"===s||!1!==s&&y(e,t)}return!1}function f(e,t,r,s){return(e!==t||!1===(0,h.nU)(s.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&y(e,r)}function y(e,t){return!1!==(0,h.nU)(t.enabled,e)&&e.isStaleByTime((0,h.d2)(t.staleTime,e))}var R=r(46124),v=r(50363);r(55539);var m=R.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),b=R.createContext(!1);b.Provider;var Q=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function g(e,t){return function(e,t,r){var s,u,a,l;let c=R.useContext(b),o=R.useContext(m),d=(0,v.jE)(r),p=d.defaultQueryOptions(e);null==(u=d.getDefaultOptions().queries)||null==(s=u._experimental_beforeQuery)||s.call(u,p);let f=d.getQueryCache().get(p.queryHash);if(p._optimisticResults=c?"isRestoring":"optimistic",p.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=p.staleTime;p.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof p.gcTime&&(p.gcTime=Math.max(p.gcTime,1e3))}let y=(null==f?void 0:f.state.error)&&"function"==typeof p.throwOnError?(0,h.GU)(p.throwOnError,[f.state.error,f]):p.throwOnError;(p.suspense||p.experimental_prefetchInRender||y)&&!o.isReset()&&(p.retryOnMount=!1),R.useEffect(()=>{o.clearReset()},[o]);let g=!d.getQueryCache().get(p.queryHash),[I]=R.useState(()=>new t(d,p)),O=I.getOptimisticResult(p),C=!c&&!1!==e.subscribed;if(R.useSyncExternalStore(R.useCallback(e=>{let t=C?I.subscribe(n.jG.batchCalls(e)):h.lQ;return I.updateResult(),t},[I,C]),()=>I.getCurrentResult(),()=>I.getCurrentResult()),R.useEffect(()=>{I.setOptions(p)},[p,I]),p?.suspense&&O.isPending)throw Q(p,I,o);if((e=>{let{result:t,errorResetBoundary:r,throwOnError:s,query:i,suspense:n}=e;return t.isError&&!r.isReset()&&!t.isFetching&&i&&(n&&void 0===t.data||(0,h.GU)(s,[t.error,i]))})({result:O,errorResetBoundary:o,throwOnError:p.throwOnError,query:f,suspense:p.suspense}))throw O.error;if(null==(l=d.getDefaultOptions().queries)||null==(a=l._experimental_afterQuery)||a.call(l,p,O),p.experimental_prefetchInRender&&!i.H.isServer()&&O.isLoading&&O.isFetching&&!c){let e=g?Q(p,I,o):null==f?void 0:f.promise;null==e||e.catch(h.lQ).finally(()=>{I.updateResult()})}return p.notifyOnChangeProps?O:I.trackResult(O)}(e,o,t)}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1866],{663:(t,n,e)=>{e.d(n,{A:()=>i});var r=e(8936);function i(t){return"string"==typeof t?new r.LN([[document.querySelector(t)]],[document.documentElement]):new r.LN([[t]],r.zr)}},890:(t,n,e)=>{e.d(n,{Ay:()=>u});var r=e(42563);function i(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}var o=e(92752);function a(t,n){var e=n-t;return e?function(n){return t+n*e}:(0,o.A)(isNaN(t)?n:t)}let u=function t(n){var e,i=1==(e=+n)?a:function(t,n){var r,i,a;return n-t?(r=t,i=n,r=Math.pow(r,a=e),i=Math.pow(i,a)-r,a=1/a,function(t){return Math.pow(r+t*i,a)}):(0,o.A)(isNaN(t)?n:t)};function u(t,n){var e=i((t=(0,r.Qh)(t)).r,(n=(0,r.Qh)(n)).r),o=i(t.g,n.g),u=i(t.b,n.b),s=a(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=o(n),t.b=u(n),t.opacity=s(n),t+""}}return u.gamma=t,u}(1);function s(t){return function(n){var e,i,o=n.length,a=Array(o),u=Array(o),s=Array(o);for(e=0;e<o;++e)i=(0,r.Qh)(n[e]),a[e]=i.r||0,u[e]=i.g||0,s[e]=i.b||0;return a=t(a),u=t(u),s=t(s),i.opacity=1,function(t){return i.r=a(t),i.g=u(t),i.b=s(t),i+""}}}s(function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),o=t[r],a=t[r+1],u=r>0?t[r-1]:2*o-a,s=r<n-1?t[r+2]:2*a-o;return i((e-r/n)*n,u,o,a,s)}}),s(function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),o=t[(r+n-1)%n],a=t[r%n],u=t[(r+1)%n],s=t[(r+2)%n];return i((e-r/n)*n,o,a,u,s)}})},4077:(t,n,e)=>{e.d(n,{A:()=>a});var r=e(59073),i=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,o=RegExp(i.source,"g");function a(t,n){var e,a,u,s,l,c=i.lastIndex=o.lastIndex=0,f=-1,h=[],p=[];for(t+="",n+="";(u=i.exec(t))&&(s=o.exec(n));)(l=s.index)>c&&(l=n.slice(c,l),h[f]?h[f]+=l:h[++f]=l),(u=u[0])===(s=s[0])?h[f]?h[f]+=s:h[++f]=s:(h[++f]=null,p.push({i:f,x:(0,r.A)(u,s)})),c=o.lastIndex;return c<n.length&&(l=n.slice(c),h[f]?h[f]+=l:h[++f]=l),h.length<2?p[0]?(e=p[0].x,function(t){return e(t)+""}):(a=n,function(){return a}):(n=p.length,function(t){for(var e,r=0;r<n;++r)h[(e=p[r]).i]=e.x(t);return h.join("")})}},8936:(t,n,e)=>{e.d(n,{LN:()=>Y,Ay:()=>D,zr:()=>R});var r=e(98282),i=e(53613),o=e(99683),a=Array.prototype.find;function u(){return this.firstElementChild}var s=Array.prototype.filter;function l(){return Array.from(this.children)}function c(t){return Array(t.length)}function f(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function h(t,n,e,r,i,o){for(var a,u=0,s=n.length,l=o.length;u<l;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new f(t,o[u]);for(;u<s;++u)(a=n[u])&&(i[u]=a)}function p(t,n,e,r,i,o,a){var u,s,l,c=new Map,h=n.length,p=o.length,d=Array(h);for(u=0;u<h;++u)(s=n[u])&&(d[u]=l=a.call(s,s.__data__,u,n)+"",c.has(l)?i[u]=s:c.set(l,s));for(u=0;u<p;++u)l=a.call(t,o[u],u,o)+"",(s=c.get(l))?(r[u]=s,s.__data__=o[u],c.delete(l)):e[u]=new f(t,o[u]);for(u=0;u<h;++u)(s=n[u])&&c.get(d[u])===s&&(i[u]=s)}function d(t){return t.__data__}function v(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}f.prototype={constructor:f,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var y=e(99190),m=e(25009);function g(t){return t.trim().split(/^|\s+/)}function _(t){return t.classList||new w(t)}function w(t){this._node=t,this._names=g(t.getAttribute("class")||"")}function x(t,n){for(var e=_(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function b(t,n){for(var e=_(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function A(){this.textContent=""}function k(){this.innerHTML=""}function M(){this.nextSibling&&this.parentNode.appendChild(this)}function N(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}w.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var E=e(24923);function z(t){var n=(0,y.A)(t);return(n.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===E.g&&n.documentElement.namespaceURI===E.g?n.createElement(t):n.createElementNS(e,t)}})(n)}function $(){return null}function S(){var t=this.parentNode;t&&t.removeChild(this)}function T(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function C(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function P(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)(e=n[r],t.type&&e.type!==t.type||e.name!==t.name)?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function X(t,n,e){return function(){var r,i=this.__on,o=function(t){n.call(this,t,this.__data__)};if(i){for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),r.value=n;return}}this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}var j=e(45031);function q(t,n,e){var r=(0,j.A)(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}var R=[null];function Y(t,n){this._groups=t,this._parents=n}function O(){return new Y([[document.documentElement]],R)}Y.prototype=O.prototype={constructor:Y,select:function(t){"function"!=typeof t&&(t=(0,r.A)(t));for(var n=this._groups,e=n.length,i=Array(e),o=0;o<e;++o)for(var a,u,s=n[o],l=s.length,c=i[o]=Array(l),f=0;f<l;++f)(a=s[f])&&(u=t.call(a,a.__data__,f,s))&&("__data__"in a&&(u.__data__=a.__data__),c[f]=u);return new Y(i,this._parents)},selectAll:function(t){if("function"==typeof t){var n;n=t,t=function(){var t;return t=n.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=(0,i.A)(t);for(var e=this._groups,r=e.length,o=[],a=[],u=0;u<r;++u)for(var s,l=e[u],c=l.length,f=0;f<c;++f)(s=l[f])&&(o.push(t.call(s,s.__data__,f,l)),a.push(s));return new Y(o,a)},selectChild:function(t){var n;return this.select(null==t?u:(n="function"==typeof t?t:(0,o.j)(t),function(){return a.call(this.children,n)}))},selectChildren:function(t){var n;return this.selectAll(null==t?l:(n="function"==typeof t?t:(0,o.j)(t),function(){return s.call(this.children,n)}))},filter:function(t){"function"!=typeof t&&(t=(0,o.A)(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var a,u=n[i],s=u.length,l=r[i]=[],c=0;c<s;++c)(a=u[c])&&t.call(a,a.__data__,c,u)&&l.push(a);return new Y(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,d);var e=n?p:h,r=this._parents,i=this._groups;"function"!=typeof t&&(x=t,t=function(){return x});for(var o=i.length,a=Array(o),u=Array(o),s=Array(o),l=0;l<o;++l){var c=r[l],f=i[l],v=f.length,y="object"==typeof(w=t.call(c,c&&c.__data__,l,r))&&"length"in w?w:Array.from(w),m=y.length,g=u[l]=Array(m),_=a[l]=Array(m);e(c,f,g,_,s[l]=Array(v),y,n);for(var w,x,b,A,k=0,M=0;k<m;++k)if(b=g[k]){for(k>=M&&(M=k+1);!(A=_[M])&&++M<m;);b._next=A||null}}return(a=new Y(a,r))._enter=u,a._exit=s,a},enter:function(){return new Y(this._enter||this._groups.map(c),this._parents)},exit:function(){return new Y(this._exit||this._groups.map(c),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=Array(i),s=0;s<a;++s)for(var l,c=e[s],f=r[s],h=c.length,p=u[s]=Array(h),d=0;d<h;++d)(l=c[d]||f[d])&&(p[d]=l);for(;s<i;++s)u[s]=e[s];return new Y(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=v);for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o){for(var a,u=e[o],s=u.length,l=i[o]=Array(s),c=0;c<s;++c)(a=u[c])&&(l[c]=a);l.sort(n)}return new Y(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(let n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=(0,y.A)(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:m.A,property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=g(t+"");if(arguments.length<2){for(var r=_(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?x:b)(this,t)}}:n?function(t){return function(){x(this,t)}}:function(t){return function(){b(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?A:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?k:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(M)},lower:function(){return this.each(N)},append:function(t){var n="function"==typeof t?t:z(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:z(t),i=null==n?$:"function"==typeof n?n:(0,r.A)(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(S)},clone:function(t){return this.select(t?C:T)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}),a=o.length;if(arguments.length<2){var u=this.node().__on;if(u){for(var s,l=0,c=u.length;l<c;++l)for(r=0,s=u[l];r<a;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value}return}for(r=0,u=n?X:P;r<a;++r)this.each(u(o[r],n,e));return this},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return q(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return q(this,t,n)}})(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let D=O},12028:(t,n,e)=>{e.d(n,{A:()=>function t(n,e){var s,l,c=typeof e;return null==e||"boolean"===c?(0,u.A)(e):("number"===c?o.A:"string"===c?(l=(0,r.Ay)(e))?(e=l,i.Ay):a.A:e instanceof r.Ay?i.Ay:e instanceof Date?function(t,n){var e=new Date;return t*=1,n*=1,function(r){return e.setTime(t*(1-r)+n*r),e}}:!ArrayBuffer.isView(s=e)||s instanceof DataView?Array.isArray(e)?function(n,e){var r,i=e?e.length:0,o=n?Math.min(i,n.length):0,a=Array(o),u=Array(i);for(r=0;r<o;++r)a[r]=t(n[r],e[r]);for(;r<i;++r)u[r]=e[r];return function(t){for(r=0;r<o;++r)u[r]=a[r](t);return u}}:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?function(n,e){var r,i={},o={};for(r in(null===n||"object"!=typeof n)&&(n={}),(null===e||"object"!=typeof e)&&(e={}),e)r in n?i[r]=t(n[r],e[r]):o[r]=e[r];return function(t){for(r in i)o[r]=i[r](t);return o}}:o.A:function(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(o){for(e=0;e<r;++e)i[e]=t[e]*(1-o)+n[e]*o;return i}})(n,e)}});var r=e(42563),i=e(890),o=e(59073),a=e(4077),u=e(92752)},19630:(t,n,e)=>{e.d(n,{s_:()=>b,GS:()=>h,_V:()=>p});var r=e(77043),i=e(39860),o=e(57535),a=e(663),u=e(96390),s=e(68662);let l=t=>()=>t;function c(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function f(t,n,e){this.k=t,this.x=n,this.y=e}f.prototype={constructor:f,scale:function(t){return 1===t?this:new f(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new f(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var h=new f(1,0,0);function p(t){for(;!t.__zoom;)if(!(t=t.parentNode))return h;return t.__zoom}function d(t){t.stopImmediatePropagation()}function v(t){t.preventDefault(),t.stopImmediatePropagation()}function y(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function m(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function g(){return this.__zoom||h}function _(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function w(){return navigator.maxTouchPoints||"ontouchstart"in this}function x(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function b(){var t,n,e,p=y,b=m,A=x,k=_,M=w,N=[0,1/0],E=[[-1/0,-1/0],[1/0,1/0]],z=250,$=o.A,S=(0,r.A)("start","zoom","end"),T=0,C=10;function P(t){t.property("__zoom",g).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",B).on("dblclick.zoom",V).filter(M).on("touchstart.zoom",I).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",G).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function X(t,n){return(n=Math.max(N[0],Math.min(N[1],n)))===t.k?t:new f(n,t.x,t.y)}function j(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new f(t.k,r,i)}function q(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function R(t,n,e,r){t.on("start.zoom",function(){Y(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){Y(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,i=Y(this,t).event(r),o=b.apply(this,t),a=null==e?q(o):"function"==typeof e?e.apply(this,t):e,u=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),s=this.__zoom,l="function"==typeof n?n.apply(this,t):n,c=$(s.invert(a).concat(u/s.k),l.invert(a).concat(u/l.k));return function(t){if(1===t)t=l;else{var n=c(t),e=u/n[2];t=new f(e,a[0]-n[0]*e,a[1]-n[1]*e)}i.zoom(null,t)}})}function Y(t,n,e){return!e&&t.__zooming||new O(t,n)}function O(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=b.apply(t,n),this.taps=0}function D(t,...n){if(p.apply(this,arguments)){var e=Y(this,n).event(t),r=this.__zoom,i=Math.max(N[0],Math.min(N[1],r.k*Math.pow(2,k.apply(this,arguments)))),o=(0,u.A)(t);if(e.wheel)(e.mouse[0][0]!==o[0]||e.mouse[0][1]!==o[1])&&(e.mouse[1]=r.invert(e.mouse[0]=o)),clearTimeout(e.wheel);else{if(r.k===i)return;e.mouse=[o,r.invert(o)],(0,s.G)(this),e.start()}v(t),e.wheel=setTimeout(function(){e.wheel=null,e.end()},150),e.zoom("mouse",A(j(X(r,i),e.mouse[0],e.mouse[1]),e.extent,E))}}function B(t,...n){if(!e&&p.apply(this,arguments)){var r=t.currentTarget,o=Y(this,n,!0).event(t),l=(0,a.A)(t.view).on("mousemove.zoom",function(t){if(v(t),!o.moved){var n=t.clientX-f,e=t.clientY-h;o.moved=n*n+e*e>T}o.event(t).zoom("mouse",A(j(o.that.__zoom,o.mouse[0]=(0,u.A)(t,r),o.mouse[1]),o.extent,E))},!0).on("mouseup.zoom",function(t){l.on("mousemove.zoom mouseup.zoom",null),(0,i.y)(t.view,o.moved),v(t),o.event(t).end()},!0),c=(0,u.A)(t,r),f=t.clientX,h=t.clientY;(0,i.A)(t.view),d(t),o.mouse=[c,this.__zoom.invert(c)],(0,s.G)(this),o.start()}}function V(t,...n){if(p.apply(this,arguments)){var e=this.__zoom,r=(0,u.A)(t.changedTouches?t.changedTouches[0]:t,this),i=e.invert(r),o=e.k*(t.shiftKey?.5:2),s=A(j(X(e,o),r,i),b.apply(this,n),E);v(t),z>0?(0,a.A)(this).transition().duration(z).call(R,s,r,t):(0,a.A)(this).call(P.transform,s,r,t)}}function I(e,...r){if(p.apply(this,arguments)){var i,o,a,l,c=e.touches,f=c.length,h=Y(this,r,e.changedTouches.length===f).event(e);for(d(e),o=0;o<f;++o)a=c[o],l=[l=(0,u.A)(a,this),this.__zoom.invert(l),a.identifier],h.touch0?h.touch1||h.touch0[2]===l[2]||(h.touch1=l,h.taps=0):(h.touch0=l,i=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),i&&(h.taps<2&&(n=l[0],t=setTimeout(function(){t=null},500)),(0,s.G)(this),h.start())}}function L(t,...n){if(this.__zooming){var e,r,i,o,a=Y(this,n).event(t),s=t.changedTouches,l=s.length;for(v(t),e=0;e<l;++e)r=s[e],i=(0,u.A)(r,this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var c=a.touch0[0],f=a.touch0[1],h=a.touch1[0],p=a.touch1[1],d=(d=h[0]-c[0])*d+(d=h[1]-c[1])*d,y=(y=p[0]-f[0])*y+(y=p[1]-f[1])*y;r=X(r,Math.sqrt(d/y)),i=[(c[0]+h[0])/2,(c[1]+h[1])/2],o=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],o=a.touch0[1]}a.zoom("touch",A(j(r,i,o),a.extent,E))}}function G(t,...r){if(this.__zooming){var i,o,s=Y(this,r).event(t),l=t.changedTouches,c=l.length;for(d(t),e&&clearTimeout(e),e=setTimeout(function(){e=null},500),i=0;i<c;++i)o=l[i],s.touch0&&s.touch0[2]===o.identifier?delete s.touch0:s.touch1&&s.touch1[2]===o.identifier&&delete s.touch1;if(s.touch1&&!s.touch0&&(s.touch0=s.touch1,delete s.touch1),s.touch0)s.touch0[1]=this.__zoom.invert(s.touch0[0]);else if(s.end(),2===s.taps&&(o=(0,u.A)(o,this),Math.hypot(n[0]-o[0],n[1]-o[1])<C)){var f=(0,a.A)(this).on("dblclick.zoom");f&&f.apply(this,arguments)}}}return P.transform=function(t,n,e,r){var i=t.selection?t.selection():t;i.property("__zoom",g),t!==i?R(t,n,e,r):i.interrupt().each(function(){Y(this,arguments).event(r).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},P.scaleBy=function(t,n,e,r){P.scaleTo(t,function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e},e,r)},P.scaleTo=function(t,n,e,r){P.transform(t,function(){var t=b.apply(this,arguments),r=this.__zoom,i=null==e?q(t):"function"==typeof e?e.apply(this,arguments):e,o=r.invert(i),a="function"==typeof n?n.apply(this,arguments):n;return A(j(X(r,a),i,o),t,E)},e,r)},P.translateBy=function(t,n,e,r){P.transform(t,function(){return A(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),b.apply(this,arguments),E)},null,r)},P.translateTo=function(t,n,e,r,i){P.transform(t,function(){var t=b.apply(this,arguments),i=this.__zoom,o=null==r?q(t):"function"==typeof r?r.apply(this,arguments):r;return A(h.translate(o[0],o[1]).scale(i.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,E)},r,i)},O.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var n=(0,a.A)(this.that).datum();S.call(t,this.that,new c(t,{sourceEvent:this.sourceEvent,target:P,type:t,transform:this.that.__zoom,dispatch:S}),n)}},P.wheelDelta=function(t){return arguments.length?(k="function"==typeof t?t:l(+t),P):k},P.filter=function(t){return arguments.length?(p="function"==typeof t?t:l(!!t),P):p},P.touchable=function(t){return arguments.length?(M="function"==typeof t?t:l(!!t),P):M},P.extent=function(t){return arguments.length?(b="function"==typeof t?t:l([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),P):b},P.scaleExtent=function(t){return arguments.length?(N[0]=+t[0],N[1]=+t[1],P):[N[0],N[1]]},P.translateExtent=function(t){return arguments.length?(E[0][0]=+t[0][0],E[1][0]=+t[1][0],E[0][1]=+t[0][1],E[1][1]=+t[1][1],P):[[E[0][0],E[0][1]],[E[1][0],E[1][1]]]},P.constrain=function(t){return arguments.length?(A=t,P):A},P.duration=function(t){return arguments.length?(z=+t,P):z},P.interpolate=function(t){return arguments.length?($=t,P):$},P.on=function(){var t=S.on.apply(S,arguments);return t===S?P:t},P.clickDistance=function(t){return arguments.length?(T=(t*=1)*t,P):Math.sqrt(T)},P.tapDistance=function(t){return arguments.length?(C=+t,P):C},P}p.prototype=f.prototype},24923:(t,n,e)=>{e.d(n,{A:()=>i,g:()=>r});var r="http://www.w3.org/1999/xhtml";let i={svg:"http://www.w3.org/2000/svg",xhtml:r,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},25009:(t,n,e)=>{e.d(n,{A:()=>i,j:()=>o});var r=e(45031);function i(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):o(this.node(),t)}function o(t,n){return t.style.getPropertyValue(n)||(0,r.A)(t).getComputedStyle(t,null).getPropertyValue(n)}},33114:(t,n,e)=>{e.d(n,{A:()=>d});var r=e(77043),i=e(663),o=e(96390),a=e(39860),u=e(77846);let s=t=>()=>t;function l(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:a,y:u,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}function c(t){return!t.ctrlKey&&!t.button}function f(){return this.parentNode}function h(t,n){return null==n?{x:t.x,y:t.y}:n}function p(){return navigator.maxTouchPoints||"ontouchstart"in this}function d(){var t,n,e,d,v=c,y=f,m=h,g=p,_={},w=(0,r.A)("start","drag","end"),x=0,b=0;function A(t){t.on("mousedown.drag",k).filter(g).on("touchstart.drag",E).on("touchmove.drag",z,u.vr).on("touchend.drag touchcancel.drag",$).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function k(r,o){if(!d&&v.call(this,r,o)){var s=S(this,y.call(this,r,o),r,o,"mouse");s&&((0,i.A)(r.view).on("mousemove.drag",M,u.Rw).on("mouseup.drag",N,u.Rw),(0,a.A)(r.view),(0,u.GK)(r),e=!1,t=r.clientX,n=r.clientY,s("start",r))}}function M(r){if((0,u.Ay)(r),!e){var i=r.clientX-t,o=r.clientY-n;e=i*i+o*o>b}_.mouse("drag",r)}function N(t){(0,i.A)(t.view).on("mousemove.drag mouseup.drag",null),(0,a.y)(t.view,e),(0,u.Ay)(t),_.mouse("end",t)}function E(t,n){if(v.call(this,t,n)){var e,r,i=t.changedTouches,o=y.call(this,t,n),a=i.length;for(e=0;e<a;++e)(r=S(this,o,t,n,i[e].identifier,i[e]))&&((0,u.GK)(t),r("start",t,i[e]))}}function z(t){var n,e,r=t.changedTouches,i=r.length;for(n=0;n<i;++n)(e=_[r[n].identifier])&&((0,u.Ay)(t),e("drag",t,r[n]))}function $(t){var n,e,r=t.changedTouches,i=r.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),n=0;n<i;++n)(e=_[r[n].identifier])&&((0,u.GK)(t),e("end",t,r[n]))}function S(t,n,e,r,i,a){var u,s,c,f=w.copy(),h=(0,o.A)(a||e,n);if(null!=(c=m.call(t,new l("beforestart",{sourceEvent:e,target:A,identifier:i,active:x,x:h[0],y:h[1],dx:0,dy:0,dispatch:f}),r)))return u=c.x-h[0]||0,s=c.y-h[1]||0,function e(a,p,d){var v,y=h;switch(a){case"start":_[i]=e,v=x++;break;case"end":delete _[i],--x;case"drag":h=(0,o.A)(d||p,n),v=x}f.call(a,t,new l(a,{sourceEvent:p,subject:c,target:A,identifier:i,active:v,x:h[0]+u,y:h[1]+s,dx:h[0]-y[0],dy:h[1]-y[1],dispatch:f}),r)}}return A.filter=function(t){return arguments.length?(v="function"==typeof t?t:s(!!t),A):v},A.container=function(t){return arguments.length?(y="function"==typeof t?t:s(t),A):y},A.subject=function(t){return arguments.length?(m="function"==typeof t?t:s(t),A):m},A.touchable=function(t){return arguments.length?(g="function"==typeof t?t:s(!!t),A):g},A.on=function(){var t=w.on.apply(w,arguments);return t===w?A:t},A.clickDistance=function(t){return arguments.length?(b=(t*=1)*t,A):Math.sqrt(b)},A}l.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t}},39860:(t,n,e)=>{e.d(n,{A:()=>o,y:()=>a});var r=e(663),i=e(77846);function o(t){var n=t.document.documentElement,e=(0,r.A)(t).on("dragstart.drag",i.Ay,i.Rw);"onselectstart"in n?e.on("selectstart.drag",i.Ay,i.Rw):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function a(t,n){var e=t.document.documentElement,o=(0,r.A)(t).on("dragstart.drag",null);n&&(o.on("click.drag",i.Ay,i.Rw),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in e?o.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}},42563:(t,n,e)=>{function r(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function i(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function o(){}e.d(n,{Ay:()=>_,Qh:()=>b});var a="\\s*([+-]?\\d+)\\s*",u="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,c=RegExp(`^rgb\\(${a},${a},${a}\\)$`),f=RegExp(`^rgb\\(${s},${s},${s}\\)$`),h=RegExp(`^rgba\\(${a},${a},${a},${u}\\)$`),p=RegExp(`^rgba\\(${s},${s},${s},${u}\\)$`),d=RegExp(`^hsl\\(${u},${s},${s}\\)$`),v=RegExp(`^hsla\\(${u},${s},${s},${u}\\)$`),y={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function m(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function _(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=l.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?w(n):3===e?new A(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?x(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?x(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=c.exec(t))?new A(n[1],n[2],n[3],1):(n=f.exec(t))?new A(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=h.exec(t))?x(n[1],n[2],n[3],n[4]):(n=p.exec(t))?x(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=d.exec(t))?$(n[1],n[2]/100,n[3]/100,1):(n=v.exec(t))?$(n[1],n[2]/100,n[3]/100,n[4]):y.hasOwnProperty(t)?w(y[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function x(t,n,e,r){return r<=0&&(t=n=e=NaN),new A(t,n,e,r)}function b(t,n,e,r){var i;return 1==arguments.length?((i=t)instanceof o||(i=_(i)),i)?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A:new A(t,n,e,null==r?1:r)}function A(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function k(){return`#${z(this.r)}${z(this.g)}${z(this.b)}`}function M(){let t=N(this.opacity);return`${1===t?"rgb(":"rgba("}${E(this.r)}, ${E(this.g)}, ${E(this.b)}${1===t?")":`, ${t})`}`}function N(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function E(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function z(t){return((t=E(t))<16?"0":"")+t.toString(16)}function $(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new T(t,n,e,r)}function S(t){if(t instanceof T)return new T(t.h,t.s,t.l,t.opacity);if(t instanceof o||(t=_(t)),!t)return new T;if(t instanceof T)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),u=NaN,s=a-i,l=(a+i)/2;return s?(u=n===a?(e-r)/s+(e<r)*6:e===a?(r-n)/s+2:(n-e)/s+4,s/=l<.5?a+i:2-a-i,u*=60):s=l>0&&l<1?0:u,new T(u,s,l,t.opacity)}function T(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function C(t){return(t=(t||0)%360)<0?t+360:t}function P(t){return Math.max(0,Math.min(1,t||0))}function X(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}r(o,_,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:m,formatHex:m,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return S(this).formatHsl()},formatRgb:g,toString:g}),r(A,b,i(o,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new A(E(this.r),E(this.g),E(this.b),N(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:k,formatHex:k,formatHex8:function(){return`#${z(this.r)}${z(this.g)}${z(this.b)}${z((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:M,toString:M})),r(T,function(t,n,e,r){return 1==arguments.length?S(t):new T(t,n,e,null==r?1:r)},i(o,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new T(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new T(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new A(X(t>=240?t-240:t+120,i,r),X(t,i,r),X(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new T(C(this.h),P(this.s),P(this.l),N(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=N(this.opacity);return`${1===t?"hsl(":"hsla("}${C(this.h)}, ${100*P(this.s)}%, ${100*P(this.l)}%${1===t?")":`, ${t})`}`}}))},45031:(t,n,e)=>{e.d(n,{A:()=>r});function r(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}},49243:(t,n,e)=>{e.d(n,{M4:()=>v,O1:()=>y,tB:()=>p});var r,i,o=0,a=0,u=0,s=0,l=0,c=0,f="object"==typeof performance&&performance.now?performance:Date,h="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function p(){return l||(h(d),l=f.now()+c)}function d(){l=0}function v(){this._call=this._time=this._next=null}function y(t,n,e){var r=new v;return r.restart(t,n,e),r}function m(){l=(s=f.now())+c,o=a=0;try{p(),++o;for(var t,n=r;n;)(t=l-n._time)>=0&&n._call.call(void 0,t),n=n._next;--o}finally{o=0,function(){for(var t,n,e=r,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:r=n);i=t,_(o)}(),l=0}}function g(){var t=f.now(),n=t-s;n>1e3&&(c-=n,s=t)}function _(t){!o&&(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-f.now()-c)),u&&(u=clearInterval(u))):(u||(s=f.now(),u=setInterval(g,1e3)),o=1,h(m)))}v.prototype=y.prototype={constructor:v,restart:function(t,n,e){if("function"!=typeof t)throw TypeError("callback is not a function");e=(null==e?p():+e)+(null==n?0:+n),this._next||i===this||(i?i._next=this:r=this,i=this),this._call=t,this._time=e,_()},stop:function(){this._call&&(this._call=null,this._time=1/0,_())}}},53613:(t,n,e)=>{function r(){return[]}function i(t){return null==t?r:function(){return this.querySelectorAll(t)}}e.d(n,{A:()=>i})},57535:(t,n,e)=>{function r(t){return((t=Math.exp(t))+1/t)/2}e.d(n,{A:()=>i});let i=function t(n,e,i){function o(t,o){var a,u,s=t[0],l=t[1],c=t[2],f=o[0],h=o[1],p=o[2],d=f-s,v=h-l,y=d*d+v*v;if(y<1e-12)u=Math.log(p/c)/n,a=function(t){return[s+t*d,l+t*v,c*Math.exp(n*t*u)]};else{var m=Math.sqrt(y),g=(p*p-c*c+i*y)/(2*c*e*m),_=(p*p-c*c-i*y)/(2*p*e*m),w=Math.log(Math.sqrt(g*g+1)-g);u=(Math.log(Math.sqrt(_*_+1)-_)-w)/n,a=function(t){var i,o,a=t*u,f=r(w),h=c/(e*m)*(f*(((i=Math.exp(2*(i=n*a+w)))-1)/(i+1))-((o=Math.exp(o=w))-1/o)/2);return[s+h*d,l+h*v,c*f/r(n*a+w)]}}return a.duration=1e3*u*n/Math.SQRT2,a}return o.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},o}(Math.SQRT2,2,4)},59073:(t,n,e)=>{e.d(n,{A:()=>r});function r(t,n){return t*=1,n*=1,function(e){return t*(1-e)+n*e}}},68662:(t,n,e)=>{e.d(n,{G:()=>d});var r,i=e(8936),o=e(77043),a=e(49243);function u(t,n,e){var r=new a.M4;return n=null==n?0:+n,r.restart(e=>{r.stop(),t(e+n)},n,e),r}var s=(0,o.A)("start","end","cancel","interrupt"),l=[];function c(t,n,e,r,i,o){var c=t.__transition;if(c){if(e in c)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(a){var c,f,h,p;if(1!==e.state)return l();for(c in i)if((p=i[c]).name===e.name){if(3===p.state)return u(o);4===p.state?(p.state=6,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete i[c]):+c<n&&(p.state=6,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete i[c])}if(u(function(){3===e.state&&(e.state=4,e.timer.restart(s,e.delay,e.time),s(a))}),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(c=0,e.state=3,r=Array(h=e.tween.length),f=-1;c<h;++c)(p=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(r[++f]=p);r.length=f+1}}function s(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(l),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=(0,a.O1)(function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)},0,e.time)}(t,e,{name:n,index:r,group:i,on:s,tween:l,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function f(t,n){var e=p(t,n);if(e.state>0)throw Error("too late; already scheduled");return e}function h(t,n){var e=p(t,n);if(e.state>3)throw Error("too late; already running");return e}function p(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw Error("transition not found");return e}function d(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o){if((e=o[i]).name!==n){a=!1;continue}r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]}a&&delete t.__transition}}var v=e(59073),y=180/Math.PI,m={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function g(t,n,e,r,i,o){var a,u,s;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,s/=u),t*r<n*e&&(t=-t,n=-n,s=-s,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*y,skewX:Math.atan(s)*y,scaleX:a,scaleY:u}}function _(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u,s,l,c,f=[],h=[];return o=t(o),a=t(a),!function(t,r,i,o,a,u){if(t!==i||r!==o){var s=a.push("translate(",null,n,null,e);u.push({i:s-4,x:(0,v.A)(t,i)},{i:s-2,x:(0,v.A)(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,f,h),u=o.rotate,s=a.rotate,u!==s?(u-s>180?s+=360:s-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:(0,v.A)(u,s)})):s&&f.push(i(f)+"rotate("+s+r),l=o.skewX,c=a.skewX,l!==c?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:(0,v.A)(l,c)}):c&&f.push(i(f)+"skewX("+c+r),!function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:(0,v.A)(t,e)},{i:u-2,x:(0,v.A)(n,r)})}else(1!==e||1!==r)&&o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,f,h),o=a=null,function(t){for(var n,e=-1,r=h.length;++e<r;)f[(n=h[e]).i]=n.x(t);return f.join("")}}}var w=_(function(t){let n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?m:g(n.a,n.b,n.c,n.d,n.e,n.f)},"px, ","px)","deg)"),x=_(function(t){return null==t?m:(r||(r=document.createElementNS("http://www.w3.org/2000/svg","g")),r.setAttribute("transform",t),t=r.transform.baseVal.consolidate())?g((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):m},", ",")",")"),b=e(99190);function A(t,n,e){var r=t._id;return t.each(function(){var t=h(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return p(t,r).value[n]}}var k=e(42563),M=e(890),N=e(4077);function E(t,n){var e;return("number"==typeof n?v.A:n instanceof k.Ay?M.Ay:(e=(0,k.Ay)(n))?(n=e,M.Ay):N.A)(t,n)}var z=e(99683),$=e(98282),S=e(53613),T=i.Ay.prototype.constructor,C=e(25009);function P(t){return function(){this.style.removeProperty(t)}}var X=0;function j(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}var q=i.Ay.prototype;j.prototype=(function(t){return(0,i.Ay)().transition(t)}).prototype={constructor:j,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=(0,$.A)(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var u,s,l=r[a],f=l.length,h=o[a]=Array(f),d=0;d<f;++d)(u=l[d])&&(s=t.call(u,u.__data__,d,l))&&("__data__"in u&&(s.__data__=u.__data__),h[d]=s,c(h[d],n,e,d,h,p(u,e)));return new j(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=(0,S.A)(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var s,l=r[u],f=l.length,h=0;h<f;++h)if(s=l[h]){for(var d,v=t.call(s,s.__data__,h,l),y=p(s,e),m=0,g=v.length;m<g;++m)(d=v[m])&&c(d,n,e,m,v,y);o.push(v),a.push(s)}return new j(o,a,n,e)},selectChild:q.selectChild,selectChildren:q.selectChildren,filter:function(t){"function"!=typeof t&&(t=(0,z.A)(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],l=0;l<u;++l)(o=a[l])&&t.call(o,o.__data__,l,a)&&s.push(o);return new j(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=Array(r),u=0;u<o;++u)for(var s,l=n[u],c=e[u],f=l.length,h=a[u]=Array(f),p=0;p<f;++p)(s=l[p]||c[p])&&(h[p]=s);for(;u<r;++u)a[u]=n[u];return new j(a,this._parents,this._name,this._id)},selection:function(){return new T(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=++X,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,l=0;l<s;++l)if(a=u[l]){var f=p(a,n);c(a,t,e,l,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new j(r,this._parents,t,e)},call:q.call,nodes:q.nodes,node:q.node,size:q.size,empty:q.empty,each:q.each,on:function(t,n){var e,r,i,o,a,u,s=this._id;return arguments.length<2?p(this.node(),s).on.on(t):this.each((e=s,r=t,i=n,u=(r+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})?f:h,function(){var t=u(this,e),n=t.on;n!==o&&(a=(o=n).copy()).on(r,i),t.on=a}))},attr:function(t,n){var e=(0,b.A)(t),r="transform"===e?x:E;return this.attrTween(t,"function"==typeof n?(e.local?function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}}:function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttribute(t):(a=this.getAttribute(t))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}})(e,r,A(this,"attr."+t,n)):null==n?(e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(e):(e.local?function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}:function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}})(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw Error();var r=(0,b.A)(t);return this.tween(e,(r.local?function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttributeNS(t.space,t.local,i.call(this,n))}),e}return i._value=n,i}:function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttribute(t,i.call(this,n))}),e}return i._value=n,i})(r,n))},style:function(t,n,e){var r,i,o,a,u,s,l,c,f,p,d,v,y,m,g,_,x,b,k,M,N,z="transform"==(t+="")?w:E;return null==n?this.styleTween(t,(r=t,function(){var t=(0,C.j)(this,r),n=(this.style.removeProperty(r),(0,C.j)(this,r));return t===n?null:t===i&&n===o?a:a=z(i=t,o=n)})).on("end.style."+t,P(t)):"function"==typeof n?this.styleTween(t,(u=t,s=A(this,"style."+t,n),function(){var t=(0,C.j)(this,u),n=s(this),e=n+"";return null==n&&(this.style.removeProperty(u),e=n=(0,C.j)(this,u)),t===e?null:t===l&&e===c?f:(c=e,f=z(l=t,n))})).each((p=this._id,x="end."+(_="style."+(d=t)),function(){var t=h(this,p),n=t.on,e=null==t.value[_]?g||(g=P(d)):void 0;(n!==v||m!==e)&&(y=(v=n).copy()).on(x,m=e),t.on=y})):this.styleTween(t,(b=t,N=n+"",function(){var t=(0,C.j)(this,b);return t===N?null:t===k?M:M=z(k=t,n)}),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw Error();return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(n){this.style.setProperty(t,o.call(this,n),e)}),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){var n,e;return this.tween("text","function"==typeof t?(n=A(this,"text",t),function(){var t=n(this);this.textContent=null==t?"":t}):(e=null==t?"":t+"",function(){this.textContent=e}))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();return this.tween(n,function(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function(t){this.textContent=r.call(this,t)}),n}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=p(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?function(t,n){var e,r;return function(){var i=h(this,t),o=i.tween;if(o!==e){r=e=o;for(var a=0,u=r.length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,n,e){var r,i;if("function"!=typeof e)throw Error();return function(){var o=h(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=u;break}s===l&&i.push(u)}o.tween=i}})(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){f(this,t).delay=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){f(this,t).delay=n}})(n,t)):p(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){h(this,t).duration=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){h(this,t).duration=n}})(n,t)):p(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(function(t,n){if("function"!=typeof n)throw Error();return function(){h(this,t).ease=n}}(n,t)):p(this.node(),n).ease},easeVarying:function(t){var n;if("function"!=typeof t)throw Error();return this.each((n=this._id,function(){var e=t.apply(this,arguments);if("function"!=typeof e)throw Error();h(this,n).ease=e}))},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,a){var u={value:a},s={value:function(){0==--i&&o()}};e.each(function(){var e=h(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(s)),e.on=n}),0===i&&o()})},[Symbol.iterator]:q[Symbol.iterator]};var R={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};i.Ay.prototype.interrupt=function(t){return this.each(function(){d(this,t)})},i.Ay.prototype.transition=function(t){var n,e;t instanceof j?(n=t._id,t=t._name):(n=++X,(e=R).time=(0,a.tB)(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,s=r[o],l=s.length,f=0;f<l;++f)(u=s[f])&&c(u,t,n,f,s,e||function(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw Error(`transition ${n} not found`);return e}(u,n));return new j(r,this._parents,t,n)}},77043:(t,n,e)=>{e.d(n,{A:()=>u});var r={value:()=>{}};function i(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new o(r)}function o(t){this._=t}function a(t,n,e){for(var i=0,o=t.length;i<o;++i)if(t[i].name===n){t[i]=r,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=e&&t.push({name:n,value:e}),t}o.prototype=i.prototype={constructor:o,on:function(t,n){var e,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:n}}),o=-1,u=i.length;if(arguments.length<2){for(;++o<u;)if((e=(t=i[o]).type)&&(e=function(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}(r[e],t.name)))return e;return}if(null!=n&&"function"!=typeof n)throw Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=a(r[e],t.name,n);else if(null==n)for(e in r)r[e]=a(r[e],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new o(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,e=r.length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};let u=i},77846:(t,n,e)=>{e.d(n,{Ay:()=>a,GK:()=>o,Rw:()=>i,vr:()=>r});let r={passive:!1},i={capture:!0,passive:!1};function o(t){t.stopImmediatePropagation()}function a(t){t.preventDefault(),t.stopImmediatePropagation()}},92752:(t,n,e)=>{e.d(n,{A:()=>r});let r=t=>()=>t},96390:(t,n,e)=>{e.d(n,{A:()=>r});function r(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}},98282:(t,n,e)=>{function r(){}function i(t){return null==t?r:function(){return this.querySelector(t)}}e.d(n,{A:()=>i})},99190:(t,n,e)=>{e.d(n,{A:()=>i});var r=e(24923);function i(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),r.A.hasOwnProperty(n)?{space:r.A[n],local:t}:t}},99683:(t,n,e)=>{function r(t){return function(){return this.matches(t)}}function i(t){return function(n){return n.matches(t)}}e.d(n,{A:()=>r,j:()=>i})}}]);
|