From b600a219804e4c91e74abc48ce43721315c47ece Mon Sep 17 00:00:00 2001 From: Gabriel Adrian Samfira Date: Mon, 9 Feb 2026 19:09:29 +0200 Subject: [PATCH] Add rate limits metrics and credentials details page This change adds metrics for rate limits. Rate limits are now recorded via a rate limit check loop (as before), but in addition, we are now taking the rate limit info that gets returned in all github responses and we're recording that as it happens as opposed to every 30 seconds. The loop remains to update rate limits even for credentials that are used rarely. This change also adds a credentials details page in the webUI. Signed-off-by: Gabriel Adrian Samfira --- doc/config.md | 12 ++- metrics/github.go | 29 ++++++ metrics/metrics.go | 4 + util/github/client.go | 88 +++++++++++++++++-- .../_app/immutable/assets/0.BQ5uM8Ma.css | 1 - .../_app/immutable/assets/0.Dm58_Ye1.css | 1 + .../assets/_app/immutable/chunks/1CdJgrM6.js | 1 - .../assets/_app/immutable/chunks/3NxSoY2_.js | 1 - .../assets/_app/immutable/chunks/4L8NSMkU.js | 1 + .../assets/_app/immutable/chunks/7XD7ITBY.js | 1 + .../assets/_app/immutable/chunks/B-bv0ihJ.js | 1 + .../assets/_app/immutable/chunks/B8GNZv7s.js | 1 - .../assets/_app/immutable/chunks/BAcG6-Ep.js | 7 -- .../assets/_app/immutable/chunks/BBvIKVJT.js | 1 - .../assets/_app/immutable/chunks/BDUel5dG.js | 2 + .../assets/_app/immutable/chunks/BLYRAgBX.js | 1 - .../assets/_app/immutable/chunks/BMieCrfV.js | 4 - .../assets/_app/immutable/chunks/BVM1034P.js | 1 - .../assets/_app/immutable/chunks/BZykqlEc.js | 1 - .../assets/_app/immutable/chunks/B_jyf0qs.js | 1 - .../chunks/{li_-Mkq2.js => Bbk4dQfI.js} | 2 +- .../assets/_app/immutable/chunks/BcoJ4GZv.js | 1 + .../assets/_app/immutable/chunks/Bi2FJHrT.js | 1 + .../assets/_app/immutable/chunks/Bje4SFZN.js | 2 + .../assets/_app/immutable/chunks/BqCROW90.js | 1 + .../assets/_app/immutable/chunks/BtzOUN4g.js | 1 + .../chunks/{B7m7LjX-.js => ByzrGryl.js} | 2 +- .../assets/_app/immutable/chunks/BzzAh3Be.js | 11 --- .../assets/_app/immutable/chunks/C0gwpZbz.js | 1 + .../assets/_app/immutable/chunks/C2FKJqnN.js | 1 - .../assets/_app/immutable/chunks/CH-vk5qo.js | 1 - .../chunks/{DcHRb6xX.js => CKfnRgQC.js} | 12 +-- .../assets/_app/immutable/chunks/CPri_0tM.js | 1 + .../assets/_app/immutable/chunks/CYPHW1bs.js | 1 + .../assets/_app/immutable/chunks/CZK5Ma2H.js | 2 - .../assets/_app/immutable/chunks/CbREEdny.js | 1 + .../assets/_app/immutable/chunks/CdXRaxkX.js | 1 - .../assets/_app/immutable/chunks/Cfss7k9J.js | 1 - .../assets/_app/immutable/chunks/ChJfoPF0.js | 1 + .../assets/_app/immutable/chunks/Ckj0xxjl.js | 1 + .../assets/_app/immutable/chunks/CmC5OaZC.js | 1 + .../chunks/{C14okzlM.js => CnZ9nHem.js} | 2 +- .../assets/_app/immutable/chunks/Ct5kWObc.js | 1 - .../assets/_app/immutable/chunks/CxOx-TIJ.js | 2 - .../assets/_app/immutable/chunks/Cy4PP0DI.js | 1 - .../assets/_app/immutable/chunks/CzarUgpd.js | 1 - .../assets/_app/immutable/chunks/D9ztHNzD.js | 4 + .../assets/_app/immutable/chunks/DC7Aeygn.js | 1 + .../assets/_app/immutable/chunks/DG4LDt2Z.js | 1 + .../assets/_app/immutable/chunks/DGDf0Obs.js | 1 + .../assets/_app/immutable/chunks/DJUEiJtb.js | 1 + .../assets/_app/immutable/chunks/DL1RlOO9.js | 1 - .../assets/_app/immutable/chunks/DMKBQAZn.js | 1 + .../assets/_app/immutable/chunks/DMKMpIvH.js | 1 - .../chunks/{JkzpcrZD.js => DQsxKNC2.js} | 2 +- .../chunks/{DSHGoHxX.js => DTRhxHIE.js} | 2 +- .../assets/_app/immutable/chunks/DTko0dwG.js | 1 - .../assets/_app/immutable/chunks/DUMcBckj.js | 1 + .../assets/_app/immutable/chunks/DYis7hcW.js | 1 + .../assets/_app/immutable/chunks/DaHsWCjd.js | 1 - .../assets/_app/immutable/chunks/Dah3498E.js | 1 + .../assets/_app/immutable/chunks/DcWIrrGq.js | 1 - .../assets/_app/immutable/chunks/DgabA6iF.js | 1 - .../assets/_app/immutable/chunks/Dk1ODhlO.js | 1 + .../assets/_app/immutable/chunks/DoJxysSt.js | 1 - .../assets/_app/immutable/chunks/Dtavz0EF.js | 1 - .../assets/_app/immutable/chunks/DvQW-lMP.js | 1 - .../assets/_app/immutable/chunks/DwF0DbKK.js | 1 + .../assets/_app/immutable/chunks/DzFKsO_V.js | 54 ------------ .../assets/_app/immutable/chunks/FjbxnYNv.js | 1 + .../assets/_app/immutable/chunks/K7MmO9Q9.js | 1 + .../assets/_app/immutable/chunks/K_YdKkKc.js | 1 - .../assets/_app/immutable/chunks/O0YA8q4d.js | 1 + .../assets/_app/immutable/chunks/Pgjt70l7.js | 1 - .../assets/_app/immutable/chunks/UrL2GjpD.js | 1 + .../chunks/{BguOOs3x.js => _9uqtkkk.js} | 14 +-- .../assets/_app/immutable/chunks/i7pKks78.js | 1 + .../assets/_app/immutable/chunks/lcoLiK7X.js | 2 - .../assets/_app/immutable/chunks/llowLxE6.js | 1 + .../assets/_app/immutable/chunks/mBfsYUjq.js | 1 + .../assets/_app/immutable/chunks/o8CdT7B0.js | 2 + .../assets/_app/immutable/chunks/rDPsLaF8.js | 1 + .../chunks/{Penjr-j0.js => zgwRPQVC.js} | 2 +- .../chunks/{g1bAVjVL.js => zrfkhNmc.js} | 34 +++---- .../_app/immutable/entry/app.D2Xi_Pte.js | 2 + .../_app/immutable/entry/app.DMZC_6w5.js | 2 - .../_app/immutable/entry/start.CY1Bq9Vw.js | 1 - .../_app/immutable/entry/start._V-crH9D.js | 1 + .../assets/_app/immutable/nodes/0.CeYeJX28.js | 13 +++ .../assets/_app/immutable/nodes/0.CgRFEyfI.js | 13 --- .../assets/_app/immutable/nodes/1.B_98Cn_-.js | 1 + .../assets/_app/immutable/nodes/1.D-XY8IoK.js | 1 - .../_app/immutable/nodes/10.B3EO0F_m.js | 1 - .../_app/immutable/nodes/10.C4Gx1pSn.js | 1 + .../_app/immutable/nodes/11.Dq973KK3.js | 1 - .../_app/immutable/nodes/11.xr_vcKFj.js | 1 + .../_app/immutable/nodes/12.RzOlDK_G.js | 7 ++ .../_app/immutable/nodes/12.nODRGCSI.js | 7 -- .../_app/immutable/nodes/13.B33JDb5v.js | 1 - .../_app/immutable/nodes/13.Ck8fk5zC.js | 1 + .../_app/immutable/nodes/14.3rNSWGL0.js | 1 + .../_app/immutable/nodes/14.DsQEpiva.js | 1 - .../_app/immutable/nodes/15.5uMapiYU.js | 1 - .../_app/immutable/nodes/15.DmnqOOd9.js | 1 + .../_app/immutable/nodes/16.CZAXeJjl.js | 1 + .../_app/immutable/nodes/16.DytzVHZP.js | 1 - .../_app/immutable/nodes/17.BJrLJtRa.js | 1 + .../_app/immutable/nodes/17.DxoZE9xY.js | 1 - .../_app/immutable/nodes/18.BaIemZME.js | 1 + .../_app/immutable/nodes/18.YzZXxt0g.js | 1 - .../_app/immutable/nodes/19.4IHf2A04.js | 1 - .../_app/immutable/nodes/19.BpbLvCcG.js | 1 + .../assets/_app/immutable/nodes/2.BADPguU9.js | 1 - .../assets/_app/immutable/nodes/2.Js7JRvA3.js | 1 + .../_app/immutable/nodes/20.0B9Z8rET.js | 1 + .../_app/immutable/nodes/20.DNaB4Zl-.js | 1 - .../_app/immutable/nodes/21.BxFmjbkC.js | 1 + .../_app/immutable/nodes/21.DyAtvlhs.js | 1 - .../_app/immutable/nodes/22.CliGwwFO.js | 1 - .../_app/immutable/nodes/22.DxgQgozR.js | 1 + .../_app/immutable/nodes/23.DFWYlnUs.js | 2 - .../_app/immutable/nodes/23.vWjBPYxf.js | 2 + .../_app/immutable/nodes/24.Cvh0k1-p.js | 2 - .../_app/immutable/nodes/24.DWjVL7id.js | 2 + .../assets/_app/immutable/nodes/3.BVqHnS4E.js | 7 -- .../assets/_app/immutable/nodes/3.CWyGlMW1.js | 7 ++ .../assets/_app/immutable/nodes/4.ByTij3bm.js | 1 + .../assets/_app/immutable/nodes/4.CvPd1-eU.js | 1 - .../assets/_app/immutable/nodes/5.DLLdfWzr.js | 3 - .../assets/_app/immutable/nodes/5.DUEiiBg9.js | 3 + .../assets/_app/immutable/nodes/6.4j84gekE.js | 1 + .../assets/_app/immutable/nodes/6.CUriKSCU.js | 1 - .../assets/_app/immutable/nodes/7.BPl_OEUT.js | 1 + .../assets/_app/immutable/nodes/7.CDCxQvHx.js | 1 - .../assets/_app/immutable/nodes/8.B3PNRMwk.js | 1 + .../assets/_app/immutable/nodes/8.CtSgrltG.js | 1 - .../assets/_app/immutable/nodes/9.DAMysnIX.js | 1 + .../assets/_app/immutable/nodes/9.sPCR99vC.js | 1 - webapp/assets/_app/version.json | 2 +- webapp/assets/index.html | 26 +++--- workers/cache/cache.go | 20 +++++ 141 files changed, 292 insertions(+), 225 deletions(-) delete mode 100644 webapp/assets/_app/immutable/assets/0.BQ5uM8Ma.css create mode 100644 webapp/assets/_app/immutable/assets/0.Dm58_Ye1.css delete mode 100644 webapp/assets/_app/immutable/chunks/1CdJgrM6.js delete mode 100644 webapp/assets/_app/immutable/chunks/3NxSoY2_.js create mode 100644 webapp/assets/_app/immutable/chunks/4L8NSMkU.js create mode 100644 webapp/assets/_app/immutable/chunks/7XD7ITBY.js create mode 100644 webapp/assets/_app/immutable/chunks/B-bv0ihJ.js delete mode 100644 webapp/assets/_app/immutable/chunks/B8GNZv7s.js delete mode 100644 webapp/assets/_app/immutable/chunks/BAcG6-Ep.js delete mode 100644 webapp/assets/_app/immutable/chunks/BBvIKVJT.js create mode 100644 webapp/assets/_app/immutable/chunks/BDUel5dG.js delete mode 100644 webapp/assets/_app/immutable/chunks/BLYRAgBX.js delete mode 100644 webapp/assets/_app/immutable/chunks/BMieCrfV.js delete mode 100644 webapp/assets/_app/immutable/chunks/BVM1034P.js delete mode 100644 webapp/assets/_app/immutable/chunks/BZykqlEc.js delete mode 100644 webapp/assets/_app/immutable/chunks/B_jyf0qs.js rename webapp/assets/_app/immutable/chunks/{li_-Mkq2.js => Bbk4dQfI.js} (90%) create mode 100644 webapp/assets/_app/immutable/chunks/BcoJ4GZv.js create mode 100644 webapp/assets/_app/immutable/chunks/Bi2FJHrT.js create mode 100644 webapp/assets/_app/immutable/chunks/Bje4SFZN.js create mode 100644 webapp/assets/_app/immutable/chunks/BqCROW90.js create mode 100644 webapp/assets/_app/immutable/chunks/BtzOUN4g.js rename webapp/assets/_app/immutable/chunks/{B7m7LjX-.js => ByzrGryl.js} (88%) delete mode 100644 webapp/assets/_app/immutable/chunks/BzzAh3Be.js create mode 100644 webapp/assets/_app/immutable/chunks/C0gwpZbz.js delete mode 100644 webapp/assets/_app/immutable/chunks/C2FKJqnN.js delete mode 100644 webapp/assets/_app/immutable/chunks/CH-vk5qo.js rename webapp/assets/_app/immutable/chunks/{DcHRb6xX.js => CKfnRgQC.js} (88%) create mode 100644 webapp/assets/_app/immutable/chunks/CPri_0tM.js create mode 100644 webapp/assets/_app/immutable/chunks/CYPHW1bs.js delete mode 100644 webapp/assets/_app/immutable/chunks/CZK5Ma2H.js create mode 100644 webapp/assets/_app/immutable/chunks/CbREEdny.js delete mode 100644 webapp/assets/_app/immutable/chunks/CdXRaxkX.js delete mode 100644 webapp/assets/_app/immutable/chunks/Cfss7k9J.js create mode 100644 webapp/assets/_app/immutable/chunks/ChJfoPF0.js create mode 100644 webapp/assets/_app/immutable/chunks/Ckj0xxjl.js create mode 100644 webapp/assets/_app/immutable/chunks/CmC5OaZC.js rename webapp/assets/_app/immutable/chunks/{C14okzlM.js => CnZ9nHem.js} (93%) delete mode 100644 webapp/assets/_app/immutable/chunks/Ct5kWObc.js delete mode 100644 webapp/assets/_app/immutable/chunks/CxOx-TIJ.js delete mode 100644 webapp/assets/_app/immutable/chunks/Cy4PP0DI.js delete mode 100644 webapp/assets/_app/immutable/chunks/CzarUgpd.js create mode 100644 webapp/assets/_app/immutable/chunks/D9ztHNzD.js create mode 100644 webapp/assets/_app/immutable/chunks/DC7Aeygn.js create mode 100644 webapp/assets/_app/immutable/chunks/DG4LDt2Z.js create mode 100644 webapp/assets/_app/immutable/chunks/DGDf0Obs.js create mode 100644 webapp/assets/_app/immutable/chunks/DJUEiJtb.js delete mode 100644 webapp/assets/_app/immutable/chunks/DL1RlOO9.js create mode 100644 webapp/assets/_app/immutable/chunks/DMKBQAZn.js delete mode 100644 webapp/assets/_app/immutable/chunks/DMKMpIvH.js rename webapp/assets/_app/immutable/chunks/{JkzpcrZD.js => DQsxKNC2.js} (99%) rename webapp/assets/_app/immutable/chunks/{DSHGoHxX.js => DTRhxHIE.js} (82%) delete mode 100644 webapp/assets/_app/immutable/chunks/DTko0dwG.js create mode 100644 webapp/assets/_app/immutable/chunks/DUMcBckj.js create mode 100644 webapp/assets/_app/immutable/chunks/DYis7hcW.js delete mode 100644 webapp/assets/_app/immutable/chunks/DaHsWCjd.js create mode 100644 webapp/assets/_app/immutable/chunks/Dah3498E.js delete mode 100644 webapp/assets/_app/immutable/chunks/DcWIrrGq.js delete mode 100644 webapp/assets/_app/immutable/chunks/DgabA6iF.js create mode 100644 webapp/assets/_app/immutable/chunks/Dk1ODhlO.js delete mode 100644 webapp/assets/_app/immutable/chunks/DoJxysSt.js delete mode 100644 webapp/assets/_app/immutable/chunks/Dtavz0EF.js delete mode 100644 webapp/assets/_app/immutable/chunks/DvQW-lMP.js create mode 100644 webapp/assets/_app/immutable/chunks/DwF0DbKK.js delete mode 100644 webapp/assets/_app/immutable/chunks/DzFKsO_V.js create mode 100644 webapp/assets/_app/immutable/chunks/FjbxnYNv.js create mode 100644 webapp/assets/_app/immutable/chunks/K7MmO9Q9.js delete mode 100644 webapp/assets/_app/immutable/chunks/K_YdKkKc.js create mode 100644 webapp/assets/_app/immutable/chunks/O0YA8q4d.js delete mode 100644 webapp/assets/_app/immutable/chunks/Pgjt70l7.js create mode 100644 webapp/assets/_app/immutable/chunks/UrL2GjpD.js rename webapp/assets/_app/immutable/chunks/{BguOOs3x.js => _9uqtkkk.js} (64%) create mode 100644 webapp/assets/_app/immutable/chunks/i7pKks78.js delete mode 100644 webapp/assets/_app/immutable/chunks/lcoLiK7X.js create mode 100644 webapp/assets/_app/immutable/chunks/llowLxE6.js create mode 100644 webapp/assets/_app/immutable/chunks/mBfsYUjq.js create mode 100644 webapp/assets/_app/immutable/chunks/o8CdT7B0.js create mode 100644 webapp/assets/_app/immutable/chunks/rDPsLaF8.js rename webapp/assets/_app/immutable/chunks/{Penjr-j0.js => zgwRPQVC.js} (98%) rename webapp/assets/_app/immutable/chunks/{g1bAVjVL.js => zrfkhNmc.js} (65%) create mode 100644 webapp/assets/_app/immutable/entry/app.D2Xi_Pte.js delete mode 100644 webapp/assets/_app/immutable/entry/app.DMZC_6w5.js delete mode 100644 webapp/assets/_app/immutable/entry/start.CY1Bq9Vw.js create mode 100644 webapp/assets/_app/immutable/entry/start._V-crH9D.js create mode 100644 webapp/assets/_app/immutable/nodes/0.CeYeJX28.js delete mode 100644 webapp/assets/_app/immutable/nodes/0.CgRFEyfI.js create mode 100644 webapp/assets/_app/immutable/nodes/1.B_98Cn_-.js delete mode 100644 webapp/assets/_app/immutable/nodes/1.D-XY8IoK.js delete mode 100644 webapp/assets/_app/immutable/nodes/10.B3EO0F_m.js create mode 100644 webapp/assets/_app/immutable/nodes/10.C4Gx1pSn.js delete mode 100644 webapp/assets/_app/immutable/nodes/11.Dq973KK3.js create mode 100644 webapp/assets/_app/immutable/nodes/11.xr_vcKFj.js create mode 100644 webapp/assets/_app/immutable/nodes/12.RzOlDK_G.js delete mode 100644 webapp/assets/_app/immutable/nodes/12.nODRGCSI.js delete mode 100644 webapp/assets/_app/immutable/nodes/13.B33JDb5v.js create mode 100644 webapp/assets/_app/immutable/nodes/13.Ck8fk5zC.js create mode 100644 webapp/assets/_app/immutable/nodes/14.3rNSWGL0.js delete mode 100644 webapp/assets/_app/immutable/nodes/14.DsQEpiva.js delete mode 100644 webapp/assets/_app/immutable/nodes/15.5uMapiYU.js create mode 100644 webapp/assets/_app/immutable/nodes/15.DmnqOOd9.js create mode 100644 webapp/assets/_app/immutable/nodes/16.CZAXeJjl.js delete mode 100644 webapp/assets/_app/immutable/nodes/16.DytzVHZP.js create mode 100644 webapp/assets/_app/immutable/nodes/17.BJrLJtRa.js delete mode 100644 webapp/assets/_app/immutable/nodes/17.DxoZE9xY.js create mode 100644 webapp/assets/_app/immutable/nodes/18.BaIemZME.js delete mode 100644 webapp/assets/_app/immutable/nodes/18.YzZXxt0g.js delete mode 100644 webapp/assets/_app/immutable/nodes/19.4IHf2A04.js create mode 100644 webapp/assets/_app/immutable/nodes/19.BpbLvCcG.js delete mode 100644 webapp/assets/_app/immutable/nodes/2.BADPguU9.js create mode 100644 webapp/assets/_app/immutable/nodes/2.Js7JRvA3.js create mode 100644 webapp/assets/_app/immutable/nodes/20.0B9Z8rET.js delete mode 100644 webapp/assets/_app/immutable/nodes/20.DNaB4Zl-.js create mode 100644 webapp/assets/_app/immutable/nodes/21.BxFmjbkC.js delete mode 100644 webapp/assets/_app/immutable/nodes/21.DyAtvlhs.js delete mode 100644 webapp/assets/_app/immutable/nodes/22.CliGwwFO.js create mode 100644 webapp/assets/_app/immutable/nodes/22.DxgQgozR.js delete mode 100644 webapp/assets/_app/immutable/nodes/23.DFWYlnUs.js create mode 100644 webapp/assets/_app/immutable/nodes/23.vWjBPYxf.js delete mode 100644 webapp/assets/_app/immutable/nodes/24.Cvh0k1-p.js create mode 100644 webapp/assets/_app/immutable/nodes/24.DWjVL7id.js delete mode 100644 webapp/assets/_app/immutable/nodes/3.BVqHnS4E.js create mode 100644 webapp/assets/_app/immutable/nodes/3.CWyGlMW1.js create mode 100644 webapp/assets/_app/immutable/nodes/4.ByTij3bm.js delete mode 100644 webapp/assets/_app/immutable/nodes/4.CvPd1-eU.js delete mode 100644 webapp/assets/_app/immutable/nodes/5.DLLdfWzr.js create mode 100644 webapp/assets/_app/immutable/nodes/5.DUEiiBg9.js create mode 100644 webapp/assets/_app/immutable/nodes/6.4j84gekE.js delete mode 100644 webapp/assets/_app/immutable/nodes/6.CUriKSCU.js create mode 100644 webapp/assets/_app/immutable/nodes/7.BPl_OEUT.js delete mode 100644 webapp/assets/_app/immutable/nodes/7.CDCxQvHx.js create mode 100644 webapp/assets/_app/immutable/nodes/8.B3PNRMwk.js delete mode 100644 webapp/assets/_app/immutable/nodes/8.CtSgrltG.js create mode 100644 webapp/assets/_app/immutable/nodes/9.DAMysnIX.js delete mode 100644 webapp/assets/_app/immutable/nodes/9.sPCR99vC.js diff --git a/doc/config.md b/doc/config.md index 3c67e1b4..ee4f4d42 100644 --- a/doc/config.md +++ b/doc/config.md @@ -364,10 +364,14 @@ This is one of the features in GARM that I really love having. For one thing, it ### Github metrics -| Metric name | Type | Labels | Description | -|--------------------------------|---------|------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------| -| `garm_github_operations_total` | Counter | `operation`=<ListRunners\|CreateRegistrationToken\|...>
`scope`=<Organization\|Repository\|Enterprise> | This is a counter that increments every time a github operation is performed | -| `garm_github_errors_total` | Counter | `operation`=<ListRunners\|CreateRegistrationToken\|...>
`scope`=<Organization\|Repository\|Enterprise> | This is a counter that increments every time a github operation errored | +| Metric name | Type | Labels | Description | +|---------------------------------------|---------|------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------| +| `garm_github_operations_total` | Counter | `operation`=<ListRunners\|CreateRegistrationToken\|...>
`scope`=<Organization\|Repository\|Enterprise> | This is a counter that increments every time a github operation is performed | +| `garm_github_errors_total` | Counter | `operation`=<ListRunners\|CreateRegistrationToken\|...>
`scope`=<Organization\|Repository\|Enterprise> | This is a counter that increments every time a github operation errored | +| `garm_github_rate_limit_limit` | Gauge | `credential_name`=<credential name>
`credential_id`=<credential id>
`endpoint`=<endpoint name> | The maximum number of requests allowed per hour for GitHub API | +| `garm_github_rate_limit_remaining` | Gauge | `credential_name`=<credential name>
`credential_id`=<credential id>
`endpoint`=<endpoint name> | The number of requests remaining in the current rate limit window | +| `garm_github_rate_limit_used` | Gauge | `credential_name`=<credential name>
`credential_id`=<credential id>
`endpoint`=<endpoint name> | The number of requests used in the current rate limit window | +| `garm_github_rate_limit_reset_timestamp` | Gauge | `credential_name`=<credential name>
`credential_id`=<credential id>
`endpoint`=<endpoint name> | Unix timestamp when the rate limit resets | ### Enabling metrics diff --git a/metrics/github.go b/metrics/github.go index 0d6f5fa7..634c62cf 100644 --- a/metrics/github.go +++ b/metrics/github.go @@ -30,4 +30,33 @@ var ( Name: "errors_total", Help: "Total number of failed github operation attempts", }, []string{"operation", "scope"}) + + // GitHub rate limit metrics + GithubRateLimitLimit = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: metricsNamespace, + Subsystem: metricsGithubSubsystem, + Name: "rate_limit_limit", + Help: "The maximum number of requests allowed per hour for GitHub API", + }, []string{"credential_name", "credential_id", "endpoint"}) + + GithubRateLimitRemaining = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: metricsNamespace, + Subsystem: metricsGithubSubsystem, + Name: "rate_limit_remaining", + Help: "The number of requests remaining in the current rate limit window", + }, []string{"credential_name", "credential_id", "endpoint"}) + + GithubRateLimitUsed = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: metricsNamespace, + Subsystem: metricsGithubSubsystem, + Name: "rate_limit_used", + Help: "The number of requests used in the current rate limit window", + }, []string{"credential_name", "credential_id", "endpoint"}) + + GithubRateLimitResetTimestamp = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: metricsNamespace, + Subsystem: metricsGithubSubsystem, + Name: "rate_limit_reset_timestamp", + Help: "Unix timestamp when the rate limit resets", + }, []string{"credential_name", "credential_id", "endpoint"}) ) diff --git a/metrics/metrics.go b/metrics/metrics.go index 1a566116..3baa0488 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -68,6 +68,10 @@ func RegisterMetrics() error { // github GithubOperationCount, GithubOperationFailedCount, + GithubRateLimitLimit, + GithubRateLimitRemaining, + GithubRateLimitUsed, + GithubRateLimitResetTimestamp, // webhook metrics WebhooksReceived, ) diff --git a/util/github/client.go b/util/github/client.go index 4208c74f..64933df3 100644 --- a/util/github/client.go +++ b/util/github/client.go @@ -66,6 +66,9 @@ func (g *githubClient) ListEntityHooks(ctx context.Context, opts *github.ListOpt default: return nil, nil, fmt.Errorf("invalid entity type: %s", g.entity.EntityType) } + if err == nil && response != nil { + g.recordLimits(response.Rate) + } return ret, response, err } @@ -82,14 +85,19 @@ func (g *githubClient) GetEntityHook(ctx context.Context, id int64) (ret *github ).Inc() } }() + var response *github.Response switch g.entity.EntityType { case params.ForgeEntityTypeRepository: - ret, _, err = g.repo.GetHook(ctx, g.entity.Owner, g.entity.Name, id) + ret, response, err = g.repo.GetHook(ctx, g.entity.Owner, g.entity.Name, id) case params.ForgeEntityTypeOrganization: - ret, _, err = g.org.GetHook(ctx, g.entity.Owner, id) + ret, response, err = g.org.GetHook(ctx, g.entity.Owner, id) default: return nil, errors.New("invalid entity type") } + + if err == nil && response != nil { + g.recordLimits(response.Rate) + } return ret, err } @@ -106,14 +114,18 @@ func (g *githubClient) createGithubEntityHook(ctx context.Context, hook *github. ).Inc() } }() + var response *github.Response switch g.entity.EntityType { case params.ForgeEntityTypeRepository: - ret, _, err = g.repo.CreateHook(ctx, g.entity.Owner, g.entity.Name, hook) + ret, response, err = g.repo.CreateHook(ctx, g.entity.Owner, g.entity.Name, hook) case params.ForgeEntityTypeOrganization: - ret, _, err = g.org.CreateHook(ctx, g.entity.Owner, hook) + ret, response, err = g.org.CreateHook(ctx, g.entity.Owner, hook) default: return nil, errors.New("invalid entity type") } + if err == nil && response != nil { + g.recordLimits(response.Rate) + } return ret, err } @@ -149,6 +161,9 @@ func (g *githubClient) DeleteEntityHook(ctx context.Context, id int64) (ret *git default: return nil, errors.New("invalid entity type") } + if err == nil && ret != nil { + g.recordLimits(ret.Rate) + } return ret, err } @@ -173,6 +188,10 @@ func (g *githubClient) PingEntityHook(ctx context.Context, id int64) (ret *githu default: return nil, errors.New("invalid entity type") } + + if err == nil && ret != nil { + g.recordLimits(ret.Rate) + } return ret, err } @@ -204,7 +223,9 @@ func (g *githubClient) ListEntityRunners(ctx context.Context, opts *github.ListR default: return nil, nil, errors.New("invalid entity type") } - + if err == nil && response != nil { + g.recordLimits(response.Rate) + } return ret, response, err } @@ -236,7 +257,9 @@ func (g *githubClient) ListEntityRunnerApplicationDownloads(ctx context.Context) default: return nil, nil, errors.New("invalid entity type") } - + if err == nil && response != nil { + g.recordLimits(response.Rate) + } return ret, response, err } @@ -308,6 +331,9 @@ func (g *githubClient) RemoveEntityRunner(ctx context.Context, runnerID int64) e default: return errors.New("invalid entity type") } + if err == nil && response != nil { + g.recordLimits(response.Rate) + } if err := parseError(response, err); err != nil { return fmt.Errorf("error removing runner %d: %w", runnerID, err) @@ -344,6 +370,9 @@ func (g *githubClient) CreateEntityRegistrationToken(ctx context.Context) (*gith default: return nil, nil, errors.New("invalid entity type") } + if err == nil && response != nil { + g.recordLimits(response.Rate) + } return ret, response, err } @@ -371,6 +400,10 @@ func (g *githubClient) getOrganizationRunnerGroupIDByName(ctx context.Context, e } return 0, fmt.Errorf("error fetching runners: %w", err) } + if err == nil && ghResp != nil { + g.recordLimits(ghResp.Rate) + } + for _, runnerGroup := range runnerGroups.RunnerGroups { if runnerGroup.Name != nil && *runnerGroup.Name == rgName { return *runnerGroup.ID, nil @@ -407,6 +440,9 @@ func (g *githubClient) getEnterpriseRunnerGroupIDByName(ctx context.Context, ent } return 0, fmt.Errorf("error fetching runners: %w", err) } + if err == nil && ghResp != nil { + g.recordLimits(ghResp.Rate) + } for _, runnerGroup := range runnerGroups.RunnerGroups { if runnerGroup.Name != nil && *runnerGroup.Name == rgName { return *runnerGroup.ID, nil @@ -483,6 +519,9 @@ func (g *githubClient) GetEntityJITConfig(ctx context.Context, instance string, case params.ForgeEntityTypeEnterprise: ret, response, err = g.enterprise.GenerateEnterpriseJITConfig(ctx, g.entity.Owner, &req) } + if err == nil && response != nil { + g.recordLimits(response.Rate) + } if err != nil { metrics.GithubOperationFailedCount.WithLabelValues( "GetEntityJITConfig", // label: operation @@ -538,6 +577,35 @@ func (g *githubClient) GithubBaseURL() *url.URL { return g.cli.BaseURL } +func (g *githubClient) recordLimits(core github.Rate) { + limit := params.GithubRateLimit{ + Limit: core.Limit, + Used: core.Used, + Remaining: core.Remaining, + Reset: core.Reset.Unix(), + } + cache.SetCredentialsRateLimit(g.entity.Credentials.ID, limit) + + // Record Prometheus metrics + credID := fmt.Sprintf("%d", g.entity.Credentials.ID) + credName := g.entity.Credentials.Name + endpoint := g.entity.Credentials.Endpoint.Name + if endpoint == "" { + endpoint = g.entity.Credentials.BaseURL + } + + labels := map[string]string{ + "credential_name": credName, + "credential_id": credID, + "endpoint": endpoint, + } + + metrics.GithubRateLimitLimit.With(labels).Set(float64(core.Limit)) + metrics.GithubRateLimitRemaining.With(labels).Set(float64(core.Remaining)) + metrics.GithubRateLimitUsed.With(labels).Set(float64(core.Used)) + metrics.GithubRateLimitResetTimestamp.With(labels).Set(float64(core.Reset.Unix())) +} + func NewRateLimitClient(ctx context.Context, credentials params.ForgeCredentials) (common.RateLimitClient, error) { httpClient, err := credentials.GetHTTPClient(ctx) if err != nil { @@ -623,5 +691,13 @@ func Client(ctx context.Context, entity params.ForgeEntity) (common.GithubClient entity: entity, } + limits, err := cli.RateLimit(ctx) + if err == nil && limits != nil { + core := limits.GetCore() + if core != nil { + cli.recordLimits(*core) + } + } + return cli, nil } diff --git a/webapp/assets/_app/immutable/assets/0.BQ5uM8Ma.css b/webapp/assets/_app/immutable/assets/0.BQ5uM8Ma.css deleted file mode 100644 index ed8b3445..00000000 --- a/webapp/assets/_app/immutable/assets/0.BQ5uM8Ma.css +++ /dev/null @@ -1 +0,0 @@ -@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-300: oklch(80.8% .114 19.571);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-red-900: oklch(39.6% .141 25.723);--color-orange-50: oklch(98% .016 73.684);--color-orange-400: oklch(75% .183 55.934);--color-orange-500: oklch(70.5% .213 47.604);--color-orange-600: oklch(64.6% .222 41.116);--color-orange-700: oklch(55.3% .195 38.402);--color-yellow-50: oklch(98.7% .026 102.212);--color-yellow-100: oklch(97.3% .071 103.193);--color-yellow-200: oklch(94.5% .129 101.54);--color-yellow-300: oklch(90.5% .182 98.111);--color-yellow-400: oklch(85.2% .199 91.936);--color-yellow-500: oklch(79.5% .184 86.047);--color-yellow-600: oklch(68.1% .162 75.834);--color-yellow-700: oklch(55.4% .135 66.442);--color-yellow-800: oklch(47.6% .114 61.907);--color-yellow-900: oklch(42.1% .095 57.708);--color-green-50: oklch(98.2% .018 155.826);--color-green-100: oklch(96.2% .044 156.743);--color-green-200: oklch(92.5% .084 155.995);--color-green-300: oklch(87.1% .15 154.449);--color-green-400: oklch(79.2% .209 151.711);--color-green-500: oklch(72.3% .219 149.579);--color-green-600: oklch(62.7% .194 149.214);--color-green-700: oklch(52.7% .154 150.069);--color-green-800: oklch(44.8% .119 151.328);--color-green-900: oklch(39.3% .095 152.535);--color-blue-50: oklch(97% .014 254.604);--color-blue-100: oklch(93.2% .032 255.585);--color-blue-200: oklch(88.2% .059 254.128);--color-blue-300: oklch(80.9% .105 251.813);--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-600: oklch(54.6% .245 262.881);--color-blue-700: oklch(48.8% .243 264.376);--color-blue-800: oklch(42.4% .199 265.638);--color-blue-900: oklch(37.9% .146 265.522);--color-indigo-300: oklch(78.5% .115 274.713);--color-indigo-400: oklch(67.3% .182 276.935);--color-indigo-500: oklch(58.5% .233 277.117);--color-indigo-600: oklch(51.1% .262 276.966);--color-indigo-900: oklch(35.9% .144 278.697);--color-purple-50: oklch(97.7% .014 308.299);--color-purple-100: oklch(94.6% .033 307.174);--color-purple-200: oklch(90.2% .063 306.703);--color-purple-400: oklch(71.4% .203 305.504);--color-purple-500: oklch(62.7% .265 303.9);--color-purple-600: oklch(55.8% .288 302.321);--color-purple-700: oklch(49.6% .265 301.924);--color-purple-800: oklch(43.8% .218 303.724);--color-purple-900: oklch(38.1% .176 304.987);--color-gray-50: oklch(98.5% .002 247.839);--color-gray-100: oklch(96.7% .003 264.542);--color-gray-200: oklch(92.8% .006 264.531);--color-gray-300: oklch(87.2% .01 258.338);--color-gray-400: oklch(70.7% .022 261.325);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-gray-700: oklch(37.3% .034 259.733);--color-gray-800: oklch(27.8% .033 256.848);--color-gray-900: oklch(21% .034 264.665);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-xl: 36rem;--container-2xl: 42rem;--container-6xl: 72rem;--container-7xl: 80rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--tracking-wide: .025em;--tracking-wider: .05em;--radius-md: .375rem;--radius-lg: .5rem;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\/2{left:50%}.left-full{left:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2 / span 2}.container{width:100%}@media (width >= 640px){.container{max-width:640px}}@media (width >= 768px){.container{max-width:768px}}@media (width >= 1024px){.container{max-width:1024px}}@media (width >= 1280px){.container{max-width:1280px}}@media (width >= 1536px){.container{max-width:1536px}}.container\!{width:100%!important}@media (width >= 640px){.container\!{max-width:640px!important}}@media (width >= 768px){.container\!{max-width:768px!important}}@media (width >= 1024px){.container\!{max-width:1024px!important}}@media (width >= 1280px){.container\!{max-width:1280px!important}}@media (width >= 1536px){.container\!{max-width:1536px!important}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-12{margin-right:calc(var(--spacing) * -12)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\.5{margin-right:calc(var(--spacing) * 2.5)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-0\.5{margin-left:calc(var(--spacing) * -.5)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-6{margin-left:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.h-0{height:calc(var(--spacing) * 0)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[38px\]{min-height:38px}.min-h-\[42px\]{min-height:42px}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing) * 0)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize\!{resize:both!important}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.-space-y-px>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(-1px * var(--tw-space-y-reverse));margin-block-end:calc(-1px * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}:where(.-space-x-px>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(-1px * var(--tw-space-x-reverse));margin-inline-end:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:transparent}.border-white{border-color:var(--color-white)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-t-gray-900{border-top-color:var(--color-gray-900)}.border-r-gray-900{border-right-color:var(--color-gray-900)}.border-b-gray-900{border-bottom-color:var(--color-gray-900)}.border-l-gray-900{border-left-color:var(--color-gray-900)}.bg-black\/30{background-color:color-mix(in srgb,#000 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-800\/50{background-color:color-mix(in srgb,oklch(42.4% .199 265.638) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-blue-800\/50{background-color:color-mix(in oklab,var(--color-blue-800) 50%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-900{background-color:var(--color-red-900)}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from: var(--color-gray-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white{--tw-gradient-to: var(--color-white);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-4{--tw-leading: calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading: calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading: calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight: var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking: var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-black{color:var(--color-black)}.text-blue-200{color:var(--color-blue-200)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-700{color:var(--color-orange-700)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-200{color:var(--color-red-200)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline\!{text-decoration-line:underline!important}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0%}.opacity-25{opacity:25%}.opacity-50{opacity:50%}.opacity-75{opacity:75%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-200{--tw-ring-color: var(--color-blue-200)}.ring-blue-600\/20{--tw-ring-color: color-mix(in srgb, oklch(54.6% .245 262.881) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-blue-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-blue-600) 20%, transparent)}}.ring-gray-200{--tw-ring-color: var(--color-gray-200)}.ring-gray-500\/20{--tw-ring-color: color-mix(in srgb, oklch(55.1% .027 264.364) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-gray-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-gray-500) 20%, transparent)}}.ring-gray-600\/20{--tw-ring-color: color-mix(in srgb, oklch(44.6% .03 256.802) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-gray-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-gray-600) 20%, transparent)}}.ring-green-200{--tw-ring-color: var(--color-green-200)}.ring-green-600\/20{--tw-ring-color: color-mix(in srgb, oklch(62.7% .194 149.214) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-green-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-green-600) 20%, transparent)}}.ring-orange-600\/20{--tw-ring-color: color-mix(in srgb, oklch(64.6% .222 41.116) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-orange-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-orange-600) 20%, transparent)}}.ring-purple-600\/20{--tw-ring-color: color-mix(in srgb, oklch(55.8% .288 302.321) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-purple-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-purple-600) 20%, transparent)}}.ring-red-200{--tw-ring-color: var(--color-red-200)}.ring-red-600\/20{--tw-ring-color: color-mix(in srgb, oklch(57.7% .245 27.325) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-red-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-red-600) 20%, transparent)}}.ring-yellow-200{--tw-ring-color: var(--color-yellow-200)}.ring-yellow-600\/20{--tw-ring-color: color-mix(in srgb, oklch(68.1% .162 75.834) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-yellow-600\/20{--tw-ring-color: color-mix(in oklab, var(--color-yellow-600) 20%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style: none;outline-style:none}.ring-inset{--tw-ring-inset: inset}@media (hover: hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}}@media (hover: hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:100%}}.first\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}@media (hover: hover){.hover\:scale-105:hover{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover: hover){.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}}@media (hover: hover){.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}}@media (hover: hover){.hover\:bg-blue-200:hover{background-color:var(--color-blue-200)}}@media (hover: hover){.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}}@media (hover: hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}}@media (hover: hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}}@media (hover: hover){.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}}@media (hover: hover){.hover\:bg-green-400:hover{background-color:var(--color-green-400)}}@media (hover: hover){.hover\:bg-red-200:hover{background-color:var(--color-red-200)}}@media (hover: hover){.hover\:bg-red-400:hover{background-color:var(--color-red-400)}}@media (hover: hover){.hover\:bg-red-700:hover{background-color:var(--color-red-700)}}@media (hover: hover){.hover\:text-blue-500:hover{color:var(--color-blue-500)}}@media (hover: hover){.hover\:text-blue-600:hover{color:var(--color-blue-600)}}@media (hover: hover){.hover\:text-blue-800:hover{color:var(--color-blue-800)}}@media (hover: hover){.hover\:text-blue-900:hover{color:var(--color-blue-900)}}@media (hover: hover){.hover\:text-gray-600:hover{color:var(--color-gray-600)}}@media (hover: hover){.hover\:text-gray-700:hover{color:var(--color-gray-700)}}@media (hover: hover){.hover\:text-gray-800:hover{color:var(--color-gray-800)}}@media (hover: hover){.hover\:text-gray-900:hover{color:var(--color-gray-900)}}@media (hover: hover){.hover\:text-green-500:hover{color:var(--color-green-500)}}@media (hover: hover){.hover\:text-green-900:hover{color:var(--color-green-900)}}@media (hover: hover){.hover\:text-indigo-500:hover{color:var(--color-indigo-500)}}@media (hover: hover){.hover\:text-indigo-900:hover{color:var(--color-indigo-900)}}@media (hover: hover){.hover\:text-red-500:hover{color:var(--color-red-500)}}@media (hover: hover){.hover\:text-red-800:hover{color:var(--color-red-800)}}@media (hover: hover){.hover\:text-red-900:hover{color:var(--color-red-900)}}@media (hover: hover){.hover\:text-yellow-300:hover{color:var(--color-yellow-300)}}@media (hover: hover){.hover\:text-yellow-500:hover{color:var(--color-yellow-500)}}@media (hover: hover){.hover\:text-yellow-800:hover{color:var(--color-yellow-800)}}@media (hover: hover){.hover\:underline:hover{text-decoration-line:underline}}@media (hover: hover){.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (hover: hover){.hover\:shadow-sm:hover{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:bg-red-200:focus{background-color:var(--color-red-200)}.focus\:placeholder-gray-400:focus::-moz-placeholder{color:var(--color-gray-400)}.focus\:placeholder-gray-400:focus::placeholder{color:var(--color-gray-400)}.focus\:ring-1:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color: var(--color-blue-500)}.focus\:ring-gray-500:focus{--tw-ring-color: var(--color-gray-500)}.focus\:ring-green-500:focus{--tw-ring-color: var(--color-green-500)}.focus\:ring-indigo-500:focus{--tw-ring-color: var(--color-indigo-500)}.focus\:ring-red-500:focus{--tw-ring-color: var(--color-red-500)}.focus\:ring-white:focus{--tw-ring-color: var(--color-white)}.focus\:ring-yellow-500:focus{--tw-ring-color: var(--color-yellow-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style: none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset: inset}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled{background-color:var(--color-gray-400)}.disabled\:opacity-50:disabled{opacity:50%}@media (hover: hover){.disabled\:hover\:bg-gray-400:disabled:hover{background-color:var(--color-gray-400)}}@media (width >= 640px){.sm\:col-span-2{grid-column:span 2 / span 2}}@media (width >= 640px){.sm\:mx-auto{margin-inline:auto}}@media (width >= 640px){.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}}@media (width >= 640px){.sm\:ml-4{margin-left:calc(var(--spacing) * 4)}}@media (width >= 640px){.sm\:block{display:block}}@media (width >= 640px){.sm\:flex{display:flex}}@media (width >= 640px){.sm\:grid{display:grid}}@media (width >= 640px){.sm\:hidden{display:none}}@media (width >= 640px){.sm\:w-full{width:100%}}@media (width >= 640px){.sm\:max-w-md{max-width:var(--container-md)}}@media (width >= 640px){.sm\:flex-1{flex:1}}@media (width >= 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width >= 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 640px){.sm\:items-center{align-items:center}}@media (width >= 640px){.sm\:justify-between{justify-content:space-between}}@media (width >= 640px){.sm\:gap-4{gap:calc(var(--spacing) * 4)}}@media (width >= 640px){.sm\:rounded-lg{border-radius:var(--radius-lg)}}@media (width >= 640px){.sm\:p-6{padding:calc(var(--spacing) * 6)}}@media (width >= 640px){.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width >= 640px){.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}}@media (width >= 640px){.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}@media (width >= 768px){.md\:ml-2{margin-left:calc(var(--spacing) * 2)}}@media (width >= 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width >= 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 768px){:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}}@media (width >= 1024px){.lg\:fixed{position:fixed}}@media (width >= 1024px){.lg\:inset-y-0{inset-block:calc(var(--spacing) * 0)}}@media (width >= 1024px){.lg\:flex{display:flex}}@media (width >= 1024px){.lg\:hidden{display:none}}@media (width >= 1024px){.lg\:w-64{width:calc(var(--spacing) * 64)}}@media (width >= 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width >= 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width >= 1024px){.lg\:flex-col{flex-direction:column}}@media (width >= 1024px){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (width >= 1024px){.lg\:pt-6{padding-top:calc(var(--spacing) * 6)}}@media (width >= 1024px){.lg\:pl-64{padding-left:calc(var(--spacing) * 64)}}.dark .dark\:block{display:block}.dark .dark\:hidden{display:none}:where(.dark .dark\:divide-gray-700>:not(:last-child)){border-color:var(--color-gray-700)}.dark .dark\:border-blue-700{border-color:var(--color-blue-700)}.dark .dark\:border-blue-800{border-color:var(--color-blue-800)}.dark .dark\:border-gray-600{border-color:var(--color-gray-600)}.dark .dark\:border-gray-700{border-color:var(--color-gray-700)}.dark .dark\:border-green-400{border-color:var(--color-green-400)}.dark .dark\:border-green-700{border-color:var(--color-green-700)}.dark .dark\:border-red-500{border-color:var(--color-red-500)}.dark .dark\:border-red-600{border-color:var(--color-red-600)}.dark .dark\:border-red-700{border-color:var(--color-red-700)}.dark .dark\:border-red-800{border-color:var(--color-red-800)}.dark .dark\:border-yellow-600{border-color:var(--color-yellow-600)}.dark .dark\:border-yellow-700{border-color:var(--color-yellow-700)}.dark .dark\:border-yellow-800{border-color:var(--color-yellow-800)}.dark .dark\:bg-black\/50{background-color:color-mix(in srgb,#000 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.dark .dark\:bg-blue-500\/10{background-color:color-mix(in srgb,oklch(62.3% .214 259.815) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.dark .dark\:bg-blue-700{background-color:var(--color-blue-700)}.dark .dark\:bg-blue-800{background-color:var(--color-blue-800)}.dark .dark\:bg-blue-900{background-color:var(--color-blue-900)}.dark .dark\:bg-blue-900\/20{background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900) 20%,transparent)}}.dark .dark\:bg-blue-900\/50{background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-blue-900\/50{background-color:color-mix(in oklab,var(--color-blue-900) 50%,transparent)}}.dark .dark\:bg-gray-500\/10{background-color:color-mix(in srgb,oklch(55.1% .027 264.364) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500) 10%,transparent)}}.dark .dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark .dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark .dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark .dark\:bg-gray-800\/50{background-color:color-mix(in srgb,oklch(27.8% .033 256.848) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}.dark .dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark .dark\:bg-gray-900\/50{background-color:color-mix(in srgb,oklch(21% .034 264.665) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900) 50%,transparent)}}.dark .dark\:bg-green-500\/10{background-color:color-mix(in srgb,oklch(72.3% .219 149.579) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.dark .dark\:bg-green-900{background-color:var(--color-green-900)}.dark .dark\:bg-green-900\/20{background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900) 20%,transparent)}}.dark .dark\:bg-green-900\/50{background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-green-900\/50{background-color:color-mix(in oklab,var(--color-green-900) 50%,transparent)}}.dark .dark\:bg-orange-500\/10{background-color:color-mix(in srgb,oklch(70.5% .213 47.604) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.dark .dark\:bg-purple-500\/10{background-color:color-mix(in srgb,oklch(62.7% .265 303.9) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.dark .dark\:bg-purple-900{background-color:var(--color-purple-900)}.dark .dark\:bg-red-500\/10{background-color:color-mix(in srgb,oklch(63.7% .237 25.331) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.dark .dark\:bg-red-700{background-color:var(--color-red-700)}.dark .dark\:bg-red-800{background-color:var(--color-red-800)}.dark .dark\:bg-red-900{background-color:var(--color-red-900)}.dark .dark\:bg-red-900\/20{background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900) 20%,transparent)}}.dark .dark\:bg-red-900\/50{background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-red-900\/50{background-color:color-mix(in oklab,var(--color-red-900) 50%,transparent)}}.dark .dark\:bg-yellow-500\/10{background-color:color-mix(in srgb,oklch(79.5% .184 86.047) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500) 10%,transparent)}}.dark .dark\:bg-yellow-900{background-color:var(--color-yellow-900)}.dark .dark\:bg-yellow-900\/20{background-color:color-mix(in srgb,oklch(42.1% .095 57.708) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900) 20%,transparent)}}.dark .dark\:from-gray-800{--tw-gradient-from: var(--color-gray-800);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark .dark\:to-gray-700{--tw-gradient-to: var(--color-gray-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark .dark\:text-blue-100{color:var(--color-blue-100)}.dark .dark\:text-blue-200{color:var(--color-blue-200)}.dark .dark\:text-blue-300{color:var(--color-blue-300)}.dark .dark\:text-blue-400{color:var(--color-blue-400)}.dark .dark\:text-gray-200{color:var(--color-gray-200)}.dark .dark\:text-gray-300{color:var(--color-gray-300)}.dark .dark\:text-gray-400{color:var(--color-gray-400)}.dark .dark\:text-gray-500{color:var(--color-gray-500)}.dark .dark\:text-green-200{color:var(--color-green-200)}.dark .dark\:text-green-300{color:var(--color-green-300)}.dark .dark\:text-green-400{color:var(--color-green-400)}.dark .dark\:text-indigo-400{color:var(--color-indigo-400)}.dark .dark\:text-orange-400{color:var(--color-orange-400)}.dark .dark\:text-purple-200{color:var(--color-purple-200)}.dark .dark\:text-purple-400{color:var(--color-purple-400)}.dark .dark\:text-red-100{color:var(--color-red-100)}.dark .dark\:text-red-200{color:var(--color-red-200)}.dark .dark\:text-red-300{color:var(--color-red-300)}.dark .dark\:text-red-400{color:var(--color-red-400)}.dark .dark\:text-white{color:var(--color-white)}.dark .dark\:text-yellow-200{color:var(--color-yellow-200)}.dark .dark\:text-yellow-300{color:var(--color-yellow-300)}.dark .dark\:text-yellow-400{color:var(--color-yellow-400)}.dark .dark\:placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.dark .dark\:placeholder-gray-400::placeholder{color:var(--color-gray-400)}.dark .dark\:placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.dark .dark\:placeholder-gray-500::placeholder{color:var(--color-gray-500)}.dark .dark\:ring-blue-400\/20{--tw-ring-color: color-mix(in srgb, oklch(70.7% .165 254.624) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-blue-400\/20{--tw-ring-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.dark .dark\:ring-blue-400\/30{--tw-ring-color: color-mix(in srgb, oklch(70.7% .165 254.624) 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-blue-400\/30{--tw-ring-color: color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.dark .dark\:ring-blue-500\/20{--tw-ring-color: color-mix(in srgb, oklch(62.3% .214 259.815) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-blue-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.dark .dark\:ring-gray-400\/20{--tw-ring-color: color-mix(in srgb, oklch(70.7% .022 261.325) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-gray-400\/20{--tw-ring-color: color-mix(in oklab, var(--color-gray-400) 20%, transparent)}}.dark .dark\:ring-gray-400\/30{--tw-ring-color: color-mix(in srgb, oklch(70.7% .022 261.325) 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-gray-400\/30{--tw-ring-color: color-mix(in oklab, var(--color-gray-400) 30%, transparent)}}.dark .dark\:ring-gray-500\/20{--tw-ring-color: color-mix(in srgb, oklch(55.1% .027 264.364) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-gray-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-gray-500) 20%, transparent)}}.dark .dark\:ring-green-400\/20{--tw-ring-color: color-mix(in srgb, oklch(79.2% .209 151.711) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-green-400\/20{--tw-ring-color: color-mix(in oklab, var(--color-green-400) 20%, transparent)}}.dark .dark\:ring-green-400\/30{--tw-ring-color: color-mix(in srgb, oklch(79.2% .209 151.711) 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-green-400\/30{--tw-ring-color: color-mix(in oklab, var(--color-green-400) 30%, transparent)}}.dark .dark\:ring-green-500\/20{--tw-ring-color: color-mix(in srgb, oklch(72.3% .219 149.579) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-green-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-green-500) 20%, transparent)}}.dark .dark\:ring-orange-500\/20{--tw-ring-color: color-mix(in srgb, oklch(70.5% .213 47.604) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-orange-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-orange-500) 20%, transparent)}}.dark .dark\:ring-purple-400\/30{--tw-ring-color: color-mix(in srgb, oklch(71.4% .203 305.504) 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-purple-400\/30{--tw-ring-color: color-mix(in oklab, var(--color-purple-400) 30%, transparent)}}.dark .dark\:ring-purple-500\/20{--tw-ring-color: color-mix(in srgb, oklch(62.7% .265 303.9) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-purple-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.dark .dark\:ring-red-400\/20{--tw-ring-color: color-mix(in srgb, oklch(70.4% .191 22.216) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-red-400\/20{--tw-ring-color: color-mix(in oklab, var(--color-red-400) 20%, transparent)}}.dark .dark\:ring-red-400\/30{--tw-ring-color: color-mix(in srgb, oklch(70.4% .191 22.216) 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-red-400\/30{--tw-ring-color: color-mix(in oklab, var(--color-red-400) 30%, transparent)}}.dark .dark\:ring-red-500\/20{--tw-ring-color: color-mix(in srgb, oklch(63.7% .237 25.331) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-red-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.dark .dark\:ring-yellow-400\/30{--tw-ring-color: color-mix(in srgb, oklch(85.2% .199 91.936) 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-yellow-400\/30{--tw-ring-color: color-mix(in oklab, var(--color-yellow-400) 30%, transparent)}}.dark .dark\:ring-yellow-500\/20{--tw-ring-color: color-mix(in srgb, oklch(79.5% .184 86.047) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark .dark\:ring-yellow-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}@media (hover: hover){.dark .dark\:hover\:border-blue-400:hover{border-color:var(--color-blue-400)}}@media (hover: hover){.dark .dark\:hover\:border-gray-500:hover{border-color:var(--color-gray-500)}}@media (hover: hover){.dark .dark\:hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}}@media (hover: hover){.dark .dark\:hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}}@media (hover: hover){.dark .dark\:hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}}@media (hover: hover){.dark .dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}}@media (hover: hover){.dark .dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}}@media (hover: hover){.dark .dark\:hover\:bg-red-700:hover{background-color:var(--color-red-700)}}@media (hover: hover){.dark .dark\:hover\:bg-red-800:hover{background-color:var(--color-red-800)}}@media (hover: hover){.dark .dark\:hover\:text-blue-100:hover{color:var(--color-blue-100)}}@media (hover: hover){.dark .dark\:hover\:text-blue-300:hover{color:var(--color-blue-300)}}@media (hover: hover){.dark .dark\:hover\:text-blue-400:hover{color:var(--color-blue-400)}}@media (hover: hover){.dark .dark\:hover\:text-gray-100:hover{color:var(--color-gray-100)}}@media (hover: hover){.dark .dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}@media (hover: hover){.dark .dark\:hover\:text-green-300:hover{color:var(--color-green-300)}}@media (hover: hover){.dark .dark\:hover\:text-indigo-300:hover{color:var(--color-indigo-300)}}@media (hover: hover){.dark .dark\:hover\:text-red-300:hover{color:var(--color-red-300)}}@media (hover: hover){.dark .dark\:hover\:text-white:hover{color:var(--color-white)}}@media (hover: hover){.dark .dark\:hover\:text-yellow-300:hover{color:var(--color-yellow-300)}}.dark .dark\:focus\:bg-red-700:focus{background-color:var(--color-red-700)}.dark .dark\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color: var(--color-gray-900)}}@layer base{html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: ""; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: ""; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: ""; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: ""; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: ""; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: ""; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: ""; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-space-x-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}} diff --git a/webapp/assets/_app/immutable/assets/0.Dm58_Ye1.css b/webapp/assets/_app/immutable/assets/0.Dm58_Ye1.css new file mode 100644 index 00000000..2959b6bc --- /dev/null +++ b/webapp/assets/_app/immutable/assets/0.Dm58_Ye1.css @@ -0,0 +1 @@ +@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-900:oklch(35.9% .144 278.697);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-full{right:100%}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1{left:calc(var(--spacing)*1)}.left-1\/2{left:50%}.left-full{left:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.container\!{width:100%!important}@media (min-width:640px){.container\!{max-width:640px!important}}@media (min-width:768px){.container\!{max-width:768px!important}}@media (min-width:1024px){.container\!{max-width:1024px!important}}@media (min-width:1280px){.container\!{max-width:1280px!important}}@media (min-width:1536px){.container\!{max-width:1536px!important}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.-mr-0\.5{margin-right:calc(var(--spacing)*-.5)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.-mr-12{margin-right:calc(var(--spacing)*-12)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-2\.5{margin-right:calc(var(--spacing)*2.5)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.-ml-0\.5{margin-left:calc(var(--spacing)*-.5)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.h-0{height:calc(var(--spacing)*0)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[38px\]{min-height:38px}.min-h-\[42px\]{min-height:42px}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize\!{resize:both!important}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.-space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(-1px*var(--tw-space-y-reverse));margin-block-end:calc(-1px*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*4)}:where(.-space-x-px>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(-1px*var(--tw-space-x-reverse));margin-inline-end:calc(-1px*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-6{row-gap:calc(var(--spacing)*6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-t-gray-900{border-top-color:var(--color-gray-900)}.border-r-gray-900{border-right-color:var(--color-gray-900)}.border-b-gray-900{border-bottom-color:var(--color-gray-900)}.border-l-gray-900{border-left-color:var(--color-gray-900)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-800\/50{background-color:#193cb880}@supports (color:color-mix(in lab,red,red)){.bg-blue-800\/50{background-color:color-mix(in oklab,var(--color-blue-800)50%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-900{background-color:var(--color-red-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-20{padding-top:calc(var(--spacing)*20)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-black{color:var(--color-black)}.text-blue-200{color:var(--color-blue-200)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-700{color:var(--color-orange-700)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-200{color:var(--color-red-200)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline\!{text-decoration-line:underline!important}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-blue-600\/20{--tw-ring-color:#155dfc33}@supports (color:color-mix(in lab,red,red)){.ring-blue-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-600)20%,transparent)}}.ring-gray-200{--tw-ring-color:var(--color-gray-200)}.ring-gray-500\/20{--tw-ring-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.ring-gray-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.ring-gray-600\/20{--tw-ring-color:#4a556533}@supports (color:color-mix(in lab,red,red)){.ring-gray-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-gray-600)20%,transparent)}}.ring-green-200{--tw-ring-color:var(--color-green-200)}.ring-green-600\/20{--tw-ring-color:#00a54433}@supports (color:color-mix(in lab,red,red)){.ring-green-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-green-600)20%,transparent)}}.ring-orange-600\/20{--tw-ring-color:#f0510033}@supports (color:color-mix(in lab,red,red)){.ring-orange-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-orange-600)20%,transparent)}}.ring-purple-600\/20{--tw-ring-color:#9810fa33}@supports (color:color-mix(in lab,red,red)){.ring-purple-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-purple-600)20%,transparent)}}.ring-red-200{--tw-ring-color:var(--color-red-200)}.ring-red-600\/20{--tw-ring-color:#e4001433}@supports (color:color-mix(in lab,red,red)){.ring-red-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-600)20%,transparent)}}.ring-yellow-200{--tw-ring-color:var(--color-yellow-200)}.ring-yellow-600\/20{--tw-ring-color:#cd890033}@supports (color:color-mix(in lab,red,red)){.ring-yellow-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-yellow-600)20%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.first\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-blue-200:hover{background-color:var(--color-blue-200)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-green-400:hover{background-color:var(--color-green-400)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-red-400:hover{background-color:var(--color-red-400)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-green-500:hover{color:var(--color-green-500)}.hover\:text-green-900:hover{color:var(--color-green-900)}.hover\:text-indigo-500:hover{color:var(--color-indigo-500)}.hover\:text-indigo-900:hover{color:var(--color-indigo-900)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:text-yellow-300:hover{color:var(--color-yellow-300)}.hover\:text-yellow-500:hover{color:var(--color-yellow-500)}.hover\:text-yellow-800:hover{color:var(--color-yellow-800)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:bg-red-200:focus{background-color:var(--color-red-200)}.focus\:placeholder-gray-400:focus::-moz-placeholder{color:var(--color-gray-400)}.focus\:placeholder-gray-400:focus::placeholder{color:var(--color-gray-400)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-green-500:focus{--tw-ring-color:var(--color-green-500)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-white:focus{--tw-ring-color:var(--color-white)}.focus\:ring-yellow-500:focus{--tw-ring-color:var(--color-yellow-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled{background-color:var(--color-gray-400)}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:bg-gray-400:disabled:hover{background-color:var(--color-gray-400)}}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mx-auto{margin-inline:auto}.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:ml-4{margin-left:calc(var(--spacing)*4)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-10{padding-inline:calc(var(--spacing)*10)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:768px){.md\:ml-2{margin-left:calc(var(--spacing)*2)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}}@media (min-width:1024px){.lg\:fixed{position:fixed}.lg\:inset-y-0{inset-block:calc(var(--spacing)*0)}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-64{width:calc(var(--spacing)*64)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\:pt-6{padding-top:calc(var(--spacing)*6)}.lg\:pl-64{padding-left:calc(var(--spacing)*64)}}.dark .dark\:block{display:block}.dark .dark\:hidden{display:none}:where(.dark .dark\:divide-gray-700>:not(:last-child)){border-color:var(--color-gray-700)}.dark .dark\:border-blue-700{border-color:var(--color-blue-700)}.dark .dark\:border-blue-800{border-color:var(--color-blue-800)}.dark .dark\:border-gray-600{border-color:var(--color-gray-600)}.dark .dark\:border-gray-700{border-color:var(--color-gray-700)}.dark .dark\:border-green-400{border-color:var(--color-green-400)}.dark .dark\:border-green-700{border-color:var(--color-green-700)}.dark .dark\:border-red-500{border-color:var(--color-red-500)}.dark .dark\:border-red-600{border-color:var(--color-red-600)}.dark .dark\:border-red-700{border-color:var(--color-red-700)}.dark .dark\:border-red-800{border-color:var(--color-red-800)}.dark .dark\:border-yellow-600{border-color:var(--color-yellow-600)}.dark .dark\:border-yellow-700{border-color:var(--color-yellow-700)}.dark .dark\:border-yellow-800{border-color:var(--color-yellow-800)}.dark .dark\:bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.dark .dark\:bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.dark .dark\:bg-blue-700{background-color:var(--color-blue-700)}.dark .dark\:bg-blue-800{background-color:var(--color-blue-800)}.dark .dark\:bg-blue-900{background-color:var(--color-blue-900)}.dark .dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark .dark\:bg-blue-900\/50{background-color:#1c398e80}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-blue-900\/50{background-color:color-mix(in oklab,var(--color-blue-900)50%,transparent)}}.dark .dark\:bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500)10%,transparent)}}.dark .dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark .dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark .dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark .dark\:bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark .dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark .dark\:bg-gray-900\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.dark .dark\:bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.dark .dark\:bg-green-900{background-color:var(--color-green-900)}.dark .dark\:bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark .dark\:bg-green-900\/50{background-color:#0d542b80}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-green-900\/50{background-color:color-mix(in oklab,var(--color-green-900)50%,transparent)}}.dark .dark\:bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.dark .dark\:bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.dark .dark\:bg-purple-900{background-color:var(--color-purple-900)}.dark .dark\:bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.dark .dark\:bg-red-700{background-color:var(--color-red-700)}.dark .dark\:bg-red-800{background-color:var(--color-red-800)}.dark .dark\:bg-red-900{background-color:var(--color-red-900)}.dark .dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark .dark\:bg-red-900\/50{background-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-red-900\/50{background-color:color-mix(in oklab,var(--color-red-900)50%,transparent)}}.dark .dark\:bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.dark .dark\:bg-yellow-900{background-color:var(--color-yellow-900)}.dark .dark\:bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.dark .dark\:from-gray-800{--tw-gradient-from:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark .dark\:to-gray-700{--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark .dark\:text-blue-100{color:var(--color-blue-100)}.dark .dark\:text-blue-200{color:var(--color-blue-200)}.dark .dark\:text-blue-300{color:var(--color-blue-300)}.dark .dark\:text-blue-400{color:var(--color-blue-400)}.dark .dark\:text-gray-200{color:var(--color-gray-200)}.dark .dark\:text-gray-300{color:var(--color-gray-300)}.dark .dark\:text-gray-400{color:var(--color-gray-400)}.dark .dark\:text-gray-500{color:var(--color-gray-500)}.dark .dark\:text-green-200{color:var(--color-green-200)}.dark .dark\:text-green-300{color:var(--color-green-300)}.dark .dark\:text-green-400{color:var(--color-green-400)}.dark .dark\:text-indigo-400{color:var(--color-indigo-400)}.dark .dark\:text-orange-400{color:var(--color-orange-400)}.dark .dark\:text-purple-200{color:var(--color-purple-200)}.dark .dark\:text-purple-400{color:var(--color-purple-400)}.dark .dark\:text-red-100{color:var(--color-red-100)}.dark .dark\:text-red-200{color:var(--color-red-200)}.dark .dark\:text-red-300{color:var(--color-red-300)}.dark .dark\:text-red-400{color:var(--color-red-400)}.dark .dark\:text-white{color:var(--color-white)}.dark .dark\:text-yellow-200{color:var(--color-yellow-200)}.dark .dark\:text-yellow-300{color:var(--color-yellow-300)}.dark .dark\:text-yellow-400{color:var(--color-yellow-400)}.dark .dark\:placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.dark .dark\:placeholder-gray-400::placeholder{color:var(--color-gray-400)}.dark .dark\:placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.dark .dark\:placeholder-gray-500::placeholder{color:var(--color-gray-500)}.dark .dark\:ring-blue-400\/20{--tw-ring-color:#54a2ff33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-blue-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-400)20%,transparent)}}.dark .dark\:ring-blue-400\/30{--tw-ring-color:#54a2ff4d}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-blue-400\/30{--tw-ring-color:color-mix(in oklab,var(--color-blue-400)30%,transparent)}}.dark .dark\:ring-blue-500\/20{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-blue-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.dark .dark\:ring-gray-400\/20{--tw-ring-color:#99a1af33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-gray-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-gray-400)20%,transparent)}}.dark .dark\:ring-gray-400\/30{--tw-ring-color:#99a1af4d}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-gray-400\/30{--tw-ring-color:color-mix(in oklab,var(--color-gray-400)30%,transparent)}}.dark .dark\:ring-gray-500\/20{--tw-ring-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-gray-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.dark .dark\:ring-green-400\/20{--tw-ring-color:#05df7233}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-green-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-green-400)20%,transparent)}}.dark .dark\:ring-green-400\/30{--tw-ring-color:#05df724d}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-green-400\/30{--tw-ring-color:color-mix(in oklab,var(--color-green-400)30%,transparent)}}.dark .dark\:ring-green-500\/20{--tw-ring-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-green-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.dark .dark\:ring-orange-500\/20{--tw-ring-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-orange-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.dark .dark\:ring-purple-400\/30{--tw-ring-color:#c07eff4d}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-purple-400\/30{--tw-ring-color:color-mix(in oklab,var(--color-purple-400)30%,transparent)}}.dark .dark\:ring-purple-500\/20{--tw-ring-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-purple-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.dark .dark\:ring-red-400\/20{--tw-ring-color:#ff656833}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-red-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-400)20%,transparent)}}.dark .dark\:ring-red-400\/30{--tw-ring-color:#ff65684d}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-red-400\/30{--tw-ring-color:color-mix(in oklab,var(--color-red-400)30%,transparent)}}.dark .dark\:ring-red-500\/20{--tw-ring-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-red-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.dark .dark\:ring-yellow-400\/30{--tw-ring-color:#fac8004d}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-yellow-400\/30{--tw-ring-color:color-mix(in oklab,var(--color-yellow-400)30%,transparent)}}.dark .dark\:ring-yellow-500\/20{--tw-ring-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.dark .dark\:ring-yellow-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}@media (hover:hover){.dark .dark\:hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.dark .dark\:hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.dark .dark\:hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}.dark .dark\:hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}.dark .dark\:hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.dark .dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark .dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark .dark\:hover\:bg-red-700:hover{background-color:var(--color-red-700)}.dark .dark\:hover\:bg-red-800:hover{background-color:var(--color-red-800)}.dark .dark\:hover\:text-blue-100:hover{color:var(--color-blue-100)}.dark .dark\:hover\:text-blue-300:hover{color:var(--color-blue-300)}.dark .dark\:hover\:text-blue-400:hover{color:var(--color-blue-400)}.dark .dark\:hover\:text-gray-100:hover{color:var(--color-gray-100)}.dark .dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}.dark .dark\:hover\:text-green-300:hover{color:var(--color-green-300)}.dark .dark\:hover\:text-indigo-300:hover{color:var(--color-indigo-300)}.dark .dark\:hover\:text-red-300:hover{color:var(--color-red-300)}.dark .dark\:hover\:text-white:hover{color:var(--color-white)}.dark .dark\:hover\:text-yellow-300:hover{color:var(--color-yellow-300)}}.dark .dark\:focus\:bg-red-700:focus{background-color:var(--color-red-700)}.dark .dark\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:var(--color-gray-900)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/webapp/assets/_app/immutable/chunks/1CdJgrM6.js b/webapp/assets/_app/immutable/chunks/1CdJgrM6.js deleted file mode 100644 index e81cdd51..00000000 --- a/webapp/assets/_app/immutable/chunks/1CdJgrM6.js +++ /dev/null @@ -1 +0,0 @@ -import{c as u,a as c,b as f,l as m,f as w,s as _}from"./CxOx-TIJ.js";import{i as v}from"./3NxSoY2_.js";import{p as h,l as B,h as g,b as j,t as z,a as E,F as i,j as F,m as A,c as I,r as L,g as M}from"./DzFKsO_V.js";import{s as N,j as V}from"./BguOOs3x.js";import{p as a}from"./B_jyf0qs.js";l[i]="src/lib/components/Badge.svelte";var q=c(w(" "),l[i],[[48,0]]);function l(o,e){u(new.target),h(e,!1,l);const n=A();let t=a(e,"variant",8,"gray"),s=a(e,"size",8,"sm"),b=a(e,"text",8),d=a(e,"ring",8,!1);const p={success:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",error:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200",warning:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",info:"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200",gray:"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",blue:"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200",green:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",red:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200",yellow:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",secondary:"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",purple:"bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200"},y={success:"ring-green-600/20 dark:ring-green-400/30",error:"ring-red-600/20 dark:ring-red-400/30",warning:"ring-yellow-600/20 dark:ring-yellow-400/30",info:"ring-blue-600/20 dark:ring-blue-400/30",gray:"ring-gray-500/20 dark:ring-gray-400/30",blue:"ring-blue-600/20 dark:ring-blue-400/30",green:"ring-green-600/20 dark:ring-green-400/30",red:"ring-red-600/20 dark:ring-red-400/30",yellow:"ring-yellow-600/20 dark:ring-yellow-400/30",secondary:"ring-gray-500/20 dark:ring-gray-400/30",purple:"ring-purple-600/20 dark:ring-purple-400/30"},x={sm:"px-2 py-1 text-xs",md:"px-2.5 py-0.5 text-xs"};B(()=>(g(t()),g(s()),g(d())),()=>{F(n,["inline-flex items-center rounded-full font-semibold",p[t()],x[s()],d()?`ring-1 ring-inset ${y[t()]}`:""].filter(Boolean).join(" "))}),j(),v();var r=q(),k=I(r,!0);return L(r),z(()=>{N(r,1,V(M(n))),_(k,b())}),f(o,r),E({...m()})}export{l as B}; diff --git a/webapp/assets/_app/immutable/chunks/3NxSoY2_.js b/webapp/assets/_app/immutable/chunks/3NxSoY2_.js deleted file mode 100644 index db1dc4a0..00000000 --- a/webapp/assets/_app/immutable/chunks/3NxSoY2_.js +++ /dev/null @@ -1 +0,0 @@ -import{al as g,ar as d,as as c,u as m,at as b,au as i,g as p,h as v,av as h,aw as k}from"./DzFKsO_V.js";function x(t=!1){const s=g,e=s.l.u;if(!e)return;let f=()=>v(s.s);if(t){let n=0,a={};const _=h(()=>{let l=!1;const r=s.s;for(const o in r)r[o]!==a[o]&&(a[o]=r[o],l=!0);return l&&n++,n});f=()=>p(_)}e.b.length&&d(()=>{u(s,f),i(e.b)}),c(()=>{const n=m(()=>e.m.map(b));return()=>{for(const a of n)typeof a=="function"&&a()}}),e.a.length&&c(()=>{u(s,f),i(e.a)})}function u(t,s){if(t.l.s)for(const e of t.l.s)p(e);s()}k();export{x as i}; diff --git a/webapp/assets/_app/immutable/chunks/4L8NSMkU.js b/webapp/assets/_app/immutable/chunks/4L8NSMkU.js new file mode 100644 index 00000000..d0270c4c --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/4L8NSMkU.js @@ -0,0 +1 @@ +import{f as x,e as G,a as b,s as z,t as ue,c as re}from"./o8CdT7B0.js";import{i as Rt}from"./ChJfoPF0.js";import{p as Pt,v as Ct,m as c,o as $t,g as e,d as r,q as jt,l as be,b as At,f as J,s as t,c as i,r as o,t as h,n as Se,k as ce,u as f,a as It,i as Ot,h as Lt}from"./DUMcBckj.js";import{p as Yr,i as _,s as qt,a as Bt}from"./i7pKks78.js";import{e as ze,i as Re}from"./DC7Aeygn.js";import{s as Pe,r as j,b as ve,g as A,d as Zr,c as et}from"./_9uqtkkk.js";import{b as N,a as rt}from"./BtzOUN4g.js";import{p as Ut}from"./CdEA5IGF.js";import{M as Ht}from"./CYPHW1bs.js";import{e as Ce}from"./BZiHL9L3.js";import{J as Dt,U as Gt,a as Jt,b as Nt}from"./D9ztHNzD.js";import{w as Er}from"./DTRhxHIE.js";import{e as Vt}from"./zgwRPQVC.js";var Wt=x('

'),Ft=x('
'),Kt=x(""),Qt=x(''),Xt=x('
'),Yt=x(""),Zt=x(''),ea=x('
Loading templates...
'),ra=x(""),ta=x('

Templates define how the runner software is installed and configured.

',1),aa=x('

Create a template first or proceed without a template to use default behavior.

'),oa=x('

Select an entity first to see available templates

'),ia=x(' '),sa=x('
'),da=x(''),la=x('
'),na=x('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),ua=x('
Creating...
'),ba=x('

Create New Pool

Entity Level *
'),ca=x(" ",1);function Ta(tt,$e){Pt($e,!1);const[at,ot]=qt(),je=()=>Bt(Vt,"$eagerCache",at),q=c(),ge=Ct();let Ae=Yr($e,"initialEntityType",8,""),Mr=Yr($e,"initialEntityId",8,""),pe=c(!1),V=c(""),d=c(Ae()),T=c([]),Ie=c([]),I=c([]),Oe=c(!1),Le=c(!1),qe=c(!1),K=c(!1),W=c(null),n=c(Mr()),Q=c(""),te=c(""),ae=c(""),Be=c(void 0),Ue=c(void 0),He=c(void 0),De=c(100),Ge=c("garm"),R=c("linux"),fe=c("amd64"),Je=c(""),Ne=c(!0),me=c(!1),B=c([]),X=c(""),oe=c("{}"),U=c(void 0);async function it(){try{r(Le,!0),r(Ie,await A.listProviders())}catch(s){r(V,Ce(s))}finally{r(Le,!1)}}async function Tr(){try{r(qe,!0);const s=Ve();if(!s){r(I,[]);return}if(r(I,await A.listTemplates(e(R),void 0,s)),!e(U)||!e(I).find(l=>l.id===e(U))){const l=e(I).find(m=>m.owner_id==="system");l?r(U,l.id):e(I).length>0&&r(U,e(I)[0].id)}}catch(s){r(V,Ce(s))}finally{r(qe,!1)}}function Ve(){if(!e(n)||!e(T))return null;const s=e(T).find(l=>l.id===e(n));if(!s)return null;if("forge_type"in s)return s.forge_type;if("endpoint"in s){const l=s.endpoint;if(l&&"endpoint_type"in l)return l.endpoint_type||null}return"github"}function ye(){if(!e(n)||!e(T))return!1;const s=e(T).find(l=>l.id===e(n));return s&&"agent_mode"in s?s.agent_mode??!1:!1}async function We(){if(e(d))try{switch(r(Oe,!0),r(T,[]),e(d)){case"repository":r(T,await A.listRepositories());break;case"organization":r(T,await A.listOrganizations());break;case"enterprise":r(T,await A.listEnterprises());break}}catch(s){r(V,Ce(s))}finally{r(Oe,!1)}}function Fe(s){e(d)!==s&&(r(d,s),r(n,""),r(U,void 0),We())}function Sr(s){if(s.operation!=="update")return;const l=s.payload;if(e(d)==="repository"&&l.id===e(n)){const m=je().repositories.find(P=>P.id===e(n));m&&(Object.assign(m,l),r(q,ye()))}else if(e(d)==="organization"&&l.id===e(n)){const m=je().organizations.find(P=>P.id===e(n));m&&(Object.assign(m,l),r(q,ye()))}else if(e(d)==="enterprise"&&l.id===e(n)){const m=je().enterprises.find(P=>P.id===e(n));m&&(Object.assign(m,l),r(q,ye()))}}async function Ke(s){if(!(!e(n)||!e(d)))try{switch(e(d)){case"repository":await A.updateRepository(e(n),s);break;case"organization":await A.updateOrganization(e(n),s);break;case"enterprise":await A.updateEnterprise(e(n),s);break}await We(),r(K,!1)}catch(l){throw l}}function st(){return!e(n)||!e(T)?null:e(T).find(s=>s.id===e(n))||null}function zr(){e(X).trim()&&!e(B).includes(e(X).trim())&&(r(B,[...e(B),e(X).trim()]),r(X,""))}function dt(s){r(B,e(B).filter((l,m)=>m!==s))}function lt(s){s.key==="Enter"&&(s.preventDefault(),zr())}async function nt(){if(!e(d)||!e(n)||!e(Q)||!e(te)||!e(ae)){r(V,"Please fill in all required fields");return}try{r(pe,!0),r(V,"");let s={};if(e(oe).trim())try{s=JSON.parse(e(oe))}catch{throw new Error("Invalid JSON in extra specs")}const l={provider_name:e(Q),image:e(te),flavor:e(ae),max_runners:e(Be)||10,min_idle_runners:e(Ue)||0,runner_bootstrap_timeout:e(He)||20,priority:e(De),runner_prefix:e(Ge),os_type:e(R),os_arch:e(fe),"github-runner-group":e(Je)||void 0,enabled:e(Ne),enable_shell:e(me),tags:e(B),extra_specs:e(oe).trim()?s:void 0,template_id:e(U)};if(Ae()&&Mr())ge("submit",l);else{switch(e(d)){case"repository":await A.createRepositoryPool(e(n),l);break;case"organization":await A.createOrganizationPool(e(n),l);break;case"enterprise":await A.createEnterprisePool(e(n),l);break;default:throw new Error("Invalid entity level")}ge("submit",l)}}catch(s){r(V,Ce(s))}finally{r(pe,!1)}}$t(()=>{it(),Ae()&&We(),e(d)&&(e(d)==="repository"||e(d)==="organization"||e(d)==="enterprise")&&r(W,Er.subscribeToEntity(e(d),["update"],Sr))}),jt(()=>{e(W)&&(e(W)(),r(W,null))}),be(()=>{},()=>{r(q,ye())}),be(()=>e(q),()=>{e(q)||r(me,!1)}),be(()=>(e(n),e(R)),()=>{e(n)&&e(R)&&Tr()}),be(()=>(e(R),e(n)),()=>{e(R)&&e(n)&&Tr()}),be(()=>(e(d),e(W),Er),()=>{e(d)&&(e(d)==="repository"||e(d)==="organization"||e(d)==="enterprise")&&(e(W)&&e(W)(),r(W,Er.subscribeToEntity(e(d),["update"],Sr)))}),At(),Rt();var Rr=ca(),Pr=J(Rr);Ht(Pr,{$$events:{close:()=>ge("close")},children:(s,l)=>{var m=ba(),P=t(i(m),2),xe=i(P);{var ie=k=>{var S=Wt(),ee=i(S),we=i(ee,!0);o(ee),o(S),h(()=>z(we,e(V))),b(k,S)};_(xe,k=>{e(V)&&k(ie)})}var Y=t(xe,2),he=t(i(Y),2),se=i(he),de=t(se,2),H=t(de,2);o(he),o(Y);var F=t(Y,2);{var Qe=k=>{var S=na(),ee=J(S),we=t(i(ee),2),Ze=i(we),er=i(Ze),ct=i(er);Se(),o(er);var vt=t(er,2);{var gt=a=>{var v=Ft();b(a,v)},pt=a=>{var v=Qt();h(()=>{e(n),ce(()=>{e(d),e(T)})});var w=i(v),C=i(w);o(w),w.value=w.__value="";var $=t(w);ze($,1,()=>e(T),Re,(p,u)=>{var y=Kt(),D=i(y);{var le=g=>{var M=ue();h(()=>z(M,`${e(u),f(()=>e(u).owner)??""}/${e(u),f(()=>e(u).name)??""} (${e(u),f(()=>e(u).endpoint?.name)??""})`)),b(g,M)},L=g=>{var M=ue();h(()=>z(M,`${e(u),f(()=>e(u).name)??""} (${e(u),f(()=>e(u).endpoint?.name)??""})`)),b(g,M)};_(D,g=>{e(d)==="repository"?g(le):g(L,!1)})}o(y);var E={};h(()=>{E!==(E=(e(u),f(()=>e(u).id)))&&(y.value=(y.__value=(e(u),f(()=>e(u).id)))??"")}),b(p,y)}),o(v),h(()=>z(C,`Select a ${e(d)??""}`)),ve(v,()=>e(n),p=>r(n,p)),b(a,v)};_(vt,a=>{e(Oe)?a(gt):a(pt,!1)})}o(Ze);var Cr=t(Ze,2),ft=t(i(Cr),2);{var mt=a=>{var v=Xt();b(a,v)},yt=a=>{var v=Zt();h(()=>{e(Q),ce(()=>{e(Ie)})});var w=i(v);w.value=w.__value="";var C=t(w);ze(C,1,()=>e(Ie),Re,($,p)=>{var u=Yt(),y=i(u,!0);o(u);var D={};h(()=>{z(y,(e(p),f(()=>e(p).name))),D!==(D=(e(p),f(()=>e(p).name)))&&(u.value=(u.__value=(e(p),f(()=>e(p).name)))??"")}),b($,u)}),o(v),ve(v,()=>e(Q),$=>r(Q,$)),b(a,v)};_(ft,a=>{e(Le)?a(mt):a(yt,!1)})}o(Cr),o(we),o(ee);var rr=t(ee,2),tr=t(i(rr),2),ar=i(tr),$r=t(i(ar),2);j($r),o(ar);var or=t(ar,2),jr=t(i(or),2);j(jr),o(or);var ir=t(or,2),sr=t(i(ir),2);h(()=>{e(R),ce(()=>{})});var dr=i(sr);dr.value=dr.__value="linux";var Ar=t(dr);Ar.value=Ar.__value="windows",o(sr),o(ir);var Ir=t(ir,2),lr=t(i(Ir),2);h(()=>{e(fe),ce(()=>{})});var nr=i(lr);nr.value=nr.__value="amd64";var Or=t(nr);Or.value=Or.__value="arm64",o(lr),o(Ir),o(tr);var Lr=t(tr,2),xt=t(i(Lr),2);{var ht=a=>{var v=ea();b(a,v)},_t=a=>{var v=re(),w=J(v);{var C=p=>{var u=ta(),y=J(u);h(()=>{e(U),ce(()=>{e(I)})}),ze(y,5,()=>e(I),Re,(E,g)=>{var M=ra(),ne=i(M),_r=t(ne);{var kr=wr=>{var Xr=ue();h(()=>z(Xr,`- ${e(g),f(()=>e(g).description)??""}`)),b(wr,Xr)};_(_r,wr=>{e(g),f(()=>e(g).description)&&wr(kr)})}o(M);var Te={};h(()=>{z(ne,`${e(g),f(()=>e(g).name)??""} ${e(g),f(()=>e(g).owner_id==="system"?"(System)":"")??""} `),Te!==(Te=(e(g),f(()=>e(g).id)))&&(M.value=(M.__value=(e(g),f(()=>e(g).id)))??"")}),b(E,M)}),o(y);var D=t(y,2),le=t(i(D));{var L=E=>{var g=ue();h(M=>z(g,`Showing templates for ${M??""} ${e(R)??""}.`),[()=>f(Ve)]),b(E,g)};_(le,E=>{e(n)&&E(L)})}o(D),ve(y,()=>e(U),E=>r(U,E)),b(p,u)},$=p=>{var u=re(),y=J(u);{var D=L=>{var E=aa(),g=i(E),M=i(g);o(g);var ne=t(g,2),_r=i(ne);Se(),o(ne),o(E),h((kr,Te)=>{z(M,`No templates found for ${kr??""} ${e(R)??""}.`),Zr(_r,"href",Te)},[()=>f(Ve),()=>(Lt(et),f(()=>et("/templates")))]),b(L,E)},le=L=>{var E=oa();b(L,E)};_(y,L=>{e(n)?L(D):L(le,!1)},!0)}b(p,u)};_(w,p=>{e(I),f(()=>e(I).length>0)?p(C):p($,!1)},!0)}b(a,v)};_(xt,a=>{e(qe)?a(ht):a(_t,!1)})}o(Lr),o(rr);var ur=t(rr,2),qr=t(i(ur),2),br=i(qr),Br=t(i(br),2);j(Br),o(br);var cr=t(br,2),Ur=t(i(cr),2);j(Ur),o(cr);var Hr=t(cr,2),Dr=t(i(Hr),2);j(Dr),o(Hr),o(qr),o(ur);var Gr=t(ur,2),vr=t(i(Gr),2),gr=i(vr),Jr=t(i(gr),2);j(Jr),o(gr);var pr=t(gr,2),Nr=t(i(pr),2);j(Nr),o(pr);var Vr=t(pr,2),Wr=t(i(Vr),2);j(Wr),o(Vr),o(vr);var fr=t(vr,2),Fr=t(i(fr),2),mr=i(Fr),Ee=i(mr);j(Ee);var kt=t(Ee,2);o(mr);var wt=t(mr,2);{var Et=a=>{var v=sa();ze(v,5,()=>e(B),Re,(w,C,$)=>{var p=ia(),u=i(p),y=t(u);o(p),h(()=>{z(u,`${e(C)??""} `),Zr(y,"aria-label",`Remove tag ${e(C)}`)}),G("click",y,()=>dt($)),b(w,p)}),o(v),b(a,v)};_(wt,a=>{e(B),f(()=>e(B).length>0)&&a(Et)})}o(Fr),o(fr);var yr=t(fr,2),Mt=t(i(yr),2);Dt(Mt,{rows:4,placeholder:"{}",get value(){return e(oe)},set value(a){r(oe,a)},$$legacy:!0}),o(yr);var xr=t(yr,2),Kr=i(xr);j(Kr),Se(2),o(xr);var Qr=t(xr,2),hr=i(Qr),Me=i(hr);j(Me);var Tt=t(Me,2);Se(2),o(hr);var St=t(hr,2);{var zt=a=>{var v=la(),w=t(i(v),2),C=i(w),$=t(C);{var p=u=>{var y=da();G("click",y,()=>r(K,!0)),b(u,y)};_($,u=>{e(n)&&u(p)})}o(w),o(v),h(()=>z(C,`Shell access requires agent mode to be enabled on the ${e(d)??""}. `)),b(a,v)};_(St,a=>{e(q)||a(zt)})}o(Qr),o(Gr),h(a=>{z(ct,`${a??""} `),Me.disabled=!e(q),Pe(Tt,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(q)?"":"opacity-50"}`)},[()=>(e(d),f(()=>e(d).charAt(0).toUpperCase()+e(d).slice(1)))]),N($r,()=>e(te),a=>r(te,a)),N(jr,()=>e(ae),a=>r(ae,a)),ve(sr,()=>e(R),a=>r(R,a)),ve(lr,()=>e(fe),a=>r(fe,a)),N(Br,()=>e(Ue),a=>r(Ue,a)),N(Ur,()=>e(Be),a=>r(Be,a)),N(Dr,()=>e(He),a=>r(He,a)),N(Jr,()=>e(Ge),a=>r(Ge,a)),N(Nr,()=>e(De),a=>r(De,a)),N(Wr,()=>e(Je),a=>r(Je,a)),N(Ee,()=>e(X),a=>r(X,a)),G("keydown",Ee,lt),G("click",kt,zr),rt(Kr,()=>e(Ne),a=>r(Ne,a)),rt(Me,()=>e(me),a=>r(me,a)),b(k,S)};_(F,k=>{e(d)&&k(Qe)})}var _e=t(F,2),ke=i(_e),O=t(ke,2),Z=i(O);{var Xe=k=>{var S=ua();b(k,S)},Ye=k=>{var S=ue("Create Pool");b(k,S)};_(Z,k=>{e(pe)?k(Xe):k(Ye,!1)})}o(O),o(_e),o(P),o(m),h(()=>{Pe(se,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(d)==="repository"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Pe(de,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(d)==="organization"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Pe(H,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(d)==="enterprise"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),O.disabled=e(pe)||!e(d)||!e(n)||!e(Q)||!e(te)||!e(ae)}),G("click",se,()=>Fe("repository")),G("click",de,()=>Fe("organization")),G("click",H,()=>Fe("enterprise")),G("click",ke,()=>ge("close")),G("submit",P,Ut(nt)),b(s,m)},$$slots:{default:!0}});var ut=t(Pr,2);{var bt=s=>{const l=Ot(()=>f(st));var m=re(),P=J(m);{var xe=ie=>{var Y=re(),he=J(Y);{var se=H=>{Gt(H,{get repository(){return e(l)},$$events:{close:()=>r(K,!1),submit:F=>Ke(F.detail)}})},de=H=>{var F=re(),Qe=J(F);{var _e=O=>{Jt(O,{get organization(){return e(l)},$$events:{close:()=>r(K,!1),submit:Z=>Ke(Z.detail)}})},ke=O=>{var Z=re(),Xe=J(Z);{var Ye=k=>{Nt(k,{get enterprise(){return e(l)},$$events:{close:()=>r(K,!1),submit:S=>Ke(S.detail)}})};_(Xe,k=>{e(d)==="enterprise"&&k(Ye)},!0)}b(O,Z)};_(Qe,O=>{e(d)==="organization"?O(_e):O(ke,!1)},!0)}b(H,F)};_(he,H=>{e(d)==="repository"?H(se):H(de,!1)})}b(ie,Y)};_(P,ie=>{e(l)&&ie(xe)})}b(s,m)};_(ut,s=>{e(K)&&e(n)&&s(bt)})}b(tt,Rr),It(),ot()}export{Ta as C}; diff --git a/webapp/assets/_app/immutable/chunks/7XD7ITBY.js b/webapp/assets/_app/immutable/chunks/7XD7ITBY.js new file mode 100644 index 00000000..9e547a96 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/7XD7ITBY.js @@ -0,0 +1 @@ +import{f as D,a as A}from"./o8CdT7B0.js";import{i as g}from"./ChJfoPF0.js";import{p as x,v as E,a as T,r as _,g as e,i as d,u as p,h as a}from"./DUMcBckj.js";import{e as L,i as C}from"./DC7Aeygn.js";import{p as y}from"./i7pKks78.js";import{A as k}from"./FjbxnYNv.js";var j=D('
');function F(n,m){x(m,!1);const s=E();let l=y(m,"item",8),b=y(m,"actions",24,()=>[{type:"edit",title:"Edit",ariaLabel:"Edit item",action:"edit"},{type:"delete",title:"Delete",ariaLabel:"Delete item",action:"delete"}]);function u(r,t){if(!l())return;const i=t||r;i==="edit"?s("edit",{item:l()}):i==="delete"?s("delete",{item:l()}):i==="copy"||i==="clone"?s("clone",{item:l()}):r==="shell"?s("shell",{item:l()}):s("action",{type:i,item:l()})}g();var f=j();L(f,5,b,C,(r,t)=>{const i=d(()=>(e(t),a(l()),p(()=>e(t).isDisabled?e(t).isDisabled(l()):!1))),h=d(()=>(e(t),p(()=>e(t).action==="clone"?"copy":e(t).action||(e(t).type==="edit"?"edit":e(t).type==="delete"?"delete":e(t).type==="copy"?"copy":e(t).type==="shell"?"shell":"view")))),o=d(()=>(e(t),a(l()),p(()=>typeof e(t).disabledTitle=="function"?e(t).disabledTitle(l()):e(t).disabledTitle))),c=d(()=>(a(e(i)),a(e(o)),e(t),p(()=>e(i)&&e(o)?e(o):e(t).title||(e(t).type==="edit"?"Edit":e(t).type==="delete"?"Delete":e(t).type==="copy"?"Clone":e(t).type==="shell"?"Shell":e(t).label))));{let v=d(()=>(e(t),p(()=>e(t).ariaLabel||(e(t).type==="edit"?"Edit item":e(t).type==="delete"?"Delete item":e(t).type==="copy"?"Clone item":e(t).type==="shell"?"Open shell":e(t).label))));k(r,{get action(){return e(h)},get title(){return e(c)},get ariaLabel(){return e(v)},get disabled(){return e(i)},$$events:{click:()=>u(e(t).type,e(t).action)}})}}),_(f),A(n,f),T()}export{F as A}; diff --git a/webapp/assets/_app/immutable/chunks/B-bv0ihJ.js b/webapp/assets/_app/immutable/chunks/B-bv0ihJ.js new file mode 100644 index 00000000..194d23bd --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/B-bv0ihJ.js @@ -0,0 +1 @@ +import{y as l,z as u,A as m,E as _,B as p,C as h,D as v,F as b,G as y,H as E}from"./DUMcBckj.js";function g(s,i,d){l&&u();var r=s,a,n,e=null,t=null;function f(){n&&(E(n),n=null),e&&(e.lastChild.remove(),r.before(e),e=null),n=t,t=null}m(()=>{if(a!==(a=i())){var c=b();if(a){var o=r;c&&(e=document.createDocumentFragment(),e.append(o=p())),t=h(()=>d(o,a))}c?v.add_callback(f):f()}},_),l&&(r=y)}export{g as c}; diff --git a/webapp/assets/_app/immutable/chunks/B8GNZv7s.js b/webapp/assets/_app/immutable/chunks/B8GNZv7s.js deleted file mode 100644 index e8afab4e..00000000 --- a/webapp/assets/_app/immutable/chunks/B8GNZv7s.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Ye,a as _,s as p,b as g,t as Ze,e as ke,l as ea,f as h}from"./CxOx-TIJ.js";import{i as aa}from"./3NxSoY2_.js";import{p as ta,B as ra,o as sa,d as C,c as t,r,s as o,t as x,g as e,m as b,u as v,i as U,v as we,j as n,w as R,h as N,a as oa,n as na,F as m}from"./DzFKsO_V.js";import{p as Me,i as W}from"./B_jyf0qs.js";import{e as ia,i as la}from"./CdXRaxkX.js";import{w as da}from"./DoJxysSt.js";import{b as Ce,r as oe,g as ca}from"./BguOOs3x.js";import{b as va,a as Ee}from"./BVM1034P.js";import{p as pa}from"./CdEA5IGF.js";import{e as Se}from"./BZiHL9L3.js";import{M as ua}from"./Pgjt70l7.js";i[m]="src/lib/components/UpdateEntityModal.svelte";var ga=_(h('

'),i[m],[[134,4,[[135,5]]]]),ba=_(h('
Owner:
'),i[m],[[144,6,[[145,7],[146,7]]]]),ma=_(h('
'),i[m],[[175,6]]),fa=_(h(""),i[m],[[184,8]]),ya=_(h(''),i[m],[[177,6,[[182,7]]]]),xa=_(h('

Leave empty to auto-generate a new secret

'),i[m],[[250,6,[[251,7,[[252,27]]],[254,7],[262,7]]]]),_a=_(h('
Updating...
'),i[m],[[285,6,[[286,7]]]]),ha=_(h('

Name:
Endpoint:
Current Credentials:
Current Pool Balancer:

Leave unchanged to keep current credentials

Round Robin distributes jobs evenly across pools, Pack fills pools in order

'),i[m],[[126,1,[[127,2,[[128,3],[129,3]]],[132,2,[[140,3,[[141,4],[142,4,[[149,5,[[150,6],[151,6]]],[153,5,[[154,6],[155,6]]],[157,5,[[158,6],[159,6]]],[161,5,[[162,6],[163,6]]]]]]],[168,3,[[170,4,[[171,5],[190,5]]],[196,4,[[197,5],[200,5,[[205,6],[206,6]]],[208,5]]],[214,4,[[215,5],[221,5],[224,5,[[225,6,[[226,7]]],[228,6,[[230,7]]]]]]],[236,4,[[237,5,[[238,6],[244,6]]]]]]],[271,3,[[272,4],[279,4]]]]]]]]);function i(Ue,z){Ye(new.target),ta(z,!1,i);let l=Me(z,"entity",8),B=Me(z,"entityType",8);const j=ra();let P=b(!1),E=b(""),D=b([]),F=b(!1),k=b(""),w=b(""),M=b(""),f=b(!1),T=b(!1);function Be(){if(U(B(),"repository")){const c=l();return`${c.owner}/${c.name}`}return l().name||""}function I(){return B().charAt(0).toUpperCase()+B().slice(1)}function Pe(){return U(B(),"repository")&&l().owner||""}async function Te(){try{n(F,!0),n(D,(await na(ca.listCredentials()))())}catch(c){n(E,Se(c))}finally{n(F,!1)}}function Ae(){n(k,l().credentials_name||""),n(w,l().pool_balancing_type||"roundrobin"),n(M,""),n(f,!1),n(T,l().agent_mode??!1)}async function $e(){try{n(P,!0),n(E,"");const c={};let S=!1;if(e(k)&&U(e(k),l().credentials_name,!1)&&(c.credentials_name=e(k),S=!0),e(w)&&U(e(w),l().pool_balancing_type,!1)&&(c.pool_balancer_type=e(w),S=!0),U(e(T),l().agent_mode,!1)&&(c.agent_mode=e(T),S=!0),e(f)){if(!e(M).trim()){n(E,"Please enter a webhook secret or uncheck the option to change it");return}c.webhook_secret=e(M),S=!0}if(!S){j("close");return}j("submit",c)}catch(c){n(E,Se(c))}finally{n(P,!1)}}return sa(()=>{Te(),Ae()}),aa(),C(()=>ua(Ue,{$$events:{close:()=>j("close")},children:da(i,(c,S)=>{var L=ha(),q=t(L),O=t(q),Re=t(O);r(O);var ne=o(O,2),We=t(ne,!0);r(ne),r(q);var G=o(q,2),ie=t(G);{var je=a=>{var s=ga(),d=t(s),u=t(d,!0);r(d),r(s),x(()=>p(u,e(E))),g(a,s)};C(()=>W(ie,a=>{e(E)&&a(je)}),"if",i,133,3)}var K=o(ie,2),H=t(K),Ne=t(H);r(H);var le=o(H,2),de=t(le);{var ze=a=>{var s=ba(),d=o(t(s),2),u=t(d,!0);r(d),r(s),x(A=>p(u,A),[()=>v(Pe)]),g(a,s)};C(()=>W(de,a=>{U(B(),"repository")&&a(ze)}),"if",i,143,5)}var J=o(de,2),ce=o(t(J),2),De=t(ce,!0);r(ce),r(J);var Q=o(J,2),ve=o(t(Q),2),Fe=t(ve,!0);r(ve),r(Q);var V=o(Q,2),pe=o(t(V),2),Ie=t(pe,!0);r(pe),r(V);var ue=o(V,2),ge=o(t(ue),2),Le=t(ge,!0);r(ge),r(ue),r(le),r(K);var X=o(K,2),Y=t(X),qe=o(t(Y),2);{var Oe=a=>{var s=ma();g(a,s)},Ge=a=>{var s=ya();x(()=>{e(k),we(()=>{e(D)})});var d=t(s);d.value=d.__value="";var u=o(d);C(()=>ia(u,1,()=>e(D),la,(A,y)=>{var $=fa(),Xe=t($);r($);var he={};x(()=>{p(Xe,`${e(y),v(()=>e(y).name)??""} (${e(y),v(()=>e(y).endpoint?.name||"Unknown")??""})`),he!==(he=(e(y),v(()=>e(y).name)))&&($.value=($.__value=(e(y),v(()=>e(y).name)))??"")}),g(A,$)}),"each",i,183,7),r(s),Ce(s,()=>e(k),A=>n(k,A)),g(a,s)};C(()=>W(qe,a=>{e(F)?a(Oe):a(Ge,!1)}),"if",i,174,5)}R(2),r(Y);var Z=o(Y,2),ee=o(t(Z),2);x(()=>{e(w),we(()=>{})});var ae=t(ee);ae.value=ae.__value="roundrobin";var be=o(ae);be.value=be.__value="pack",r(ee),R(2),r(Z);var te=o(Z,2),me=t(te);oe(me),R(4),r(te);var fe=o(te,2),re=t(fe),ye=t(re);oe(ye),R(2),r(re);var Ke=o(re,2);{var He=a=>{var s=xa(),d=o(t(s),2);oe(d),R(2),r(s),x(()=>d.required=e(f)),va(d,()=>e(M),u=>n(M,u)),g(a,s)};C(()=>W(Ke,a=>{e(f)&&a(He)}),"if",i,249,5)}r(fe),r(X);var xe=o(X,2),_e=t(xe),se=o(_e,2),Je=t(se);{var Qe=a=>{var s=_a();g(a,s)},Ve=a=>{var s=Ze();x(d=>p(s,`Update ${d??""}`),[()=>v(I)]),g(a,s)};C(()=>W(Je,a=>{e(P)?a(Qe):a(Ve,!1)}),"if",i,284,5)}r(se),r(xe),r(G),r(L),x((a,s,d,u)=>{p(Re,`Update ${a??""}`),p(We,s),p(Ne,`${d??""} Information`),p(De,(N(l()),v(()=>l().name))),p(Fe,(N(l()),v(()=>l().endpoint?.name))),p(Ie,(N(l()),v(()=>l().credentials_name))),p(Le,(N(l()),v(()=>l().pool_balancing_type||"roundrobin"))),se.disabled=u},[()=>v(I),()=>v(Be),()=>v(I),()=>(e(P),e(f),e(M),v(()=>e(P)||e(f)&&!e(M).trim()))]),Ce(ee,()=>e(w),a=>n(w,a)),Ee(me,()=>e(T),a=>n(T,a)),Ee(ye,()=>e(f),a=>n(f,a)),ke("click",_e,()=>j("close")),ke("submit",G,pa($e)),g(c,L)}),$$slots:{default:!0}}),"component",i,125,0,{componentTag:"Modal"}),oa({...ea()})}export{i as U}; diff --git a/webapp/assets/_app/immutable/chunks/BAcG6-Ep.js b/webapp/assets/_app/immutable/chunks/BAcG6-Ep.js deleted file mode 100644 index 29beaf47..00000000 --- a/webapp/assets/_app/immutable/chunks/BAcG6-Ep.js +++ /dev/null @@ -1,7 +0,0 @@ -import{E as u,ax as _,ay as g,u as p,af as $,az as b}from"./DzFKsO_V.js";var w="font-weight: bold",m="font-weight: normal";function h(t){console.warn(`%c[svelte] state_snapshot_uncloneable -%c${t?`The following properties cannot be cloned with \`$state.snapshot\` — the return value contains the originals: - -${t}`:"Value cannot be cloned with `$state.snapshot` — the original value was returned"} -https://svelte.dev/e/state_snapshot_uncloneable`,w,m)}const S=[];function d(t,e=!1){if(!e){const n=[],o=a(t,new Map,"",n);if(n.length===1&&n[0]==="")h();else if(n.length>0){const s=n.length>10?n.slice(0,7):n.slice(0,10),i=n.length-s.length;let r=s.map(f=>`- ${f}`).join(` -`);i>0&&(r+=` -- ...and ${i} more`),h(r)}return o}return a(t,new Map,"",S)}function a(t,e,n,o,s=null){if(typeof t=="object"&&t!==null){var i=e.get(t);if(i!==void 0)return i;if(t instanceof Map)return new Map(t);if(t instanceof Set)return new Set(t);if(u(t)){var r=Array(t.length);e.set(t,r),s!==null&&e.set(s,r);for(var f=0;f{try{let n=!1;const o=[];for(const s of e)s&&typeof s=="object"&&$ in s?(o.push(d(s,!0)),n=!0):o.push(s);n&&(b(t),console.log("%c[snapshot]","color: grey",...o))}catch{}}),e}export{O as l}; diff --git a/webapp/assets/_app/immutable/chunks/BBvIKVJT.js b/webapp/assets/_app/immutable/chunks/BBvIKVJT.js deleted file mode 100644 index 41edfa2c..00000000 --- a/webapp/assets/_app/immutable/chunks/BBvIKVJT.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Ut,a as w,s as j,b as v,t as fe,d as de,e as K,l as Lt,f as E}from"./CxOx-TIJ.js";import{i as Bt}from"./3NxSoY2_.js";import{p as qt,B as Ht,m as g,o as Dt,g as e,i as b,j as r,x as Gt,l as me,b as Jt,f as Q,d as p,s as t,c as i,r as o,t as M,w as je,v as ye,u as x,h as Nt,a as Ft,n as A,y as Vt,e as Wt,F as h}from"./DzFKsO_V.js";import{p as ot,i as T,s as Kt,a as Qt,v as Xt}from"./B_jyf0qs.js";import{e as Ae,i as Ie}from"./CdXRaxkX.js";import{w as Yt}from"./DoJxysSt.js";import{b as xe,r as B,d as it,c as st,s as Oe,g as q}from"./BguOOs3x.js";import{b as X,a as dt}from"./BVM1034P.js";import{p as Zt}from"./CdEA5IGF.js";import{M as ea}from"./Pgjt70l7.js";import{e as Ue}from"./BZiHL9L3.js";import{J as ra,U as ta,a as aa,b as oa}from"./BMieCrfV.js";import{w as Cr}from"./DSHGoHxX.js";import{e as lt}from"./Penjr-j0.js";s[h]="src/lib/components/CreatePoolModal.svelte";var ia=w(E('

'),s[h],[[388,4,[[389,5]]]]),sa=w(E('
'),s[h],[[445,8]]),da=w(E(""),s[h],[[455,10]]),la=w(E(''),s[h],[[447,8,[[453,9]]]]),na=w(E('
'),s[h],[[471,8]]),ua=w(E(""),s[h],[[481,10]]),ca=w(E(''),s[h],[[473,8,[[479,9]]]]),ba=w(E('
Loading templates...
'),s[h],[[555,7,[[556,8],[557,8]]]]),va=w(E(""),s[h],[[566,9]]),ga=w(E('

Templates define how the runner software is installed and configured.

',1),s[h],[[560,7],[572,7]]),pa=w(E('

Create a template first or proceed without a template to use default behavior.

'),s[h],[[579,7,[[580,8],[581,8,[[582,9]]]]]]),fa=w(E('

Select an entity first to see available templates

'),s[h],[[588,7,[[589,8]]]]),ma=w(E(' '),s[h],[[714,10,[[716,11,[[722,12,[[723,13]]]]]]]]),ya=w(E('
'),s[h],[[712,8]]),xa=w(E(''),s[h],[[789,10]]),ha=w(E('
'),s[h],[[782,7,[[783,8,[[784,9]]],[786,8]]]]),_a=w(E('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),s[h],[[435,4,[[436,5],[439,5,[[440,6,[[441,7,[[442,69]]]]],[466,6,[[467,7,[[468,17]]]]]]]]],[490,4,[[491,5],[494,5,[[495,6,[[496,7,[[497,14]]],[499,7]]],[508,6,[[509,7,[[510,15]]],[512,7]]],[521,6,[[522,7],[525,7,[[530,8],[531,8]]]]],[534,6,[[535,7],[538,7,[[543,8],[544,8]]]]]]],[550,5,[[551,6]]]]],[596,4,[[597,5],[600,5,[[601,6,[[602,7],[605,7]]],[614,6,[[615,7],[618,7]]],[627,6,[[628,7],[631,7]]]]]]],[644,4,[[645,5],[648,5,[[649,6,[[650,7],[653,7]]],[661,6,[[662,7],[665,7]]],[674,6,[[675,7],[678,7]]]]],[689,5,[[690,6],[693,6,[[694,7,[[695,8],[703,8]]]]]]],[734,5,[[735,6]]],[746,5,[[747,6],[753,6]]],[759,5,[[760,6,[[761,7],[768,7],[771,7,[[772,8,[[773,9]]],[775,8,[[777,9]]]]]]]]]]]]),ka=w(E('
Creating...
'),s[h],[[819,6,[[820,7]]]]),wa=w(E('

Create New Pool

Entity Level *
'),s[h],[[381,1,[[382,2,[[383,3]]],[386,2,[[394,3,[[395,4,[[396,18]]],[398,4,[[399,5,[[404,6,[[405,7],[406,7]]],[408,6]]],[410,5,[[415,6,[[416,7]]],[418,6]]],[420,5,[[425,6,[[426,7]]],[428,6]]]]]]],[805,3,[[806,4],[813,4]]]]]]]]),Ea=w(E(" ",1),s[h],[]);function s(nt,Le){Ut(new.target),qt(Le,!1,s);const[ut,ct]=Kt(),Be=()=>(Xt(lt,"eagerCache"),Qt(lt,"$eagerCache",ut)),J=g(),he=Ht();let qe=ot(Le,"initialEntityType",8,""),Pr=ot(Le,"initialEntityId",8,""),_e=g(!1),Y=g(""),l=g(qe()),P=g([]),He=g([]),H=g([]),De=g(!1),Ge=g(!1),Je=g(!1),re=g(!1),Z=g(null),u=g(Pr()),te=g(""),le=g(""),ne=g(""),Ne=g(void 0),Fe=g(void 0),Ve=g(void 0),We=g(100),Ke=g("garm"),I=g("linux"),ke=g("amd64"),Qe=g(""),Xe=g(!0),we=g(!1),N=g([]),ae=g(""),ue=g("{}"),F=g(void 0);async function bt(){try{r(Ge,!0),r(He,(await A(q.listProviders()))())}catch(d){r(Y,Ue(d))}finally{r(Ge,!1)}}async function $r(){try{r(Je,!0);const d=Ye();if(!d){r(H,[]);return}if(r(H,(await A(q.listTemplates(e(I),void 0,d)))()),!e(F)||!e(H).find(n=>b(n.id,e(F)))){const n=e(H).find(_=>b(_.owner_id,"system"));n?r(F,n.id):e(H).length>0&&r(F,e(H)[0].id)}}catch(d){r(Y,Ue(d))}finally{r(Je,!1)}}function Ye(){if(!e(u)||!e(P))return null;const d=e(P).find(n=>b(n.id,e(u)));if(!d)return null;if("forge_type"in d)return d.forge_type;if("endpoint"in d){const n=d.endpoint;if(n&&"endpoint_type"in n)return n.endpoint_type||null}return"github"}function Ee(){if(!e(u)||!e(P))return!1;const d=e(P).find(n=>b(n.id,e(u)));return d&&"agent_mode"in d?d.agent_mode??!1:!1}async function Ze(){if(e(l))try{switch(r(De,!0),r(P,[]),e(l)){case"repository":r(P,(await A(q.listRepositories()))());break;case"organization":r(P,(await A(q.listOrganizations()))());break;case"enterprise":r(P,(await A(q.listEnterprises()))());break}}catch(d){r(Y,Ue(d))}finally{r(De,!1)}}function er(d){b(e(l),d)||(r(l,d),r(u,""),r(F,void 0),Ze())}function jr(d){if(b(d.operation,"update",!1))return;const n=d.payload;if(b(e(l),"repository")&&b(n.id,e(u))){const _=Be().repositories.find(O=>b(O.id,e(u)));_&&(Object.assign(_,n),r(J,Ee()))}else if(b(e(l),"organization")&&b(n.id,e(u))){const _=Be().organizations.find(O=>b(O.id,e(u)));_&&(Object.assign(_,n),r(J,Ee()))}else if(b(e(l),"enterprise")&&b(n.id,e(u))){const _=Be().enterprises.find(O=>b(O.id,e(u)));_&&(Object.assign(_,n),r(J,Ee()))}}async function rr(d){if(!(!e(u)||!e(l)))try{switch(e(l)){case"repository":(await A(q.updateRepository(e(u),d)))();break;case"organization":(await A(q.updateOrganization(e(u),d)))();break;case"enterprise":(await A(q.updateEnterprise(e(u),d)))();break}(await A(Ze()))(),r(re,!1)}catch(n){throw n}}function vt(){return!e(u)||!e(P)?null:e(P).find(d=>b(d.id,e(u)))||null}function Ar(){e(ae).trim()&&!e(N).includes(e(ae).trim())&&(r(N,[...e(N),e(ae).trim()]),r(ae,""))}function gt(d){r(N,e(N).filter((n,_)=>b(_,d,!1)))}function pt(d){b(d.key,"Enter")&&(d.preventDefault(),Ar())}async function ft(){if(!e(l)||!e(u)||!e(te)||!e(le)||!e(ne)){r(Y,"Please fill in all required fields");return}try{r(_e,!0),r(Y,"");let d={};if(e(ue).trim())try{d=JSON.parse(e(ue))}catch{throw new Error("Invalid JSON in extra specs")}const n={provider_name:e(te),image:e(le),flavor:e(ne),max_runners:e(Ne)||10,min_idle_runners:e(Fe)||0,runner_bootstrap_timeout:e(Ve)||20,priority:e(We),runner_prefix:e(Ke),os_type:e(I),os_arch:e(ke),"github-runner-group":e(Qe)||void 0,enabled:e(Xe),enable_shell:e(we),tags:e(N),extra_specs:e(ue).trim()?d:void 0,template_id:e(F)};if(qe()&&Pr())he("submit",n);else{switch(e(l)){case"repository":(await A(q.createRepositoryPool(e(u),n)))();break;case"organization":(await A(q.createOrganizationPool(e(u),n)))();break;case"enterprise":(await A(q.createEnterprisePool(e(u),n)))();break;default:throw new Error("Invalid entity level")}he("submit",n)}}catch(d){r(Y,Ue(d))}finally{r(_e,!1)}}Dt(()=>{bt(),qe()&&Ze(),e(l)&&(b(e(l),"repository")||b(e(l),"organization")||b(e(l),"enterprise"))&&r(Z,Cr.subscribeToEntity(e(l),["update"],jr))}),Gt(()=>{e(Z)&&(e(Z)(),r(Z,null))}),me(()=>{},()=>{r(J,Ee())}),me(()=>e(J),()=>{e(J)||r(we,!1)}),me(()=>(e(u),e(I)),()=>{e(u)&&e(I)&&$r()}),me(()=>(e(I),e(u)),()=>{e(I)&&e(u)&&$r()}),me(()=>(e(l),e(Z),Cr),()=>{e(l)&&(b(e(l),"repository")||b(e(l),"organization")||b(e(l),"enterprise"))&&(e(Z)&&e(Z)(),r(Z,Cr.subscribeToEntity(e(l),["update"],jr)))}),Jt(),Bt();var Ir=Ea(),Or=Q(Ir);p(()=>ea(Or,{$$events:{close:()=>he("close")},children:Yt(s,(d,n)=>{var _=wa(),O=t(i(_),2),Me=i(O);{var ce=z=>{var $=ia(),se=i($),Re=i(se,!0);o(se),o($),M(()=>j(Re,e(Y))),v(z,$)};p(()=>T(Me,z=>{e(Y)&&z(ce)}),"if",s,387,3)}var oe=t(Me,2),Te=t(i(oe),2),be=i(Te),ve=t(be,2),V=t(ve,2);o(Te),o(oe);var ee=t(oe,2);{var tr=z=>{var $=_a(),se=Q($),Re=t(i(se),2),ir=i(Re),sr=i(ir),ht=i(sr);je(),o(sr);var _t=t(sr,2);{var kt=a=>{var f=sa();v(a,f)},wt=a=>{var f=la();M(()=>{e(u),ye(()=>{e(l),e(P)})});var S=i(f),U=i(S);o(S),S.value=S.__value="";var L=t(S);p(()=>Ae(L,1,()=>e(P),Ie,(y,c)=>{var k=da(),W=i(k);{var ge=m=>{var C=fe();M(()=>j(C,`${e(c),x(()=>e(c).owner)??""}/${e(c),x(()=>e(c).name)??""} (${e(c),x(()=>e(c).endpoint?.name)??""})`)),v(m,C)},G=m=>{var C=fe();M(()=>j(C,`${e(c),x(()=>e(c).name)??""} (${e(c),x(()=>e(c).endpoint?.name)??""})`)),v(m,C)};p(()=>T(W,m=>{b(e(l),"repository")?m(ge):m(G,!1)}),"if",s,456,11)}o(k);var R={};M(()=>{R!==(R=(e(c),x(()=>e(c).id)))&&(k.value=(k.__value=(e(c),x(()=>e(c).id)))??"")}),v(y,k)}),"each",s,454,9),o(f),M(()=>j(U,`Select a ${e(l)??""}`)),xe(f,()=>e(u),y=>r(u,y)),v(a,f)};p(()=>T(_t,a=>{e(De)?a(kt):a(wt,!1)}),"if",s,444,7)}o(ir);var Ur=t(ir,2),Et=t(i(Ur),2);{var Mt=a=>{var f=na();v(a,f)},Tt=a=>{var f=ca();M(()=>{e(te),ye(()=>{e(He)})});var S=i(f);S.value=S.__value="";var U=t(S);p(()=>Ae(U,1,()=>e(He),Ie,(L,y)=>{var c=ua(),k=i(c,!0);o(c);var W={};M(()=>{j(k,(e(y),x(()=>e(y).name))),W!==(W=(e(y),x(()=>e(y).name)))&&(c.value=(c.__value=(e(y),x(()=>e(y).name)))??"")}),v(L,c)}),"each",s,480,9),o(f),xe(f,()=>e(te),L=>r(te,L)),v(a,f)};p(()=>T(Et,a=>{e(Ge)?a(Mt):a(Tt,!1)}),"if",s,470,7)}o(Ur),o(Re),o(se);var dr=t(se,2),lr=t(i(dr),2),nr=i(lr),Lr=t(i(nr),2);B(Lr),o(nr);var ur=t(nr,2),Br=t(i(ur),2);B(Br),o(ur);var cr=t(ur,2),br=t(i(cr),2);M(()=>{e(I),ye(()=>{})});var vr=i(br);vr.value=vr.__value="linux";var qr=t(vr);qr.value=qr.__value="windows",o(br),o(cr);var Hr=t(cr,2),gr=t(i(Hr),2);M(()=>{e(ke),ye(()=>{})});var pr=i(gr);pr.value=pr.__value="amd64";var Dr=t(pr);Dr.value=Dr.__value="arm64",o(gr),o(Hr),o(lr);var Gr=t(lr,2),zt=t(i(Gr),2);{var St=a=>{var f=ba();v(a,f)},Rt=a=>{var f=de(),S=Q(f);{var U=y=>{var c=ga(),k=Q(c);M(()=>{e(F),ye(()=>{e(H)})}),p(()=>Ae(k,5,()=>e(H),Ie,(R,m)=>{var C=va(),pe=i(C),zr=t(pe);{var Sr=Rr=>{var at=fe();M(()=>j(at,`- ${e(m),x(()=>e(m).description)??""}`)),v(Rr,at)};p(()=>T(zr,Rr=>{e(m),x(()=>e(m).description)&&Rr(Sr)}),"if",s,568,10)}o(C);var $e={};M(()=>{j(pe,`${e(m),x(()=>e(m).name)??""} ${e(m),x(()=>b(e(m).owner_id,"system")?"(System)":"")??""} `),$e!==($e=(e(m),x(()=>e(m).id)))&&(C.value=(C.__value=(e(m),x(()=>e(m).id)))??"")}),v(R,C)}),"each",s,565,8),o(k);var W=t(k,2),ge=t(i(W));{var G=R=>{var m=fe();M(C=>j(m,`Showing templates for ${C??""} ${e(I)??""}.`),[()=>x(Ye)]),v(R,m)};p(()=>T(ge,R=>{e(u)&&R(G)}),"if",s,574,8)}o(W),xe(k,()=>e(F),R=>r(F,R)),v(y,c)},L=y=>{var c=de(),k=Q(c);{var W=G=>{var R=pa(),m=i(R),C=i(m);o(m);var pe=t(m,2),zr=i(pe);je(),o(pe),o(R),M((Sr,$e)=>{j(C,`No templates found for ${Sr??""} ${e(I)??""}.`),it(zr,"href",$e)},[()=>x(Ye),()=>(Nt(st),x(()=>st("/templates")))]),v(G,R)},ge=G=>{var R=fa();v(G,R)};p(()=>T(k,G=>{e(u)?G(W):G(ge,!1)},!0),"if",s,578,6)}v(y,c)};p(()=>T(S,y=>{e(H),x(()=>e(H).length>0)?y(U):y(L,!1)},!0),"if",s,559,6)}v(a,f)};p(()=>T(zt,a=>{e(Je)?a(St):a(Rt,!1)}),"if",s,554,6)}o(Gr),o(dr);var fr=t(dr,2),Jr=t(i(fr),2),mr=i(Jr),Nr=t(i(mr),2);B(Nr),o(mr);var yr=t(mr,2),Fr=t(i(yr),2);B(Fr),o(yr);var Vr=t(yr,2),Wr=t(i(Vr),2);B(Wr),o(Vr),o(Jr),o(fr);var Kr=t(fr,2),xr=t(i(Kr),2),hr=i(xr),Qr=t(i(hr),2);B(Qr),o(hr);var _r=t(hr,2),Xr=t(i(_r),2);B(Xr),o(_r);var Yr=t(_r,2),Zr=t(i(Yr),2);B(Zr),o(Yr),o(xr);var kr=t(xr,2),et=t(i(kr),2),wr=i(et),Ce=i(wr);B(Ce);var Ct=t(Ce,2);o(wr);var Pt=t(wr,2);{var $t=a=>{var f=ya();p(()=>Ae(f,5,()=>e(N),Ie,(S,U,L)=>{var y=ma(),c=i(y),k=t(c);o(y),M(()=>{j(c,`${e(U)??""} `),it(k,"aria-label",`Remove tag ${e(U)}`)}),K("click",k,()=>gt(L)),v(S,y)}),"each",s,713,9),o(f),v(a,f)};p(()=>T(Pt,a=>{e(N),x(()=>e(N).length>0)&&a($t)}),"if",s,711,7)}o(et),o(kr);var Er=t(kr,2),jt=t(i(Er),2);p(()=>ra(jt,{rows:4,placeholder:"{}",get value(){return e(ue)},set value(a){r(ue,a)},$$legacy:!0}),"component",s,738,6,{componentTag:"JsonEditor"}),o(Er);var Mr=t(Er,2),rt=i(Mr);B(rt),je(2),o(Mr);var tt=t(Mr,2),Tr=i(tt),Pe=i(Tr);B(Pe);var At=t(Pe,2);je(2),o(Tr);var It=t(Tr,2);{var Ot=a=>{var f=ha(),S=t(i(f),2),U=i(S),L=t(U);{var y=c=>{var k=xa();K("click",k,()=>r(re,!0)),v(c,k)};p(()=>T(L,c=>{e(u)&&c(y)}),"if",s,788,9)}o(S),o(f),M(()=>j(U,`Shell access requires agent mode to be enabled on the ${e(l)??""}. `)),v(a,f)};p(()=>T(It,a=>{e(J)||a(Ot)}),"if",s,781,6)}o(tt),o(Kr),M(a=>{j(ht,`${a??""} `),Pe.disabled=!e(J),Oe(At,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(J)?"":"opacity-50"}`)},[()=>(e(l),x(()=>e(l).charAt(0).toUpperCase()+e(l).slice(1)))]),X(Lr,()=>e(le),a=>r(le,a)),X(Br,()=>e(ne),a=>r(ne,a)),xe(br,()=>e(I),a=>r(I,a)),xe(gr,()=>e(ke),a=>r(ke,a)),X(Nr,()=>e(Fe),a=>r(Fe,a)),X(Fr,()=>e(Ne),a=>r(Ne,a)),X(Wr,()=>e(Ve),a=>r(Ve,a)),X(Qr,()=>e(Ke),a=>r(Ke,a)),X(Xr,()=>e(We),a=>r(We,a)),X(Zr,()=>e(Qe),a=>r(Qe,a)),X(Ce,()=>e(ae),a=>r(ae,a)),K("keydown",Ce,pt),K("click",Ct,Ar),dt(rt,()=>e(Xe),a=>r(Xe,a)),dt(Pe,()=>e(we),a=>r(we,a)),v(z,$)};p(()=>T(ee,z=>{e(l)&&z(tr)}),"if",s,433,3)}var ze=t(ee,2),Se=i(ze),D=t(Se,2),ie=i(D);{var ar=z=>{var $=ka();v(z,$)},or=z=>{var $=fe("Create Pool");v(z,$)};p(()=>T(ie,z=>{e(_e)?z(ar):z(or,!1)}),"if",s,818,5)}o(D),o(ze),o(O),o(_),M(()=>{Oe(be,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${b(e(l),"repository")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Oe(ve,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${b(e(l),"organization")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Oe(V,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${b(e(l),"enterprise")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),D.disabled=e(_e)||!e(l)||!e(u)||!e(te)||!e(le)||!e(ne)}),K("click",be,()=>er("repository")),K("click",ve,()=>er("organization")),K("click",V,()=>er("enterprise")),K("click",Se,()=>he("close")),K("submit",O,Zt(ft)),v(d,_)}),$$slots:{default:!0}}),"component",s,380,0,{componentTag:"Modal"});var mt=t(Or,2);{var yt=d=>{const n=Vt(Wt(()=>x(vt)),"selectedEntity");e(n);var _=de(),O=Q(_);{var Me=ce=>{var oe=de(),Te=Q(oe);{var be=V=>{p(()=>ta(V,{get repository(){return e(n)},$$events:{close:()=>r(re,!1),submit:ee=>rr(ee.detail)}}),"component",s,837,3,{componentTag:"UpdateRepositoryModal"})},ve=V=>{var ee=de(),tr=Q(ee);{var ze=D=>{p(()=>aa(D,{get organization(){return e(n)},$$events:{close:()=>r(re,!1),submit:ie=>rr(ie.detail)}}),"component",s,843,3,{componentTag:"UpdateOrganizationModal"})},Se=D=>{var ie=de(),ar=Q(ie);{var or=z=>{p(()=>oa(z,{get enterprise(){return e(n)},$$events:{close:()=>r(re,!1),submit:$=>rr($.detail)}}),"component",s,849,3,{componentTag:"UpdateEnterpriseModal"})};p(()=>T(ar,z=>{b(e(l),"enterprise")&&z(or)},!0),"if",s,848,2)}v(D,ie)};p(()=>T(tr,D=>{b(e(l),"organization")?D(ze):D(Se,!1)},!0),"if",s,842,2)}v(V,ee)};p(()=>T(Te,V=>{b(e(l),"repository")?V(be):V(ve,!1)}),"if",s,836,2)}v(ce,oe)};p(()=>T(O,ce=>{e(n)&&ce(Me)}),"if",s,835,1)}v(d,_)};p(()=>T(mt,d=>{e(re)&&e(u)&&d(yt)}),"if",s,833,0)}v(nt,Ir);var xt=Ft({...Lt()});return ct(),xt}export{s as C}; diff --git a/webapp/assets/_app/immutable/chunks/BDUel5dG.js b/webapp/assets/_app/immutable/chunks/BDUel5dG.js new file mode 100644 index 00000000..2559c1ef --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/BDUel5dG.js @@ -0,0 +1,2 @@ +import{f as $,s as k,e as Ye,a as p,t as V,c as q}from"./o8CdT7B0.js";import{i as Zr}from"./ChJfoPF0.js";import{p as et,v as rt,m as c,o as tt,d as s,q as at,l as ye,g as e,b as it,f as j,c as d,r as i,s as o,h as w,u as g,t as y,k as Ze,n as er,a as ot,i as dt}from"./DUMcBckj.js";import{p as nt,i as m,s as st,a as lt}from"./i7pKks78.js";import{e as ut,i as pt}from"./DC7Aeygn.js";import{r as O,s as rr,b as tr,g as xe,c as Or,d as gt}from"./_9uqtkkk.js";import{b as D,a as $r}from"./BtzOUN4g.js";import{p as ct}from"./CdEA5IGF.js";import{M as ft}from"./CYPHW1bs.js";import{e as zr}from"./BZiHL9L3.js";import{J as bt,U as vt,a as mt,b as _t}from"./D9ztHNzD.js";import{e as yt}from"./zgwRPQVC.js";import{w as ar}from"./DTRhxHIE.js";var xt=$('

'),ht=$('

'),kt=$('
Loading templates...
'),wt=$(""),St=$('

',1),Et=$('

Create a template first or proceed without a template to use default behavior.

'),Tt=$('
'),Rt=$('
Updating...
'),Mt=$('

Scale Set Information

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
'),Ot=$(" ",1);function Bt(Ur,ir){et(ir,!1);const[Ar,jr]=st(),b=()=>lt(yt,"$eagerCache",Ar),z=c();let r=nt(ir,"scaleSet",8);const he=rt();let ie=c(!1),X=c(""),U=c(""),E=c([]),ke=c(!1),W=c(!1),F=null,oe=c(r().name||""),de=c(r().image||""),ne=c(r().flavor||""),I=c(r().max_runners),J=c(r().min_idle_runners),se=c(r().runner_bootstrap_timeout),le=c(r().runner_prefix||""),T=c(r().os_type||"linux"),Y=c(r().os_arch||"amd64"),ue=c(r()["github-runner-group"]||""),pe=c(r().enabled),Z=c(r().enable_shell??!1),N=c("{}"),A=c(r().template_id);function we(){if(r().endpoint?.endpoint_type)return r().endpoint.endpoint_type;if(r().repo_id){const n=b().repositories.find(a=>a.id===r().repo_id);if(n?.endpoint?.endpoint_type)return n.endpoint.endpoint_type}if(r().org_id){const n=b().organizations.find(a=>a.id===r().org_id);if(n?.endpoint?.endpoint_type)return n.endpoint.endpoint_type}if(r().enterprise_id){const n=b().enterprises.find(a=>a.id===r().enterprise_id);if(n?.endpoint?.endpoint_type)return n.endpoint.endpoint_type}return null}function Ir(){return r().repo_id?b().repositories.find(a=>a.id===r().repo_id)?.agent_mode??!1:r().org_id?b().organizations.find(a=>a.id===r().org_id)?.agent_mode??!1:r().enterprise_id?b().enterprises.find(a=>a.id===r().enterprise_id)?.agent_mode??!1:!1}function Jr(){return r().repo_id?"repository":r().org_id?"organization":r().enterprise_id?"enterprise":"entity"}function Se(n){if(n.operation!=="update")return;const a=n.payload;if(r().repo_id&&a.id===r().repo_id){const l=b().repositories.find(S=>S.id===r().repo_id);l&&(Object.assign(l,a),"agent_mode"in a&&s(z,a.agent_mode??!1))}else if(r().org_id&&a.id===r().org_id){const l=b().organizations.find(S=>S.id===r().org_id);l&&(Object.assign(l,a),"agent_mode"in a&&s(z,a.agent_mode??!1))}else if(r().enterprise_id&&a.id===r().enterprise_id){const l=b().enterprises.find(S=>S.id===r().enterprise_id);l&&(Object.assign(l,a),"agent_mode"in a&&s(z,a.agent_mode??!1))}}async function Ee(n){try{if(r().repo_id){await xe.updateRepository(r().repo_id,n);const a=b().repositories.find(l=>l.id===r().repo_id);a&&Object.assign(a,n)}else if(r().org_id){await xe.updateOrganization(r().org_id,n);const a=b().organizations.find(l=>l.id===r().org_id);a&&Object.assign(a,n)}else if(r().enterprise_id){await xe.updateEnterprise(r().enterprise_id,n);const a=b().enterprises.find(l=>l.id===r().enterprise_id);a&&Object.assign(a,n)}s(W,!1)}catch(a){throw a}}function Nr(){return r().repo_id?b().repositories.find(n=>n.id===r().repo_id)||null:r().org_id?b().organizations.find(n=>n.id===r().org_id)||null:r().enterprise_id&&b().enterprises.find(n=>n.id===r().enterprise_id)||null}async function or(){try{s(ke,!0);const n=we();if(!n){s(E,[]);return}if(s(E,await xe.listTemplates(e(T),void 0,n)),!e(A)||!e(E).find(a=>a.id===e(A))){const a=e(E).find(l=>l.owner_id==="system");a?s(A,a.id):e(E).length>0&&s(A,e(E)[0].id)}}catch(n){s(X,zr(n))}finally{s(ke,!1)}}tt(()=>{if(r().extra_specs)try{if(typeof r().extra_specs=="object")s(N,JSON.stringify(r().extra_specs,null,2));else{const n=JSON.parse(r().extra_specs);s(N,JSON.stringify(n,null,2))}}catch{s(N,r().extra_specs||"{}")}or(),r().repo_id?F=ar.subscribeToEntity("repository",["update"],Se):r().org_id?F=ar.subscribeToEntity("organization",["update"],Se):r().enterprise_id&&(F=ar.subscribeToEntity("enterprise",["update"],Se))}),at(()=>{F&&(F(),F=null)});async function Cr(){try{if(s(ie,!0),s(X,""),e(U))throw new Error(e(U));let n={};if(e(N).trim())try{n=JSON.parse(e(N))}catch{throw new Error("Invalid JSON in extra specs")}const a={name:e(oe)!==r().name?e(oe):void 0,image:e(de)!==r().image?e(de):void 0,flavor:e(ne)!==r().flavor?e(ne):void 0,max_runners:e(I)!==r().max_runners?e(I):void 0,min_idle_runners:e(J)!==r().min_idle_runners?e(J):void 0,runner_bootstrap_timeout:e(se)!==r().runner_bootstrap_timeout?e(se):void 0,runner_prefix:e(le)!==r().runner_prefix?e(le):void 0,os_type:e(T)!==r().os_type?e(T):void 0,os_arch:e(Y)!==r().os_arch?e(Y):void 0,"github-runner-group":e(ue)!==r()["github-runner-group"]&&e(ue)||void 0,enabled:e(pe)!==r().enabled?e(pe):void 0,enable_shell:e(Z)!==r().enable_shell?e(Z):void 0,extra_specs:e(N).trim()!==JSON.stringify(r().extra_specs||{},null,2).trim()?n:void 0,template_id:e(A)!==r().template_id?e(A):void 0};Object.keys(a).forEach(l=>{a[l]===void 0&&delete a[l]}),he("submit",a)}catch(n){s(X,zr(n))}finally{s(ie,!1)}}ye(()=>{},()=>{s(z,Ir())}),ye(()=>e(z),()=>{e(z)||s(Z,!1)}),ye(()=>e(T),()=>{e(T)&&or()}),ye(()=>(e(J),e(I)),()=>{e(J)!==null&&e(J)!==void 0&&e(I)!==null&&e(I)!==void 0&&e(J)>e(I)?s(U,"Min idle runners cannot be greater than max runners"):s(U,"")}),it(),Zr();var dr=Ot(),nr=j(dr);ft(nr,{$$events:{close:()=>he("close")},children:(n,a)=>{var l=Mt(),S=d(l),ge=d(S),ee=d(ge);i(ge),i(S);var H=o(S,2),ce=d(H);{var Te=t=>{var u=xt(),x=d(u),R=d(x,!0);i(x),i(u),y(()=>k(R,e(X))),p(t,u)};m(ce,t=>{e(X)&&t(Te)})}var fe=o(ce,2);{var C=t=>{var u=ht(),x=d(u),R=d(x,!0);i(x),i(u),y(()=>k(R,e(U))),p(t,u)};m(fe,t=>{e(U)&&t(C)})}var P=o(fe,2),be=o(d(P),2),re=d(be),ve=o(d(re),2),G=d(ve,!0);i(ve),i(re);var L=o(re,2),me=o(d(L),2),Re=d(me);{var te=t=>{var u=V();y(()=>k(u,`Repository: ${w(r()),g(()=>r().repo_name)??""}`)),p(t,u)},Me=t=>{var u=q(),x=j(u);{var R=v=>{var h=V();y(()=>k(h,`Organization: ${w(r()),g(()=>r().org_name)??""}`)),p(v,h)},ae=v=>{var h=q(),M=j(h);{var K=_=>{var f=V();y(()=>k(f,`Enterprise: ${w(r()),g(()=>r().enterprise_name)??""}`)),p(_,f)},Q=_=>{var f=V("Unknown Entity");p(_,f)};m(M,_=>{w(r()),g(()=>r().enterprise_name)?_(K):_(Q,!1)},!0)}p(v,h)};m(x,v=>{w(r()),g(()=>r().org_name)?v(R):v(ae,!1)},!0)}p(t,u)};m(Re,t=>{w(r()),g(()=>r().repo_name)?t(te):t(Me,!1)})}i(me),i(L),i(be),i(P);var Oe=o(P,2),sr=o(d(Oe),2);O(sr),i(Oe);var $e=o(Oe,2),lr=o(d($e),2),ze=d(lr),ur=o(d(ze),2);O(ur),i(ze);var Ue=o(ze,2),pr=o(d(Ue),2);O(pr),i(Ue);var Ae=o(Ue,2),je=o(d(Ae),2);y(()=>{e(T),Ze(()=>{})});var Ie=d(je);Ie.value=Ie.__value="linux";var gr=o(Ie);gr.value=gr.__value="windows",i(je),i(Ae);var Je=o(Ae,2),Ne=o(d(Je),2);y(()=>{e(Y),Ze(()=>{})});var Ce=d(Ne);Ce.value=Ce.__value="amd64";var cr=o(Ce);cr.value=cr.__value="arm64",i(Ne),i(Je);var fr=o(Je,2),Dr=o(d(fr),2);{var Lr=t=>{var u=kt();p(t,u)},Br=t=>{var u=q(),x=j(u);{var R=v=>{var h=St(),M=j(h);y(()=>{e(A),Ze(()=>{e(E)})}),ut(M,5,()=>e(E),pt,(_,f)=>{var B=wt(),Tr=d(B),Xr=o(Tr);{var Yr=Xe=>{var Mr=V();y(()=>k(Mr,`- ${e(f),g(()=>e(f).description)??""}`)),p(Xe,Mr)};m(Xr,Xe=>{e(f),g(()=>e(f).description)&&Xe(Yr)})}i(B);var Rr={};y(()=>{k(Tr,`${e(f),g(()=>e(f).name)??""} ${e(f),g(()=>e(f).owner_id==="system"?"(System)":"")??""} `),Rr!==(Rr=(e(f),g(()=>e(f).id)))&&(B.value=(B.__value=(e(f),g(()=>e(f).id)))??"")}),p(_,B)}),i(M);var K=o(M,2),Q=d(K);i(K),y(_=>k(Q,`Templates define how the runner software is installed and configured. + Showing templates for ${_??""} ${e(T)??""}.`),[()=>g(we)]),tr(M,()=>e(A),_=>s(A,_)),p(v,h)},ae=v=>{var h=Et(),M=d(h),K=d(M);i(M);var Q=o(M,2),_=d(Q);er(),i(Q),i(h),y((f,B)=>{k(K,`No templates found for ${f??""} ${e(T)??""}.`),gt(_,"href",B)},[()=>g(we),()=>(w(Or),g(()=>Or("/templates")))]),p(v,h)};m(x,v=>{e(E),g(()=>e(E).length>0)?v(R):v(ae,!1)},!0)}p(t,u)};m(Dr,t=>{e(ke)?t(Lr):t(Br,!1)})}i(fr),i(lr),i($e);var Pe=o($e,2),br=o(d(Pe),2),Ge=d(br),De=o(d(Ge),2);O(De),i(Ge);var Le=o(Ge,2),Be=o(d(Le),2);O(Be),i(Le);var vr=o(Le,2),mr=o(d(vr),2);O(mr),i(vr),i(br),i(Pe);var qe=o(Pe,2),We=o(d(qe),2),Fe=d(We),_r=o(d(Fe),2);O(_r),i(Fe);var yr=o(Fe,2),xr=o(d(yr),2);O(xr),i(yr),i(We);var He=o(We,2),hr=d(He),qr=o(d(hr),2);bt(qr,{rows:4,placeholder:"{}",get value(){return e(N)},set value(t){s(N,t)},$$legacy:!0}),i(hr),i(He);var Ke=o(He,2),kr=d(Ke);O(kr),er(2),i(Ke);var wr=o(Ke,2),Qe=d(wr),_e=d(Qe);O(_e);var Wr=o(_e,2);er(2),i(Qe);var Fr=o(Qe,2);{var Hr=t=>{var u=Tt(),x=o(d(u),2),R=d(x),ae=o(R);i(x),i(u),y(v=>k(R,`Shell access requires agent mode to be enabled on the ${v??""}. `),[()=>g(Jr)]),Ye("click",ae,()=>s(W,!0)),p(t,u)};m(Fr,t=>{e(z)||t(Hr)})}i(wr),i(qe);var Sr=o(qe,2),Er=d(Sr),Ve=o(Er,2),Kr=d(Ve);{var Qr=t=>{var u=Rt();p(t,u)},Vr=t=>{var u=V("Update Scale Set");p(t,u)};m(Kr,t=>{e(ie)?t(Qr):t(Vr,!1)})}i(Ve),i(Sr),i(H),i(l),y(()=>{k(ee,`Update Scale Set ${w(r()),g(()=>r().name)??""}`),k(G,(w(r()),g(()=>r().provider_name))),rr(De,1,`w-full px-3 py-2 border ${e(U)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),rr(Be,1,`w-full px-3 py-2 border ${e(U)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),_e.disabled=!e(z),rr(Wr,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(z)?"":"opacity-50"}`),Ve.disabled=e(ie)||e(U)!==""}),D(sr,()=>e(oe),t=>s(oe,t)),D(ur,()=>e(de),t=>s(de,t)),D(pr,()=>e(ne),t=>s(ne,t)),tr(je,()=>e(T),t=>s(T,t)),tr(Ne,()=>e(Y),t=>s(Y,t)),D(De,()=>e(J),t=>s(J,t)),D(Be,()=>e(I),t=>s(I,t)),D(mr,()=>e(se),t=>s(se,t)),D(_r,()=>e(le),t=>s(le,t)),D(xr,()=>e(ue),t=>s(ue,t)),$r(kr,()=>e(pe),t=>s(pe,t)),$r(_e,()=>e(Z),t=>s(Z,t)),Ye("click",Er,()=>he("close")),Ye("submit",H,ct(Cr)),p(n,l)},$$slots:{default:!0}});var Pr=o(nr,2);{var Gr=n=>{const a=dt(()=>g(Nr));var l=q(),S=j(l);{var ge=ee=>{var H=q(),ce=j(H);{var Te=C=>{vt(C,{get repository(){return e(a)},$$events:{close:()=>s(W,!1),submit:P=>Ee(P.detail)}})},fe=C=>{var P=q(),be=j(P);{var re=G=>{mt(G,{get organization(){return e(a)},$$events:{close:()=>s(W,!1),submit:L=>Ee(L.detail)}})},ve=G=>{var L=q(),me=j(L);{var Re=te=>{_t(te,{get enterprise(){return e(a)},$$events:{close:()=>s(W,!1),submit:Me=>Ee(Me.detail)}})};m(me,te=>{w(r()),g(()=>r().enterprise_id)&&te(Re)},!0)}p(G,L)};m(be,G=>{w(r()),g(()=>r().org_id)?G(re):G(ve,!1)},!0)}p(C,P)};m(ce,C=>{w(r()),g(()=>r().repo_id)?C(Te):C(fe,!1)})}p(ee,H)};m(S,ee=>{e(a)&&ee(ge)})}p(n,l)};m(Pr,n=>{e(W)&&n(Gr)})}p(Ur,dr),ot(),jr()}export{Bt as U}; diff --git a/webapp/assets/_app/immutable/chunks/BLYRAgBX.js b/webapp/assets/_app/immutable/chunks/BLYRAgBX.js deleted file mode 100644 index 76e047ee..00000000 --- a/webapp/assets/_app/immutable/chunks/BLYRAgBX.js +++ /dev/null @@ -1 +0,0 @@ -import{c as ie,a as D,s as u,b as c,l as le,f as y,t as M,i as j}from"./CxOx-TIJ.js";import"./3NxSoY2_.js";import{p as re,c as i,d as o,s as _,r as l,t as w,a as se,F as g,w as z}from"./DzFKsO_V.js";import{p as a,i as h}from"./B_jyf0qs.js";import{s as de,h as ne,B as A}from"./BguOOs3x.js";import{w as C}from"./DoJxysSt.js";t[g]="src/lib/components/DetailHeader.svelte";var oe=D(y('
'),t[g],[[25,5]]),ve=D(y('
'),t[g],[[37,4]]),ce=D(y('

'),t[g],[[20,0,[[21,1,[[22,2,[[23,3,[[29,4,[[30,5],[31,5]]]]]]]]]]]]);function t(F,e){ie(new.target),re(e,!1,t);let P=a(e,"title",8),T=a(e,"subtitle",8),I=a(e,"forgeIcon",8,""),x=a(e,"onEdit",8,null),b=a(e,"onDelete",8,null),N=a(e,"editLabel",8,"Edit"),q=a(e,"deleteLabel",8,"Delete"),G=a(e,"editVariant",8,"secondary"),J=a(e,"deleteVariant",8,"danger"),K=a(e,"editDisabled",8,!1),O=a(e,"deleteDisabled",8,!1),Q=a(e,"editIcon",8,""),R=a(e,"deleteIcon",8,""),S=a(e,"titleClass",8,"");var k=ce(),L=i(k),E=i(L),p=i(E),H=i(p);{var U=r=>{var s=oe(),f=i(s);ne(f,I),l(s),c(r,s)};o(()=>h(H,r=>{I()&&r(U)}),"if",t,24,4)}var V=_(H,2),m=i(V),W=i(m,!0);l(m);var B=_(m,2),X=i(B,!0);l(B),l(V),l(p);var Y=_(p,2);{var Z=r=>{var s=ve(),f=i(s);{var $=d=>{o(()=>A(d,{get variant(){return G()},size:"md",get disabled(){return K()},get icon(){return Q()},$$events:{click(...n){j(x,this,n,t,[43,17])}},children:C(t,(n,ae)=>{z();var v=M();w(()=>u(v,N())),c(n,v)}),$$slots:{default:!0}}),"component",t,39,6,{componentTag:"Button"})};o(()=>h(f,d=>{x()&&d($)}),"if",t,38,5)}var ee=_(f,2);{var te=d=>{o(()=>A(d,{get variant(){return J()},size:"md",get disabled(){return O()},get icon(){return R()},$$events:{click(...n){j(b,this,n,t,[54,17])}},children:C(t,(n,ae)=>{z();var v=M();w(()=>u(v,q())),c(n,v)}),$$slots:{default:!0}}),"component",t,50,6,{componentTag:"Button"})};o(()=>h(ee,d=>{b()&&d(te)}),"if",t,49,5)}l(s),c(r,s)};o(()=>h(Y,r=>{(x()||b())&&r(Z)}),"if",t,36,3)}return l(E),l(L),l(k),w(()=>{de(m,1,`text-2xl font-bold text-gray-900 dark:text-white ${S()??""}`),u(W,P()),u(X,T())}),c(F,k),se({...le()})}export{t as D}; diff --git a/webapp/assets/_app/immutable/chunks/BMieCrfV.js b/webapp/assets/_app/immutable/chunks/BMieCrfV.js deleted file mode 100644 index 46ef8f5e..00000000 --- a/webapp/assets/_app/immutable/chunks/BMieCrfV.js +++ /dev/null @@ -1,4 +0,0 @@ -import{c as je,a as x,r as et,b as f,l as Oe,f as y,s as j,t as tt,e as $e}from"./CxOx-TIJ.js";import{i as Te}from"./3NxSoY2_.js";import{p as Be,l as Pe,j as o,m,h as Q,b as Ie,c as t,s as a,d as P,g as e,r,t as S,a as qe,F as b,B as Le,w as X,u as U,i as ze,o as Ve,v as Re,k as Se,n as Ke}from"./DzFKsO_V.js";import{p as _e,i as I}from"./B_jyf0qs.js";import{d as Fe,s as rt,r as H,b as We,g as Qe}from"./BguOOs3x.js";import{b as De,a as ue}from"./BVM1034P.js";import{w as Je}from"./DoJxysSt.js";import{p as Ne}from"./CdEA5IGF.js";import{e as Ae}from"./BZiHL9L3.js";import{M as He}from"./Pgjt70l7.js";import{e as Xe,i as Ye}from"./CdXRaxkX.js";Ee[b]="src/lib/components/JsonEditor.svelte";var at=x(y('
'),Ee[b],[[42,2,[[43,3,[[44,4]]]]]]),ot=x(y('
'),Ee[b],[[24,0,[[25,1]]]]);function Ee(ve,O){je(new.target),Be(O,!1,Ee);let i=_e(O,"value",12,""),$=_e(O,"placeholder",8,"{}"),_=_e(O,"rows",8,4),h=_e(O,"disabled",8,!1),l=m(!0);Pe(()=>Q(i()),()=>{if(i().trim())try{JSON.parse(i()),o(l,!0)}catch{o(l,!1)}else o(l,!0)}),Ie(),Te();var p=ot(),s=t(p);et(s);var n=a(s,2);{var c=M=>{var G=at();f(M,G)};P(()=>I(n,M=>{e(l)||M(c)}),"if",Ee,41,1)}return r(p),S(()=>{Fe(s,"placeholder",$()),Fe(s,"rows",_()),s.disabled=h(),rt(s,1,`w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 font-mono text-sm resize-none - ${e(l)?"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white":"border-red-300 dark:border-red-600 bg-red-50 dark:bg-red-900/20 text-red-900 dark:text-red-100"} - ${h()?"opacity-50 cursor-not-allowed":""} - `)}),De(s,i),f(ve,p),qe({...Oe()})}N[b]="src/lib/components/UpdateRepositoryModal.svelte";var st=x(y('

'),N[b],[[65,4,[[66,5]]]]),dt=x(y('

Leave empty to auto-generate a new secret

'),N[b],[[130,5,[[131,6,[[132,26]]],[134,6],[142,6]]]]),lt=x(y('
Updating...
'),N[b],[[164,6,[[165,7]]]]),nt=x(y('

Update Repository

Repository Information

Owner:
Name:
Endpoint:
Credentials:
'),N[b],[[57,1,[[58,2,[[59,3],[60,3]]],[63,2,[[71,3,[[72,4],[73,4,[[74,5,[[75,6],[76,6]]],[78,5,[[79,6],[80,6]]],[82,5,[[83,6],[84,6]]],[86,5,[[87,6],[88,6]]]]]]],[94,3,[[95,4],[101,4],[104,4,[[105,5,[[106,6]]],[108,5,[[110,6]]]]]]],[116,3,[[117,4,[[118,5],[124,5]]]]],[150,3,[[151,4],[158,4]]]]]]]]);function N(ve,O){je(new.target),Be(O,!1,N);let i=_e(O,"repository",8);const $=Le();let _=m(!1),h=m(""),l=m(""),p=m(!1),s=m(i().agent_mode??!1);async function n(){try{o(_,!0),o(h,"");const c={};if(e(p)){if(!e(l).trim()){o(h,"Please enter a webhook secret or uncheck the option to change it");return}c.webhook_secret=e(l)}if(ze(e(s),i().agent_mode,!1)&&(c.agent_mode=e(s)),ze(Object.keys(c).length,0)){$("close");return}$("submit",c)}catch(c){o(h,Ae(c))}finally{o(_,!1)}}return Te(),P(()=>He(ve,{$$events:{close:()=>$("close")},children:Je(N,(c,M)=>{var G=nt(),pe=t(G),z=a(t(pe),2),R=t(z);r(z),r(pe);var re=a(pe,2),F=t(re);{var ae=v=>{var d=st(),g=t(d),W=t(g,!0);r(g),r(d),S(()=>j(W,e(h))),f(v,d)};P(()=>I(F,v=>{e(h)&&v(ae)}),"if",N,64,3)}var oe=a(F,2),ge=a(t(oe),2),Y=t(ge),me=a(t(Y),2),Ce=t(me,!0);r(me),r(Y);var fe=a(Y,2),ke=a(t(fe),2),T=t(ke,!0);r(ke),r(fe);var u=a(fe,2),k=a(t(u),2),B=t(k,!0);r(k),r(u);var q=a(u,2),se=a(t(q),2),xe=t(se,!0);r(se),r(q),r(ge),r(oe);var V=a(oe,2),de=t(V);H(de),X(4),r(V);var K=a(V,2),L=t(K),Z=t(L);H(Z),X(2),r(L);var le=a(L,2);{var ee=v=>{var d=dt(),g=a(t(d),2);H(g),X(2),r(d),S(()=>g.required=e(p)),De(g,()=>e(l),W=>o(l,W)),f(v,d)};P(()=>I(le,v=>{e(p)&&v(ee)}),"if",N,129,4)}r(K);var ne=a(K,2),ie=t(ne),te=a(ie,2),ye=t(te);{var we=v=>{var d=lt();f(v,d)},he=v=>{var d=tt("Update Repository");f(v,d)};P(()=>I(ye,v=>{e(_)?v(we):v(he,!1)}),"if",N,163,5)}r(te),r(ne),r(re),r(G),S(v=>{j(R,`${Q(i()),U(()=>i().owner)??""}/${Q(i()),U(()=>i().name)??""}`),j(Ce,(Q(i()),U(()=>i().owner))),j(T,(Q(i()),U(()=>i().name))),j(B,(Q(i()),U(()=>i().endpoint?.name))),j(xe,(Q(i()),U(()=>i().credentials_name))),te.disabled=v},[()=>(e(_),e(p),e(l),U(()=>e(_)||e(p)&&!e(l).trim()))]),ue(de,()=>e(s),v=>o(s,v)),ue(Z,()=>e(p),v=>o(p,v)),$e("click",ie,()=>$("close")),$e("submit",re,Ne(n)),f(c,G)}),$$slots:{default:!0}}),"component",N,56,0,{componentTag:"Modal"}),qe({...Oe()})}A[b]="src/lib/components/UpdateOrganizationModal.svelte";var it=x(y('

'),A[b],[[102,3,[[103,4]]]]),ct=x(y('

Loading...

'),A[b],[[108,3,[[109,4],[110,4]]]]),bt=x(y(""),A[b],[[127,7]]),ut=x(y(''),A[b],[[202,8]]),vt=x(y('

A new webhook secret will be automatically generated

'),A[b],[[210,8]]),pt=x(y('
'),A[b],[[189,6,[[190,7,[[191,8],[197,8]]]]]]),gt=x(y('

'),A[b],[[113,3,[[115,4,[[116,5],[119,5,[[125,6]]],[132,5]]],[138,4,[[139,5],[142,5,[[147,6],[148,6]]]]],[153,4,[[154,5],[160,5],[163,5,[[164,6,[[165,7]]],[167,6,[[169,7]]]]]]],[175,4,[[176,5,[[177,6],[183,6]]]]],[219,4,[[220,5],[227,5]]]]]]),mt=x(y('

Update Organization

'),A[b],[[93,1,[[94,2,[[95,3],[96,3]]],[99,2]]]]);function A(ve,O){je(new.target),Be(O,!1,A);const i=m(),$=m();let _=_e(O,"organization",8);const h=Le();let l=m(!1),p=m(""),s=m([]),n=m({credentials_name:_().credentials_name||"",webhook_secret:"",pool_balancer_type:_().pool_balancing_type||"roundrobin"}),c=m(!1),M=m(!0),G=m(_().agent_mode??!1);async function pe(){try{o(l,!0),o(s,(await Ke(Qe.listAllCredentials()))())}catch(R){o(p,Ae(R))}finally{o(l,!1)}}async function z(){if(!e(n).credentials_name){o(p,"Please select credentials");return}if(e(c)&&!e(M)&&!e(n).webhook_secret?.trim()){o(p,"Please enter a webhook secret or uncheck the change webhook secret option");return}try{o(l,!0),o(p,"");const R={...e(n)};e(c)?e(M)&&(R.webhook_secret=""):delete R.webhook_secret,ze(e(G),_().agent_mode,!1)&&(R.agent_mode=e(G)),h("submit",R)}catch(R){o(p,Ae(R)),o(l,!1)}}return Ve(()=>{pe()}),Pe(()=>Q(_()),()=>{o(i,_().endpoint?.endpoint_type)}),Pe(()=>(e(s),e(i)),()=>{o($,e(s).filter(R=>ze(R.forge_type,e(i))))}),Ie(),Te(),P(()=>He(ve,{$$events:{close:()=>h("close")},children:Je(A,(R,re)=>{var F=mt(),ae=t(F),oe=a(t(ae),2),ge=t(oe,!0);r(oe),r(ae);var Y=a(ae,2),me=t(Y);{var Ce=u=>{var k=it(),B=t(k),q=t(B,!0);r(B),r(k),S(()=>j(q,e(p))),f(u,k)};P(()=>I(me,u=>{e(p)&&u(Ce)}),"if",A,101,2)}var fe=a(me,2);{var ke=u=>{var k=ct();f(u,k)},T=u=>{var k=gt(),B=t(k),q=a(t(B),2);S(()=>{e(n),Re(()=>{e($)})});var se=t(q);se.value=se.__value="";var xe=a(se);P(()=>Xe(xe,1,()=>e($),Ye,(w,C)=>{var J=bt(),Me=t(J);r(J);var D={};S(()=>{j(Me,`${e(C),U(()=>e(C).name)??""} (${e(C),U(()=>e(C).endpoint?.name||"Unknown endpoint")??""})`),D!==(D=(e(C),U(()=>e(C).name)))&&(J.value=(J.__value=(e(C),U(()=>e(C).name)))??"")}),f(w,J)}),"each",A,126,6),r(q);var V=a(q,2),de=t(V);r(V),r(B);var K=a(B,2),L=a(t(K),2);S(()=>{e(n),Re(()=>{})});var Z=t(L);Z.value=Z.__value="roundrobin";var le=a(Z);le.value=le.__value="pack",r(L),r(K);var ee=a(K,2),ne=t(ee);H(ne),X(4),r(ee);var ie=a(ee,2),te=t(ie),ye=t(te);H(ye),X(2),r(te);var we=a(te,2);{var he=w=>{var C=pt(),J=t(C),Me=t(J);H(Me),X(2),r(J);var D=a(J,2);{var ce=be=>{var Ue=ut();H(Ue),S(()=>Ue.required=e(c)&&!e(M)),De(Ue,()=>e(n).webhook_secret,Ze=>Se(n,e(n).webhook_secret=Ze)),f(be,Ue)},Ge=be=>{var Ue=vt();f(be,Ue)};P(()=>I(D,be=>{e(M)?be(Ge,!1):be(ce)}),"if",A,201,7)}r(C),ue(Me,()=>e(M),be=>o(M,be)),f(w,C)};P(()=>I(we,w=>{e(c)&&w(he)}),"if",A,188,5)}r(ie);var v=a(ie,2),d=t(v),g=a(d,2),W=t(g,!0);r(g),r(v),r(k),S(w=>{j(de,`Only showing credentials for ${e(i)??""} endpoints`),g.disabled=w,j(W,e(l)?"Updating...":"Update Organization")},[()=>(e(l),e(c),e(M),e(n),U(()=>e(l)||e(c)&&!e(M)&&!e(n).webhook_secret?.trim()))]),We(q,()=>e(n).credentials_name,w=>Se(n,e(n).credentials_name=w)),We(L,()=>e(n).pool_balancer_type,w=>Se(n,e(n).pool_balancer_type=w)),ue(ne,()=>e(G),w=>o(G,w)),ue(ye,()=>e(c),w=>o(c,w)),$e("click",d,()=>h("close")),$e("submit",k,Ne(z)),f(u,k)};P(()=>I(fe,u=>{e(l)?u(ke):u(T,!1)}),"if",A,107,2)}r(Y),r(F),S(()=>j(ge,(Q(_()),U(()=>_().name)))),f(R,F)}),$$slots:{default:!0}}),"component",A,92,0,{componentTag:"Modal"}),qe({...Oe()})}E[b]="src/lib/components/UpdateEnterpriseModal.svelte";var ft=x(y('

'),E[b],[[99,3,[[100,4]]]]),xt=x(y('

Loading...

'),E[b],[[105,3,[[106,4],[107,4]]]]),yt=x(y(""),E[b],[[124,7]]),ht=x(y(''),E[b],[[199,8]]),_t=x(y('

A new webhook secret will be automatically generated

'),E[b],[[207,8]]),kt=x(y('
'),E[b],[[186,6,[[187,7,[[188,8],[194,8]]]]]]),wt=x(y('

Only showing credentials for GitHub endpoints

'),E[b],[[110,3,[[112,4,[[113,5],[116,5,[[122,6]]],[129,5]]],[135,4,[[136,5],[139,5,[[144,6],[145,6]]]]],[150,4,[[151,5],[157,5],[160,5,[[161,6,[[162,7]]],[164,6,[[166,7]]]]]]],[172,4,[[173,5,[[174,6],[180,6]]]]],[216,4,[[217,5],[224,5]]]]]]),Mt=x(y('

Update Enterprise

'),E[b],[[90,1,[[91,2,[[92,3],[93,3]]],[96,2]]]]);function E(ve,O){je(new.target),Be(O,!1,E);const i=m();let $=_e(O,"enterprise",8);const _=Le();let h=m(!1),l=m(""),p=m([]),s=m({credentials_name:$().credentials_name||"",webhook_secret:"",pool_balancer_type:$().pool_balancing_type||"roundrobin"}),n=m(!1),c=m(!0),M=m($().agent_mode??!1);async function G(){try{o(h,!0),o(p,(await Ke(Qe.listAllCredentials()))())}catch(z){o(l,Ae(z))}finally{o(h,!1)}}async function pe(){if(!e(s).credentials_name){o(l,"Please select credentials");return}if(e(n)&&!e(c)&&!e(s).webhook_secret?.trim()){o(l,"Please enter a webhook secret or uncheck the change webhook secret option");return}try{o(h,!0),o(l,"");const z={...e(s)};e(n)?e(c)&&(z.webhook_secret=""):delete z.webhook_secret,ze(e(M),$().agent_mode,!1)&&(z.agent_mode=e(M)),_("submit",z)}catch(z){o(l,Ae(z)),o(h,!1)}}return Ve(()=>{G()}),Pe(()=>e(p),()=>{o(i,e(p).filter(z=>ze(z.forge_type,"github")))}),Ie(),Te(),P(()=>He(ve,{$$events:{close:()=>_("close")},children:Je(E,(z,R)=>{var re=Mt(),F=t(re),ae=a(t(F),2),oe=t(ae,!0);r(ae),r(F);var ge=a(F,2),Y=t(ge);{var me=T=>{var u=ft(),k=t(u),B=t(k,!0);r(k),r(u),S(()=>j(B,e(l))),f(T,u)};P(()=>I(Y,T=>{e(l)&&T(me)}),"if",E,98,2)}var Ce=a(Y,2);{var fe=T=>{var u=xt();f(T,u)},ke=T=>{var u=wt(),k=t(u),B=a(t(k),2);S(()=>{e(s),Re(()=>{e(i)})});var q=t(B);q.value=q.__value="";var se=a(q);P(()=>Xe(se,1,()=>e(i),Ye,(d,g)=>{var W=yt(),w=t(W);r(W);var C={};S(()=>{j(w,`${e(g),U(()=>e(g).name)??""} (${e(g),U(()=>e(g).endpoint?.name||"Unknown endpoint")??""})`),C!==(C=(e(g),U(()=>e(g).name)))&&(W.value=(W.__value=(e(g),U(()=>e(g).name)))??"")}),f(d,W)}),"each",E,123,6),r(B),X(2),r(k);var xe=a(k,2),V=a(t(xe),2);S(()=>{e(s),Re(()=>{})});var de=t(V);de.value=de.__value="roundrobin";var K=a(de);K.value=K.__value="pack",r(V),r(xe);var L=a(xe,2),Z=t(L);H(Z),X(4),r(L);var le=a(L,2),ee=t(le),ne=t(ee);H(ne),X(2),r(ee);var ie=a(ee,2);{var te=d=>{var g=kt(),W=t(g),w=t(W);H(w),X(2),r(W);var C=a(W,2);{var J=D=>{var ce=ht();H(ce),S(()=>ce.required=e(n)&&!e(c)),De(ce,()=>e(s).webhook_secret,Ge=>Se(s,e(s).webhook_secret=Ge)),f(D,ce)},Me=D=>{var ce=_t();f(D,ce)};P(()=>I(C,D=>{e(c)?D(Me,!1):D(J)}),"if",E,198,7)}r(g),ue(w,()=>e(c),D=>o(c,D)),f(d,g)};P(()=>I(ie,d=>{e(n)&&d(te)}),"if",E,185,5)}r(le);var ye=a(le,2),we=t(ye),he=a(we,2),v=t(he,!0);r(he),r(ye),r(u),S(d=>{he.disabled=d,j(v,e(h)?"Updating...":"Update Enterprise")},[()=>(e(h),e(n),e(c),e(s),U(()=>e(h)||e(n)&&!e(c)&&!e(s).webhook_secret?.trim()))]),We(B,()=>e(s).credentials_name,d=>Se(s,e(s).credentials_name=d)),We(V,()=>e(s).pool_balancer_type,d=>Se(s,e(s).pool_balancer_type=d)),ue(Z,()=>e(M),d=>o(M,d)),ue(ne,()=>e(n),d=>o(n,d)),$e("click",we,()=>_("close")),$e("submit",u,Ne(pe)),f(T,u)};P(()=>I(Ce,T=>{e(h)?T(fe):T(ke,!1)}),"if",E,104,2)}r(ge),r(re),S(()=>j(oe,(Q($()),U(()=>$().name)))),f(z,re)}),$$slots:{default:!0}}),"component",E,89,0,{componentTag:"Modal"}),qe({...Oe()})}export{Ee as J,N as U,A as a,E as b}; diff --git a/webapp/assets/_app/immutable/chunks/BVM1034P.js b/webapp/assets/_app/immutable/chunks/BVM1034P.js deleted file mode 100644 index fb29851f..00000000 --- a/webapp/assets/_app/immutable/chunks/BVM1034P.js +++ /dev/null @@ -1 +0,0 @@ -import{ag as m,ah as h,u,D as _,P as t,K as f,ai as i}from"./DzFKsO_V.js";import{j as b}from"./CxOx-TIJ.js";function E(e,a,c=a){var v=m(),d=new WeakSet;b(e,"input",r=>{e.type==="checkbox"&&h();var l=r?e.defaultValue:e.value;if(l=o(e)?n(l):l,c(l),f!==null&&d.add(f),v&&l!==(l=a())){var k=e.selectionStart,s=e.selectionEnd;e.value=l??"",s!==null&&(e.selectionStart=k,e.selectionEnd=Math.min(s,e.value.length))}}),(t&&e.defaultValue!==e.value||u(a)==null&&e.value)&&(c(o(e)?n(e.value):e.value),f!==null&&d.add(f)),_(()=>{e.type==="checkbox"&&h();var r=a();if(e===document.activeElement){var l=i??f;if(d.has(l))return}o(e)&&r===n(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function S(e,a,c=a){b(e,"change",v=>{var d=v?e.defaultChecked:e.checked;c(d)}),(t&&e.defaultChecked!==e.checked||u(a)==null)&&c(e.checked),_(()=>{var v=a();e.checked=!!v})}function o(e){var a=e.type;return a==="number"||a==="range"}function n(e){return e===""?null:+e}export{S as a,E as b}; diff --git a/webapp/assets/_app/immutable/chunks/BZykqlEc.js b/webapp/assets/_app/immutable/chunks/BZykqlEc.js deleted file mode 100644 index 0d7e54b5..00000000 --- a/webapp/assets/_app/immutable/chunks/BZykqlEc.js +++ /dev/null @@ -1 +0,0 @@ -import{al as m,af as d,am as b,F as l,an as g,ao as E,ap as A,P as v,a2 as F,I as T,aq as p,H as x,O as P,K as R,J as S,a8 as w,R as y}from"./DzFKsO_V.js";import{k as C}from"./CxOx-TIJ.js";function O(n){const t=m?.function,i=m?.p?.function;return{mutation:(o,a,e,r,f)=>{const s=a[0];if(h(n,s)||!i)return e;let c=n;for(let _=0;_{!h(n,o)&&i&&e()?.[d]&&b(t[l],o,a[l],i[l])}}}function h(n,t){const i=d in n||A in n;return!!E(n,t)?.set||i&&t in n||!(t in n)}function $(n,t,i){v&&F();var o=n,a,e,r=null,f=null;function s(){e&&(y(e),e=null),r&&(r.lastChild.remove(),o.before(r),r=null),e=f,f=null}T(()=>{if(a!==(a=t())){var c=S();if(a){var u=o;c&&(r=document.createDocumentFragment(),r.append(u=x())),f=P(()=>i(u,a))}c?R.add_callback(s):s()}},p),v&&(o=w)}export{$ as a,O as c}; diff --git a/webapp/assets/_app/immutable/chunks/B_jyf0qs.js b/webapp/assets/_app/immutable/chunks/B_jyf0qs.js deleted file mode 100644 index 946289c9..00000000 --- a/webapp/assets/_app/immutable/chunks/B_jyf0qs.js +++ /dev/null @@ -1 +0,0 @@ -import{I as M,aq as Y,P as R,a4 as j,a5 as F,a6 as q,L as H,a7 as x,H as $,O as y,K as G,aA as J,J as Q,Q as Z,R as z,a2 as V,a8 as W,aB as X,aC as k,aD as ee,aE as D,m as re,aF as ne,j as U,C as se,g as P,aG as ae,ao as T,aH as ie,aI as B,av as te,e as ue,aJ as fe,a3 as A,aK as le,N as oe,aL as ce,u as _e,aM as de,aN as pe,aO as ve,aP as N,aQ as L,aR as be,aS as he,af as C,ap as K,aT as S}from"./DzFKsO_V.js";function Ee(e,r,s=!1){R&&V();var n=e,a=null,i=null,l=J,_=s?Y:0,p=!1;const m=(c,u=!0)=>{p=!0,d(u,c)};var f=null;function g(){f!==null&&(f.lastChild.remove(),n.before(f),f=null);var c=l?a:i,u=l?i:a;c&&Z(c),u&&z(u,()=>{l?i=null:a=null})}const d=(c,u)=>{if(l===(l=c))return;let I=!1;if(R){const E=j(n)===F;!!l===E&&(n=q(),H(n),x(!1),I=!0)}var b=Q(),o=n;if(b&&(f=document.createDocumentFragment(),f.append(o=$())),l?a??=u&&y(()=>u(o)):i??=u&&y(()=>u(o)),b){var h=G,t=l?a:i,v=l?i:a;t&&h.skipped_effects.delete(t),v&&h.skipped_effects.add(v),h.add_callback(g)}else g();I&&x(!0)};M(()=>{p=!1,r(m),p||d(null,null)},_),R&&(n=W)}function Oe(e,r){e!=null&&typeof e.subscribe!="function"&&X(r)}function Re(e){return e.toString=()=>(k(),""),e}let O=!1,w=Symbol();function Te(e,r,s){const n=s[r]??={store:null,source:re(void 0),unsubscribe:D};if(n.source.label=r,n.store!==e&&!(w in s))if(n.unsubscribe(),n.store=e??null,e==null)n.source.v=void 0,n.unsubscribe=D;else{var a=!0;n.unsubscribe=ne(e,i=>{a?n.source.v=i:U(n.source,i)}),a=!1}return e&&w in s?se(e):P(n.source)}function we(){const e={};function r(){ee(()=>{for(var s in e)e[s].unsubscribe();ae(e,w,{enumerable:!1,value:!0})})}return[e,r]}function Se(e){var r=O;try{return O=!1,[e(),O]}finally{O=r}}const Pe={get(e,r){if(!e.exclude.includes(r))return P(e.version),r in e.special?e.special[r]():e.props[r]},set(e,r,s){if(!(r in e.special)){var n=A;try{L(e.parent_effect),e.special[r]=ge({get[r](){return e.props[r]}},r,B)}finally{L(n)}}return e.special[r](s),N(e.version),!0},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},deleteProperty(e,r){return e.exclude.includes(r)||(e.exclude.push(r),N(e.version)),!0},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function Ae(e,r){return new Proxy({props:e,exclude:r,special:{},version:oe(0),parent_effect:A},Pe)}const me={get(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(S(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n)return n[r]}},set(e,r,s){let n=e.props.length;for(;n--;){let a=e.props[n];S(a)&&(a=a());const i=T(a,r);if(i&&i.set)return i.set(s),!0}return!1},getOwnPropertyDescriptor(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(S(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n){const a=T(n,r);return a&&!a.configurable&&(a.configurable=!0),a}}},has(e,r){if(r===C||r===K)return!1;for(let s of e.props)if(S(s)&&(s=s()),s!=null&&r in s)return!0;return!1},ownKeys(e){const r=[];for(let s of e.props)if(S(s)&&(s=s()),!!s){for(const n in s)r.includes(n)||r.push(n);for(const n of Object.getOwnPropertySymbols(s))r.includes(n)||r.push(n)}return r}};function xe(...e){return new Proxy({props:e},me)}function ge(e,r,s,n){var a=!de||(s&pe)!==0,i=(s&ce)!==0,l=(s&be)!==0,_=n,p=!0,m=()=>(p&&(p=!1,_=l?_e(n):n),_),f;if(i){var g=C in e||K in e;f=T(e,r)?.set??(g&&r in e?t=>e[r]=t:void 0)}var d,c=!1;i?[d,c]=Se(()=>e[r]):d=e[r],d===void 0&&n!==void 0&&(d=m(),f&&(a&&ie(r),f(d)));var u;if(a?u=()=>{var t=e[r];return t===void 0?m():(p=!0,t)}:u=()=>{var t=e[r];return t!==void 0&&(_=void 0),t===void 0?_:t},a&&(s&B)===0)return u;if(f){var I=e.$$legacy;return function(t,v){return arguments.length>0?((!a||!v||I||c)&&f(v?u():t),t):u()}}var b=!1,o=((s&ve)!==0?te:ue)(()=>(b=!1,u()));o.label=r,i&&P(o);var h=A;return function(t,v){if(arguments.length>0){const E=v?P(o):a&&i?fe(t):t;return U(o,E),b=!0,_!==void 0&&(_=E),t}return he&&b||(h.f&le)!==0?o.v:P(o)}}export{Te as a,Re as b,xe as c,Ee as i,Ae as l,ge as p,we as s,Oe as v}; diff --git a/webapp/assets/_app/immutable/chunks/li_-Mkq2.js b/webapp/assets/_app/immutable/chunks/Bbk4dQfI.js similarity index 90% rename from webapp/assets/_app/immutable/chunks/li_-Mkq2.js rename to webapp/assets/_app/immutable/chunks/Bbk4dQfI.js index f37896c6..6be9c35c 100644 --- a/webapp/assets/_app/immutable/chunks/li_-Mkq2.js +++ b/webapp/assets/_app/immutable/chunks/Bbk4dQfI.js @@ -1 +1 @@ -import{z as u}from"./DzFKsO_V.js";function c(){const{subscribe:s,set:i,update:o}=u([]),n={subscribe:s,add:e=>{const t=Math.random().toString(36).substr(2,9),r={...e,id:t,duration:e.duration??5e3};return o(a=>[...a,r]),r.duration&&r.duration>0&&setTimeout(()=>{o(a=>a.filter(d=>d.id!==t))},r.duration),t},remove:e=>{o(t=>t.filter(r=>r.id!==e))},clear:()=>{i([])},success:(e,t="",r)=>n.add({type:"success",title:e,message:t,duration:r}),error:(e,t="",r)=>n.add({type:"error",title:e,message:t,duration:r}),info:(e,t="",r)=>n.add({type:"info",title:e,message:t,duration:r}),warning:(e,t="",r)=>n.add({type:"warning",title:e,message:t,duration:r})};return n}const p=c();export{p as t}; +import{w as u}from"./DUMcBckj.js";function c(){const{subscribe:s,set:i,update:o}=u([]),n={subscribe:s,add:e=>{const t=Math.random().toString(36).substr(2,9),r={...e,id:t,duration:e.duration??5e3};return o(a=>[...a,r]),r.duration&&r.duration>0&&setTimeout(()=>{o(a=>a.filter(d=>d.id!==t))},r.duration),t},remove:e=>{o(t=>t.filter(r=>r.id!==e))},clear:()=>{i([])},success:(e,t="",r)=>n.add({type:"success",title:e,message:t,duration:r}),error:(e,t="",r)=>n.add({type:"error",title:e,message:t,duration:r}),info:(e,t="",r)=>n.add({type:"info",title:e,message:t,duration:r}),warning:(e,t="",r)=>n.add({type:"warning",title:e,message:t,duration:r})};return n}const p=c();export{p as t}; diff --git a/webapp/assets/_app/immutable/chunks/BcoJ4GZv.js b/webapp/assets/_app/immutable/chunks/BcoJ4GZv.js new file mode 100644 index 00000000..13c6fbfd --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/BcoJ4GZv.js @@ -0,0 +1 @@ +import{aF as G,w as tt,b4 as at}from"./DUMcBckj.js";import{c as nt,H as j,N as H,r as he,i as pe,s as ae,p as R,n as ie,f as Ce,g as ce,a as z,b as oe,S as Ne,P as rt,d as xe,o as je,e as ot,m as st,h as it,j as q,k as ct,l as De,q as lt,t as ft,u as qe,v as ut}from"./rDPsLaF8.js";import{p as dt,e as ht,b as L}from"./CnZ9nHem.js";class _e{constructor(t,a){this.status=t,typeof a=="string"?this.body={message:a}:a?this.body=a:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class ge{constructor(t,a){this.status=t,this.location=a}}class me extends Error{constructor(t,a,n){super(n),this.status=t,this.text=a}}function pt({nodes:e,server_loads:t,dictionary:a,matchers:n}){const r=new Set(t);return Object.entries(a).map(([i,[c,f,_]])=>{const{pattern:g,params:u}=dt(i),l={id:i,exec:h=>{const v=g.exec(h);if(v)return ht(v,u,n)},errors:[1,..._||[]].map(h=>e[h]),layouts:[0,...f||[]].map(s),leaf:o(c)};return l.errors.length=l.layouts.length=Math.max(l.errors.length,l.layouts.length),l});function o(i){const c=i<0;return c&&(i=~i),[c,e[i]]}function s(i){return i===void 0?i:[r.has(i),e[i]]}}function Ke(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Pe(e,t,a=JSON.stringify){const n=a(t);try{sessionStorage[e]=n}catch{}}function _t(e){return e.filter(t=>t!=null)}function ve(e){return e instanceof _e||e instanceof me?e.status:500}function gt(e){return e instanceof me?e.text:"Internal Error"}const Ae={spanContext(){return mt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},mt={traceId:"",spanId:"",traceFlags:0},vt=new Set(["icon","shortcut icon","apple-touch-icon"]),C=Ke(qe)??{},B=Ke(De)??{},I={url:xe({}),page:xe({}),navigating:tt(null),updated:nt()};function we(e){C[e]=ae()}function wt(e,t){let a=e+1;for(;C[a];)delete C[a],a+=1;for(a=t+1;B[a];)delete B[a],a+=1}function M(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function Fe(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}function Ue(){}let ye,le,J,A,fe,w;const X=[],W=[];let x=null;function ue(){x?.fork?.then(e=>e?.discard()),x=null}const $=new Map,He=new Set,yt=new Set,F=new Set;let m={branch:[],error:null,url:null},Be=!1,Q=!1,Te=!0,V=!1,K=!1,Me=!1,be=!1,Ve,y,S,O;const Z=new Set,Ie=new Map;async function Kt(e,t,a){globalThis.__sveltekit_135p731?.data&&globalThis.__sveltekit_135p731.data,document.URL!==location.href&&(location.href=location.href),w=e,await e.hooks.init?.(),ye=pt(e),A=document.documentElement,fe=t,le=e.nodes[0],J=e.nodes[1],le(),J(),y=history.state?.[j],S=history.state?.[H],y||(y=S=Date.now(),history.replaceState({...history.state,[j]:y,[H]:S},""));const n=C[y];function r(){n&&(history.scrollRestoration="manual",scrollTo(n.x,n.y))}a?(r(),await It(fe,a)):(await D({type:"enter",url:he(w.hash?Nt(new URL(location.href)):location.href),replace_state:!0}),r()),Tt()}function bt(){X.length=0,be=!1}function Ye(e){W.some(t=>t?.snapshot)&&(B[e]=W.map(t=>t?.snapshot?.capture()))}function $e(e){B[e]?.forEach((t,a)=>{W[a]?.snapshot?.restore(t)})}function Oe(){we(y),Pe(qe,C),Ye(S),Pe(De,B)}async function Ge(e,t,a,n){let r;t.invalidateAll&&ue(),await D({type:"goto",url:he(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:a,nav_token:n,accept:()=>{t.invalidateAll&&(be=!0,r=[...Ie.keys()]),t.invalidate&&t.invalidate.forEach(Ut)}}),t.invalidateAll&&G().then(G).then(()=>{Ie.forEach(({resource:o},s)=>{r?.includes(s)&&o.refresh?.()})})}async function kt(e){if(e.id!==x?.id){ue();const t={};Z.add(t),x={id:e.id,token:t,promise:Xe({...e,preload:t}).then(a=>(Z.delete(t),a.type==="loaded"&&a.state.error&&ue(),a)),fork:null}}return x.promise}async function se(e){const t=(await ne(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(a=>a?.[1]()))}async function ze(e,t,a){m=e.state;const n=document.querySelector("style[data-sveltekit]");if(n&&n.remove(),Object.assign(R,e.props.page),Ve=new w.root({target:t,props:{...e.props,stores:I,components:W},hydrate:a,sync:!1}),await Promise.resolve(),$e(S),a){const r={from:null,to:{params:m.params,route:{id:m.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};F.forEach(o=>o(r))}Q=!0}function ee({url:e,params:t,branch:a,status:n,error:r,route:o,form:s}){let i="never";if(L&&(e.pathname===L||e.pathname===L+"/"))i="always";else for(const l of a)l?.slash!==void 0&&(i=l.slash);e.pathname=it(e.pathname,i),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:a,error:r,route:o},props:{constructors:_t(a).map(l=>l.node.component),page:Le(R)}};s!==void 0&&(c.props.form=s);let f={},_=!R,g=0;for(let l=0;l(i&&(c.route=!0),u[l])}),params:new Proxy(n,{get:(u,l)=>(i&&c.params.add(l),u[l])}),data:o?.data??null,url:st(a,()=>{i&&(c.url=!0)},u=>{i&&c.search_params.add(u)},w.hash),async fetch(u,l){u instanceof Request&&(l={body:u.method==="GET"||u.method==="HEAD"?void 0:await u.blob(),cache:u.cache,credentials:u.credentials,headers:[...u.headers].length>0?u?.headers:void 0,integrity:u.integrity,keepalive:u.keepalive,method:u.method,mode:u.mode,redirect:u.redirect,referrer:u.referrer,referrerPolicy:u.referrerPolicy,signal:u.signal,...l});const{resolved:h,promise:v}=Je(u,l,a);return i&&_(h.href),v},setHeaders:()=>{},depends:_,parent(){return i&&(c.parent=!0),t()},untrack(u){i=!1;try{return u()}finally{i=!0}}};s=await f.universal.load.call(null,g)??null}return{node:f,loader:e,server:o,universal:f.universal?.load?{type:"data",data:s,uses:c}:null,data:s??o?.data??null,slash:f.universal?.trailingSlash??o?.slash}}function Je(e,t,a){let n=e instanceof Request?e.url:e;const r=new URL(n,a);r.origin===a.origin&&(n=r.href.slice(a.origin.length));const o=Q?lt(n,r.href,t):ft(n,t);return{resolved:r,promise:o}}function Et(e,t,a,n,r,o){if(be)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&a)return!0;for(const s of r.search_params)if(n.has(s))return!0;for(const s of r.params)if(o[s]!==m.params[s])return!0;for(const s of r.dependencies)if(X.some(i=>i(new URL(s))))return!0;return!1}function Ee(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function St(e,t){if(!e)return new Set(t.searchParams.keys());const a=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const n of a){const r=e.searchParams.getAll(n),o=t.searchParams.getAll(n);r.every(s=>o.includes(s))&&o.every(s=>r.includes(s))&&a.delete(n)}return a}function Rt({error:e,url:t,route:a,params:n}){return{type:"loaded",state:{error:e,url:t,route:a,params:n,branch:[]},props:{page:Le(R),constructors:[]}}}async function Xe({id:e,invalidating:t,url:a,params:n,route:r,preload:o}){if(x?.id===e)return Z.delete(x.token),x.promise;const{errors:s,layouts:i,leaf:c}=r,f=[...i,c];s.forEach(p=>p?.().catch(()=>{})),f.forEach(p=>p?.[1]().catch(()=>{}));const _=m.url?e!==te(m.url):!1,g=m.route?r.id!==m.route.id:!1,u=St(m.url,a);let l=!1;const h=f.map(async(p,d)=>{if(!p)return;const k=m.branch[d];return p[1]===k?.loader&&!Et(l,g,_,u,k.universal?.uses,n)?k:(l=!0,ke({loader:p[1],url:a,params:n,route:r,parent:async()=>{const U={};for(let P=0;P{});const v=[];for(let p=0;pPromise.resolve({}),server_data_node:Ee(o)}),i={node:await J(),loader:J,universal:null,server:null,data:null};return ee({url:a,params:r,branch:[s,i],status:e,error:t,route:null})}catch(s){if(s instanceof ge)return Ge(new URL(s.location,location.href),{},0);throw s}}async function xt(e){const t=e.href;if($.has(t))return $.get(t);let a;try{const n=(async()=>{let r=await w.hooks.reroute({url:new URL(e),fetch:async(o,s)=>Je(o,s,e).promise})??e;if(typeof r=="string"){const o=new URL(e);w.hash?o.hash=r:o.pathname=r,r=o}return r})();$.set(t,n),a=await n}catch{$.delete(t);return}return a}async function ne(e,t){if(e&&!pe(e,L,w.hash)){const a=await xt(e);if(!a)return;const n=Pt(a);for(const r of ye){const o=r.exec(n);if(o)return{id:te(e),invalidating:t,route:r,params:ot(o),url:e}}}}function Pt(e){return ct(w.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function te(e){return(w.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function We({url:e,type:t,intent:a,delta:n,event:r}){let o=!1;const s=Re(m,a,e,t);n!==void 0&&(s.navigation.delta=n),r!==void 0&&(s.navigation.event=r);const i={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return V||He.forEach(c=>c(i)),o?null:s}async function D({type:e,url:t,popped:a,keepfocus:n,noscroll:r,replace_state:o,state:s={},redirect_count:i=0,nav_token:c={},accept:f=Ue,block:_=Ue,event:g}){const u=O;O=c;const l=await ne(t,!1),h=e==="enter"?Re(m,l,t,e):We({url:t,type:e,delta:a?.delta,intent:l,event:g});if(!h){_(),O===c&&(O=u);return}const v=y,p=S;f(),V=!0,Q&&h.navigation.type!=="enter"&&I.navigating.set(ie.current=h.navigation);let d=l&&await Xe(l);if(!d){if(pe(t,L,w.hash))return await M(t,o);d=await Qe(t,{id:null},await Y(new me(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=l?.url||t,O!==c)return h.reject(new Error("navigation aborted")),!1;if(d.type==="redirect"){if(i<20){await D({type:e,url:new URL(d.location,t),popped:a,keepfocus:n,noscroll:r,replace_state:o,state:s,redirect_count:i+1,nav_token:c}),h.fulfil(void 0);return}d=await Se({status:500,error:await Y(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else d.props.page.status>=400&&await I.updated.check()&&(await Fe(),await M(t,o));if(bt(),we(v),Ye(p),d.props.page.url.pathname!==t.pathname&&(t.pathname=d.props.page.url.pathname),s=a?a.state:s,!a){const b=o?0:1,N={[j]:y+=b,[H]:S+=b,[Ne]:s};(o?history.replaceState:history.pushState).call(history,N,"",t),o||wt(y,S)}const k=l&&x?.id===l.id?x.fork:null;x=null,d.props.page.state=s;let E;if(Q){const b=(await Promise.all(Array.from(yt,T=>T(h.navigation)))).filter(T=>typeof T=="function");if(b.length>0){let T=function(){b.forEach(re=>{F.delete(re)})};b.push(T),b.forEach(re=>{F.add(re)})}m=d.state,d.props.page&&(d.props.page.url=t);const N=k&&await k;N?E=N.commit():(Ve.$set(d.props),ut(d.props.page),E=at?.()),Me=!0}else await ze(d,fe,!1);const{activeElement:U}=document;await E,await G(),await G();let P=a?a.scroll:r?ae():null;if(Te){const b=t.hash&&document.getElementById(Ze(t));if(P)scrollTo(P.x,P.y);else if(b){b.scrollIntoView();const{top:N,left:T}=b.getBoundingClientRect();P={x:pageXOffset+T,y:pageYOffset+N}}else scrollTo(0,0)}const et=document.activeElement!==U&&document.activeElement!==document.body;!n&&!et&&Ct(t,P),Te=!0,d.props.page&&Object.assign(R,d.props.page),V=!1,e==="popstate"&&$e(S),h.fulfil(void 0),F.forEach(b=>b(h.navigation)),I.navigating.set(ie.current=null)}async function Qe(e,t,a,n,r){return e.origin===je&&e.pathname===location.pathname&&!Be?await Se({status:n,error:a,url:e,route:t}):await M(e,r)}function At(){let e,t={element:void 0,href:void 0},a;A.addEventListener("mousemove",i=>{const c=i.target;clearTimeout(e),e=setTimeout(()=>{o(c,q.hover)},20)});function n(i){i.defaultPrevented||o(i.composedPath()[0],q.tap)}A.addEventListener("mousedown",n),A.addEventListener("touchstart",n,{passive:!0});const r=new IntersectionObserver(i=>{for(const c of i)c.isIntersecting&&(se(new URL(c.target.href)),r.unobserve(c.target))},{threshold:0});async function o(i,c){const f=Ce(i,A),_=f===t.element&&f?.href===t.href&&c>=a;if(!f||_)return;const{url:g,external:u,download:l}=ce(f,L,w.hash);if(u||l)return;const h=z(f),v=g&&te(m.url)===te(g);if(!(h.reload||v))if(c<=h.preload_data){t={element:f,href:f.href},a=q.tap;const p=await ne(g,!1);if(!p)return;kt(p)}else c<=h.preload_code&&(t={element:f,href:f.href},a=c,se(g))}function s(){r.disconnect();for(const i of A.querySelectorAll("a")){const{url:c,external:f,download:_}=ce(i,L,w.hash);if(f||_)continue;const g=z(i);g.reload||(g.preload_code===q.viewport&&r.observe(i),g.preload_code===q.eager&&se(c))}}F.add(s),s()}function Y(e,t){if(e instanceof _e)return e.body;const a=ve(e),n=gt(e);return w.hooks.handleError({error:e,event:t,status:a,message:n})??{message:n}}function Ft(e,t={}){return e=new URL(he(e)),e.origin!==je?Promise.reject(new Error("goto: invalid URL")):Ge(e,t,0)}function Ut(e){if(typeof e=="function")X.push(e);else{const{href:t}=new URL(e,location.href);X.push(a=>a.href===t)}}function Tt(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let a=!1;if(Oe(),!V){const n=Re(m,void 0,null,"leave"),r={...n.navigation,cancel:()=>{a=!0,n.reject(new Error("navigation cancelled"))}};He.forEach(o=>o(r))}a?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Oe()}),navigator.connection?.saveData||At(),A.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const a=Ce(t.composedPath()[0],A);if(!a)return;const{url:n,external:r,target:o,download:s}=ce(a,L,w.hash);if(!n)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const i=z(a);if(!(a instanceof SVGAElement)&&n.protocol!==location.protocol&&!(n.protocol==="https:"||n.protocol==="http:")||s)return;const[f,_]=(w.hash?n.hash.replace(/^#/,""):n.href).split("#"),g=f===oe(location);if(r||i.reload&&(!g||!_)){We({url:n,type:"link",event:t})?V=!0:t.preventDefault();return}if(_!==void 0&&g){const[,u]=m.url.href.split("#");if(u===_){if(t.preventDefault(),_===""||_==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const l=a.ownerDocument.getElementById(decodeURIComponent(_));l&&(l.scrollIntoView(),l.focus())}return}if(K=!0,we(y),e(n),!i.replace_state)return;K=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await D({type:"link",url:n,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??n.href===location.href,event:t})}),A.addEventListener("submit",t=>{if(t.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(t.target),n=t.submitter;if((n?.formTarget||a.target)==="_blank"||(n?.formMethod||a.method)!=="get")return;const s=new URL(n?.hasAttribute("formaction")&&n?.formAction||a.action);if(pe(s,L,!1))return;const i=t.target,c=z(i);if(c.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(i,n);s.search=new URLSearchParams(f).toString(),D({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!de){if(t.state?.[j]){const a=t.state[j];if(O={},a===y)return;const n=C[a],r=t.state[Ne]??{},o=new URL(t.state[rt]??location.href),s=t.state[H],i=m.url?oe(location)===oe(m.url):!1;if(s===S&&(Me||i)){r!==R.state&&(R.state=r),e(o),C[y]=ae(),n&&scrollTo(n.x,n.y),y=a;return}const f=a-y;await D({type:"popstate",url:o,popped:{state:r,scroll:n,delta:f},accept:()=>{y=a,S=s},block:()=>{history.go(-f)},nav_token:O,event:t})}else if(!K){const a=new URL(location.href);e(a),w.hash&&location.reload()}}}),addEventListener("hashchange",()=>{K&&(K=!1,history.replaceState({...history.state,[j]:++y,[H]:S},"",location.href))});for(const t of document.querySelectorAll("link"))vt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&I.navigating.set(ie.current=null)});function e(t){m.url=R.url=t,I.page.set(Le(R)),I.page.notify()}}async function It(e,{status:t=200,error:a,node_ids:n,params:r,route:o,server_route:s,data:i,form:c}){Be=!0;const f=new URL(location.href);let _;({params:r={},route:o={id:null}}=await ne(f,!1)||{}),_=ye.find(({id:l})=>l===o.id);let g,u=!0;try{const l=n.map(async(v,p)=>{const d=i[p];return d?.uses&&(d.uses=Ot(d.uses)),ke({loader:w.nodes[v],url:f,params:r,route:o,parent:async()=>{const k={};for(let E=0;E{const i=history.state;de=!0,location.replace(`#${n}`),w.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(o,s),de=!1})}else{const o=document.body,s=o.getAttribute("tabindex");o.tabIndex=-1,o.focus({preventScroll:!0,focusVisible:!1}),s!==null?o.setAttribute("tabindex",s):o.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const o=[];for(let s=0;s{if(r.rangeCount===o.length){for(let s=0;s{r=c,o=f});return s.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:a&&{params:t?.params??null,route:{id:t?.route?.id??null},url:a},willUnload:!t,type:n,complete:s},fulfil:r,reject:o}}function Le(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Nt(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Ze(e){let t;if(w.hash){const[,,a]=e.hash.split("#",3);t=a??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Kt as a,Ft as g,I as s}; diff --git a/webapp/assets/_app/immutable/chunks/Bi2FJHrT.js b/webapp/assets/_app/immutable/chunks/Bi2FJHrT.js new file mode 100644 index 00000000..e4266d93 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/Bi2FJHrT.js @@ -0,0 +1 @@ +import{f as k,a as p,s as u}from"./o8CdT7B0.js";import{i as c}from"./ChJfoPF0.js";import{p as f,l as m,h as g,b as w,t as _,a as v,d as h,m as z,c as B,r as j,g as V}from"./DUMcBckj.js";import{s as q,k as A}from"./_9uqtkkk.js";import{p as a}from"./i7pKks78.js";var C=k(" ");function I(d,e){f(e,!1);const l=z();let t=a(e,"variant",8,"gray"),n=a(e,"size",8,"sm"),i=a(e,"text",8),s=a(e,"ring",8,!1);const o={success:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",error:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200",warning:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",info:"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200",gray:"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",blue:"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200",green:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",red:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200",yellow:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",secondary:"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",purple:"bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200"},b={success:"ring-green-600/20 dark:ring-green-400/30",error:"ring-red-600/20 dark:ring-red-400/30",warning:"ring-yellow-600/20 dark:ring-yellow-400/30",info:"ring-blue-600/20 dark:ring-blue-400/30",gray:"ring-gray-500/20 dark:ring-gray-400/30",blue:"ring-blue-600/20 dark:ring-blue-400/30",green:"ring-green-600/20 dark:ring-green-400/30",red:"ring-red-600/20 dark:ring-red-400/30",yellow:"ring-yellow-600/20 dark:ring-yellow-400/30",secondary:"ring-gray-500/20 dark:ring-gray-400/30",purple:"ring-purple-600/20 dark:ring-purple-400/30"},x={sm:"px-2 py-1 text-xs",md:"px-2.5 py-0.5 text-xs"};m(()=>(g(t()),g(n()),g(s())),()=>{h(l,["inline-flex items-center rounded-full font-semibold",o[t()],x[n()],s()?`ring-1 ring-inset ${b[t()]}`:""].filter(Boolean).join(" "))}),w(),c();var r=C(),y=B(r,!0);j(r),_(()=>{q(r,1,A(V(l))),u(y,i())}),p(d,r),v()}export{I as B}; diff --git a/webapp/assets/_app/immutable/chunks/Bje4SFZN.js b/webapp/assets/_app/immutable/chunks/Bje4SFZN.js new file mode 100644 index 00000000..240dacba --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/Bje4SFZN.js @@ -0,0 +1,2 @@ +import{f as x,s as E,e as V,a as f,c as ae,t as Pr}from"./o8CdT7B0.js";import{i as ct}from"./ChJfoPF0.js";import{p as bt,v as vt,m as p,o as mt,d as s,q as yt,l as we,g as e,b as _t,f as W,c as d,r as o,s as n,t as _,k as tr,u as g,n as ar,h as j,a as xt,i as ht}from"./DUMcBckj.js";import{p as kt,i as v,s as wt,a as Et}from"./i7pKks78.js";import{e as Ir,i as Jr}from"./DC7Aeygn.js";import{r as T,s as ir,b as or,d as Nr,g as Ee,c as Cr}from"./_9uqtkkk.js";import{b as A,a as Br}from"./BtzOUN4g.js";import{p as Tt}from"./CdEA5IGF.js";import{M as $t}from"./CYPHW1bs.js";import{J as St,U as Rt,a as Mt,b as Ot}from"./D9ztHNzD.js";import{e as Lr}from"./BZiHL9L3.js";import{e as Ut}from"./zgwRPQVC.js";import{w as nr}from"./DTRhxHIE.js";var zt=x('

'),jt=x('

'),At=x('
Loading templates...
'),Pt=x(""),It=x('

',1),Jt=x('

Create a template first or proceed without a template to use default behavior.

'),Nt=x(' '),Ct=x('
'),Bt=x('
'),Lt=x('
Updating...
'),Dt=x('

Pool Information (Read-only)

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Tags
Extra Specs (JSON)
'),Gt=x(" ",1);function aa(Dr,dr){bt(dr,!1);const[Gr,qr]=wt(),c=()=>Et(Ut,"$eagerCache",Gr),M=p();let r=kt(dr,"pool",8);const Te=vt();let ie=p(!1),X=p(""),O=p(""),$=p([]),$e=p(!1),F=p(!1),H=null,oe=p(r().image||""),ne=p(r().flavor||""),P=p(r().max_runners),I=p(r().min_idle_runners),de=p(r().runner_bootstrap_timeout),se=p(r().priority),le=p(r().runner_prefix||""),S=p(r().os_type||"linux"),Y=p(r().os_arch||"amd64"),ue=p(r()["github-runner-group"]||""),pe=p(r().enabled),Z=p(r().enable_shell??!1),R=p((r().tags||[]).map(t=>t.name||"").filter(Boolean)),K=p(""),J=p("{}"),U=p(r().template_id);function Wr(t){if(t.repo_id){const a=c().repositories.find(l=>l.id===t.repo_id);return a?`${a.owner}/${a.name}`:"Unknown Entity"}if(t.org_id){const a=c().organizations.find(l=>l.id===t.org_id);return a&&a.name?a.name:"Unknown Entity"}if(t.enterprise_id){const a=c().enterprises.find(l=>l.id===t.enterprise_id);return a&&a.name?a.name:"Unknown Entity"}return"Unknown Entity"}function sr(t){return t.repo_id?"Repository":t.org_id?"Organization":t.enterprise_id?"Enterprise":"Unknown"}function Se(){if(r().endpoint?.endpoint_type)return r().endpoint.endpoint_type;if(r().repo_id){const t=c().repositories.find(a=>a.id===r().repo_id);if(t?.endpoint?.endpoint_type)return t.endpoint.endpoint_type}if(r().org_id){const t=c().organizations.find(a=>a.id===r().org_id);if(t?.endpoint?.endpoint_type)return t.endpoint.endpoint_type}if(r().enterprise_id){const t=c().enterprises.find(a=>a.id===r().enterprise_id);if(t?.endpoint?.endpoint_type)return t.endpoint.endpoint_type}return null}function Fr(){return r().repo_id?c().repositories.find(a=>a.id===r().repo_id)?.agent_mode??!1:r().org_id?c().organizations.find(a=>a.id===r().org_id)?.agent_mode??!1:r().enterprise_id?c().enterprises.find(a=>a.id===r().enterprise_id)?.agent_mode??!1:!1}function Re(t){if(t.operation!=="update")return;const a=t.payload;if(r().repo_id&&a.id===r().repo_id){const l=c().repositories.find(h=>h.id===r().repo_id);l&&(Object.assign(l,a),"agent_mode"in a&&s(M,a.agent_mode??!1))}else if(r().org_id&&a.id===r().org_id){const l=c().organizations.find(h=>h.id===r().org_id);l&&(Object.assign(l,a),"agent_mode"in a&&s(M,a.agent_mode??!1))}else if(r().enterprise_id&&a.id===r().enterprise_id){const l=c().enterprises.find(h=>h.id===r().enterprise_id);l&&(Object.assign(l,a),"agent_mode"in a&&s(M,a.agent_mode??!1))}}async function Me(t){try{if(r().repo_id){await Ee.updateRepository(r().repo_id,t);const a=c().repositories.find(l=>l.id===r().repo_id);a&&Object.assign(a,t)}else if(r().org_id){await Ee.updateOrganization(r().org_id,t);const a=c().organizations.find(l=>l.id===r().org_id);a&&Object.assign(a,t)}else if(r().enterprise_id){await Ee.updateEnterprise(r().enterprise_id,t);const a=c().enterprises.find(l=>l.id===r().enterprise_id);a&&Object.assign(a,t)}s(F,!1)}catch(a){throw a}}function Hr(){return r().repo_id?c().repositories.find(t=>t.id===r().repo_id)||null:r().org_id?c().organizations.find(t=>t.id===r().org_id)||null:r().enterprise_id&&c().enterprises.find(t=>t.id===r().enterprise_id)||null}async function lr(){try{s($e,!0);const t=Se();if(!t){s($,[]);return}if(s($,await Ee.listTemplates(e(S),void 0,t)),!e(U)||!e($).find(a=>a.id===e(U))){const a=e($).find(l=>l.owner_id==="system");a?s(U,a.id):e($).length>0&&s(U,e($)[0].id)}}catch(t){s(X,Lr(t))}finally{s($e,!1)}}mt(()=>{if(r().extra_specs)try{if(typeof r().extra_specs=="object")s(J,JSON.stringify(r().extra_specs,null,2));else{const t=JSON.parse(r().extra_specs);s(J,JSON.stringify(t,null,2))}}catch{s(J,r().extra_specs||"{}")}lr(),r().repo_id?H=nr.subscribeToEntity("repository",["update"],Re):r().org_id?H=nr.subscribeToEntity("organization",["update"],Re):r().enterprise_id&&(H=nr.subscribeToEntity("enterprise",["update"],Re))}),yt(()=>{H&&(H(),H=null)});function ur(){e(K).trim()&&!e(R).includes(e(K).trim())&&(s(R,[...e(R),e(K).trim()]),s(K,""))}function Kr(t){s(R,e(R).filter((a,l)=>l!==t))}function Qr(t){t.key==="Enter"&&(t.preventDefault(),ur())}async function Vr(){try{if(s(ie,!0),s(X,""),e(O))throw new Error(e(O));let t={};if(e(J).trim())try{t=JSON.parse(e(J))}catch{throw new Error("Invalid JSON in extra specs")}const a={image:e(oe)!==r().image?e(oe):void 0,flavor:e(ne)!==r().flavor?e(ne):void 0,max_runners:e(P)!==r().max_runners?e(P):void 0,min_idle_runners:e(I)!==r().min_idle_runners?e(I):void 0,runner_bootstrap_timeout:e(de)!==r().runner_bootstrap_timeout?e(de):void 0,priority:e(se)!==r().priority?e(se):void 0,runner_prefix:e(le)!==r().runner_prefix?e(le):void 0,os_type:e(S)!==r().os_type?e(S):void 0,os_arch:e(Y)!==r().os_arch?e(Y):void 0,"github-runner-group":e(ue)!==r()["github-runner-group"]&&e(ue)||void 0,enabled:e(pe)!==r().enabled?e(pe):void 0,enable_shell:e(Z)!==r().enable_shell?e(Z):void 0,tags:JSON.stringify(e(R))!==JSON.stringify((r().tags||[]).map(l=>l.name||"").filter(Boolean))?e(R):void 0,extra_specs:e(J).trim()!==JSON.stringify(r().extra_specs||{},null,2).trim()?t:void 0,template_id:e(U)!==r().template_id?e(U):void 0};Object.keys(a).forEach(l=>{a[l]===void 0&&delete a[l]}),Te("submit",a)}catch(t){s(X,Lr(t))}finally{s(ie,!1)}}we(()=>{},()=>{s(M,Fr())}),we(()=>e(M),()=>{e(M)||s(Z,!1)}),we(()=>e(S),()=>{e(S)&&lr()}),we(()=>(e(I),e(P)),()=>{e(I)!==null&&e(I)!==void 0&&e(P)!==null&&e(P)!==void 0&&e(I)>e(P)?s(O,"Min idle runners cannot be greater than max runners"):s(O,"")}),_t(),ct();var pr=Gt(),gr=W(pr);$t(gr,{$$events:{close:()=>Te("close")},children:(t,a)=>{var l=Dt(),h=d(l),ge=d(h),ee=d(ge);o(ge),o(h);var Q=n(h,2),fe=d(Q);{var Oe=i=>{var u=zt(),m=d(u),k=d(m,!0);o(m),o(u),_(()=>E(k,e(X))),f(i,u)};v(fe,i=>{e(X)&&i(Oe)})}var ce=n(fe,2);{var N=i=>{var u=jt(),m=d(u),k=d(m,!0);o(m),o(u),_(()=>E(k,e(O))),f(i,u)};v(ce,i=>{e(O)&&i(N)})}var C=n(ce,2),be=n(d(C),2),re=d(be),ve=n(d(re),2),B=d(ve,!0);o(ve),o(re);var L=n(re,2),me=n(d(L),2),Ue=d(me);o(me),o(L),o(be),o(C);var D=n(C,2),ye=n(d(D),2),ze=d(ye),fr=n(d(ze),2);T(fr),o(ze);var je=n(ze,2),cr=n(d(je),2);T(cr),o(je);var Ae=n(je,2),Pe=n(d(Ae),2);_(()=>{e(S),tr(()=>{})});var Ie=d(Pe);Ie.value=Ie.__value="linux";var br=n(Ie);br.value=br.__value="windows",o(Pe),o(Ae);var Je=n(Ae,2),Ne=n(d(Je),2);_(()=>{e(Y),tr(()=>{})});var Ce=d(Ne);Ce.value=Ce.__value="amd64";var vr=n(Ce);vr.value=vr.__value="arm64",o(Ne),o(Je);var mr=n(Je,2),Zr=n(d(mr),2);{var et=i=>{var u=At();f(i,u)},rt=i=>{var u=ae(),m=W(u);{var k=y=>{var z=It(),w=W(z);_(()=>{e(U),tr(()=>{e($)})}),Ir(w,5,()=>e($),Jr,(G,b)=>{var q=Pt(),zr=d(q),gt=n(zr);{var ft=rr=>{var Ar=Pr();_(()=>E(Ar,`- ${e(b),g(()=>e(b).description)??""}`)),f(rr,Ar)};v(gt,rr=>{e(b),g(()=>e(b).description)&&rr(ft)})}o(q);var jr={};_(()=>{E(zr,`${e(b),g(()=>e(b).name)??""} ${e(b),g(()=>e(b).owner_id==="system"?"(System)":"")??""} `),jr!==(jr=(e(b),g(()=>e(b).id)))&&(q.value=(q.__value=(e(b),g(()=>e(b).id)))??"")}),f(G,q)}),o(w);var he=n(w,2),ke=d(he);o(he),_(G=>E(ke,`Templates define how the runner software is installed and configured. + Showing templates for ${G??""} ${e(S)??""}.`),[()=>g(Se)]),or(w,()=>e(U),G=>s(U,G)),f(y,z)},te=y=>{var z=Jt(),w=d(z),he=d(w);o(w);var ke=n(w,2),G=d(ke);ar(),o(ke),o(z),_((b,q)=>{E(he,`No templates found for ${b??""} ${e(S)??""}.`),Nr(G,"href",q)},[()=>g(Se),()=>(j(Cr),g(()=>Cr("/templates")))]),f(y,z)};v(m,y=>{e($),g(()=>e($).length>0)?y(k):y(te,!1)},!0)}f(i,u)};v(Zr,i=>{e($e)?i(et):i(rt,!1)})}o(mr),o(ye),o(D);var Be=n(D,2),yr=n(d(Be),2),Le=d(yr),De=n(d(Le),2);T(De),o(Le);var Ge=n(Le,2),qe=n(d(Ge),2);T(qe),o(Ge);var _r=n(Ge,2),xr=n(d(_r),2);T(xr),o(_r),o(yr),o(Be);var We=n(Be,2),Fe=n(d(We),2),He=d(Fe),hr=n(d(He),2);T(hr),o(He);var Ke=n(He,2),kr=n(d(Ke),2);T(kr),o(Ke);var wr=n(Ke,2),Er=n(d(wr),2);T(Er),o(wr),o(Fe);var Qe=n(Fe,2),Tr=d(Qe),$r=n(d(Tr),2),Ve=d($r),_e=d(Ve);T(_e);var tt=n(_e,2);o(Ve);var at=n(Ve,2);{var it=i=>{var u=Ct();Ir(u,5,()=>e(R),Jr,(m,k,te)=>{var y=Nt(),z=d(y),w=n(z);o(y),_(()=>{E(z,`${e(k)??""} `),Nr(w,"aria-label",`Remove tag ${e(k)??""}`)}),V("click",w,()=>Kr(te)),f(m,y)}),o(u),f(i,u)};v(at,i=>{e(R),g(()=>e(R).length>0)&&i(it)})}o($r),o(Tr),o(Qe);var Xe=n(Qe,2),Sr=d(Xe),ot=n(d(Sr),2);St(ot,{rows:4,placeholder:"{}",get value(){return e(J)},set value(i){s(J,i)},$$legacy:!0}),o(Sr),o(Xe);var Ye=n(Xe,2),Rr=d(Ye);T(Rr),ar(2),o(Ye);var Mr=n(Ye,2),Ze=d(Mr),xe=d(Ze);T(xe);var nt=n(xe,2);ar(2),o(Ze);var dt=n(Ze,2);{var st=i=>{var u=Bt(),m=n(d(u),2),k=d(m),te=n(k);o(m),o(u),_(y=>E(k,`Shell access requires agent mode to be enabled on the ${y??""}. `),[()=>(j(r()),g(()=>sr(r()).toLowerCase()))]),V("click",te,()=>s(F,!0)),f(i,u)};v(dt,i=>{e(M)||i(st)})}o(Mr),o(We);var Or=n(We,2),Ur=d(Or),er=n(Ur,2),lt=d(er);{var ut=i=>{var u=Lt();f(i,u)},pt=i=>{var u=Pr("Update Pool");f(i,u)};v(lt,i=>{e(ie)?i(ut):i(pt,!1)})}o(er),o(Or),o(Q),o(l),_((i,u)=>{E(ee,`Update Pool ${j(r()),g(()=>r().id)??""}`),E(B,(j(r()),g(()=>r().provider_name))),E(Ue,`${i??""}: ${u??""}`),ir(De,1,`w-full px-3 py-2 border ${e(O)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),ir(qe,1,`w-full px-3 py-2 border ${e(O)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),xe.disabled=!e(M),ir(nt,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(M)?"":"opacity-50"}`),er.disabled=e(ie)||e(O)!==""},[()=>(j(r()),g(()=>sr(r()))),()=>(j(r()),g(()=>Wr(r())))]),A(fr,()=>e(oe),i=>s(oe,i)),A(cr,()=>e(ne),i=>s(ne,i)),or(Pe,()=>e(S),i=>s(S,i)),or(Ne,()=>e(Y),i=>s(Y,i)),A(De,()=>e(I),i=>s(I,i)),A(qe,()=>e(P),i=>s(P,i)),A(xr,()=>e(de),i=>s(de,i)),A(hr,()=>e(le),i=>s(le,i)),A(kr,()=>e(se),i=>s(se,i)),A(Er,()=>e(ue),i=>s(ue,i)),A(_e,()=>e(K),i=>s(K,i)),V("keydown",_e,Qr),V("click",tt,ur),Br(Rr,()=>e(pe),i=>s(pe,i)),Br(xe,()=>e(Z),i=>s(Z,i)),V("click",Ur,()=>Te("close")),V("submit",Q,Tt(Vr)),f(t,l)},$$slots:{default:!0}});var Xr=n(gr,2);{var Yr=t=>{const a=ht(()=>g(Hr));var l=ae(),h=W(l);{var ge=ee=>{var Q=ae(),fe=W(Q);{var Oe=N=>{Rt(N,{get repository(){return e(a)},$$events:{close:()=>s(F,!1),submit:C=>Me(C.detail)}})},ce=N=>{var C=ae(),be=W(C);{var re=B=>{Mt(B,{get organization(){return e(a)},$$events:{close:()=>s(F,!1),submit:L=>Me(L.detail)}})},ve=B=>{var L=ae(),me=W(L);{var Ue=D=>{Ot(D,{get enterprise(){return e(a)},$$events:{close:()=>s(F,!1),submit:ye=>Me(ye.detail)}})};v(me,D=>{j(r()),g(()=>r().enterprise_id)&&D(Ue)},!0)}f(B,L)};v(be,B=>{j(r()),g(()=>r().org_id)?B(re):B(ve,!1)},!0)}f(N,C)};v(fe,N=>{j(r()),g(()=>r().repo_id)?N(Oe):N(ce,!1)})}f(ee,Q)};v(h,ee=>{e(a)&&ee(ge)})}f(t,l)};v(Xr,t=>{e(F)&&t(Yr)})}f(Dr,pr),xt(),qr()}export{aa as U}; diff --git a/webapp/assets/_app/immutable/chunks/BqCROW90.js b/webapp/assets/_app/immutable/chunks/BqCROW90.js new file mode 100644 index 00000000..e8106b92 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/BqCROW90.js @@ -0,0 +1 @@ +import{f as _,a as h,s as x}from"./o8CdT7B0.js";import{i as u}from"./ChJfoPF0.js";import{p as g,t as k,a as w,s as y,c as o,u as m,h as e,r}from"./DUMcBckj.js";import{h as z}from"./_9uqtkkk.js";import{p as d}from"./i7pKks78.js";import{g as l}from"./DQsxKNC2.js";var E=_('
');function j(v,i){g(i,!1);let t=d(i,"item",8),s=d(i,"iconSize",8,"w-5 h-5");u();var a=E(),n=o(a),f=o(n);z(f,()=>(e(l),e(t()),e(s()),m(()=>l(t()?.endpoint?.endpoint_type||t()?.endpoint_type||"unknown",s())))),r(n);var p=y(n,2),c=o(p,!0);r(p),r(a),k(()=>x(c,(e(t()),m(()=>t()?.endpoint?.name||t()?.endpoint_name||t()?.endpoint_type||"Unknown")))),h(v,a),w()}export{j as E}; diff --git a/webapp/assets/_app/immutable/chunks/BtzOUN4g.js b/webapp/assets/_app/immutable/chunks/BtzOUN4g.js new file mode 100644 index 00000000..66efa16b --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/BtzOUN4g.js @@ -0,0 +1 @@ +import{aa as k,u as o,a8 as h,y as t,D as f,ab as m}from"./DUMcBckj.js";import{l as _}from"./o8CdT7B0.js";function E(e,a,c=a){var v=k(),d=new WeakSet;_(e,"input",r=>{var l=r?e.defaultValue:e.value;if(l=n(e)?s(l):l,c(l),f!==null&&d.add(f),v&&l!==(l=a())){var b=e.selectionStart,u=e.selectionEnd;e.value=l??"",u!==null&&(e.selectionStart=b,e.selectionEnd=Math.min(u,e.value.length))}}),(t&&e.defaultValue!==e.value||o(a)==null&&e.value)&&(c(n(e)?s(e.value):e.value),f!==null&&d.add(f)),h(()=>{var r=a();if(e===document.activeElement){var l=m??f;if(d.has(l))return}n(e)&&r===s(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function S(e,a,c=a){_(e,"change",v=>{var d=v?e.defaultChecked:e.checked;c(d)}),(t&&e.defaultChecked!==e.checked||o(a)==null)&&c(e.checked),h(()=>{var v=a();e.checked=!!v})}function n(e){var a=e.type;return a==="number"||a==="range"}function s(e){return e===""?null:+e}export{S as a,E as b}; diff --git a/webapp/assets/_app/immutable/chunks/B7m7LjX-.js b/webapp/assets/_app/immutable/chunks/ByzrGryl.js similarity index 88% rename from webapp/assets/_app/immutable/chunks/B7m7LjX-.js rename to webapp/assets/_app/immutable/chunks/ByzrGryl.js index 1c5bf5ae..d2f200a6 100644 --- a/webapp/assets/_app/immutable/chunks/B7m7LjX-.js +++ b/webapp/assets/_app/immutable/chunks/ByzrGryl.js @@ -1 +1 @@ -import{z as l}from"./DzFKsO_V.js";function c(){const{subscribe:a,set:s,update:r}=l(!1);return{subscribe:a,init:()=>{const t=localStorage.getItem("theme");let e=!1;t==="dark"?e=!0:t==="light"?e=!1:e=window.matchMedia("(prefers-color-scheme: dark)").matches,s(e),o(e)},toggle:()=>r(t=>{const e=!t;return localStorage.setItem("theme",e?"dark":"light"),o(e),e}),set:t=>{localStorage.setItem("theme",t?"dark":"light"),o(t),s(t)}}}function o(a){a?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}const d=c();export{d as t}; +import{w as l}from"./DUMcBckj.js";function c(){const{subscribe:a,set:s,update:r}=l(!1);return{subscribe:a,init:()=>{const t=localStorage.getItem("theme");let e=!1;t==="dark"?e=!0:t==="light"?e=!1:e=window.matchMedia("(prefers-color-scheme: dark)").matches,s(e),o(e)},toggle:()=>r(t=>{const e=!t;return localStorage.setItem("theme",e?"dark":"light"),o(e),e}),set:t=>{localStorage.setItem("theme",t?"dark":"light"),o(t),s(t)}}}function o(a){a?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}const d=c();export{d as t}; diff --git a/webapp/assets/_app/immutable/chunks/BzzAh3Be.js b/webapp/assets/_app/immutable/chunks/BzzAh3Be.js deleted file mode 100644 index 326b5213..00000000 --- a/webapp/assets/_app/immutable/chunks/BzzAh3Be.js +++ /dev/null @@ -1,11 +0,0 @@ -import{z as Se,o as De,y as L,aV as U,g as $,j as T,aW as ee,bt as vt}from"./DzFKsO_V.js";import{p as yt,e as bt,b as x}from"./C14okzlM.js";class Ee{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Re{constructor(t,n){this.status=t,this.location=n}}class te extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function kt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function St(e){return e.split("%25").map(decodeURI).join("%25")}function Et(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function ge({href:e}){return e.split("#")[0]}function Rt(e,t,n,a=!1){const r=new URL(e);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(s,i){if(i==="get"||i==="getAll"||i==="has")return(c,...p)=>(n(c),s[i](c,...p));t();const l=Reflect.get(s,i);return typeof l=="function"?l.bind(s):l}}),enumerable:!0,configurable:!0});const o=["href","pathname","search","toString","toJSON"];a&&o.push("hash");for(const s of o)Object.defineProperty(r,s,{get(){return t(),e[s]},enumerable:!0,configurable:!0});return a||xt(r),r}function xt(e){Object.defineProperty(e,"hash",{get(){throw new Error("Cannot access event.url.hash. Consider using `page.url.hash` inside a component instead")}})}function Pt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function At(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a{e=new Error().stack.includes("check_stack_trace")})(),window.fetch=(n,a)=>{const r=n instanceof Request?n.url:n.toString(),o=new Error().stack.split(` -`),s=o.findIndex(h=>h.includes("load@")||h.includes("at load")),i=o.slice(0,s+2).join(` -`),l=e?i.includes("src/runtime/client/client.js"):xe,c=a?.__sveltekit_fetch__;return l&&!c&&console.warn(`Loading ${r} using \`window.fetch\`. For best results, use the \`fetch\` that is passed to your \`load\` function: https://svelte.dev/docs/kit/load#making-fetch-requests`),(n instanceof Request?n.method:a?.method||"GET")!=="GET"&&M.delete(Pe(n)),Lt(n,a)}}const M=new Map;function Tt(e,t){const n=Pe(e,t),a=document.querySelector(n);if(a?.textContent){a.remove();let{body:r,...o}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&M.set(n,{body:r,init:o,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=At(r)),Promise.resolve(new Response(r,o))}return ze(e,t)}function Ot(e,t,n){if(M.size>0){const a=Pe(e,n),r=M.get(a);if(r){if(performance.now(){const{pattern:h,params:f}=yt(i),u={id:i,exec:g=>{const w=h.exec(g);if(w)return bt(w,f,a)},errors:[1,...p||[]].map(g=>e[g]),layouts:[0,...c||[]].map(s),leaf:o(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function o(i){const l=i<0;return l&&(i=~i),[l,e[i]]}function s(i){return i===void 0?i:[r.has(i),e[i]]}}function Xe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Ve(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}const Qe="sveltekit:snapshot",Ze="sveltekit:scroll",et="sveltekit:states",jt="sveltekit:pageurl",K="sveltekit:history",W="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ue=location.origin;function Ae(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function fe(){return{x:pageXOffset,y:pageYOffset}}const He=new WeakSet,Ke={"preload-code":["","off","false","tap","hover","viewport","eager"],"preload-data":["","off","false","tap","hover"],keepfocus:["","true","off","false"],noscroll:["","true","off","false"],reload:["","true","off","false"],replacestate:["","true","off","false"]};function H(e,t){const n=e.getAttribute(`data-sveltekit-${t}`);return Ct(e,t,n),n}function Ct(e,t,n){n!==null&&!He.has(e)&&!Ke[t].includes(n)&&(console.error(`Unexpected value for ${t} — should be one of ${Ke[t].map(a=>JSON.stringify(a)).join(", ")}`,e),He.add(e))}const Be={...N,"":N.hover};function tt(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function nt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=tt(e)}}function me(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";a.hash=`#${i}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,o=!a||!!r||de(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=a?.origin===ue&&e.hasAttribute("download");return{url:a,external:o,target:r,download:s}}function ne(e){let t=null,n=null,a=null,r=null,o=null,s=null,i=e;for(;i&&i!==document.documentElement;)a===null&&(a=H(i,"preload-code")),r===null&&(r=H(i,"preload-data")),t===null&&(t=H(i,"keepfocus")),n===null&&(n=H(i,"noscroll")),o===null&&(o=H(i,"reload")),s===null&&(s=H(i,"replacestate")),i=tt(i);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Be[a??"off"],preload_data:Be[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(o),replace_state:l(s)}}function Fe(e){const t=Se(e);let n=!0;function a(){n=!0,t.update(s=>s)}function r(s){n=!1,t.set(s)}function o(s){let i;return t.subscribe(l=>{(i===void 0||n&&l!==i)&&s(i=l)})}return{notify:a,set:r,subscribe:o}}function Nt(){const{set:e,subscribe:t}=Se(!1);return{subscribe:t,check:async()=>!1}}function de(e,t,n){return e.origin!==ue||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function mn(e){}function qt(e){function t(n,a){if(n)for(const r in n){if(r[0]==="_"||e.has(r))continue;const o=[...e.values()],s=Dt(r,a?.slice(a.lastIndexOf(".")))??`valid exports are ${o.join(", ")}, or anything with a '_' prefix`;throw new Error(`Invalid export '${r}'${a?` in ${a}`:""} (${s})`)}}return t}function Dt(e,t=".js"){const n=[];if(Le.has(e)&&n.push(`+layout${t}`),at.has(e)&&n.push(`+page${t}`),rt.has(e)&&n.push(`+layout.server${t}`),Vt.has(e)&&n.push(`+page.server${t}`),Ht.has(e)&&n.push(`+server${t}`),n.length>0)return`'${e}' is a valid export in ${n.slice(0,-1).join(", ")}${n.length>1?" or ":""}${n.at(-1)}`}const Le=new Set(["load","prerender","csr","ssr","trailingSlash","config"]),at=new Set([...Le,"entries"]),rt=new Set([...Le]),Vt=new Set([...rt,"actions","entries"]),Ht=new Set(["GET","POST","PATCH","PUT","DELETE","OPTIONS","HEAD","fallback","prerender","trailingSlash","config","entries"]),Kt=qt(at);function Bt(e){return e.filter(t=>t!=null)}function Ft(e,t){const n=/^(moz-icon|view-source|jar):/.exec(t);n&&console.warn(`${e}: Calling \`depends('${t}')\` will throw an error in Firefox because \`${n[1]}\` is a special URI scheme`)}function Gt(e,t){if(e!=null&&Object.getPrototypeOf(e)!==Object.prototype)throw new Error(`a load function ${t} returned ${typeof e!="object"?`a ${typeof e}`:e instanceof Response?"a Response object":Array.isArray(e)?"an array":"a non-plain object"}, but must return a plain object at the top level (i.e. \`return {...}\`)`)}function Ue(e){return e instanceof Ee||e instanceof te?e.status:500}function Mt(e){return e instanceof te?e.text:"Internal Error"}let k,Y;const Jt=De.toString().includes("$$")||/function \w+\(\) \{\}/.test(De.toString());Jt?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Y={current:null}):(k=new class{#e=L(U({}),"Page.data");get data(){return $(this.#e)}set data(t){T(this.#e,t)}#t=L(U(null),"Page.form");get form(){return $(this.#t)}set form(t){T(this.#t,t)}#n=L(U(null),"Page.error");get error(){return $(this.#n)}set error(t){T(this.#n,t)}#a=L(U({}),"Page.params");get params(){return $(this.#a)}set params(t){T(this.#a,t)}#r=L(U({id:null}),"Page.route");get route(){return $(this.#r)}set route(t){T(this.#r,t)}#o=L(U({}),"Page.state");get state(){return $(this.#o)}set state(t){T(this.#o,t)}#s=L(U(-1),"Page.status");get status(){return $(this.#s)}set status(t){T(this.#s,t)}#i=L(U(new URL("https://example.com")),"Page.url");get url(){return $(this.#i)}set url(t){T(this.#i,t)}},Y=new class{#e=L(U(null),"Navigating.current");get current(){return $(this.#e)}set current(t){T(this.#e,t)}});function Wt(e){Object.assign(k,e)}const Ge={spanContext(){return Yt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Yt={traceId:"",spanId:"",traceFlags:0},zt=new Set(["icon","shortcut icon","apple-touch-icon"]),D=Xe(Ze)??{},z=Xe(Qe)??{};{let e=!1;const t=import.meta.url.split("?")[0],n=()=>{if(e)return;let o=new Error().stack?.split(` -`);o&&(!o[0].includes("https:")&&!o[0].includes("http:")&&(o=o.slice(1)),o=o.slice(2),!o[0]?.includes(t)&&(e=!0,console.warn("Avoid using `history.pushState(...)` and `history.replaceState(...)` as these will conflict with SvelteKit's router. Use the `pushState` and `replaceState` imports from `$app/navigation` instead.")))},a=history.pushState;history.pushState=(...o)=>(n(),a.apply(history,o));const r=history.replaceState;history.replaceState=(...o)=>(n(),r.apply(history,o))}const C={url:Fe({}),page:Fe({}),navigating:Se(null),updated:Nt()};function $e(e){D[e]=fe()}function Xt(e,t){let n=e+1;for(;D[n];)delete D[n],n+=1;for(n=t+1;z[n];)delete z[n],n+=1}function X(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function ot(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function Me(){}let Te,we,ae,O,ve,v;const re=[],oe=[];let P=null;function ye(){P?.fork?.then(e=>e?.discard()),P=null}const Z=new Map,st=new Set,Qt=new Set,J=new Set;let m={branch:[],error:null,url:null},it=!1,se=!1,Je=!0,Q=!1,G=!1,lt=!1,Oe=!1,ct,y,R,q;const ie=new Set,We=new Map;async function yn(e,t,n){t===document.body&&console.warn(`Placing %sveltekit.body% directly inside is not recommended, as your app may break for users who have certain browser extensions installed. - -Consider wrapping it in an element: - -
- %sveltekit.body% -
`),globalThis.__sveltekit_1ey6u51?.data&&globalThis.__sveltekit_1ey6u51.data,document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Te=It(e),O=document.documentElement,ve=t,we=e.nodes[0],ae=e.nodes[1],we(),ae(),y=history.state?.[K],R=history.state?.[W],y||(y=R=Date.now(),history.replaceState({...history.state,[K]:y,[W]:R},""));const a=D[y];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await fn(ve,n)):(await B({type:"enter",url:Ae(v.hash?pn(new URL(location.href)):location.href),replace_state:!0}),r()),un()}function Zt(){re.length=0,Oe=!1}function ut(e){oe.some(t=>t?.snapshot)&&(z[e]=oe.map(t=>t?.snapshot?.capture()))}function ft(e){z[e]?.forEach((t,n)=>{oe[n]?.snapshot?.restore(t)})}function Ye(){$e(y),Ve(Ze,D),ut(R),Ve(Qe,z)}async function dt(e,t,n,a){let r;t.invalidateAll&&ye(),await B({type:"goto",url:Ae(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{t.invalidateAll&&(Oe=!0,r=[...We.keys()]),t.invalidate&&t.invalidate.forEach(cn)}}),t.invalidateAll&&ee().then(ee).then(()=>{We.forEach(({resource:o},s)=>{r?.includes(s)&&o.refresh?.()})})}async function en(e){if(e.id!==P?.id){ye();const t={};ie.add(t),P={id:e.id,token:t,promise:gt({...e,preload:t}).then(n=>(ie.delete(t),n.type==="loaded"&&n.state.error&&ye(),n)),fork:null}}return P.promise}async function _e(e){const t=(await he(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function ht(e,t,n){if(e.state.error&&document.querySelector("vite-error-overlay"))return;m=e.state;const a=document.querySelector("style[data-sveltekit]");if(a&&a.remove(),Object.assign(k,e.props.page),ct=new v.root({target:t,props:{...e.props,stores:C,components:oe},hydrate:n,sync:!1}),await Promise.resolve(),ft(R),n){const r={from:null,to:{params:m.params,route:{id:m.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};J.forEach(o=>o(r))}se=!0}function le({url:e,params:t,branch:n,status:a,error:r,route:o,form:s}){let i="never";if(x&&(e.pathname===x||e.pathname===x+"/"))i="always";else for(const u of n)u?.slash!==void 0&&(i=u.slash);e.pathname=kt(e.pathname,i),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:r,route:o},props:{constructors:Bt(n).map(u=>u.node.component),page:qe(k)}};s!==void 0&&(l.props.form=s);let c={},p=!k,h=0;for(let u=0;uh!=="load");if(p.length>0)throw new Error(`Page options are ignored when \`router.type === 'hash'\` (${r.id} has ${p.filter(h=>h!=="load").map(h=>`'${h}'`).join(", ")})`)}if(c.universal?.load){let p=function(...f){for(const u of f){Ft(r.id,u);const{href:g}=new URL(u,n);l.dependencies.add(g)}};const h={tracing:{enabled:!1,root:Ge,current:Ge},route:new Proxy(r,{get:(f,u)=>(i&&(l.route=!0),f[u])}),params:new Proxy(a,{get:(f,u)=>(i&&l.params.add(u),f[u])}),data:o?.data??null,url:Rt(n,()=>{i&&(l.url=!0)},f=>{i&&l.search_params.add(f)},v.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f?.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:g,promise:w}=pt(f,u,n);return i&&p(g.href),w},setHeaders:()=>{},depends:p,parent(){return i&&(l.parent=!0),t()},untrack(f){i=!1;try{return f()}finally{i=!0}}};try{Ut(),s=await c.universal.load.call(null,h)??null,Gt(s,`related to route '${r.id}'`)}finally{$t()}}return{node:c,loader:e,server:o,universal:c.universal?.load?{type:"data",data:s,uses:l}:null,data:s??o?.data??null,slash:c.universal?.trailingSlash??o?.slash}}function pt(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const o=se?Ot(a,r.href,t):Tt(a,t);return{resolved:r,promise:o}}function tn(e,t,n,a,r,o){if(Oe)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const s of r.search_params)if(a.has(s))return!0;for(const s of r.params)if(o[s]!==m.params[s])return!0;for(const s of r.dependencies)if(re.some(i=>i(new URL(s))))return!0;return!1}function je(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function nn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),o=t.searchParams.getAll(a);r.every(s=>o.includes(s))&&o.every(s=>r.includes(s))&&n.delete(a)}return n}function an({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:qe(k),constructors:[]}}}async function gt({id:e,invalidating:t,url:n,params:a,route:r,preload:o}){if(P?.id===e)return ie.delete(P.token),P.promise;const{errors:s,layouts:i,leaf:l}=r,c=[...i,l];s.forEach(_=>_?.().catch(()=>{})),c.forEach(_=>_?.[1]().catch(()=>{}));const p=m.url?e!==ce(m.url):!1,h=m.route?r.id!==m.route.id:!1,f=nn(m.url,n);let u=!1;const g=c.map(async(_,d)=>{if(!_)return;const S=m.branch[d];return _[1]===S?.loader&&!tn(u,h,p,f,S.universal?.uses,a)?S:(u=!0,Ie({loader:_[1],url:n,params:a,route:r,parent:async()=>{const I={};for(let A=0;A{});const w=[];for(let _=0;_Promise.resolve({}),server_data_node:je(o)}),i={node:await ae(),loader:ae,universal:null,server:null,data:null};return le({url:n,params:r,branch:[s,i],status:e,error:t,route:null})}catch(s){if(s instanceof Re)return dt(new URL(s.location,location.href),{},0);throw s}}async function on(e){const t=e.href;if(Z.has(t))return Z.get(t);let n;try{const a=(async()=>{let r=await v.hooks.reroute({url:new URL(e),fetch:async(o,s)=>pt(o,s,e).promise})??e;if(typeof r=="string"){const o=new URL(e);v.hash?o.hash=r:o.pathname=r,r=o}return r})();Z.set(t,a),n=await a}catch(a){Z.delete(t);{console.error(a);debugger}return}return n}async function he(e,t){if(e&&!de(e,x,v.hash)){const n=await on(e);if(!n)return;const a=sn(n);for(const r of Te){const o=r.exec(a);if(o)return{id:ce(e),invalidating:t,route:r,params:Et(o),url:e}}}}function sn(e){return St(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function ce(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function _t({url:e,type:t,intent:n,delta:a,event:r}){let o=!1;const s=Ne(m,n,e,t);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const i={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return Q||st.forEach(l=>l(i)),o?null:s}async function B({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:o,state:s={},redirect_count:i=0,nav_token:l={},accept:c=Me,block:p=Me,event:h}){const f=q;q=l;const u=await he(t,!1),g=e==="enter"?Ne(m,u,t,e):_t({url:t,type:e,delta:n?.delta,intent:u,event:h});if(!g){p(),q===l&&(q=f);return}const w=y,_=R;c(),Q=!0,se&&g.navigation.type!=="enter"&&C.navigating.set(Y.current=g.navigation);let d=u&&await gt(u);if(!d)if(de(t,x,v.hash))if(v.hash)d=await be(t,{id:null},await F(new te(404,"Not Found",`Not found: ${t.pathname} (did you forget the hash?)`),{url:t,params:{},route:{id:null}}),404,o);else return await X(t,o);else d=await be(t,{id:null},await F(new te(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o);if(t=u?.url||t,q!==l)return g.reject(new Error("navigation aborted")),!1;if(d.type==="redirect"){if(i<20){await B({type:e,url:new URL(d.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:o,state:s,redirect_count:i+1,nav_token:l}),g.fulfil(void 0);return}d=await Ce({status:500,error:await F(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else d.props.page.status>=400&&await C.updated.check()&&(await ot(),await X(t,o));if(Zt(),$e(w),ut(_),d.props.page.url.pathname!==t.pathname&&(t.pathname=d.props.page.url.pathname),s=n?n.state:s,!n){const b=o?0:1,V={[K]:y+=b,[W]:R+=b,[et]:s};(o?history.replaceState:history.pushState).call(history,V,"",t),o||Xt(y,R)}const S=u&&P?.id===u.id?P.fork:null;P=null,d.props.page.state=s;let E;if(se){const b=(await Promise.all(Array.from(Qt,j=>j(g.navigation)))).filter(j=>typeof j=="function");if(b.length>0){let j=function(){b.forEach(pe=>{J.delete(pe)})};b.push(j),b.forEach(pe=>{J.add(pe)})}m=d.state,d.props.page&&(d.props.page.url=t);const V=S&&await S;V?E=V.commit():(ct.$set(d.props),Wt(d.props.page),E=vt?.()),lt=!0}else await ht(d,ve,!1);const{activeElement:I}=document;await E,await ee(),await ee();let A=n?n.scroll:r?fe():null;if(Je){const b=t.hash&&document.getElementById(mt(t));if(A)scrollTo(A.x,A.y);else if(b){b.scrollIntoView();const{top:V,left:j}=b.getBoundingClientRect();A={x:pageXOffset+j,y:pageYOffset+V}}else scrollTo(0,0)}const wt=document.activeElement!==I&&document.activeElement!==document.body;!a&&!wt&&hn(t,A),Je=!0,d.props.page&&Object.assign(k,d.props.page),Q=!1,e==="popstate"&&ft(R),g.fulfil(void 0),J.forEach(b=>b(g.navigation)),C.navigating.set(Y.current=null)}async function be(e,t,n,a,r){if(e.origin===ue&&e.pathname===location.pathname&&!it)return await Ce({status:a,error:n,url:e,route:t});if(a!==404){console.error("An error occurred while loading the page. This will cause a full page reload. (This message will only appear during development.)");debugger}return await X(e,r)}function ln(){let e,t={element:void 0,href:void 0},n;O.addEventListener("mousemove",i=>{const l=i.target;clearTimeout(e),e=setTimeout(()=>{o(l,N.hover)},20)});function a(i){i.defaultPrevented||o(i.composedPath()[0],N.tap)}O.addEventListener("mousedown",a),O.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(i=>{for(const l of i)l.isIntersecting&&(_e(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function o(i,l){const c=nt(i,O),p=c===t.element&&c?.href===t.href&&l>=n;if(!c||p)return;const{url:h,external:f,download:u}=me(c,x,v.hash);if(f||u)return;const g=ne(c),w=h&&ce(m.url)===ce(h);if(!(g.reload||w))if(l<=g.preload_data){t={element:c,href:c.href},n=N.tap;const _=await he(h,!1);if(!_)return;en(_).then(d=>{d.type==="loaded"&&d.state.error&&console.warn(`Preloading data for ${_.url.pathname} failed with the following error: ${d.state.error.message} -If this error is transient, you can ignore it. Otherwise, consider disabling preloading for this route. This route was preloaded due to a data-sveltekit-preload-data attribute. See https://svelte.dev/docs/kit/link-options for more info`)})}else l<=g.preload_code&&(t={element:c,href:c.href},n=l,_e(h))}function s(){r.disconnect();for(const i of O.querySelectorAll("a")){const{url:l,external:c,download:p}=me(i,x,v.hash);if(c||p)continue;const h=ne(i);h.reload||(h.preload_code===N.viewport&&r.observe(i),h.preload_code===N.eager&&_e(l))}}J.add(s),s()}function F(e,t){if(e instanceof Ee)return e.body;console.warn("The next HMR update will cause the page to reload");const n=Ue(e),a=Mt(e);return v.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function bn(e,t={}){return e=new URL(Ae(e)),e.origin!==ue?Promise.reject(new Error(`Cannot use \`goto\` with an external URL. Use \`window.location = "${e}"\` instead`)):dt(e,t,0)}function cn(e){if(typeof e=="function")re.push(e);else{const{href:t}=new URL(e,location.href);re.push(n=>n.href===t)}}function un(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Ye(),!Q){const a=Ne(m,void 0,null,"leave"),r={...a.navigation,cancel:()=>{n=!0,a.reject(new Error("navigation cancelled"))}};st.forEach(o=>o(r))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ye()}),navigator.connection?.saveData||ln(),O.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=nt(t.composedPath()[0],O);if(!n)return;const{url:a,external:r,target:o,download:s}=me(n,x,v.hash);if(!a)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const i=ne(n);if(!(n instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[c,p]=(v.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=c===ge(location);if(r||i.reload&&(!h||!p)){_t({url:a,type:"link",event:t})?Q=!0:t.preventDefault();return}if(p!==void 0&&h){const[,f]=m.url.href.split("#");if(f===p){if(t.preventDefault(),p===""||p==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(p));u&&(u.scrollIntoView(),u.focus())}return}if(G=!0,$e(y),e(a),!i.replace_state)return;G=!1}t.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await B({type:"link",url:a,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??a.href===location.href,event:t})}),O.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if((a?.formTarget||n.target)==="_blank"||(a?.formMethod||n.method)!=="get")return;const s=new URL(a?.hasAttribute("formaction")&&a?.formAction||n.action);if(de(s,x,!1))return;const i=t.target,l=ne(i);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(i,a);s.search=new URLSearchParams(c).toString(),B({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[K]){const n=t.state[K];if(q={},n===y)return;const a=D[n],r=t.state[et]??{},o=new URL(t.state[jt]??location.href),s=t.state[W],i=m.url?ge(location)===ge(m.url):!1;if(s===R&&(lt||i)){r!==k.state&&(k.state=r),e(o),D[y]=fe(),a&&scrollTo(a.x,a.y),y=n;return}const c=n-y;await B({type:"popstate",url:o,popped:{state:r,scroll:a,delta:c},accept:()=>{y=n,R=s},block:()=>{history.go(-c)},nav_token:q,event:t})}else if(!G){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{G&&(G=!1,history.replaceState({...history.state,[K]:++y,[W]:R},"",location.href))});for(const t of document.querySelectorAll("link"))zt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&C.navigating.set(Y.current=null)});function e(t){m.url=k.url=t,C.page.set(qe(k)),C.page.notify()}}async function fn(e,{status:t=200,error:n,node_ids:a,params:r,route:o,server_route:s,data:i,form:l}){it=!0;const c=new URL(location.href);let p;({params:r={},route:o={id:null}}=await he(c,!1)||{}),p=Te.find(({id:u})=>u===o.id);let h,f=!0;try{const u=a.map(async(w,_)=>{const d=i[_];return d?.uses&&(d.uses=dn(d.uses)),Ie({loader:v.nodes[w],url:c,params:r,route:o,parent:async()=>{const S={};for(let E=0;E<_;E+=1)Object.assign(S,(await u[E]).data);return S},server_data_node:je(d)})}),g=await Promise.all(u);if(p){const w=p.layouts;for(let _=0;_{const i=history.state;ke=!0,location.replace(`#${a}`),v.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(o,s),ke=!1})}else{const o=document.body,s=o.getAttribute("tabindex");o.tabIndex=-1,o.focus({preventScroll:!0,focusVisible:!1}),s!==null?o.setAttribute("tabindex",s):o.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const o=[];for(let s=0;s{if(r.rangeCount===o.length){for(let s=0;s{r=l,o=c});return s.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:a,complete:s},fulfil:r,reject:o}}function qe(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function pn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function mt(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}{const e=console.warn;console.warn=function(...n){n.length===1&&/<(Layout|Page|Error)(_[\w$]+)?> was created (with unknown|without expected) prop '(data|form)'/.test(n[0])||e(...n)}}export{yn as a,bn as g,mn as l,k as p,C as s}; diff --git a/webapp/assets/_app/immutable/chunks/C0gwpZbz.js b/webapp/assets/_app/immutable/chunks/C0gwpZbz.js new file mode 100644 index 00000000..e893a341 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/C0gwpZbz.js @@ -0,0 +1 @@ +import{c as S,a as C}from"./o8CdT7B0.js";import{i as L}from"./ChJfoPF0.js";import{p as B,l as w,h as n,g as t,m as y,b as V,f as A,a as E,d as _,u as f}from"./DUMcBckj.js";import{k as F}from"./DG4LDt2Z.js";import{p as m}from"./i7pKks78.js";import{B as G}from"./Bi2FJHrT.js";import{k as x}from"./DQsxKNC2.js";import{f as D}from"./ow_oMtSd.js";function J(v,u){B(u,!1);const s=y(),c=y();let e=m(u,"item",8),g=m(u,"statusType",8,"entity"),r=m(u,"statusField",8,"status");w(()=>(n(e()),n(r())),()=>{_(s,e()?.[r()]||"unknown")}),w(()=>(n(e()),n(g()),t(s),n(r())),()=>{_(c,(()=>{if(!e())return{variant:"error",text:"Unknown"};switch(g()){case"entity":return x(e());case"instance":let a="secondary";switch(t(s).toLowerCase()){case"running":a="success";break;case"stopped":a="info";break;case"creating":case"pending_create":a="warning";break;case"deleting":case"pending_delete":case"pending_force_delete":a="warning";break;case"error":case"deleted":a="error";break;case"active":case"online":a="success";break;case"idle":a="info";break;case"pending":case"installing":a="warning";break;case"failed":case"terminated":case"offline":a="error";break;case"unknown":default:a="secondary";break}return{variant:a,text:D(t(s))};case"enabled":return{variant:e().enabled?"success":"error",text:e().enabled?"Enabled":"Disabled"};case"os_type":const T=(t(s)||"").toLowerCase();let i="secondary",o=t(s)||"Unknown";switch(T){case"linux":i="success",o="Linux";break;case"windows":i="blue",o="Windows";break;case"macos":case"darwin":i="purple",o="macOS";break;default:i="gray",o=t(s)||"Unknown";break}return{variant:i,text:o};case"forge_type":const U=(t(s)||"").toLowerCase();let d="secondary",l=t(s)||"Unknown";switch(U){case"github":d="gray",l="GitHub";break;case"gitea":d="green",l="Gitea";break;default:d="secondary",l=t(s)||"Unknown";break}return{variant:d,text:l};case"custom":const p=e()[r()]||"Unknown";if(r()==="auth-type"){const b=p==="pat"||!p?"pat":"app";return{variant:b==="pat"?"success":"info",text:b==="pat"?"PAT":"App"}}return{variant:"info",text:p};default:return x(e())}})())}),V(),L();var k=S(),h=A(k);F(h,()=>(n(e()),n(r()),f(()=>`${e()?.name||"item"}-${e()?.[r()]||"status"}-${e()?.updated_at||"time"}`)),a=>{G(a,{get variant(){return t(c),f(()=>t(c).variant)},get text(){return t(c),f(()=>t(c).text)}})}),C(v,k),E()}export{J as S}; diff --git a/webapp/assets/_app/immutable/chunks/C2FKJqnN.js b/webapp/assets/_app/immutable/chunks/C2FKJqnN.js deleted file mode 100644 index 1cc88e2d..00000000 --- a/webapp/assets/_app/immutable/chunks/C2FKJqnN.js +++ /dev/null @@ -1 +0,0 @@ -import{c as ie,a as T,b as i,l as le,g as Je,s as G,f as S,t as tt,i as _t,d as te,e as Ke}from"./CxOx-TIJ.js";import{i as ye}from"./3NxSoY2_.js";import{ag as sa,bh as ia,aY as la,I as da,H as ca,O as va,K as ua,J as fa,aA as ga,P as It,a2 as ma,R as pa,a8 as ha,E as xa,p as de,l as Ce,j as $,m as re,h as v,b as We,c as l,g as e,r as s,t as Y,a as ce,F as m,s as A,d as u,w as nt,i as o,f as Q,B as Ze,v as ka,e as se,u as g,y as Ie,o as Ot,x as Gt}from"./DzFKsO_V.js";import{c as wt,a as Ht}from"./BZykqlEc.js";import{p as f,i as D,c as Ut}from"./B_jyf0qs.js";import{e as Te,i as je}from"./CdXRaxkX.js";import{h as ct,s as Ne,B as Xe,r as ya,d as Be,b as _a,c as ke,f as At,k as Tt}from"./BguOOs3x.js";import{v as Dt}from"./DcWIrrGq.js";import{w as ot}from"./DoJxysSt.js";import{b as ba}from"./BVM1034P.js";import{A as Yt}from"./Ct5kWObc.js";import{B as qt}from"./1CdJgrM6.js";import{g as vt,k as Vt,b as wa,j as Nt,e as Rt,i as Ft}from"./JkzpcrZD.js";import{b as Xt}from"./Dtavz0EF.js";import{f as Ta}from"./ow_oMtSd.js";function bt(N,a,r){It&&ma();var n=N,t=ga,p,k,x=null,d=sa()?ia:la;function h(){p&&pa(p),x!==null&&(x.lastChild.remove(),n.before(x),x=null),p=k}da(()=>{if(d(t,t=a())){var _=n,C=fa();C&&(x=document.createDocumentFragment(),x.append(_=ca())),k=va(()=>r(_)),C?ua.add_callback(h):h()}}),It&&(n=ha)}function et(N,a){var r=N.$$events?.[a.type],n=xa(r)?r.slice():r==null?[]:[r];for(var t of n)t.call(this,a)}ut[m]="src/lib/components/Icons.svelte";var Ca=T(Je(''),ut[m],[[50,0]]);function ut(N,a){ie(new.target),de(a,!1,ut);const r=re();let n=f(a,"name",8),t=f(a,"class",8,"h-5 w-5");const p={plus:'',edit:'',delete:'',view:'',close:'',check:'',x:'',"chevron-left":'',"chevron-right":'',"chevron-down":'',"chevron-up":'',search:'',refresh:'',menu:'',settings:'',"check-circle":'',"x-circle":'',"exclamation-circle":'',"information-circle":'',loading:'',sun:'',moon:'',document:'',folder:'',"git-branch":''};Ce(()=>v(n()),()=>{$(r,p[n()]||"")}),We();var k=Ca(),x=l(k);return ct(x,()=>e(r),!0),s(k),Y(()=>Ne(k,0,`${t()}`)),i(N,k),ce({...le()})}ft[m]="src/lib/components/LoadingState.svelte";var Pa=T(S('

'),ft[m],[[5,0,[[6,1],[7,1]]]]);function ft(N,a){ie(new.target),de(a,!1,ft);let r=f(a,"message",8,"Loading...");var n=Pa(),t=A(l(n),2),p=l(t,!0);return s(t),s(n),Y(()=>G(p,r())),i(N,n),ce({...le()})}Le[m]="src/lib/components/ErrorState.svelte";var Ma=T(S('
'),Le[m],[[22,5]]),Sa=T(S('

'),Le[m],[[10,0,[[11,1,[[12,2,[[13,3,[[14,4,[[15,5]]]]],[18,3,[[19,4],[20,4]]]]]]]]]]);function Le(N,a){ie(new.target),de(a,!1,Le);let r=f(a,"title",8,"Error"),n=f(a,"message",8),t=f(a,"showRetry",8,!1),p=f(a,"onRetry",8,void 0);var k=Sa(),x=l(k),d=l(x),h=A(l(d),2),_=l(h),C=l(_,!0);s(_);var M=A(_,2),H=l(M,!0);s(M);var L=A(M,2);{var X=K=>{var O=Ma(),U=l(O);u(()=>Xe(U,{variant:"secondary",size:"sm",icon:"",class:"text-red-700 dark:text-red-200 bg-red-100 dark:bg-red-800 hover:bg-red-200 dark:hover:bg-red-700 focus:outline-none focus:bg-red-200 dark:focus:bg-red-700",$$events:{click(...J){_t(p,this,J,Le,[26,17])}},children:ot(Le,(J,ee)=>{nt();var E=tt("Retry");i(J,E)}),$$slots:{default:!0}}),"component",Le,23,6,{componentTag:"Button"}),s(O),i(K,O)};u(()=>D(L,K=>{t()&&p()&&K(X)}),"if",Le,21,4)}return s(h),s(d),s(x),s(k),Y(()=>{G(C,r()),G(H,n())}),i(N,k),ce({...le()})}fe[m]="src/lib/components/EmptyState.svelte";var Ea=T(Je(''),fe[m],[[9,2,[[10,3]]]]),ja=T(Je(''),fe[m],[[13,2,[[14,3]]]]),Ba=T(Je(''),fe[m],[[17,2,[[18,3]]]]),za=T(Je(''),fe[m],[[21,2,[[22,3],[23,3]]]]),La=T(Je(''),fe[m],[[26,2,[[27,3]]]]),Ia=T(Je(''),fe[m],[[30,2,[[31,3],[32,3]]]]),Ha=T(S('

'),fe[m],[[7,0,[[35,1],[36,1]]]]);function fe(N,a){ie(new.target),de(a,!1,fe);let r=f(a,"title",8),n=f(a,"message",8),t=f(a,"iconType",8,"document");var p=Ha(),k=l(p);{var x=H=>{var L=Ea();i(H,L)},d=H=>{var L=te(),X=Q(L);{var K=U=>{var J=ja();i(U,J)},O=U=>{var J=te(),ee=Q(J);{var E=y=>{var w=Ba();i(y,w)},c=y=>{var w=te(),j=Q(w);{var I=B=>{var R=za();i(B,R)},W=B=>{var R=te(),b=Q(R);{var z=F=>{var ne=La();i(F,ne)},P=F=>{var ne=te(),he=Q(ne);{var _e=Pe=>{var Ue=Ia();i(Pe,Ue)};u(()=>D(he,Pe=>{o(t(),"settings")&&Pe(_e)},!0),"if",fe,29,1)}i(F,ne)};u(()=>D(b,F=>{o(t(),"key")?F(z):F(P,!1)},!0),"if",fe,25,1)}i(B,R)};u(()=>D(j,B=>{o(t(),"cog")?B(I):B(W,!1)},!0),"if",fe,20,1)}i(y,w)};u(()=>D(ee,y=>{o(t(),"users")?y(E):y(c,!1)},!0),"if",fe,16,1)}i(U,J)};u(()=>D(X,U=>{o(t(),"building")?U(K):U(O,!1)},!0),"if",fe,12,1)}i(H,L)};u(()=>D(k,H=>{o(t(),"document")?H(x):H(d,!1)}),"if",fe,8,1)}var h=A(k,2),_=l(h,!0);s(h);var C=A(h,2),M=l(C,!0);return s(C),s(p),Y(()=>{G(_,r()),G(M,n())}),i(N,p),ce({...le()})}Re[m]="src/lib/components/SearchBar.svelte";var Ua=T(S('
'),Re[m],[[18,0,[[19,1],[22,1]]]]);function Re(N,a){ie(new.target),de(a,!1,Re);let r=f(a,"value",12,""),n=f(a,"placeholder",8,"Search..."),t=f(a,"disabled",8,!1);const p=Ze();function k(){p("input",r())}ye();var x=Ua(),d=l(x),h=l(d);u(()=>ut(h,{name:"search",class:"h-5 w-5 text-gray-400"}),"component",Re,20,2,{componentTag:"Icons"}),s(d);var _=A(d,2);return ya(_),s(x),Y(()=>{Be(_,"placeholder",n()),_.disabled=t()}),ba(_,r),Ke("input",_,k),Ke("keydown",_,function(C){et.call(this,a,C)}),i(N,x),ce({...le()})}ze[m]="src/lib/components/SearchFilterBar.svelte";var Aa=T(S(""),ze[m],[[48,7]]),Da=T(S('
'),ze[m],[[38,3,[[39,4,[[40,5],[41,5]]]]]]),Va=T(S('
'),ze[m],[[25,0,[[26,1,[[27,2,[[28,3,[[29,4]]]]]]]]]]);function ze(N,a){ie(new.target),de(a,!1,ze);var r=wt(a);let n=f(a,"searchTerm",12,""),t=f(a,"perPage",12,25),p=f(a,"placeholder",8,"Search..."),k=f(a,"showPerPageSelector",8,!0),x=f(a,"perPageOptions",24,()=>[25,50,100]);const d=Ze();function h(){d("search",{term:n()})}function _(){d("perPageChange",{perPage:t()})}ye();var C=Va(),M=l(C),H=l(M),L=l(H),X=A(l(L),2);r.binding("searchTerm",Re,n),u(()=>Re(X,{get placeholder(){return p()},get value(){return n()},set value(U){n(U)},$$events:{input:h},$$legacy:!0}),"component",ze,30,4,{componentTag:"SearchBar"}),s(L),s(H);var K=A(H,2);{var O=U=>{var J=Da(),ee=l(J),E=A(l(ee),2);Y(()=>{t(),ka(()=>{x()})}),u(()=>Te(E,5,x,je,(c,y)=>{var w=Aa(),j=l(w,!0);s(w);var I={};Y(()=>{G(j,e(y)),I!==(I=e(y))&&(w.value=(w.__value=e(y))??"")}),i(c,w)}),"each",ze,47,6),s(E),s(ee),s(J),_a(E,t),Ke("change",E,_),i(U,J)};u(()=>D(K,U=>{k()&&U(O)}),"if",ze,37,2)}return s(M),s(C),i(N,C),ce({...le()})}Ee[m]="src/lib/components/BackendSearchBar.svelte";var Na=T(S('

'),Ee[m],[[51,3]]),Ra=T(S('
'),Ee[m],[[32,0,[[33,1,[[34,2,[[35,3]]]]]]]]);function Ee(N,a){ie(new.target),de(a,!1,Ee);var r=wt(a);let n=f(a,"value",12,""),t=f(a,"placeholder",8,"Search..."),p=f(a,"disabled",8,!1),k=f(a,"helpText",8,""),x=f(a,"showButton",8,!0);const d=Ze();function h(){d("search",n())}function _(){d("search",n())}function C(E){o(E.key,"Enter")&&h()}ye();var M=Ra(),H=l(M),L=l(H),X=l(L),K=l(X);r.binding("value",Re,n),u(()=>Re(K,{get placeholder(){return t()},get disabled(){return p()},get value(){return n()},set value(E){n(E)},$$events:{input:_,keydown:C},$$legacy:!0}),"component",Ee,36,4,{componentTag:"SearchBar"}),s(X);var O=A(X,2);{var U=E=>{u(()=>Xe(E,{variant:"secondary",get disabled(){return p()},$$events:{click:h},children:ot(Ee,(c,y)=>{nt();var w=tt("Search");i(c,w)}),$$slots:{default:!0}}),"component",Ee,45,4,{componentTag:"Button"})};u(()=>D(O,E=>{x()&&E(U)}),"if",Ee,44,3)}s(L);var J=A(L,2);{var ee=E=>{var c=Na(),y=l(c,!0);s(c),Y(()=>G(y,k())),i(E,c)};u(()=>D(J,E=>{k()&&E(ee)}),"if",Ee,50,2)}return s(H),s(M),i(N,M),ce({...le()})}ve[m]="src/lib/components/TablePagination.svelte";var Fa=T(S('Showing to of ',1),ve[m],[[53,14],[54,9],[55,9]]),Oa=T(S('
'),ve[m],[[26,1,[[28,2],[47,2,[[48,3,[[49,4]]],[59,3,[[60,4]]]]]]]]);function ve(N,a){ie(new.target),de(a,!1,ve);const r=re(),n=re();let t=f(a,"currentPage",8,1),p=f(a,"totalPages",8,1),k=f(a,"perPage",8,25),x=f(a,"totalItems",8,0),d=f(a,"itemName",8,"results");const h=Ze();function _(L){L>=1&&L<=p()&&o(L,t(),!1)&&h("pageChange",{page:L})}Ce(()=>(v(x()),v(t()),v(k())),()=>{$(r,o(x(),0)?0:(t()-1)*k()+1)}),Ce(()=>(v(t()),v(k()),v(x())),()=>{$(n,Math.min(t()*k(),x()))}),We(),ye();var C=te(),M=Q(C);{var H=L=>{var X=Oa(),K=l(X),O=l(K);{let b=se(()=>o(t(),1));u(()=>Xe(O,{variant:"secondary",get disabled(){return e(b)},$$events:{click:()=>_(t()-1)},children:ot(ve,(z,P)=>{nt();var F=tt("Previous");i(z,F)}),$$slots:{default:!0}}),"component",ve,29,3,{componentTag:"Button"})}var U=A(O,2);{let b=se(()=>o(t(),p()));u(()=>Xe(U,{variant:"secondary",get disabled(){return e(b)},class:"ml-3",$$events:{click:()=>_(t()+1)},children:ot(ve,(z,P)=>{nt();var F=tt("Next");i(z,F)}),$$slots:{default:!0}}),"component",ve,36,3,{componentTag:"Button"})}s(K);var J=A(K,2),ee=l(J),E=l(ee),c=l(E);{var y=b=>{var z=tt();Y(()=>G(z,`No ${d()??""}`)),i(b,z)},w=b=>{var z=Fa(),P=A(Q(z)),F=l(P,!0);s(P);var ne=A(P,2),he=l(ne,!0);s(ne);var _e=A(ne,2),Pe=l(_e,!0);s(_e);var Ue=A(_e);Y(()=>{G(F,e(r)),G(he,e(n)),G(Pe,x()),G(Ue,` ${d()??""}`)}),i(b,z)};u(()=>D(c,b=>{o(x(),0)?b(y):b(w,!1)}),"if",ve,50,5)}s(E),s(ee);var j=A(ee,2),I=l(j),W=l(I);{let b=se(()=>o(t(),1));u(()=>Xe(W,{variant:"secondary",size:"sm",get disabled(){return e(b)},class:"rounded-r-none","aria-label":"Previous page",icon:"",$$events:{click:()=>_(t()-1)}}),"component",ve,61,5,{componentTag:"Button"})}var B=A(W,2);u(()=>Te(B,1,()=>(v(p()),g(()=>Array(p()))),je,(b,z,P)=>{const F=Ie(se(()=>P+1),"page");e(F);{let ne=se(()=>o(e(F),t())?"primary":"secondary");u(()=>Xe(b,{get variant(){return e(ne)},size:"sm",class:"rounded-none border-l-0 first:border-l first:rounded-l-md",$$events:{click:()=>_(e(F))},children:ot(ve,(he,_e)=>{nt();var Pe=tt();Y(()=>G(Pe,e(F))),i(he,Pe)}),$$slots:{default:!0}}),"component",ve,74,6,{componentTag:"Button"})}}),"each",ve,72,5);var R=A(B,2);{let b=se(()=>o(t(),p()));u(()=>Xe(R,{variant:"secondary",size:"sm",get disabled(){return e(b)},class:"rounded-l-none","aria-label":"Next page",icon:"",$$events:{click:()=>_(t()+1)}}),"component",ve,84,5,{componentTag:"Button"})}s(I),s(j),s(J),s(X),i(L,X)};u(()=>D(M,L=>{p()>1&&L(H)}),"if",ve,25,0)}return i(N,C),ce({...le()})}Z[m]="src/lib/components/MobileCard.svelte";var Ga=T(S('

'),Z[m],[[179,5]]),Ya=T(S('

'),Z[m],[[176,3,[[177,4]]]]),qa=T(S('

'),Z[m],[[188,5]]),Xa=T(S('

'),Z[m],[[185,3,[[186,4]]]]),Ka=T(S('
'),Z[m],[[201,6,[[205,7]]]]),Ja=T(S('
'),Z[m],[[212,6,[[214,7]]]]),Wa=T(S('
'),Z[m],[[196,3]]),Za=T(S(" "),Z[m],[[229,5]]),Qa=T(S('
'),Z[m],[[240,3]]),$a=T(S('
'),Z[m],[[173,0,[[174,1],[224,1]]]]);function Z(N,a){ie(new.target),de(a,!1,Z);const r=Ze();let n=f(a,"item",8),t=f(a,"config",8);function p(){if(!n())return"Unknown";const{field:c,useId:y,showOwner:w}=t().primaryText,j=n()[c];return y&&j?`${j.slice(0,8)}...`:w&&n().owner&&n().name?`${n().owner}/${n().name}`:j||"Unknown"}function k(){if(!t().secondaryText)return"";const{field:c,computedValue:y}=t().secondaryText;return o(y,void 0,!1)?o(typeof y,"function")?y(n()):y:n()?.[c]||""}function x(){if(!t().primaryText.href||!n())return"#";let c=t().primaryText.href;return c=c.replace("{id}",n().id||""),c=c.replace("{name}",encodeURIComponent(n().name||"")),ke(c)}function d(c){if(!n())return;const y=t().actions?.find(w=>o(w.type,c));y&&y.handler(n()),o(c,"edit")?r("edit",{item:n()}):o(c,"delete")?r("delete",{item:n()}):o(c,"clone")?r("clone",{item:n()}):r("action",{type:c,item:n()})}function h(c){switch(c.type){case"status":if(o(t().entityType,"instance")){const w=n()?.[c.field]||"unknown";let j="neutral",I=w.charAt(0).toUpperCase()+w.slice(1);return o(c.field,"status")?j=o(w,"running")?"success":o(w,"pending")||o(w,"creating")?"info":o(w,"failed")||o(w,"error")?"error":"neutral":o(c.field,"runner_status")&&(j=o(w,"idle")?"info":o(w,"active")||o(w,"running")?"success":o(w,"failed")||o(w,"error")?"error":"neutral"),{variant:j,text:I}}return{variant:"neutral",text:n()?.[c.field]||"Unknown"};case"forge":return{variant:"neutral",text:n()?.[c.field]||"unknown"};case"auth":const y=n()?.[c.field]||"pat";return{variant:o(y,"pat")?"success":"info",text:y.toUpperCase()};case"custom":if(o(typeof c.value,"function")){const w=c.value(n());return{variant:w?.variant||"neutral",text:w?.text||""}}return{variant:c.value?.variant||"neutral",text:c.value?.text||""};default:return{variant:"neutral",text:""}}}ye();var _=$a(),C=l(_),M=l(C);{var H=c=>{var y=Ya(),w=l(y),j=l(w,!0);s(w);var I=A(w,2);{var W=B=>{var R=Ga(),b=l(R,!0);s(R),Y(z=>G(b,z),[()=>g(k)]),i(B,R)};u(()=>D(I,B=>{v(t()),g(()=>t().secondaryText)&&B(W)}),"if",Z,178,4)}s(y),Y((B,R)=>{Be(y,"href",B),Ne(w,1,`text-sm font-medium text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 truncate${v(t()),g(()=>t().primaryText.isMonospace?" font-mono":"")??""}`),G(j,R)},[()=>g(x),()=>g(p)]),i(c,y)},L=c=>{var y=Xa(),w=l(y),j=l(w,!0);s(w);var I=A(w,2);{var W=B=>{var R=qa(),b=l(R,!0);s(R),Y(z=>G(b,z),[()=>g(k)]),i(B,R)};u(()=>D(I,B=>{v(t()),g(()=>t().secondaryText)&&B(W)}),"if",Z,187,4)}s(y),Y(B=>G(j,B),[()=>g(p)]),i(c,y)};u(()=>D(M,c=>{v(t()),g(()=>t().primaryText.isClickable)?c(H):c(L,!1)}),"if",Z,175,2)}var X=A(M,2);{var K=c=>{var y=Wa(),w=l(y);{var j=B=>{var R=te(),b=Q(R);u(()=>Te(b,1,()=>(v(t()),g(()=>t().customInfo)),je,(z,P)=>{const F=Ie(se(()=>(e(P),v(n()),g(()=>o(typeof e(P).icon,"function")?e(P).icon(n()):e(P).icon))),"iconHtml");e(F);const ne=Ie(se(()=>(e(P),v(n()),g(()=>o(typeof e(P).text,"function")?e(P).text(n()):e(P).text))),"text");e(ne);var he=Ka(),_e=l(he);{var Pe=at=>{var Qe=te(),lt=Q(Qe);ct(lt,()=>e(F)),i(at,Qe)};u(()=>D(_e,at=>{e(F)&&at(Pe)}),"if",Z,202,7)}var Ue=A(_e,2),gt=l(Ue,!0);s(Ue),s(he),Y(()=>G(gt,e(ne))),i(z,he)}),"each",Z,198,5),i(B,R)};u(()=>D(w,B=>{v(t()),g(()=>t().customInfo)&&B(j)}),"if",Z,197,4)}var I=A(w,2);{var W=B=>{var R=te(),b=Q(R);u(()=>Te(b,1,()=>(v(t()),g(()=>t().badges.filter(z=>o(z.type,"forge")))),je,(z,P)=>{var F=Ja(),ne=l(F);ct(ne,()=>(v(vt),e(P),v(n()),g(()=>vt(e(P).field?n()?.[e(P).field]||"unknown":n()?.endpoint?.endpoint_type||"unknown"))));var he=A(ne,2),_e=l(he,!0);s(he),s(F),Y(()=>G(_e,(v(n()),g(()=>n()?.endpoint?.name||"Unknown")))),i(z,F)}),"each",Z,211,5),i(B,R)};u(()=>D(I,B=>{v(t()),g(()=>t().badges)&&B(W)}),"if",Z,210,4)}s(y),i(c,y)};u(()=>D(X,c=>{v(t()),g(()=>t().customInfo||t().badges?.some(y=>o(y.type,"forge")))&&c(K)}),"if",Z,195,2)}s(C);var O=A(C,2),U=l(O);{var J=c=>{var y=te(),w=Q(y);u(()=>Te(w,1,()=>(v(t()),g(()=>t().badges.filter(j=>o(j.type,"forge",!1)))),je,(j,I)=>{var W=te(),B=Q(W);{var R=z=>{const P=Ie(se(()=>(e(I),g(()=>h(e(I))))),"badgeProps");e(P);var F=Za(),ne=l(F,!0);s(F),Y(()=>{Ne(F,1,`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ring-1 ring-inset ${v(e(P)),g(()=>o(e(P).variant,"success")?"bg-green-50 text-green-700 ring-green-600/20 dark:bg-green-900/50 dark:text-green-300 dark:ring-green-400/20":o(e(P).variant,"info")?"bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-900/50 dark:text-blue-300 dark:ring-blue-400/20":o(e(P).variant,"error")?"bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-900/50 dark:text-red-300 dark:ring-red-400/20":"bg-gray-50 text-gray-700 ring-gray-600/20 dark:bg-gray-900/50 dark:text-gray-300 dark:ring-gray-400/20")??""}`),G(ne,(v(e(P)),g(()=>e(P).text)))}),i(z,F)},b=z=>{const P=Ie(se(()=>(e(I),g(()=>h(e(I))))),"badgeProps");e(P),u(()=>qt(z,{get variant(){return v(e(P)),g(()=>e(P).variant)},get text(){return v(e(P)),g(()=>e(P).text)}}),"component",Z,234,5,{componentTag:"Badge"})};u(()=>D(B,z=>{e(I),g(()=>o(e(I).type,"status"))?z(R):z(b,!1)}),"if",Z,227,4)}i(j,W)}),"each",Z,226,3),i(c,y)};u(()=>D(U,c=>{v(t()),g(()=>t().badges)&&c(J)}),"if",Z,225,2)}var ee=A(U,2);{var E=c=>{var y=Qa();u(()=>Te(y,5,()=>(v(t()),g(()=>t().actions)),je,(w,j)=>{{let I=se(()=>(e(j),g(()=>o(e(j).type,"clone")?"copy":e(j).type))),W=se(()=>(e(j),v(t()),g(()=>o(e(j).type,"edit")?`Edit ${t().entityType}`:o(e(j).type,"delete")?`Delete ${t().entityType}`:o(e(j).type,"clone")?`Clone ${t().entityType}`:e(j).type))),B=se(()=>(e(j),v(t()),g(()=>o(e(j).type,"edit")?`Edit ${t().entityType}`:o(e(j).type,"delete")?`Delete ${t().entityType}`:o(e(j).type,"clone")?`Clone ${t().entityType}`:e(j).type)));u(()=>Yt(w,{get action(){return e(I)},size:"sm",get title(){return e(W)},get ariaLabel(){return e(B)},$$events:{click:()=>d(e(j).type)}}),"component",Z,242,5,{componentTag:"ActionButton"})}}),"each",Z,241,4),s(y),i(c,y)};u(()=>D(ee,c=>{v(t()),g(()=>t().actions)&&c(E)}),"if",Z,239,2)}return s(O),s(_),i(N,_),ce({...le()})}q[m]="src/lib/components/DataTable.svelte";var er=T(S('
'),q[m],[[197,6]]),tr=T(S('
'),q[m],[[195,4]]),ar=T(S("
"),q[m],[[227,6]]),rr=T(S("
"),q[m],[[235,7]]),nr=T(S(' ',1),q[m],[[220,3,[[221,4]]]]),or=T(S('
'),q[m],[[154,0,[[176,1]]]]);function q(N,a){ie(new.target),de(a,!1,q);var r=wt(a);const n=re();let t=f(a,"columns",24,()=>[]),p=f(a,"data",24,()=>[]),k=f(a,"loading",8,!1),x=f(a,"error",8,""),d=f(a,"totalItems",8,0),h=f(a,"itemName",8,"results"),_=f(a,"searchTerm",12,""),C=f(a,"searchPlaceholder",8,"Search..."),M=f(a,"showSearch",8,!0),H=f(a,"searchType",8,"client"),L=f(a,"searchHelpText",8,""),X=f(a,"currentPage",8,1),K=f(a,"perPage",12,25),O=f(a,"totalPages",8,1),U=f(a,"showPagination",8,!0),J=f(a,"showPerPageSelector",8,!0),ee=f(a,"paginationComponent",8,null),E=f(a,"paginationProps",24,()=>({})),c=f(a,"emptyTitle",8,"No items found"),y=f(a,"emptyMessage",8,""),w=f(a,"emptyIconType",8,"document"),j=f(a,"errorTitle",8,"Error loading data"),I=f(a,"showRetry",8,!1),W=f(a,"showMobileCards",8,!0),B=f(a,"mobileCardConfig",8,null);const R=Ze();function b(V){const be=o(typeof V.detail,"string")?V.detail:V.detail.term;R("search",{term:be})}function z(V){R("pageChange",V.detail)}function P(V){R("perPageChange",V.detail)}function F(){R("retry")}function ne(V){R("edit",V.detail)}function he(V){R("delete",V.detail)}function _e(V){R("clone",V.detail)}function Pe(V){R("shell",V.detail)}function Ue(V){R("action",V.detail)}function gt(V){const be="px-6 py-4 text-sm",Fe=o(V.align,"right")?"text-right":o(V.align,"center")?"text-center":"text-left",Oe=o(V.key,"actions")?"font-medium":"text-gray-900 dark:text-white",Ge=V.flexible?"min-w-0":"";return`${be} ${Fe} ${Oe} ${Ge}`.trim()}function at(){return t().map(V=>V.flexible?`${V.flexRatio||1}fr`:"auto").join(" ")}Ce(()=>(v(y()),v(_()),v(h())),()=>{$(n,y()||(_()?`No items found matching "${_()}"`:`No ${h()} found`))}),We(),ye();var Qe=or(),lt=l(Qe);{var Kt=V=>{var be=te(),Fe=Q(be);{var Oe=oe=>{r.binding("searchTerm",Ee,_),u(()=>Ee(oe,{get placeholder(){return C()},get helpText(){return L()},showButton:!1,get value(){return _()},set value(we){_(we)},$$events:{search:b},$$legacy:!0}),"component",q,157,3,{componentTag:"BackendSearchBar"})},Ge=oe=>{r.binding("searchTerm",ze,_),r.binding("perPage",ze,K),u(()=>ze(oe,{get placeholder(){return C()},get showPerPageSelector(){return J()},get searchTerm(){return _()},set searchTerm(we){_(we)},get perPage(){return K()},set perPage(we){K(we)},$$events:{search:b,perPageChange:P},$$legacy:!0}),"component",q,165,3,{componentTag:"SearchFilterBar"})};u(()=>D(Fe,oe=>{o(H(),"backend")?oe(Oe):oe(Ge,!1)}),"if",q,156,2)}i(V,be)};u(()=>D(lt,V=>{M()&&V(Kt)}),"if",q,155,1)}var Mt=A(lt,2),St=l(Mt);{var Jt=V=>{u(()=>ft(V,{get message(){return`Loading ${h()??""}...`}}),"component",q,178,3,{componentTag:"LoadingState"})},Wt=V=>{var be=te(),Fe=Q(be);{var Oe=oe=>{{let we=se(()=>I()?F:void 0);u(()=>Le(oe,{get title(){return j()},get message(){return x()},get showRetry(){return I()},get onRetry(){return e(we)}}),"component",q,180,3,{componentTag:"ErrorState"})}},Ge=oe=>{var we=te(),mt=Q(we);{var pt=Ae=>{u(()=>fe(Ae,{get title(){return c()},get message(){return e(n)},get iconType(){return w()}}),"component",q,187,3,{componentTag:"EmptyState"})},ht=Ae=>{var Et=nr(),jt=Q(Et);{var $t=ge=>{var ae=tr();Dt(p,(xe,me)=>xe.id||xe.name||me),u(()=>Te(ae,7,p,(xe,me)=>xe.id||xe.name||me,(xe,me,kt)=>{var rt=er(),pe=l(rt);{var $e=De=>{var Ye=te(),Me=Q(Ye);u(()=>bt(Me,()=>(e(me),g(()=>`${e(me).id||e(me).name}-${e(me).updated_at}-mobile`)),qe=>{u(()=>Z(qe,{get item(){return e(me)},get config(){return B()},$$events:{edit(Se){et.call(this,a,Se)},delete(Se){et.call(this,a,Se)},clone(Se){et.call(this,a,Se)},action(Se){et.call(this,a,Se)}}}),"component",q,201,9,{componentTag:"MobileCard"})}),"key",q,200,8),i(De,Ye)},yt=De=>{var Ye=te(),Me=Q(Ye);At(Me,a,"mobile-card",{get item(){return e(me)},get index(){return e(kt)}},null),i(De,Ye)};u(()=>D(pe,De=>{B()?De($e):De(yt,!1)}),"if",q,198,7)}s(rt),i(xe,rt)}),"each",q,196,5),s(ae),i(ge,ae)};u(()=>D(jt,ge=>{W()&&ge($t)}),"if",q,193,3)}var Bt=A(jt,2),xt=l(Bt),zt=l(xt);u(()=>Te(zt,1,t,je,(ge,ae)=>{var xe=ar(),me=l(xe,!0);s(xe),Y(()=>{Ne(xe,1,`px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 ${e(ae),g(()=>o(e(ae).align,"right")?"text-right":o(e(ae).align,"center")?"text-center":"text-left")??""}`),G(me,(e(ae),g(()=>e(ae).title)))}),i(ge,xe)}),"each",q,226,5);var ea=A(zt,2);Dt(p,(ge,ae)=>ge.id||ge.name||ae),u(()=>Te(ea,3,p,(ge,ae)=>ge.id||ge.name||ae,(ge,ae,xe)=>{var me=te(),kt=Q(me);u(()=>Te(kt,1,t,je,(rt,pe)=>{var $e=rr(),yt=l($e);{var De=Me=>{var qe=te(),Se=Q(qe);u(()=>bt(Se,()=>(e(ae),e(pe),g(()=>`${e(ae).id||e(ae).name}-${e(ae).updated_at}-${e(pe).key}`)),ta=>{var Lt=te(),aa=Q(Lt);{let ra=se(()=>o(typeof e(pe).cellProps,"function")?e(pe).cellProps(e(ae)):e(pe).cellProps);u(()=>Ht(aa,()=>e(pe).cellComponent,(na,oa)=>{oa(na,Ut({get item(){return e(ae)}},()=>e(ra),{$$events:{edit:ne,delete:he,clone:_e,shell:Pe,action:Ue}}))}),"component",q,238,10,{componentTag:"svelte:component"})}i(ta,Lt)}),"key",q,237,9),i(Me,qe)},Ye=Me=>{var qe=te(),Se=Q(qe);At(Se,a,"cell",{get item(){return e(ae)},get column(){return e(pe)},get index(){return e(xe)},get value(){return e(ae),e(pe),g(()=>e(ae)[e(pe).key])}},null),i(Me,qe)};u(()=>D(yt,Me=>{e(pe),g(()=>e(pe).cellComponent)?Me(De):Me(Ye,!1)}),"if",q,236,8)}s($e),Y(Me=>Ne($e,1,`${Me??""} border-b border-gray-200 dark:border-gray-700`),[()=>(e(pe),g(()=>gt(e(pe))))]),i(rt,$e)}),"each",q,234,6),i(ge,me)}),"each",q,233,5),s(xt),s(Bt),Y(ge=>Tt(xt,`grid-template-columns: ${ge??""}`),[()=>g(at)]),i(Ae,Et)};u(()=>D(mt,Ae=>{v(p()),g(()=>o(p().length,0))?Ae(pt):Ae(ht,!1)},!0),"if",q,186,2)}i(oe,we)};u(()=>D(Fe,oe=>{x()?oe(Oe):oe(Ge,!1)},!0),"if",q,179,2)}i(V,be)};u(()=>D(St,V=>{k()?V(Jt):V(Wt,!1)}),"if",q,177,2)}var Zt=A(St,2);{var Qt=V=>{var be=te(),Fe=Q(be);{var Oe=oe=>{var we=te(),mt=Q(we);u(()=>Ht(mt,ee,(pt,ht)=>{ht(pt,Ut({get currentPage(){return X()},get totalPages(){return O()},get totalItems(){return d()},get pageSize(){return K()},get loading(){return k()},get itemName(){return h()}},E,{$$events:{pageChange:z,pageSizeChange:P,prefetch(Ae){et.call(this,a,Ae)}}}))}),"component",q,261,4,{componentTag:"svelte:component"}),i(oe,we)},Ge=oe=>{u(()=>ve(oe,{get currentPage(){return X()},get totalPages(){return O()},get perPage(){return K()},get totalItems(){return d()},get itemName(){return h()},$$events:{pageChange:z}}),"component",q,275,4,{componentTag:"TablePagination"})};u(()=>D(Fe,oe=>{ee()?oe(Oe):oe(Ge,!1)}),"if",q,260,3)}i(V,be)};u(()=>D(Zt,V=>{v(U()),v(k()),v(x()),v(p()),g(()=>U()&&!k()&&!x()&&p().length>0)&&V(Qt)}),"if",q,259,2)}return s(Mt),s(Qe),i(N,Qe),ce({...le()})}He[m]="src/lib/components/cells/EntityCell.svelte";var sr=T(S('
'),He[m],[[139,3,[[140,4,[[151,5]]]]]]),ir=T(S('
'),He[m],[[157,2]]),lr=T(S('
Description:
'),He[m],[[165,1,[[169,2,[[170,3],[171,3]]]]]]),dr=T(S(' ',1),He[m],[[131,0,[[132,1,[[133,2]]]]]]);function He(N,a){ie(new.target),de(a,!1,He);const r=re(),n=re();let t=f(a,"item",8),p=f(a,"entityType",8,"repository"),k=f(a,"showOwner",8,!1),x=f(a,"showId",8,!1),d=f(a,"fontMono",8,!1),h=re(null),_=re(!1),C=re(0),M=re(0),H=re(!1);function L(){if(e(h)){const b=e(h).getBoundingClientRect();$(C,b.left),window.innerHeight-b.bottom<150?($(H,!0),$(M,b.top)):($(H,!1),$(M,b.bottom+4))}}function X(){$(_,!0),L()}function K(){$(_,!1)}Ot(()=>{window.addEventListener("scroll",L,!0),window.addEventListener("resize",L)}),Gt(()=>{window.removeEventListener("scroll",L,!0),window.removeEventListener("resize",L)});function O(){if(!t())return"Unknown";switch(p()){case"repository":return k()?`${t().owner||"Unknown"}/${t().name||"Unknown"}`:t().name||"Unknown";case"organization":case"enterprise":return t().name||"Unknown";case"pool":return x()?t().id||"Unknown":t().name||"Unknown";case"scaleset":return t().name||"Unknown";case"instance":return t().name||"Unknown";case"template":return t().name||"Unknown";case"object":return t().name||"Unknown";case"credentials":return t().name||"Unknown";default:return t().name||t().id||"Unknown"}}function U(){if(!t())return"#";let b;switch(p()){case"instance":b=t().name;break;default:b=t().id||t().name;break}if(!b)return"#";switch(p()){case"repository":return ke(`/repositories/${b}`);case"organization":return ke(`/organizations/${b}`);case"enterprise":return ke(`/enterprises/${b}`);case"pool":return ke(`/pools/${b}`);case"scaleset":return ke(`/scalesets/${b}`);case"instance":return ke(`/instances/${encodeURIComponent(b)}`);case"template":return ke(`/templates/${b}`);case"object":return ke(`/objects/${b}`);case"credentials":return ke(`/credentials/${b}`);default:return"#"}}Ce(()=>{},()=>{$(r,O())}),Ce(()=>{},()=>{$(n,U())}),We(),ye();var J=dr(),ee=Q(J),E=l(ee),c=l(E),y=l(c,!0);s(c);var w=A(c,2);{var j=b=>{var z=sr(),P=l(z);Xt(P,F=>$(h,F),()=>e(h)),s(z),Ke("mouseenter",P,X),Ke("mouseleave",P,K),i(b,z)};u(()=>D(w,b=>{v(p()),v(t()),g(()=>o(p(),"object")&&t()?.description)&&b(j)}),"if",He,138,2)}s(E);var I=A(E,2);{var W=b=>{var z=ir(),P=l(z,!0);s(z),Y(()=>G(P,(v(t()),g(()=>t().provider_id)))),i(b,z)};u(()=>D(I,b=>{v(p()),v(t()),g(()=>o(p(),"instance")&&t()?.provider_id)&&b(W)}),"if",He,156,1)}s(ee);var B=A(ee,2);{var R=b=>{var z=lr(),P=l(z),F=A(l(P),2),ne=l(F,!0);s(F),s(P),s(z),Y(()=>{Tt(z,`left: ${e(C)??""}px; top: ${e(M)??""}px; transform: translateY(${e(H)?"-100%":"0"});`),G(ne,(v(t()),g(()=>t().description)))}),i(b,z)};u(()=>D(B,b=>{v(p()),v(t()),e(_),g(()=>o(p(),"object")&&t()?.description&&e(_))&&b(R)}),"if",He,164,0)}return Y(()=>{Be(c,"href",e(n)),Ne(c,1,`truncate text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 ${d()?"font-mono":""}`),Be(c,"title",e(r)),G(y,e(r))}),i(N,J),ce({...le()})}Ct[m]="src/lib/components/cells/EndpointCell.svelte";var cr=T(S('
'),Ct[m],[[8,0,[[9,1],[12,1]]]]);function Ct(N,a){ie(new.target),de(a,!1,Ct);let r=f(a,"item",8),n=f(a,"iconSize",8,"w-5 h-5");ye();var t=cr(),p=l(t),k=l(p);ct(k,()=>(v(vt),v(r()),v(n()),g(()=>vt(r()?.endpoint?.endpoint_type||r()?.endpoint_type||"unknown",n())))),s(p);var x=A(p,2),d=l(x,!0);return s(x),s(t),Y(()=>G(d,(v(r()),g(()=>r()?.endpoint?.name||r()?.endpoint_name||r()?.endpoint_type||"Unknown")))),i(N,t),ce({...le()})}dt[m]="src/lib/components/cells/StatusCell.svelte";function dt(N,a){ie(new.target),de(a,!1,dt);const r=re(),n=re();let t=f(a,"item",8),p=f(a,"statusType",8,"entity"),k=f(a,"statusField",8,"status");Ce(()=>(v(t()),v(k())),()=>{$(r,t()?.[k()]||"unknown")}),Ce(()=>(v(t()),v(p()),e(r),v(k())),()=>{$(n,(()=>{if(!t())return{variant:"error",text:"Unknown"};switch(p()){case"entity":return Vt(t());case"instance":let h="secondary";switch(e(r).toLowerCase()){case"running":h="success";break;case"stopped":h="info";break;case"creating":case"pending_create":h="warning";break;case"deleting":case"pending_delete":case"pending_force_delete":h="warning";break;case"error":case"deleted":h="error";break;case"active":case"online":h="success";break;case"idle":h="info";break;case"pending":case"installing":h="warning";break;case"failed":case"terminated":case"offline":h="error";break;case"unknown":default:h="secondary";break}return{variant:h,text:Ta(e(r))};case"enabled":return{variant:t().enabled?"success":"error",text:t().enabled?"Enabled":"Disabled"};case"os_type":const _=(e(r)||"").toLowerCase();let C="secondary",M=e(r)||"Unknown";switch(_){case"linux":C="success",M="Linux";break;case"windows":C="blue",M="Windows";break;case"macos":case"darwin":C="purple",M="macOS";break;default:C="gray",M=e(r)||"Unknown";break}return{variant:C,text:M};case"forge_type":const H=(e(r)||"").toLowerCase();let L="secondary",X=e(r)||"Unknown";switch(H){case"github":L="gray",X="GitHub";break;case"gitea":L="green",X="Gitea";break;default:L="secondary",X=e(r)||"Unknown";break}return{variant:L,text:X};case"custom":const K=t()[k()]||"Unknown";if(o(k(),"auth-type")){const O=o(K,"pat")||!K?"pat":"app";return{variant:o(O,"pat")?"success":"info",text:o(O,"pat")?"PAT":"App"}}return{variant:"info",text:K};default:return Vt(t())}})())}),We(),ye();var x=te(),d=Q(x);return u(()=>bt(d,()=>(v(t()),v(k()),g(()=>`${t()?.name||"item"}-${t()?.[k()]||"status"}-${t()?.updated_at||"time"}`)),h=>{u(()=>qt(h,{get variant(){return e(n),g(()=>e(n).variant)},get text(){return e(n),g(()=>e(n).text)}}),"component",dt,168,1,{componentTag:"Badge"})}),"key",dt,167,0),i(N,x),ce({...le()})}st[m]="src/lib/components/cells/ActionsCell.svelte";var vr=T(S('
'),st[m],[[48,0]]);function st(N,a){ie(new.target),de(a,!1,st);const r=Ze();let n=f(a,"item",8),t=f(a,"actions",24,()=>[{type:"edit",title:"Edit",ariaLabel:"Edit item",action:"edit"},{type:"delete",title:"Delete",ariaLabel:"Delete item",action:"delete"}]);function p(x,d){if(!n())return;const h=d||x;o(h,"edit")?r("edit",{item:n()}):o(h,"delete")?r("delete",{item:n()}):o(h,"copy")||o(h,"clone")?r("clone",{item:n()}):o(x,"shell")?r("shell",{item:n()}):r("action",{type:h,item:n()})}ye();var k=vr();return u(()=>Te(k,5,t,je,(x,d)=>{const h=Ie(se(()=>(e(d),v(n()),g(()=>e(d).isDisabled?e(d).isDisabled(n()):!1))),"isDisabled");e(h);const _=Ie(se(()=>(e(d),g(()=>o(e(d).action,"clone")?"copy":e(d).action||(o(e(d).type,"edit")?"edit":o(e(d).type,"delete")?"delete":o(e(d).type,"copy")?"copy":o(e(d).type,"shell")?"shell":"view")))),"buttonAction");e(_);const C=Ie(se(()=>(e(d),v(n()),g(()=>o(typeof e(d).disabledTitle,"function")?e(d).disabledTitle(n()):e(d).disabledTitle))),"disabledTitleText");e(C);const M=Ie(se(()=>(v(e(h)),v(e(C)),e(d),g(()=>e(h)&&e(C)?e(C):e(d).title||(o(e(d).type,"edit")?"Edit":o(e(d).type,"delete")?"Delete":o(e(d).type,"copy")?"Clone":o(e(d).type,"shell")?"Shell":e(d).label)))),"buttonTitle");e(M);{let H=se(()=>(e(d),g(()=>e(d).ariaLabel||(o(e(d).type,"edit")?"Edit item":o(e(d).type,"delete")?"Delete item":o(e(d).type,"copy")?"Clone item":o(e(d).type,"shell")?"Open shell":e(d).label))));u(()=>Yt(x,{get action(){return e(_)},get title(){return e(M)},get ariaLabel(){return e(H)},get disabled(){return e(h)},$$events:{click:()=>p(e(d).type,e(d).action)}}),"component",st,54,2,{componentTag:"ActionButton"})}}),"each",st,49,1),s(k),i(N,k),ce({...le()})}it[m]="src/lib/components/cells/GenericCell.svelte";var ur=T(S(" "),it[m],[[55,1]]),fr=T(S(" "),it[m],[[62,1]]);function it(N,a){ie(new.target),de(a,!1,it);const r=re(),n=re();let t=f(a,"item",8),p=f(a,"field",8,void 0),k=f(a,"getValue",8,void 0),x=f(a,"type",8,"text"),d=f(a,"truncateLength",8,50),h=f(a,"showTitle",8,!1);function _(){return t()?k()?k()(t()):p()&&p().split(".").reduce((O,U)=>O?.[U],t())||"":""}function C(){return o(x(),"date")?wa(e(r)):o(x(),"truncated")&&e(r).length>d()?`${e(r).slice(0,d())}...`:e(r)}function M(){switch(x()){case"code":return"inline-block max-w-full truncate bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs font-mono";case"description":return"block w-full truncate text-sm text-gray-500 dark:text-gray-300";case"date":return"block w-full truncate text-sm text-gray-900 dark:text-white font-mono";default:return"block w-full truncate text-sm text-gray-900 dark:text-white"}}Ce(()=>{},()=>{$(r,_())}),Ce(()=>{},()=>{$(n,C())}),We(),ye();var H=te(),L=Q(H);{var X=O=>{var U=ur(),J=l(U,!0);s(U),Y(ee=>{Ne(U,1,`${ee??""} ${h()?"cursor-default":""}`),Be(U,"title",h()?e(r):""),G(J,e(n))},[()=>g(M)]),i(O,U)},K=O=>{var U=fr(),J=l(U,!0);s(U),Y(ee=>{Ne(U,1,`${ee??""} ${h()?"cursor-default":""}`),Be(U,"title",h()?e(r):""),G(J,e(n))},[()=>g(M)]),i(O,U)};u(()=>D(L,O=>{o(x(),"code")?O(X):O(K,!1)}),"if",it,54,0)}return i(N,H),ce({...le()})}Pt[m]="src/lib/components/cells/PoolEntityCell.svelte";var gr=T(S(''),Pt[m],[[8,0,[[9,1],[12,1]]]]);function Pt(N,a){ie(new.target),de(a,!1,Pt);let r=f(a,"item",8),n=f(a,"eagerCache",8,null);ye();var t=gr(),p=l(t),k=l(p,!0);s(p);var x=A(p,2),d=l(x,!0);return s(x),s(t),Y((h,_,C)=>{Be(p,"href",h),G(k,_),G(d,C)},[()=>(v(Nt),v(r()),g(()=>Nt(r()))),()=>(v(Rt),v(r()),v(n()),g(()=>Rt(r(),n()))),()=>(v(Ft),v(r()),g(()=>Ft(r())))]),i(N,t),ce({...le()})}Ve[m]="src/lib/components/cells/InstancePoolCell.svelte";var mr=T(S(' '),Ve[m],[[9,1]]),pr=T(S(' '),Ve[m],[[13,1]]),hr=T(S('-'),Ve[m],[[17,1]]),xr=T(S('
'),Ve[m],[[7,0]]);function Ve(N,a){ie(new.target),de(a,!1,Ve);let r=f(a,"item",8);ye();var n=xr(),t=l(n);{var p=x=>{var d=mr(),h=l(d);s(d),Y(_=>{Be(d,"href",_),Be(d,"title",`Pool: ${v(r()),g(()=>r().pool_id)??""}`),G(h,`Pool: ${v(r()),g(()=>r().pool_id)??""}`)},[()=>(v(ke),v(r()),g(()=>ke(`/pools/${r().pool_id}`)))]),i(x,d)},k=x=>{var d=te(),h=Q(d);{var _=M=>{var H=pr(),L=l(H);s(H),Y(X=>{Be(H,"href",X),Be(H,"title",`Scale Set: ${v(r()),g(()=>r().scale_set_id)??""}`),G(L,`Scale Set: ${v(r()),g(()=>r().scale_set_id)??""}`)},[()=>(v(ke),v(r()),g(()=>ke(`/scalesets/${r().scale_set_id}`)))]),i(M,H)},C=M=>{var H=hr();i(M,H)};u(()=>D(h,M=>{v(r()),g(()=>r()?.scale_set_id)?M(_):M(C,!1)},!0),"if",Ve,12,0)}i(x,d)};u(()=>D(t,x=>{v(r()),g(()=>r()?.pool_id)?x(p):x(k,!1)}),"if",Ve,8,0)}return s(n),i(N,n),ce({...le()})}ue[m]="src/lib/components/cells/TagsCell.svelte";var kr=T(S('-'),ue[m],[[63,1]]),yr=T(S(' '),ue[m],[[73,3]]),_r=T(S(' '),ue[m],[[78,3]]),br=T(S('
'),ue[m],[[66,1]]),wr=T(S(' '),ue[m],[[95,5]]),Tr=T(S('
All tags:
'),ue[m],[[87,1,[[91,2,[[92,3],[93,3]]]]]]),Cr=T(S(" ",1),ue[m],[]);function ue(N,a){ie(new.target),de(a,!1,ue);const r=re(),n=re(),t=re();let p=f(a,"item",8);const k=3;let x=re(null),d=re(!1),h=re(0),_=re(0),C=re(!1);function M(){if(e(x)){const E=e(x).getBoundingClientRect();$(h,E.left),window.innerHeight-E.bottom<150?($(C,!0),$(_,E.top)):($(C,!1),$(_,E.bottom+4))}}function H(){$(d,!0),M()}function L(){$(d,!1)}Ot(()=>{window.addEventListener("scroll",M,!0),window.addEventListener("resize",M)}),Gt(()=>{window.removeEventListener("scroll",M,!0),window.removeEventListener("resize",M)}),Ce(()=>v(p()),()=>{$(r,p()?.tags||[])}),Ce(()=>e(r),()=>{$(n,e(r).slice(0,k))}),Ce(()=>e(r),()=>{$(t,Math.max(0,e(r).length-k))}),We(),ye();var X=Cr(),K=Q(X);{var O=E=>{var c=kr();i(E,c)},U=E=>{var c=br(),y=l(c);u(()=>Te(y,1,()=>e(n),je,(I,W)=>{var B=yr(),R=l(B,!0);s(B),Y(()=>G(R,e(W))),i(I,B)}),"each",ue,72,2);var w=A(y,2);{var j=I=>{var W=_r(),B=l(W);s(W),Y(()=>G(B,`+${e(t)??""} more`)),i(I,W)};u(()=>D(w,I=>{e(t)>0&&I(j)}),"if",ue,77,2)}s(c),Xt(c,I=>$(x,I),()=>e(x)),Ke("mouseenter",c,function(...I){_t(()=>e(r).length>k?H:void 0,this,I,ue,[68,17])}),Ke("mouseleave",c,function(...I){_t(()=>e(r).length>k?L:void 0,this,I,ue,[69,17])}),i(E,c)};u(()=>D(K,E=>{e(r),g(()=>!e(r)||o(e(r).length,0))?E(O):E(U,!1)}),"if",ue,62,0)}var J=A(K,2);{var ee=E=>{var c=Tr(),y=l(c),w=A(l(y),2);u(()=>Te(w,5,()=>e(r),je,(j,I)=>{var W=wr(),B=l(W,!0);s(W),Y(()=>G(B,e(I))),i(j,W)}),"each",ue,94,4),s(w),s(y),s(c),Y(()=>Tt(c,`left: ${e(h)??""}px; top: ${e(_)??""}px; transform: translateY(${e(C)?"-100%":"0"});`)),i(E,c)};u(()=>D(J,E=>{e(r),e(d),g(()=>e(r).length>k&&e(d))&&E(ee)}),"if",ue,86,0)}return i(N,X),ce({...le()})}export{st as A,q as D,He as E,it as G,Ve as I,ft as L,Pt as P,dt as S,ue as T,Ct as a}; diff --git a/webapp/assets/_app/immutable/chunks/CH-vk5qo.js b/webapp/assets/_app/immutable/chunks/CH-vk5qo.js deleted file mode 100644 index d7604eef..00000000 --- a/webapp/assets/_app/immutable/chunks/CH-vk5qo.js +++ /dev/null @@ -1 +0,0 @@ -import{s as t,p as r}from"./BzzAh3Be.js";import"./DzFKsO_V.js";const e={get data(){return r.data},get error(){return r.error},get form(){return r.form},get params(){return r.params},get route(){return r.route},get state(){return r.state},get status(){return r.status},get url(){return r.url}};t.updated.check;const u=e;export{u as p}; diff --git a/webapp/assets/_app/immutable/chunks/DcHRb6xX.js b/webapp/assets/_app/immutable/chunks/CKfnRgQC.js similarity index 88% rename from webapp/assets/_app/immutable/chunks/DcHRb6xX.js rename to webapp/assets/_app/immutable/chunks/CKfnRgQC.js index 9a19c4c9..15432fef 100644 --- a/webapp/assets/_app/immutable/chunks/DcHRb6xX.js +++ b/webapp/assets/_app/immutable/chunks/CKfnRgQC.js @@ -1,10 +1,10 @@ -import{c as Lt,a as He,s as tt,e as Pe,b as xe,d as Dt,i as Rt,l as xt,f as qe,g as gt}from"./CxOx-TIJ.js";import{i as At}from"./3NxSoY2_.js";import{ae as Tt,u as pe,D as Bt,h as Mt,aY as Ot,p as Pt,o as It,g as R,m as Ee,k as te,j as ne,x as Ht,i as Se,l as be,aW as ht,b as Ft,c as ge,r as fe,s as Ie,d as je,t as Xe,f as Wt,a as $t,n as Ut,F as Te}from"./DzFKsO_V.js";import{p as lt,i as Ye}from"./B_jyf0qs.js";import{e as ct}from"./CdXRaxkX.js";import{s as dt,d as Je}from"./BguOOs3x.js";import{b as Nt}from"./Dtavz0EF.js";import{s as zt}from"./CdEA5IGF.js";import{v as ut}from"./DcWIrrGq.js";import{l as Ae}from"./BAcG6-Ep.js";function jt(oe,re,X){Tt(()=>{var Y=pe(()=>re(oe,X?.())||{});if(X&&Y?.update){var Z=!1,le={};Bt(()=>{var O=X();Mt(O),Z&&Ot(le,O)&&(le=O,Y.update(O))}),Z=!0}if(Y?.destroy)return()=>Y.destroy()})}const qt=5,pt=6,Kt=7,Vt=8,Gt=9;function nt(oe,re){const X=new ArrayBuffer(1+re.byteLength);return new DataView(X).setUint8(0,oe),new Uint8Array(X,1).set(new Uint8Array(re)),X}function Xt(oe){const re=new DataView(oe);if(oe.byteLength<1)throw new Error("Message too short");return{type:re.getUint8(0),payload:oe.slice(1)}}function Yt(oe,re){const X=new ArrayBuffer(16+re.length);return new Uint8Array(X,0,16).set(new Uint8Array(oe)),new Uint8Array(X,16).set(re),nt(pt,X)}function Jt(oe,re,X){const Y=new ArrayBuffer(20),Z=new DataView(Y);return new Uint8Array(Y,0,16).set(new Uint8Array(oe)),Z.setUint16(16,X,!1),Z.setUint16(18,re,!1),nt(Kt,Y)}function Zt(oe){const re=new ArrayBuffer(16);return new Uint8Array(re).set(new Uint8Array(oe)),nt(Gt,re)}function Qt(oe,re,X,Y,Z){return new Promise((le,O)=>{try{const o=`${window.location.origin.replace(/^http/,"ws")}/api/v1/ws/agent/${encodeURIComponent(oe)}/shell`,c=new WebSocket(o);c.binaryType="arraybuffer";let _=null,r=!1;const d={ws:c,sessionId:null,onData:re,onReady:X,onExit:Y,onError:Z,sendData:f=>{if(_&&c.readyState===WebSocket.OPEN){const u=Yt(_,f);c.send(u)}},resize:(f,u)=>{if(_&&c.readyState===WebSocket.OPEN){const h=Jt(_,f,u);c.send(h)}},close:()=>{if(_&&c.readyState===WebSocket.OPEN){const f=Zt(_);c.send(f)}c.close()}};c.onopen=()=>{r=!0},c.onmessage=f=>{try{const{type:u,payload:h}=Xt(f.data);switch(u){case qt:if(h.byteLength>=17){const i=new DataView(h),s=h.slice(0,16),e=i.getUint8(16),t=h.byteLength>17?new TextDecoder("utf-8").decode(h.slice(17)):"";e?Z(t||"Shell initialization failed"):(_=s,d.sessionId=_,X())}break;case pt:if(h.byteLength>=16){const i=new Uint8Array(h.slice(16));re(i)}break;case Vt:Y();break;default:console.warn("Unknown message type:",u);break}}catch(u){Z(`Failed to parse message: ${u instanceof Error?u.message:"Unknown error"}`)}},c.onerror=f=>{Z("WebSocket error occurred")},c.onclose=f=>{r?Y():O(new Error(`Failed to connect: ${f.reason||"Connection closed"}`))},le(d)}catch(n){O(n)}})}var it={exports:{}},_t;function ei(){return _t||(_t=1,function(oe,re){(function(X,Y){oe.exports=Y()})(globalThis,()=>(()=>{var X={4567:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.AccessibilityManager=void 0;const r=o(9042),d=o(9924),f=o(844),u=o(4725),h=o(2585),i=o(3656);let s=n.AccessibilityManager=class extends f.Disposable{constructor(e,t,a,g){super(),this._terminal=e,this._coreBrowserService=a,this._renderService=g,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let v=0;vthis._handleBoundaryFocus(v,0),this._bottomBoundaryFocusListener=v=>this._handleBoundaryFocus(v,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new d.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(v=>this._handleResize(v.rows))),this.register(this._terminal.onRender(v=>this._refreshRows(v.start,v.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(v=>this._handleChar(v))),this.register(this._terminal.onLineFeed(()=>this._handleChar(` +import{f as We,s as Xe,e as Te,a as De,c as St,b as lt}from"./o8CdT7B0.js";import{i as Ct}from"./ChJfoPF0.js";import{a7 as bt,u as Se,a8 as wt,h as yt,aU as Et,p as kt,o as Lt,g as R,m as we,j as te,d as ne,q as Dt,l as me,aF as it,b as Rt,c as ve,r as _e,s as Be,t as ze,f as xt,a as At}from"./DUMcBckj.js";import{p as st,i as je}from"./i7pKks78.js";import{e as rt}from"./DC7Aeygn.js";import{s as nt,d as qe}from"./_9uqtkkk.js";import{b as Tt}from"./DwF0DbKK.js";import{s as Bt}from"./CdEA5IGF.js";function Mt(oe,re,X){bt(()=>{var Y=Se(()=>re(oe,X?.())||{});if(X&&Y?.update){var Z=!1,he={};wt(()=>{var O=X();yt(O),Z&&Et(he,O)&&(he=O,Y.update(O))}),Z=!0}if(Y?.destroy)return()=>Y.destroy()})}const Ot=5,ct=6,Pt=7,It=8,Ht=9;function Qe(oe,re){const X=new ArrayBuffer(1+re.byteLength);return new DataView(X).setUint8(0,oe),new Uint8Array(X,1).set(new Uint8Array(re)),X}function Ft(oe){const re=new DataView(oe);if(oe.byteLength<1)throw new Error("Message too short");return{type:re.getUint8(0),payload:oe.slice(1)}}function Wt(oe,re){const X=new ArrayBuffer(16+re.length);return new Uint8Array(X,0,16).set(new Uint8Array(oe)),new Uint8Array(X,16).set(re),Qe(ct,X)}function $t(oe,re,X){const Y=new ArrayBuffer(20),Z=new DataView(Y);return new Uint8Array(Y,0,16).set(new Uint8Array(oe)),Z.setUint16(16,X,!1),Z.setUint16(18,re,!1),Qe(Pt,Y)}function Ut(oe){const re=new ArrayBuffer(16);return new Uint8Array(re).set(new Uint8Array(oe)),Qe(Ht,re)}function Nt(oe,re,X,Y,Z){return new Promise((he,O)=>{try{const o=`${window.location.origin.replace(/^http/,"ws")}/api/v1/ws/agent/${encodeURIComponent(oe)}/shell`,c=new WebSocket(o);c.binaryType="arraybuffer";let _=null,r=!1;const d={ws:c,sessionId:null,onData:re,onReady:X,onExit:Y,onError:Z,sendData:f=>{if(_&&c.readyState===WebSocket.OPEN){const u=Wt(_,f);c.send(u)}},resize:(f,u)=>{if(_&&c.readyState===WebSocket.OPEN){const h=$t(_,f,u);c.send(h)}},close:()=>{if(_&&c.readyState===WebSocket.OPEN){const f=Ut(_);c.send(f)}c.close()}};c.onopen=()=>{r=!0},c.onmessage=f=>{try{const{type:u,payload:h}=Ft(f.data);switch(u){case Ot:if(h.byteLength>=17){const i=new DataView(h),s=h.slice(0,16),e=i.getUint8(16),t=h.byteLength>17?new TextDecoder("utf-8").decode(h.slice(17)):"";e?Z(t||"Shell initialization failed"):(_=s,d.sessionId=_,X())}break;case ct:if(h.byteLength>=16){const i=new Uint8Array(h.slice(16));re(i)}break;case It:Y();break;default:console.warn("Unknown message type:",u);break}}catch(u){Z(`Failed to parse message: ${u instanceof Error?u.message:"Unknown error"}`)}},c.onerror=f=>{Z("WebSocket error occurred")},c.onclose=f=>{r?Y():O(new Error(`Failed to connect: ${f.reason||"Connection closed"}`))},he(d)}catch(n){O(n)}})}var Ye={exports:{}},ot;function zt(){return ot||(ot=1,function(oe,re){(function(X,Y){oe.exports=Y()})(globalThis,()=>(()=>{var X={4567:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.AccessibilityManager=void 0;const r=o(9042),d=o(9924),f=o(844),u=o(4725),h=o(2585),i=o(3656);let s=n.AccessibilityManager=class extends f.Disposable{constructor(e,t,a,g){super(),this._terminal=e,this._coreBrowserService=a,this._renderService=g,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let v=0;vthis._handleBoundaryFocus(v,0),this._bottomBoundaryFocusListener=v=>this._handleBoundaryFocus(v,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new d.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(v=>this._handleResize(v.rows))),this.register(this._terminal.onRender(v=>this._refreshRows(v.start,v.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(v=>this._handleChar(v))),this.register(this._terminal.onLineFeed(()=>this._handleChar(` `))),this.register(this._terminal.onA11yTab(v=>this._handleTab(v))),this.register(this._terminal.onKey(v=>this._handleKey(v.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,i.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,f.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===` `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=r.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const a=this._terminal.buffer,g=a.lines.length.toString();for(let v=e;v<=t;v++){const p=a.lines.get(a.ydisp+v),l=[],S=p?.translateToString(!0,void 0,void 0,l)||"",E=(a.ydisp+v+1).toString(),k=this._rowElements[v];k&&(S.length===0?(k.innerText=" ",this._rowColumns.set(k,[0,1])):(k.textContent=S,this._rowColumns.set(k,l)),k.setAttribute("aria-posinset",E),k.setAttribute("aria-setsize",g))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,t){const a=e.target,g=this._rowElements[t===0?1:this._rowElements.length-2];if(a.getAttribute("aria-posinset")===(t===0?"1":`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==g)return;let v,p;if(t===0?(v=a,p=this._rowElements.pop(),this._rowContainer.removeChild(p)):(v=this._rowElements.shift(),p=a,this._rowContainer.removeChild(v)),v.removeEventListener("focus",this._topBoundaryFocusListener),p.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){const l=this._createAccessibilityTreeNode();this._rowElements.unshift(l),this._rowContainer.insertAdjacentElement("afterbegin",l)}else{const l=this._createAccessibilityTreeNode();this._rowElements.push(l),this._rowContainer.appendChild(l)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;const e=document.getSelection();if(!e)return;if(e.isCollapsed)return void(this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection());if(!e.anchorNode||!e.focusNode)return void console.error("anchorNode and/or focusNode are null");let t={node:e.anchorNode,offset:e.anchorOffset},a={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(a.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===a.node&&t.offset>a.offset)&&([t,a]=[a,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;const g=this._rowElements.slice(-1)[0];if(a.node.compareDocumentPosition(g)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(a={node:g,offset:g.textContent?.length??0}),!this._rowContainer.contains(a.node))return;const v=({node:S,offset:E})=>{const k=S instanceof Text?S.parentNode:S;let x=parseInt(k?.getAttribute("aria-posinset"),10)-1;if(isNaN(x))return console.warn("row is invalid. Race condition?"),null;const w=this._rowColumns.get(k);if(!w)return console.warn("columns is null. Race condition?"),null;let B=E=this._terminal.cols&&(++x,B=0),{row:x,column:B}},p=v(t),l=v(a);if(p&&l){if(p.row>l.row||p.row===l.row&&p.column>=l.column)throw new Error("invalid range");this._terminal.select(p.column,p.row,(l.row-p.row)*this._terminal.cols-p.column+l.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;te;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e{function o(d){return d.replace(/\r?\n/g,"\r")}function c(d,f){return f?"\x1B[200~"+d+"\x1B[201~":d}function _(d,f,u,h){d=c(d=o(d),u.decPrivateModes.bracketedPasteMode&&h.rawOptions.ignoreBracketedPasteMode!==!0),u.triggerDataEvent(d,!0),f.value=""}function r(d,f,u){const h=u.getBoundingClientRect(),i=d.clientX-h.left-10,s=d.clientY-h.top-10;f.style.width="20px",f.style.height="20px",f.style.left=`${i}px`,f.style.top=`${s}px`,f.style.zIndex="1000",f.focus()}Object.defineProperty(n,"__esModule",{value:!0}),n.rightClickHandler=n.moveTextAreaUnderMouseCursor=n.paste=n.handlePasteEvent=n.copyHandler=n.bracketTextForPaste=n.prepareTextForTerminal=void 0,n.prepareTextForTerminal=o,n.bracketTextForPaste=c,n.copyHandler=function(d,f){d.clipboardData&&d.clipboardData.setData("text/plain",f.selectionText),d.preventDefault()},n.handlePasteEvent=function(d,f,u,h){d.stopPropagation(),d.clipboardData&&_(d.clipboardData.getData("text/plain"),f,u,h)},n.paste=_,n.moveTextAreaUnderMouseCursor=r,n.rightClickHandler=function(d,f,u,h,i){r(d,f,u),i&&h.rightClickSelect(d),f.value=h.selectionText,f.select()}},7239:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ColorContrastCache=void 0;const c=o(1505);n.ColorContrastCache=class{constructor(){this._color=new c.TwoKeyMap,this._css=new c.TwoKeyMap}setCss(_,r,d){this._css.set(_,r,d)}getCss(_,r){return this._css.get(_,r)}setColor(_,r,d){this._color.set(_,r,d)}getColor(_,r){return this._color.get(_,r)}clear(){this._color.clear(),this._css.clear()}}},3656:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.addDisposableDomListener=void 0,n.addDisposableDomListener=function(o,c,_,r){o.addEventListener(c,_,r);let d=!1;return{dispose:()=>{d||(d=!0,o.removeEventListener(c,_,r))}}}},3551:function(O,n,o){var c=this&&this.__decorate||function(s,e,t,a){var g,v=arguments.length,p=v<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,a);else for(var l=s.length-1;l>=0;l--)(g=s[l])&&(p=(v<3?g(p):v>3?g(e,t,p):g(e,t))||p);return v>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,a){e(t,a,s)}};Object.defineProperty(n,"__esModule",{value:!0}),n.Linkifier=void 0;const r=o(3656),d=o(8460),f=o(844),u=o(2585),h=o(4725);let i=n.Linkifier=class extends f.Disposable{get currentLink(){return this._currentLink}constructor(s,e,t,a,g){super(),this._element=s,this._mouseService=e,this._renderService=t,this._bufferService=a,this._linkProviderService=g,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new d.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new d.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,f.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,f.toDisposable)(()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this.register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this.register((0,r.addDisposableDomListener)(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this.register((0,r.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,r.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,r.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(s){this._lastMouseEvent=s;const e=this._positionFromMouseEvent(s,this._element,this._mouseService);if(!e)return;this._isMouseOut=!1;const t=s.composedPath();for(let a=0;a{a?.forEach(g=>{g.link.dispose&&g.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=s.y);let t=!1;for(const[a,g]of this._linkProviderService.linkProviders.entries())e?this._activeProviderReplies?.get(a)&&(t=this._checkLinkProviderResult(a,s,t)):g.provideLinks(s.y,v=>{if(this._isMouseOut)return;const p=v?.map(l=>({link:l}));this._activeProviderReplies?.set(a,p),t=this._checkLinkProviderResult(a,s,t),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(s.y,this._activeProviderReplies)})}_removeIntersectingLinks(s,e){const t=new Set;for(let a=0;as?this._bufferService.cols:p.link.range.end.x;for(let E=l;E<=S;E++){if(t.has(E)){g.splice(v--,1);break}t.add(E)}}}}_checkLinkProviderResult(s,e,t){if(!this._activeProviderReplies)return t;const a=this._activeProviderReplies.get(s);let g=!1;for(let v=0;vthis._linkAtPosition(p.link,e));v&&(t=!0,this._handleNewLink(v))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!t)for(let v=0;vthis._linkAtPosition(l.link,e));if(p){t=!0,this._handleNewLink(p);break}}return t}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(s){if(!this._currentLink)return;const e=this._positionFromMouseEvent(s,this._element,this._mouseService);e&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,e)&&this._currentLink.link.activate(s,this._currentLink.link.text)}_clearCurrentLink(s,e){this._currentLink&&this._lastMouseEvent&&(!s||!e||this._currentLink.link.range.start.y>=s&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,f.disposeArray)(this._linkCacheDisposables))}_handleNewLink(s){if(!this._lastMouseEvent)return;const e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._linkAtPosition(s.link,e)&&(this._currentLink=s,this._currentLink.state={decorations:{underline:s.link.decorations===void 0||s.link.decorations.underline,pointerCursor:s.link.decorations===void 0||s.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,s.link,this._lastMouseEvent),s.link.decorations={},Object.defineProperties(s.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:t=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==t&&(this._currentLink.state.decorations.pointerCursor=t,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",t))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(s.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(t=>{if(!this._currentLink)return;const a=t.start===0?0:t.start+1+this._bufferService.buffer.ydisp,g=this._bufferService.buffer.ydisp+1+t.end;if(this._currentLink.link.range.start.y>=a&&this._currentLink.link.range.end.y<=g&&(this._clearCurrentLink(a,g),this._lastMouseEvent)){const v=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);v&&this._askForLink(v,!1)}})))}_linkHover(s,e,t){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&s.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(t,e.text)}_fireUnderlineEvent(s,e){const t=s.range,a=this._bufferService.buffer.ydisp,g=this._createLinkUnderlineEvent(t.start.x-1,t.start.y-a-1,t.end.x,t.end.y-a-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(g)}_linkLeave(s,e,t){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&s.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(t,e.text)}_linkAtPosition(s,e){const t=s.range.start.y*this._bufferService.cols+s.range.start.x,a=s.range.end.y*this._bufferService.cols+s.range.end.x,g=e.y*this._bufferService.cols+e.x;return t<=g&&g<=a}_positionFromMouseEvent(s,e,t){const a=t.getCoords(s,e,this._bufferService.cols,this._bufferService.rows);if(a)return{x:a[0],y:a[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(s,e,t,a,g){return{x1:s,y1:e,x2:t,y2:a,cols:this._bufferService.cols,fg:g}}};n.Linkifier=i=c([_(1,h.IMouseService),_(2,h.IRenderService),_(3,u.IBufferService),_(4,h.ILinkProviderService)],i)},9042:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.tooMuchOutput=n.promptLabel=void 0,n.promptLabel="Terminal input",n.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(O,n,o){var c=this&&this.__decorate||function(h,i,s,e){var t,a=arguments.length,g=a<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(h,i,s,e);else for(var v=h.length-1;v>=0;v--)(t=h[v])&&(g=(a<3?t(g):a>3?t(i,s,g):t(i,s))||g);return a>3&&g&&Object.defineProperty(i,s,g),g},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OscLinkProvider=void 0;const r=o(511),d=o(2585);let f=n.OscLinkProvider=class{constructor(h,i,s){this._bufferService=h,this._optionsService=i,this._oscLinkService=s}provideLinks(h,i){const s=this._bufferService.buffer.lines.get(h-1);if(!s)return void i(void 0);const e=[],t=this._optionsService.rawOptions.linkHandler,a=new r.CellData,g=s.getTrimmedLength();let v=-1,p=-1,l=!1;for(let S=0;St?t.activate(w,B,k):u(0,B),hover:(w,B)=>t?.hover?.(w,B,k),leave:(w,B)=>t?.leave?.(w,B,k)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(p=S,v=a.extended.urlId):(p=-1,v=-1)}}i(e)}};function u(h,i){if(confirm(`Do you want to navigate to ${i}? -WARNING: This link could potentially be dangerous`)){const s=window.open();if(s){try{s.opener=null}catch{}s.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}}n.OscLinkProvider=f=c([_(0,d.IBufferService),_(1,d.IOptionsService),_(2,d.IOscLinkService)],f)},6193:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.RenderDebouncer=void 0,n.RenderDebouncer=class{constructor(o,c){this._renderCallback=o,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(o){return this._refreshCallbacks.push(o),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(o,c,_){this._rowCount=_,o=o!==void 0?o:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const o=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const o of this._refreshCallbacks)o(0);this._refreshCallbacks=[]}}},3236:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Terminal=void 0;const c=o(3614),_=o(3656),r=o(3551),d=o(9042),f=o(3730),u=o(1680),h=o(3107),i=o(5744),s=o(2950),e=o(1296),t=o(428),a=o(4269),g=o(5114),v=o(8934),p=o(3230),l=o(9312),S=o(4725),E=o(6731),k=o(8055),x=o(8969),w=o(8460),B=o(844),I=o(6114),$=o(8437),j=o(2584),W=o(7399),m=o(5941),b=o(9074),y=o(2585),D=o(5435),P=o(4567),U=o(779);class q extends x.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(A={}){super(A),this.browser=I,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new B.MutableDisposable),this._onCursorMove=this.register(new w.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new w.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new w.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new w.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new w.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new w.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new w.EventEmitter),this._onBlur=this.register(new w.EventEmitter),this._onA11yCharEmitter=this.register(new w.EventEmitter),this._onA11yTabEmitter=this.register(new w.EventEmitter),this._onWillOpen=this.register(new w.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(b.DecorationService),this._instantiationService.setService(y.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(U.LinkProviderService),this._instantiationService.setService(S.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(f.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((C,M)=>this.refresh(C,M))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(C=>this._reportWindowsOptions(C))),this.register(this._inputHandler.onColor(C=>this._handleColorEvent(C))),this.register((0,w.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,w.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(C=>this._afterResize(C.cols,C.rows))),this.register((0,B.toDisposable)(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}_handleColorEvent(A){if(this._themeService)for(const C of A){let M,H="";switch(C.index){case 256:M="foreground",H="10";break;case 257:M="background",H="11";break;case 258:M="cursor",H="12";break;default:M="ansi",H="4;"+C.index}switch(C.type){case 0:const z=k.color.toColorRGB(M==="ansi"?this._themeService.colors.ansi[C.index]:this._themeService.colors[M]);this.coreService.triggerDataEvent(`${j.C0.ESC}]${H};${(0,m.toRgbString)(z)}${j.C1_ESCAPED.ST}`);break;case 1:if(M==="ansi")this._themeService.modifyColors(N=>N.ansi[C.index]=k.channels.toColor(...C.color));else{const N=M;this._themeService.modifyColors(J=>J[N]=k.channels.toColor(...C.color))}break;case 2:this._themeService.restoreColor(C.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(A){A?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(P.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(A){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(j.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(j.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const A=this.buffer.ybase+this.buffer.y,C=this.buffer.lines.get(A);if(!C)return;const M=Math.min(this.buffer.x,this.cols-1),H=this._renderService.dimensions.css.cell.height,z=C.getWidth(M),N=this._renderService.dimensions.css.cell.width*z,J=this.buffer.y*this._renderService.dimensions.css.cell.height,se=M*this._renderService.dimensions.css.cell.width;this.textarea.style.left=se+"px",this.textarea.style.top=J+"px",this.textarea.style.width=N+"px",this.textarea.style.height=H+"px",this.textarea.style.lineHeight=H+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,_.addDisposableDomListener)(this.element,"copy",C=>{this.hasSelection()&&(0,c.copyHandler)(C,this._selectionService)}));const A=C=>(0,c.handlePasteEvent)(C,this.textarea,this.coreService,this.optionsService);this.register((0,_.addDisposableDomListener)(this.textarea,"paste",A)),this.register((0,_.addDisposableDomListener)(this.element,"paste",A)),I.isFirefox?this.register((0,_.addDisposableDomListener)(this.element,"mousedown",C=>{C.button===2&&(0,c.rightClickHandler)(C,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,_.addDisposableDomListener)(this.element,"contextmenu",C=>{(0,c.rightClickHandler)(C,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),I.isLinux&&this.register((0,_.addDisposableDomListener)(this.element,"auxclick",C=>{C.button===1&&(0,c.moveTextAreaUnderMouseCursor)(C,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,_.addDisposableDomListener)(this.textarea,"keyup",A=>this._keyUp(A),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keydown",A=>this._keyDown(A),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keypress",A=>this._keyPress(A),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionupdate",A=>this._compositionHelper.compositionupdate(A))),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,_.addDisposableDomListener)(this.textarea,"input",A=>this._inputEvent(A),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(A){if(!A)throw new Error("Terminal requires a parent element.");if(A.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=A.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),A.appendChild(this.element);const C=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),C.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,_.addDisposableDomListener)(this.screenElement,"mousemove",M=>this.updateCursorStyle(M))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),C.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",d.promptLabel),I.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(g.CoreBrowserService,this.textarea,A.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(S.ICoreBrowserService,this._coreBrowserService),this.register((0,_.addDisposableDomListener)(this.textarea,"focus",M=>this._handleTextAreaFocus(M))),this.register((0,_.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(t.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(S.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(E.ThemeService),this._instantiationService.setService(S.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(a.CharacterJoinerService),this._instantiationService.setService(S.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(p.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(S.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(M=>this._onRender.fire(M))),this.onResize(M=>this._renderService.resize(M.cols,M.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(s.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(v.MouseService),this._instantiationService.setService(S.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(r.Linkifier,this.screenElement)),this.element.appendChild(C);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(u.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(M=>this.scrollLines(M.amount,M.suppressScrollEvent,1)),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),this.register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this.register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this.register(this.onBlur(()=>this._renderService.handleBlur())),this.register(this.onFocus(()=>this._renderService.handleFocus())),this.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(l.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(S.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(M=>this.scrollLines(M.amount,M.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(M=>this._renderService.handleSelectionChanged(M.start,M.end,M.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(M=>{this.textarea.value=M,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(M=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,_.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(h.BufferDecorationRenderer,this.screenElement)),this.register((0,_.addDisposableDomListener)(this.element,"mousedown",M=>this._selectionService.handleMouseDown(M))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(P.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",M=>this._handleScreenReaderModeOptionChange(M))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(i.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",M=>{!this._overviewRulerRenderer&&M&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(i.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(e.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const A=this,C=this.element;function M(N){const J=A._mouseService.getMouseReportCoords(N,A.screenElement);if(!J)return!1;let se,ee;switch(N.overrideType||N.type){case"mousemove":ee=32,N.buttons===void 0?(se=3,N.button!==void 0&&(se=N.button<3?N.button:3)):se=1&N.buttons?0:4&N.buttons?1:2&N.buttons?2:3;break;case"mouseup":ee=0,se=N.button<3?N.button:3;break;case"mousedown":ee=1,se=N.button<3?N.button:3;break;case"wheel":if(A._customWheelEventHandler&&A._customWheelEventHandler(N)===!1||A.viewport.getLinesScrolled(N)===0)return!1;ee=N.deltaY<0?0:1,se=4;break;default:return!1}return!(ee===void 0||se===void 0||se>4)&&A.coreMouseService.triggerMouseEvent({col:J.col,row:J.row,x:J.x,y:J.y,button:se,action:ee,ctrl:N.ctrlKey,alt:N.altKey,shift:N.shiftKey})}const H={mouseup:null,wheel:null,mousedrag:null,mousemove:null},z={mouseup:N=>(M(N),N.buttons||(this._document.removeEventListener("mouseup",H.mouseup),H.mousedrag&&this._document.removeEventListener("mousemove",H.mousedrag)),this.cancel(N)),wheel:N=>(M(N),this.cancel(N,!0)),mousedrag:N=>{N.buttons&&M(N)},mousemove:N=>{N.buttons||M(N)}};this.register(this.coreMouseService.onProtocolChange(N=>{N?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(N)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&N?H.mousemove||(C.addEventListener("mousemove",z.mousemove),H.mousemove=z.mousemove):(C.removeEventListener("mousemove",H.mousemove),H.mousemove=null),16&N?H.wheel||(C.addEventListener("wheel",z.wheel,{passive:!1}),H.wheel=z.wheel):(C.removeEventListener("wheel",H.wheel),H.wheel=null),2&N?H.mouseup||(H.mouseup=z.mouseup):(this._document.removeEventListener("mouseup",H.mouseup),H.mouseup=null),4&N?H.mousedrag||(H.mousedrag=z.mousedrag):(this._document.removeEventListener("mousemove",H.mousedrag),H.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,_.addDisposableDomListener)(C,"mousedown",N=>{if(N.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(N))return M(N),H.mouseup&&this._document.addEventListener("mouseup",H.mouseup),H.mousedrag&&this._document.addEventListener("mousemove",H.mousedrag),this.cancel(N)})),this.register((0,_.addDisposableDomListener)(C,"wheel",N=>{if(!H.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(N)===!1)return!1;if(!this.buffer.hasScrollback){const J=this.viewport.getLinesScrolled(N);if(J===0)return;const se=j.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(N.deltaY<0?"A":"B");let ee="";for(let ce=0;ce{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(N),this.cancel(N)},{passive:!0})),this.register((0,_.addDisposableDomListener)(C,"touchmove",N=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(N)?void 0:this.cancel(N)},{passive:!1}))}refresh(A,C){this._renderService?.refreshRows(A,C)}updateCursorStyle(A){this._selectionService?.shouldColumnSelect(A)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(A,C,M=0){M===1?(super.scrollLines(A,C,M),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(A)}paste(A){(0,c.paste)(A,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(A){this._customKeyEventHandler=A}attachCustomWheelEventHandler(A){this._customWheelEventHandler=A}registerLinkProvider(A){return this._linkProviderService.registerLinkProvider(A)}registerCharacterJoiner(A){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const C=this._characterJoinerService.register(A);return this.refresh(0,this.rows-1),C}deregisterCharacterJoiner(A){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(A)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(A){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+A)}registerDecoration(A){return this._decorationService.registerDecoration(A)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(A,C,M){this._selectionService.setSelection(A,C,M)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(A,C){this._selectionService?.selectLines(A,C)}_keyDown(A){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(A)===!1)return!1;const C=this.browser.isMac&&this.options.macOptionIsMeta&&A.altKey;if(!C&&!this._compositionHelper.keydown(A))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;C||A.key!=="Dead"&&A.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const M=(0,W.evaluateKeyboardEvent)(A,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(A),M.type===3||M.type===2){const H=this.rows-1;return this.scrollLines(M.type===2?-H:H),this.cancel(A,!0)}return M.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,A)||(M.cancel&&this.cancel(A,!0),!M.key||!!(A.key&&!A.ctrlKey&&!A.altKey&&!A.metaKey&&A.key.length===1&&A.key.charCodeAt(0)>=65&&A.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(M.key!==j.C0.ETX&&M.key!==j.C0.CR||(this.textarea.value=""),this._onKey.fire({key:M.key,domEvent:A}),this._showCursor(),this.coreService.triggerDataEvent(M.key,!0),!this.optionsService.rawOptions.screenReaderMode||A.altKey||A.ctrlKey?this.cancel(A,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(A,C){const M=A.isMac&&!this.options.macOptionIsMeta&&C.altKey&&!C.ctrlKey&&!C.metaKey||A.isWindows&&C.altKey&&C.ctrlKey&&!C.metaKey||A.isWindows&&C.getModifierState("AltGraph");return C.type==="keypress"?M:M&&(!C.keyCode||C.keyCode>47)}_keyUp(A){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(A)===!1||(function(C){return C.keyCode===16||C.keyCode===17||C.keyCode===18}(A)||this.focus(),this.updateCursorStyle(A),this._keyPressHandled=!1)}_keyPress(A){let C;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(A)===!1)return!1;if(this.cancel(A),A.charCode)C=A.charCode;else if(A.which===null||A.which===void 0)C=A.keyCode;else{if(A.which===0||A.charCode===0)return!1;C=A.which}return!(!C||(A.altKey||A.ctrlKey||A.metaKey)&&!this._isThirdLevelShift(this.browser,A)||(C=String.fromCharCode(C),this._onKey.fire({key:C,domEvent:A}),this._showCursor(),this.coreService.triggerDataEvent(C,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(A){if(A.data&&A.inputType==="insertText"&&(!A.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const C=A.data;return this.coreService.triggerDataEvent(C,!0),this.cancel(A),!0}return!1}resize(A,C){A!==this.cols||C!==this.rows?super.resize(A,C):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(A,C){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let A=1;A{Object.defineProperty(n,"__esModule",{value:!0}),n.TimeBasedDebouncer=void 0,n.TimeBasedDebouncer=class{constructor(o,c=1e3){this._renderCallback=o,this._debounceThresholdMS=c,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(o,c,_){this._rowCount=_,o=o!==void 0?o:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c;const r=Date.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){const d=r-this._lastRefreshMs,f=this._debounceThresholdMS-d;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},f)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const o=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,c)}}},1680:function(O,n,o){var c=this&&this.__decorate||function(s,e,t,a){var g,v=arguments.length,p=v<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,a);else for(var l=s.length-1;l>=0;l--)(g=s[l])&&(p=(v<3?g(p):v>3?g(e,t,p):g(e,t))||p);return v>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,a){e(t,a,s)}};Object.defineProperty(n,"__esModule",{value:!0}),n.Viewport=void 0;const r=o(3656),d=o(4725),f=o(8460),u=o(844),h=o(2585);let i=n.Viewport=class extends u.Disposable{constructor(s,e,t,a,g,v,p,l){super(),this._viewportElement=s,this._scrollArea=e,this._bufferService=t,this._optionsService=a,this._charSizeService=g,this._renderService=v,this._coreBrowserService=p,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new f.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,r.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(S=>this._activeBuffer=S.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(S=>this._renderDimensions=S)),this._handleThemeChange(l.colors),this.register(l.onChangeColors(S=>this._handleThemeChange(S))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(s){this._viewportElement.style.backgroundColor=s.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame(()=>this.syncScrollArea())}_refresh(s){if(s)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const s=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==s&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=s),this._refreshAnimationFrame=null}syncScrollArea(s=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(s);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(s)}_handleScroll(s){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const e=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:e,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const s=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(s*(this._smoothScrollState.target-this._smoothScrollState.origin)),s<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(s,e){const t=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(e<0&&this._viewportElement.scrollTop!==0||e>0&&t0&&(t=k),a=""}}return{bufferElements:g,cursorElement:t}}getLinesScrolled(s){if(s.deltaY===0||s.shiftKey)return 0;let e=this._applyScrollModifier(s.deltaY,s);return s.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(e/=this._currentRowHeight+0,this._wheelPartialScroll+=e,e=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):s.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._bufferService.rows),e}_applyScrollModifier(s,e){const t=this._optionsService.rawOptions.fastScrollModifier;return t==="alt"&&e.altKey||t==="ctrl"&&e.ctrlKey||t==="shift"&&e.shiftKey?s*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:s*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(s){this._lastTouchY=s.touches[0].pageY}handleTouchMove(s){const e=this._lastTouchY-s.touches[0].pageY;return this._lastTouchY=s.touches[0].pageY,e!==0&&(this._viewportElement.scrollTop+=e,this._bubbleScroll(s,e))}};n.Viewport=i=c([_(2,h.IBufferService),_(3,h.IOptionsService),_(4,d.ICharSizeService),_(5,d.IRenderService),_(6,d.ICoreBrowserService),_(7,d.IThemeService)],i)},3107:function(O,n,o){var c=this&&this.__decorate||function(h,i,s,e){var t,a=arguments.length,g=a<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(h,i,s,e);else for(var v=h.length-1;v>=0;v--)(t=h[v])&&(g=(a<3?t(g):a>3?t(i,s,g):t(i,s))||g);return a>3&&g&&Object.defineProperty(i,s,g),g},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.BufferDecorationRenderer=void 0;const r=o(4725),d=o(844),f=o(2585);let u=n.BufferDecorationRenderer=class extends d.Disposable{constructor(h,i,s,e,t){super(),this._screenElement=h,this._bufferService=i,this._coreBrowserService=s,this._decorationService=e,this._renderService=t,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this.register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this.register(this._decorationService.onDecorationRemoved(a=>this._removeDecoration(a))),this.register((0,d.toDisposable)(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(const h of this._decorationService.decorations)this._renderDecoration(h);this._dimensionsChanged=!1}_renderDecoration(h){this._refreshStyle(h),this._dimensionsChanged&&this._refreshXPosition(h)}_createElement(h){const i=this._coreBrowserService.mainDocument.createElement("div");i.classList.add("xterm-decoration"),i.classList.toggle("xterm-decoration-top-layer",h?.options?.layer==="top"),i.style.width=`${Math.round((h.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=(h.options.height||1)*this._renderService.dimensions.css.cell.height+"px",i.style.top=(h.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const s=h.options.x??0;return s&&s>this._bufferService.cols&&(i.style.display="none"),this._refreshXPosition(h,i),i}_refreshStyle(h){const i=h.marker.line-this._bufferService.buffers.active.ydisp;if(i<0||i>=this._bufferService.rows)h.element&&(h.element.style.display="none",h.onRenderEmitter.fire(h.element));else{let s=this._decorationElements.get(h);s||(s=this._createElement(h),h.element=s,this._decorationElements.set(h,s),this._container.appendChild(s),h.onDispose(()=>{this._decorationElements.delete(h),s.remove()})),s.style.top=i*this._renderService.dimensions.css.cell.height+"px",s.style.display=this._altBufferIsActive?"none":"block",h.onRenderEmitter.fire(s)}}_refreshXPosition(h,i=h.element){if(!i)return;const s=h.options.x??0;(h.options.anchor||"left")==="right"?i.style.right=s?s*this._renderService.dimensions.css.cell.width+"px":"":i.style.left=s?s*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(h){this._decorationElements.get(h)?.remove(),this._decorationElements.delete(h),h.dispose()}};n.BufferDecorationRenderer=u=c([_(1,f.IBufferService),_(2,r.ICoreBrowserService),_(3,f.IDecorationService),_(4,r.IRenderService)],u)},5871:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ColorZoneStore=void 0,n.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(o){if(o.options.overviewRulerOptions){for(const c of this._zones)if(c.color===o.options.overviewRulerOptions.color&&c.position===o.options.overviewRulerOptions.position){if(this._lineIntersectsZone(c,o.marker.line))return;if(this._lineAdjacentToZone(c,o.marker.line,o.options.overviewRulerOptions.position))return void this._addLineToZone(c,o.marker.line)}if(this._zonePoolIndex=o.startBufferLine&&c<=o.endBufferLine}_lineAdjacentToZone(o,c,_){return c>=o.startBufferLine-this._linePadding[_||"full"]&&c<=o.endBufferLine+this._linePadding[_||"full"]}_addLineToZone(o,c){o.startBufferLine=Math.min(o.startBufferLine,c),o.endBufferLine=Math.max(o.endBufferLine,c)}}},5744:function(O,n,o){var c=this&&this.__decorate||function(t,a,g,v){var p,l=arguments.length,S=l<3?a:v===null?v=Object.getOwnPropertyDescriptor(a,g):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(t,a,g,v);else for(var E=t.length-1;E>=0;E--)(p=t[E])&&(S=(l<3?p(S):l>3?p(a,g,S):p(a,g))||S);return l>3&&S&&Object.defineProperty(a,g,S),S},_=this&&this.__param||function(t,a){return function(g,v){a(g,v,t)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OverviewRulerRenderer=void 0;const r=o(5871),d=o(4725),f=o(844),u=o(2585),h={full:0,left:0,center:0,right:0},i={full:0,left:0,center:0,right:0},s={full:0,left:0,center:0,right:0};let e=n.OverviewRulerRenderer=class extends f.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(t,a,g,v,p,l,S){super(),this._viewportElement=t,this._screenElement=a,this._bufferService=g,this._decorationService=v,this._renderService=p,this._optionsService=l,this._coreBrowserService=S,this._colorZoneStore=new r.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement);const E=this._canvas.getContext("2d");if(!E)throw new Error("Ctx cannot be null");this._ctx=E,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,f.toDisposable)(()=>{this._canvas?.remove()}))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this.register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",()=>this._queueRefresh(!0))),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._queueRefresh(!0)}_refreshDrawConstants(){const t=Math.floor(this._canvas.width/3),a=Math.ceil(this._canvas.width/3);i.full=this._canvas.width,i.left=t,i.center=a,i.right=t,this._refreshDrawHeightConstants(),s.full=0,s.left=0,s.center=i.left,s.right=i.left+i.center}_refreshDrawHeightConstants(){h.full=Math.round(2*this._coreBrowserService.dpr);const t=this._canvas.height/this._bufferService.buffer.lines.length,a=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);h.left=a,h.center=a,h.right=a}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const a of this._decorationService.decorations)this._colorZoneStore.addDecoration(a);this._ctx.lineWidth=1;const t=this._colorZoneStore.zones;for(const a of t)a.position!=="full"&&this._renderColorZone(a);for(const a of t)a.position==="full"&&this._renderColorZone(a);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(s[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-h[t.position||"full"]/2),i[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+h[t.position||"full"]))}_queueRefresh(t,a){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=a||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};n.OverviewRulerRenderer=e=c([_(2,u.IBufferService),_(3,u.IDecorationService),_(4,d.IRenderService),_(5,u.IOptionsService),_(6,d.ICoreBrowserService)],e)},2950:function(O,n,o){var c=this&&this.__decorate||function(h,i,s,e){var t,a=arguments.length,g=a<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(h,i,s,e);else for(var v=h.length-1;v>=0;v--)(t=h[v])&&(g=(a<3?t(g):a>3?t(i,s,g):t(i,s))||g);return a>3&&g&&Object.defineProperty(i,s,g),g},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CompositionHelper=void 0;const r=o(4725),d=o(2585),f=o(2584);let u=n.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(h,i,s,e,t,a){this._textarea=h,this._compositionView=i,this._bufferService=s,this._optionsService=e,this._coreService=t,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(h){this._compositionView.textContent=h.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(h){if(this._isComposing||this._isSendingComposition){if(h.keyCode===229||h.keyCode===16||h.keyCode===17||h.keyCode===18)return!1;this._finalizeComposition(!1)}return h.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(h){if(this._compositionView.classList.remove("active"),this._isComposing=!1,h){const i={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let s;this._isSendingComposition=!1,i.start+=this._dataAlreadySent.length,s=this._isComposing?this._textarea.value.substring(i.start,i.end):this._textarea.value.substring(i.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}},0)}else{this._isSendingComposition=!1;const i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}}_handleAnyTextareaChanges(){const h=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const i=this._textarea.value,s=i.replace(h,"");this._dataAlreadySent=s,i.length>h.length?this._coreService.triggerDataEvent(s,!0):i.lengththis.updateCompositionElements(!0),0)}}};n.CompositionHelper=u=c([_(2,d.IBufferService),_(3,d.IOptionsService),_(4,d.ICoreService),_(5,r.IRenderService)],u)},9806:(O,n)=>{function o(c,_,r){const d=r.getBoundingClientRect(),f=c.getComputedStyle(r),u=parseInt(f.getPropertyValue("padding-left")),h=parseInt(f.getPropertyValue("padding-top"));return[_.clientX-d.left-u,_.clientY-d.top-h]}Object.defineProperty(n,"__esModule",{value:!0}),n.getCoords=n.getCoordsRelativeToElement=void 0,n.getCoordsRelativeToElement=o,n.getCoords=function(c,_,r,d,f,u,h,i,s){if(!u)return;const e=o(c,_,r);return e?(e[0]=Math.ceil((e[0]+(s?h/2:0))/h),e[1]=Math.ceil(e[1]/i),e[0]=Math.min(Math.max(e[0],1),d+(s?1:0)),e[1]=Math.min(Math.max(e[1],1),f),e):void 0}},9504:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.moveToCellSequence=void 0;const c=o(2584);function _(i,s,e,t){const a=i-r(i,e),g=s-r(s,e),v=Math.abs(a-g)-function(p,l,S){let E=0;const k=p-r(p,S),x=l-r(l,S);for(let w=0;w=0&&is?"A":"B"}function f(i,s,e,t,a,g){let v=i,p=s,l="";for(;v!==e||p!==t;)v+=a?1:-1,a&&v>g.cols-1?(l+=g.buffer.translateBufferLineToString(p,!1,i,v),v=0,i=0,p++):!a&&v<0&&(l+=g.buffer.translateBufferLineToString(p,!1,0,i+1),v=g.cols-1,i=v,p--);return l+g.buffer.translateBufferLineToString(p,!1,i,v)}function u(i,s){const e=s?"O":"[";return c.C0.ESC+e+i}function h(i,s){i=Math.floor(i);let e="";for(let t=0;t0?k-r(k,x):S;const I=k,$=function(j,W,m,b,y,D){let P;return P=_(m,b,y,D).length>0?b-r(b,y):W,j=m&&Pi?"D":"C",h(Math.abs(a-i),u(v,t));v=g>s?"D":"C";const p=Math.abs(g-s);return h(function(l,S){return S.cols-l}(g>s?i:a,e)+(p-1)*e.cols+1+((g>s?a:i)-1),u(v,t))}},1296:function(O,n,o){var c=this&&this.__decorate||function(w,B,I,$){var j,W=arguments.length,m=W<3?B:$===null?$=Object.getOwnPropertyDescriptor(B,I):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(w,B,I,$);else for(var b=w.length-1;b>=0;b--)(j=w[b])&&(m=(W<3?j(m):W>3?j(B,I,m):j(B,I))||m);return W>3&&m&&Object.defineProperty(B,I,m),m},_=this&&this.__param||function(w,B){return function(I,$){B(I,$,w)}};Object.defineProperty(n,"__esModule",{value:!0}),n.DomRenderer=void 0;const r=o(3787),d=o(2550),f=o(2223),u=o(6171),h=o(6052),i=o(4725),s=o(8055),e=o(8460),t=o(844),a=o(2585),g="xterm-dom-renderer-owner-",v="xterm-rows",p="xterm-fg-",l="xterm-bg-",S="xterm-focus",E="xterm-selection";let k=1,x=n.DomRenderer=class extends t.Disposable{constructor(w,B,I,$,j,W,m,b,y,D,P,U,q){super(),this._terminal=w,this._document=B,this._element=I,this._screenElement=$,this._viewportElement=j,this._helperContainer=W,this._linkifier2=m,this._charSizeService=y,this._optionsService=D,this._bufferService=P,this._coreBrowserService=U,this._themeService=q,this._terminalClass=k++,this._rowElements=[],this._selectionRenderModel=(0,h.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new e.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(v),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(E),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,u.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(K=>this._injectCss(K))),this._injectCss(this._themeService.colors),this._rowFactory=b.createInstance(r.DomRendererRowFactory,document),this._element.classList.add(g+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(K=>this._handleLinkHover(K))),this.register(this._linkifier2.onHideLinkUnderline(K=>this._handleLinkLeave(K))),this.register((0,t.toDisposable)(()=>{this._element.classList.remove(g+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new d.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const w=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*w,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*w),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/w),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/w),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const I of this._rowElements)I.style.width=`${this.dimensions.css.canvas.width}px`,I.style.height=`${this.dimensions.css.cell.height}px`,I.style.lineHeight=`${this.dimensions.css.cell.height}px`,I.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const B=`${this._terminalSelector} .${v} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=B,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(w){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let B=`${this._terminalSelector} .${v} { color: ${w.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;B+=`${this._terminalSelector} .${v} .xterm-dim { color: ${s.color.multiplyOpacity(w.foreground,.5).css};}`,B+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const I=`blink_underline_${this._terminalClass}`,$=`blink_bar_${this._terminalClass}`,j=`blink_block_${this._terminalClass}`;B+=`@keyframes ${I} { 50% { border-bottom-style: hidden; }}`,B+=`@keyframes ${$} { 50% { box-shadow: none; }}`,B+=`@keyframes ${j} { 0% { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css}; } 50% { background-color: inherit; color: ${w.cursor.css}; }}`,B+=`${this._terminalSelector} .${v}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${I} 1s step-end infinite;}${this._terminalSelector} .${v}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${$} 1s step-end infinite;}${this._terminalSelector} .${v}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${j} 1s step-end infinite;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-block { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css};}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${w.cursor.css} !important; color: ${w.cursorAccent.css} !important;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${w.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${w.cursor.css} inset;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${w.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,B+=`${this._terminalSelector} .${E} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${E} div { position: absolute; background-color: ${w.selectionBackgroundOpaque.css};}${this._terminalSelector} .${E} div { position: absolute; background-color: ${w.selectionInactiveBackgroundOpaque.css};}`;for(const[W,m]of w.ansi.entries())B+=`${this._terminalSelector} .${p}${W} { color: ${m.css}; }${this._terminalSelector} .${p}${W}.xterm-dim { color: ${s.color.multiplyOpacity(m,.5).css}; }${this._terminalSelector} .${l}${W} { background-color: ${m.css}; }`;B+=`${this._terminalSelector} .${p}${f.INVERTED_DEFAULT_COLOR} { color: ${s.color.opaque(w.background).css}; }${this._terminalSelector} .${p}${f.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${s.color.multiplyOpacity(s.color.opaque(w.background),.5).css}; }${this._terminalSelector} .${l}${f.INVERTED_DEFAULT_COLOR} { background-color: ${w.foreground.css}; }`,this._themeStyleElement.textContent=B}_setDefaultSpacing(){const w=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${w}px`,this._rowFactory.defaultSpacing=w}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(w,B){for(let I=this._rowElements.length;I<=B;I++){const $=this._document.createElement("div");this._rowContainer.appendChild($),this._rowElements.push($)}for(;this._rowElements.length>B;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(w,B){this._refreshRowElements(w,B),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(S),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(S),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(w,B,I){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(w,B,I),this.renderRows(0,this._bufferService.rows-1),!w||!B)return;this._selectionRenderModel.update(this._terminal,w,B,I);const $=this._selectionRenderModel.viewportStartRow,j=this._selectionRenderModel.viewportEndRow,W=this._selectionRenderModel.viewportCappedStartRow,m=this._selectionRenderModel.viewportCappedEndRow;if(W>=this._bufferService.rows||m<0)return;const b=this._document.createDocumentFragment();if(I){const y=w[0]>B[0];b.appendChild(this._createSelectionElement(W,y?B[0]:w[0],y?w[0]:B[0],m-W+1))}else{const y=$===W?w[0]:0,D=W===j?B[0]:this._bufferService.cols;b.appendChild(this._createSelectionElement(W,y,D));const P=m-W-1;if(b.appendChild(this._createSelectionElement(W+1,0,this._bufferService.cols,P)),W!==m){const U=j===m?B[0]:this._bufferService.cols;b.appendChild(this._createSelectionElement(m,0,U))}}this._selectionContainer.appendChild(b)}_createSelectionElement(w,B,I,$=1){const j=this._document.createElement("div"),W=B*this.dimensions.css.cell.width;let m=this.dimensions.css.cell.width*(I-B);return W+m>this.dimensions.css.canvas.width&&(m=this.dimensions.css.canvas.width-W),j.style.height=$*this.dimensions.css.cell.height+"px",j.style.top=w*this.dimensions.css.cell.height+"px",j.style.left=`${W}px`,j.style.width=`${m}px`,j}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const w of this._rowElements)w.replaceChildren()}renderRows(w,B){const I=this._bufferService.buffer,$=I.ybase+I.y,j=Math.min(I.x,this._bufferService.cols-1),W=this._optionsService.rawOptions.cursorBlink,m=this._optionsService.rawOptions.cursorStyle,b=this._optionsService.rawOptions.cursorInactiveStyle;for(let y=w;y<=B;y++){const D=y+I.ydisp,P=this._rowElements[y],U=I.lines.get(D);if(!P||!U)break;P.replaceChildren(...this._rowFactory.createRow(U,D,D===$,m,b,j,W,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${g}${this._terminalClass}`}_handleLinkHover(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!0)}_handleLinkLeave(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!1)}_setCellUnderline(w,B,I,$,j,W){I<0&&(w=0),$<0&&(B=0);const m=this._bufferService.rows-1;I=Math.max(Math.min(I,m),0),$=Math.max(Math.min($,m),0),j=Math.min(j,this._bufferService.cols);const b=this._bufferService.buffer,y=b.ybase+b.y,D=Math.min(b.x,j-1),P=this._optionsService.rawOptions.cursorBlink,U=this._optionsService.rawOptions.cursorStyle,q=this._optionsService.rawOptions.cursorInactiveStyle;for(let K=I;K<=$;++K){const A=K+b.ydisp,C=this._rowElements[K],M=b.lines.get(A);if(!C||!M)break;C.replaceChildren(...this._rowFactory.createRow(M,A,A===y,U,q,D,P,this.dimensions.css.cell.width,this._widthCache,W?K===I?w:0:-1,W?(K===$?B:j)-1:-1))}}};n.DomRenderer=x=c([_(7,a.IInstantiationService),_(8,i.ICharSizeService),_(9,a.IOptionsService),_(10,a.IBufferService),_(11,i.ICoreBrowserService),_(12,i.IThemeService)],x)},3787:function(O,n,o){var c=this&&this.__decorate||function(v,p,l,S){var E,k=arguments.length,x=k<3?p:S===null?S=Object.getOwnPropertyDescriptor(p,l):S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(v,p,l,S);else for(var w=v.length-1;w>=0;w--)(E=v[w])&&(x=(k<3?E(x):k>3?E(p,l,x):E(p,l))||x);return k>3&&x&&Object.defineProperty(p,l,x),x},_=this&&this.__param||function(v,p){return function(l,S){p(l,S,v)}};Object.defineProperty(n,"__esModule",{value:!0}),n.DomRendererRowFactory=void 0;const r=o(2223),d=o(643),f=o(511),u=o(2585),h=o(8055),i=o(4725),s=o(4269),e=o(6171),t=o(3734);let a=n.DomRendererRowFactory=class{constructor(v,p,l,S,E,k,x){this._document=v,this._characterJoinerService=p,this._optionsService=l,this._coreBrowserService=S,this._coreService=E,this._decorationService=k,this._themeService=x,this._workCell=new f.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(v,p,l){this._selectionStart=v,this._selectionEnd=p,this._columnSelectMode=l}createRow(v,p,l,S,E,k,x,w,B,I,$){const j=[],W=this._characterJoinerService.getJoinedCharacters(p),m=this._themeService.colors;let b,y=v.getNoBgTrimmedLength();l&&y0&&J===W[0][0]){ee=!0;const ie=W.shift();V=new s.JoinedCellData(this._workCell,v.translateToString(!0,ie[0],ie[1]),ie[1]-ie[0]),ce=ie[1]-1,se=V.getWidth()}const Le=this._isCellInSelection(J,p),Fe=l&&J===k,We=N&&J>=I&&J<=$;let $e=!1;this._decorationService.forEachDecorationAtCell(J,p,void 0,ie=>{$e=!0});let Ue=V.getChars()||d.WHITESPACE_CELL_CHAR;if(Ue===" "&&(V.isUnderline()||V.isOverline())&&(Ue=" "),H=se*w-B.get(Ue,V.isBold(),V.isItalic()),b){if(D&&(Le&&M||!Le&&!M&&V.bg===U)&&(Le&&M&&m.selectionForeground||V.fg===q)&&V.extended.ext===K&&We===A&&H===C&&!Fe&&!ee&&!$e){V.isInvisible()?P+=d.WHITESPACE_CELL_CHAR:P+=Ue,D++;continue}D&&(b.textContent=P),b=this._document.createElement("span"),D=0,P=""}else b=this._document.createElement("span");if(U=V.bg,q=V.fg,K=V.extended.ext,A=We,C=H,M=Le,ee&&k>=J&&k<=ce&&(k=J),!this._coreService.isCursorHidden&&Fe&&this._coreService.isCursorInitialized){if(z.push("xterm-cursor"),this._coreBrowserService.isFocused)x&&z.push("xterm-cursor-blink"),z.push(S==="bar"?"xterm-cursor-bar":S==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(E)switch(E){case"outline":z.push("xterm-cursor-outline");break;case"block":z.push("xterm-cursor-block");break;case"bar":z.push("xterm-cursor-bar");break;case"underline":z.push("xterm-cursor-underline")}}if(V.isBold()&&z.push("xterm-bold"),V.isItalic()&&z.push("xterm-italic"),V.isDim()&&z.push("xterm-dim"),P=V.isInvisible()?d.WHITESPACE_CELL_CHAR:V.getChars()||d.WHITESPACE_CELL_CHAR,V.isUnderline()&&(z.push(`xterm-underline-${V.extended.underlineStyle}`),P===" "&&(P=" "),!V.isUnderlineColorDefault()))if(V.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${t.AttributeData.toColorRGB(V.getUnderlineColor()).join(",")})`;else{let ie=V.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&V.isBold()&&ie<8&&(ie+=8),b.style.textDecorationColor=m.ansi[ie].css}V.isOverline()&&(z.push("xterm-overline"),P===" "&&(P=" ")),V.isStrikethrough()&&z.push("xterm-strikethrough"),We&&(b.style.textDecoration="underline");let ue=V.getFgColor(),Be=V.getFgColorMode(),Ce=V.getBgColor(),Me=V.getBgColorMode();const Ne=!!V.isInverse();if(Ne){const ie=ue;ue=Ce,Ce=ie;const Ke=Be;Be=Me,Me=Ke}let me,De,we,Re=!1;switch(this._decorationService.forEachDecorationAtCell(J,p,void 0,ie=>{ie.options.layer!=="top"&&Re||(ie.backgroundColorRGB&&(Me=50331648,Ce=ie.backgroundColorRGB.rgba>>8&16777215,me=ie.backgroundColorRGB),ie.foregroundColorRGB&&(Be=50331648,ue=ie.foregroundColorRGB.rgba>>8&16777215,De=ie.foregroundColorRGB),Re=ie.options.layer==="top")}),!Re&&Le&&(me=this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque,Ce=me.rgba>>8&16777215,Me=50331648,Re=!0,m.selectionForeground&&(Be=50331648,ue=m.selectionForeground.rgba>>8&16777215,De=m.selectionForeground)),Re&&z.push("xterm-decoration-top"),Me){case 16777216:case 33554432:we=m.ansi[Ce],z.push(`xterm-bg-${Ce}`);break;case 50331648:we=h.channels.toColor(Ce>>16,Ce>>8&255,255&Ce),this._addStyle(b,`background-color:#${g((Ce>>>0).toString(16),"0",6)}`);break;default:Ne?(we=m.foreground,z.push(`xterm-bg-${r.INVERTED_DEFAULT_COLOR}`)):we=m.background}switch(me||V.isDim()&&(me=h.color.multiplyOpacity(we,.5)),Be){case 16777216:case 33554432:V.isBold()&&ue<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ue+=8),this._applyMinimumContrast(b,we,m.ansi[ue],V,me,void 0)||z.push(`xterm-fg-${ue}`);break;case 50331648:const ie=h.channels.toColor(ue>>16&255,ue>>8&255,255&ue);this._applyMinimumContrast(b,we,ie,V,me,De)||this._addStyle(b,`color:#${g(ue.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(b,we,m.foreground,V,me,De)||Ne&&z.push(`xterm-fg-${r.INVERTED_DEFAULT_COLOR}`)}z.length&&(b.className=z.join(" "),z.length=0),Fe||ee||$e?b.textContent=P:D++,H!==this.defaultSpacing&&(b.style.letterSpacing=`${H}px`),j.push(b),J=ce}return b&&D&&(b.textContent=P),j}_applyMinimumContrast(v,p,l,S,E,k){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,e.treatGlyphAsBackgroundColor)(S.getCode()))return!1;const x=this._getContrastCache(S);let w;if(E||k||(w=x.getColor(p.rgba,l.rgba)),w===void 0){const B=this._optionsService.rawOptions.minimumContrastRatio/(S.isDim()?2:1);w=h.color.ensureContrastRatio(E||p,k||l,B),x.setColor((E||p).rgba,(k||l).rgba,w??null)}return!!w&&(this._addStyle(v,`color:${w.css}`),!0)}_getContrastCache(v){return v.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(v,p){v.setAttribute("style",`${v.getAttribute("style")||""}${p};`)}_isCellInSelection(v,p){const l=this._selectionStart,S=this._selectionEnd;return!(!l||!S)&&(this._columnSelectMode?l[0]<=S[0]?v>=l[0]&&p>=l[1]&&v=l[1]&&v>=S[0]&&p<=S[1]:p>l[1]&&p=l[0]&&v=l[0])}};function g(v,p,l){for(;v.length{Object.defineProperty(n,"__esModule",{value:!0}),n.WidthCache=void 0,n.WidthCache=class{constructor(o,c){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=o.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const _=o.createElement("span");_.classList.add("xterm-char-measure-element");const r=o.createElement("span");r.classList.add("xterm-char-measure-element"),r.style.fontWeight="bold";const d=o.createElement("span");d.classList.add("xterm-char-measure-element"),d.style.fontStyle="italic";const f=o.createElement("span");f.classList.add("xterm-char-measure-element"),f.style.fontWeight="bold",f.style.fontStyle="italic",this._measureElements=[_,r,d,f],this._container.appendChild(_),this._container.appendChild(r),this._container.appendChild(d),this._container.appendChild(f),c.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(o,c,_,r){o===this._font&&c===this._fontSize&&_===this._weight&&r===this._weightBold||(this._font=o,this._fontSize=c,this._weight=_,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${_}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${_}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(o,c,_){let r=0;if(!c&&!_&&o.length===1&&(r=o.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];const u=this._measure(o,0);return u>0&&(this._flat[r]=u),u}let d=o;c&&(d+="B"),_&&(d+="I");let f=this._holey.get(d);if(f===void 0){let u=0;c&&(u|=1),_&&(u|=2),f=this._measure(o,u),f>0&&this._holey.set(d,f)}return f}_measure(o,c){const _=this._measureElements[c];return _.textContent=o.repeat(32),_.offsetWidth/32}}},2223:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.TEXT_BASELINE=n.DIM_OPACITY=n.INVERTED_DEFAULT_COLOR=void 0;const c=o(6114);n.INVERTED_DEFAULT_COLOR=257,n.DIM_OPACITY=.5,n.TEXT_BASELINE=c.isFirefox||c.isLegacyEdge?"bottom":"ideographic"},6171:(O,n)=>{function o(_){return 57508<=_&&_<=57558}function c(_){return _>=128512&&_<=128591||_>=127744&&_<=128511||_>=128640&&_<=128767||_>=9728&&_<=9983||_>=9984&&_<=10175||_>=65024&&_<=65039||_>=129280&&_<=129535||_>=127462&&_<=127487}Object.defineProperty(n,"__esModule",{value:!0}),n.computeNextVariantOffset=n.createRenderDimensions=n.treatGlyphAsBackgroundColor=n.allowRescaling=n.isEmoji=n.isRestrictedPowerlineGlyph=n.isPowerlineGlyph=n.throwIfFalsy=void 0,n.throwIfFalsy=function(_){if(!_)throw new Error("value must not be falsy");return _},n.isPowerlineGlyph=o,n.isRestrictedPowerlineGlyph=function(_){return 57520<=_&&_<=57527},n.isEmoji=c,n.allowRescaling=function(_,r,d,f){return r===1&&d>Math.ceil(1.5*f)&&_!==void 0&&_>255&&!c(_)&&!o(_)&&!function(u){return 57344<=u&&u<=63743}(_)},n.treatGlyphAsBackgroundColor=function(_){return o(_)||function(r){return 9472<=r&&r<=9631}(_)},n.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},n.computeNextVariantOffset=function(_,r,d=0){return(_-(2*Math.round(r)-d))%(2*Math.round(r))}},6052:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createSelectionRenderModel=void 0;class o{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(_,r,d,f=!1){if(this.selectionStart=r,this.selectionEnd=d,!r||!d||r[0]===d[0]&&r[1]===d[1])return void this.clear();const u=_.buffers.active.ydisp,h=r[1]-u,i=d[1]-u,s=Math.max(h,0),e=Math.min(i,_.rows-1);s>=_.rows||e<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=f,this.viewportStartRow=h,this.viewportEndRow=i,this.viewportCappedStartRow=s,this.viewportCappedEndRow=e,this.startCol=r[0],this.endCol=d[0])}isCellSelected(_,r,d){return!!this.hasSelection&&(d-=_.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?r>=this.startCol&&d>=this.viewportCappedStartRow&&r=this.viewportCappedStartRow&&r>=this.endCol&&d<=this.viewportCappedEndRow:d>this.viewportStartRow&&d=this.startCol&&r=this.startCol)}}n.createSelectionRenderModel=function(){return new o}},456:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SelectionModel=void 0,n.SelectionModel=class{constructor(o){this._bufferService=o,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?o%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)-1]:[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[o,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[Math.max(o,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const o=this.selectionStart,c=this.selectionEnd;return!(!o||!c)&&(o[1]>c[1]||o[1]===c[1]&&o[0]>c[0])}handleTrim(o){return this.selectionStart&&(this.selectionStart[1]-=o),this.selectionEnd&&(this.selectionEnd[1]-=o),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CharSizeService=void 0;const r=o(2585),d=o(8460),f=o(844);let u=n.CharSizeService=class extends f.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,a){super(),this._optionsService=a,this.width=0,this.height=0,this._onCharSizeChange=this.register(new d.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new s(this._optionsService))}catch{this._measureStrategy=this.register(new i(e,t,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};n.CharSizeService=u=c([_(2,r.IOptionsService)],u);class h extends f.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,a){t!==void 0&&t>0&&a!==void 0&&a>0&&(this._result.width=t,this._result.height=a)}}class i extends h{constructor(t,a,g){super(),this._document=t,this._parentElement=a,this._optionsService=g,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class s extends h{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const a=this._ctx.measureText("W");if(!("width"in a&&"fontBoundingBoxAscent"in a&&"fontBoundingBoxDescent"in a))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}}},4269:function(O,n,o){var c=this&&this.__decorate||function(s,e,t,a){var g,v=arguments.length,p=v<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,a);else for(var l=s.length-1;l>=0;l--)(g=s[l])&&(p=(v<3?g(p):v>3?g(e,t,p):g(e,t))||p);return v>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,a){e(t,a,s)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CharacterJoinerService=n.JoinedCellData=void 0;const r=o(3734),d=o(643),f=o(511),u=o(2585);class h extends r.AttributeData{constructor(e,t,a){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.JoinedCellData=h;let i=n.CharacterJoinerService=class mt{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new f.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t1){const x=this._getJoinedRanges(g,l,p,t,v);for(let w=0;w1){const k=this._getJoinedRanges(g,l,p,t,v);for(let x=0;x{Object.defineProperty(n,"__esModule",{value:!0}),n.CoreBrowserService=void 0;const c=o(844),_=o(8460),r=o(3656);class d extends c.Disposable{constructor(h,i,s){super(),this._textarea=h,this._window=i,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new f(this._window),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new _.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this.register((0,_.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",()=>this._isFocused=!0),this._textarea.addEventListener("blur",()=>this._isFocused=!1)}get window(){return this._window}set window(h){this._window!==h&&(this._window=h,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}}n.CoreBrowserService=d;class f extends c.Disposable{constructor(h){super(),this._parentWindow=h,this._windowResizeListener=this.register(new c.MutableDisposable),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,c.toDisposable)(()=>this.clearListener()))}setWindow(h){this._parentWindow=h,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,r.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.LinkProviderService=void 0;const c=o(844);class _ extends c.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,c.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(d){return this.linkProviders.push(d),{dispose:()=>{const f=this.linkProviders.indexOf(d);f!==-1&&this.linkProviders.splice(f,1)}}}}n.LinkProviderService=_},8934:function(O,n,o){var c=this&&this.__decorate||function(u,h,i,s){var e,t=arguments.length,a=t<3?h:s===null?s=Object.getOwnPropertyDescriptor(h,i):s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(u,h,i,s);else for(var g=u.length-1;g>=0;g--)(e=u[g])&&(a=(t<3?e(a):t>3?e(h,i,a):e(h,i))||a);return t>3&&a&&Object.defineProperty(h,i,a),a},_=this&&this.__param||function(u,h){return function(i,s){h(i,s,u)}};Object.defineProperty(n,"__esModule",{value:!0}),n.MouseService=void 0;const r=o(4725),d=o(9806);let f=n.MouseService=class{constructor(u,h){this._renderService=u,this._charSizeService=h}getCoords(u,h,i,s,e){return(0,d.getCoords)(window,u,h,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,e)}getMouseReportCoords(u,h){const i=(0,d.getCoordsRelativeToElement)(window,u,h);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};n.MouseService=f=c([_(0,r.IRenderService),_(1,r.ICharSizeService)],f)},3230:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.RenderService=void 0;const r=o(6193),d=o(4725),f=o(8460),u=o(844),h=o(7226),i=o(2585);let s=n.RenderService=class extends u.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,a,g,v,p,l,S){super(),this._rowCount=e,this._charSizeService=g,this._renderer=this.register(new u.MutableDisposable),this._pausedResizeTask=new h.DebouncedIdleTask,this._observerDisposable=this.register(new u.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new f.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new f.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new f.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new f.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new r.RenderDebouncer((E,k)=>this._renderRows(E,k),l),this.register(this._renderDebouncer),this.register(l.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(p.onResize(()=>this._fullRefresh())),this.register(p.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this.register(a.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(v.onDecorationRegistered(()=>this._fullRefresh())),this.register(v.onDecorationRemoved(()=>this._fullRefresh())),this.register(a.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(p.cols,p.rows),this._fullRefresh()})),this.register(a.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(p.buffer.y,p.buffer.y,!0))),this.register(S.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(l.window,t),this.register(l.onWindowChange(E=>this._registerIntersectionObserver(E,t)))}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){const a=new e.IntersectionObserver(g=>this._handleIntersectionChange(g[g.length-1]),{threshold:0});a.observe(t),this._observerDisposable.value=(0,u.toDisposable)(()=>a.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,a=!1){this._isPaused?this._needsFullRefresh=!0:(a||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(t=>this.refreshRows(t.start,t.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,a){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=a,this._renderer.value?.handleSelectionChanged(e,t,a)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};n.RenderService=s=c([_(2,i.IOptionsService),_(3,d.ICharSizeService),_(4,i.IDecorationService),_(5,i.IBufferService),_(6,d.ICoreBrowserService),_(7,d.IThemeService)],s)},9312:function(O,n,o){var c=this&&this.__decorate||function(l,S,E,k){var x,w=arguments.length,B=w<3?S:k===null?k=Object.getOwnPropertyDescriptor(S,E):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")B=Reflect.decorate(l,S,E,k);else for(var I=l.length-1;I>=0;I--)(x=l[I])&&(B=(w<3?x(B):w>3?x(S,E,B):x(S,E))||B);return w>3&&B&&Object.defineProperty(S,E,B),B},_=this&&this.__param||function(l,S){return function(E,k){S(E,k,l)}};Object.defineProperty(n,"__esModule",{value:!0}),n.SelectionService=void 0;const r=o(9806),d=o(9504),f=o(456),u=o(4725),h=o(8460),i=o(844),s=o(6114),e=o(4841),t=o(511),a=o(2585),g=" ",v=new RegExp(g,"g");let p=n.SelectionService=class extends i.Disposable{constructor(l,S,E,k,x,w,B,I,$){super(),this._element=l,this._screenElement=S,this._linkifier=E,this._bufferService=k,this._coreService=x,this._mouseService=w,this._optionsService=B,this._renderService=I,this._coreBrowserService=$,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new t.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new h.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new h.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new h.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new h.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=j=>this._handleMouseMove(j),this._mouseUpListener=j=>this._handleMouseUp(j),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(j=>this._handleTrim(j)),this.register(this._bufferService.buffers.onBufferActivate(j=>this._handleBufferActivate(j))),this.enable(),this._model=new f.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,i.toDisposable)(()=>{this._removeMouseDownListeners()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const l=this._model.finalSelectionStart,S=this._model.finalSelectionEnd;return!(!l||!S||l[0]===S[0]&&l[1]===S[1])}get selectionText(){const l=this._model.finalSelectionStart,S=this._model.finalSelectionEnd;if(!l||!S)return"";const E=this._bufferService.buffer,k=[];if(this._activeSelectionMode===3){if(l[0]===S[0])return"";const x=l[0]x.replace(v," ")).join(s.isWindows?`\r +WARNING: This link could potentially be dangerous`)){const s=window.open();if(s){try{s.opener=null}catch{}s.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}}n.OscLinkProvider=f=c([_(0,d.IBufferService),_(1,d.IOptionsService),_(2,d.IOscLinkService)],f)},6193:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.RenderDebouncer=void 0,n.RenderDebouncer=class{constructor(o,c){this._renderCallback=o,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(o){return this._refreshCallbacks.push(o),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(o,c,_){this._rowCount=_,o=o!==void 0?o:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const o=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const o of this._refreshCallbacks)o(0);this._refreshCallbacks=[]}}},3236:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Terminal=void 0;const c=o(3614),_=o(3656),r=o(3551),d=o(9042),f=o(3730),u=o(1680),h=o(3107),i=o(5744),s=o(2950),e=o(1296),t=o(428),a=o(4269),g=o(5114),v=o(8934),p=o(3230),l=o(9312),S=o(4725),E=o(6731),k=o(8055),x=o(8969),w=o(8460),B=o(844),I=o(6114),$=o(8437),j=o(2584),W=o(7399),m=o(5941),b=o(9074),y=o(2585),L=o(5435),P=o(4567),U=o(779);class q extends x.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(A={}){super(A),this.browser=I,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new B.MutableDisposable),this._onCursorMove=this.register(new w.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new w.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new w.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new w.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new w.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new w.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new w.EventEmitter),this._onBlur=this.register(new w.EventEmitter),this._onA11yCharEmitter=this.register(new w.EventEmitter),this._onA11yTabEmitter=this.register(new w.EventEmitter),this._onWillOpen=this.register(new w.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(b.DecorationService),this._instantiationService.setService(y.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(U.LinkProviderService),this._instantiationService.setService(S.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(f.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((C,M)=>this.refresh(C,M))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(C=>this._reportWindowsOptions(C))),this.register(this._inputHandler.onColor(C=>this._handleColorEvent(C))),this.register((0,w.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,w.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(C=>this._afterResize(C.cols,C.rows))),this.register((0,B.toDisposable)(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}_handleColorEvent(A){if(this._themeService)for(const C of A){let M,H="";switch(C.index){case 256:M="foreground",H="10";break;case 257:M="background",H="11";break;case 258:M="cursor",H="12";break;default:M="ansi",H="4;"+C.index}switch(C.type){case 0:const z=k.color.toColorRGB(M==="ansi"?this._themeService.colors.ansi[C.index]:this._themeService.colors[M]);this.coreService.triggerDataEvent(`${j.C0.ESC}]${H};${(0,m.toRgbString)(z)}${j.C1_ESCAPED.ST}`);break;case 1:if(M==="ansi")this._themeService.modifyColors(N=>N.ansi[C.index]=k.channels.toColor(...C.color));else{const N=M;this._themeService.modifyColors(J=>J[N]=k.channels.toColor(...C.color))}break;case 2:this._themeService.restoreColor(C.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(A){A?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(P.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(A){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(j.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(j.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const A=this.buffer.ybase+this.buffer.y,C=this.buffer.lines.get(A);if(!C)return;const M=Math.min(this.buffer.x,this.cols-1),H=this._renderService.dimensions.css.cell.height,z=C.getWidth(M),N=this._renderService.dimensions.css.cell.width*z,J=this.buffer.y*this._renderService.dimensions.css.cell.height,se=M*this._renderService.dimensions.css.cell.width;this.textarea.style.left=se+"px",this.textarea.style.top=J+"px",this.textarea.style.width=N+"px",this.textarea.style.height=H+"px",this.textarea.style.lineHeight=H+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,_.addDisposableDomListener)(this.element,"copy",C=>{this.hasSelection()&&(0,c.copyHandler)(C,this._selectionService)}));const A=C=>(0,c.handlePasteEvent)(C,this.textarea,this.coreService,this.optionsService);this.register((0,_.addDisposableDomListener)(this.textarea,"paste",A)),this.register((0,_.addDisposableDomListener)(this.element,"paste",A)),I.isFirefox?this.register((0,_.addDisposableDomListener)(this.element,"mousedown",C=>{C.button===2&&(0,c.rightClickHandler)(C,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,_.addDisposableDomListener)(this.element,"contextmenu",C=>{(0,c.rightClickHandler)(C,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),I.isLinux&&this.register((0,_.addDisposableDomListener)(this.element,"auxclick",C=>{C.button===1&&(0,c.moveTextAreaUnderMouseCursor)(C,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,_.addDisposableDomListener)(this.textarea,"keyup",A=>this._keyUp(A),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keydown",A=>this._keyDown(A),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keypress",A=>this._keyPress(A),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionupdate",A=>this._compositionHelper.compositionupdate(A))),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,_.addDisposableDomListener)(this.textarea,"input",A=>this._inputEvent(A),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(A){if(!A)throw new Error("Terminal requires a parent element.");if(A.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=A.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),A.appendChild(this.element);const C=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),C.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,_.addDisposableDomListener)(this.screenElement,"mousemove",M=>this.updateCursorStyle(M))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),C.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",d.promptLabel),I.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(g.CoreBrowserService,this.textarea,A.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(S.ICoreBrowserService,this._coreBrowserService),this.register((0,_.addDisposableDomListener)(this.textarea,"focus",M=>this._handleTextAreaFocus(M))),this.register((0,_.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(t.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(S.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(E.ThemeService),this._instantiationService.setService(S.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(a.CharacterJoinerService),this._instantiationService.setService(S.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(p.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(S.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(M=>this._onRender.fire(M))),this.onResize(M=>this._renderService.resize(M.cols,M.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(s.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(v.MouseService),this._instantiationService.setService(S.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(r.Linkifier,this.screenElement)),this.element.appendChild(C);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(u.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(M=>this.scrollLines(M.amount,M.suppressScrollEvent,1)),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),this.register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this.register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this.register(this.onBlur(()=>this._renderService.handleBlur())),this.register(this.onFocus(()=>this._renderService.handleFocus())),this.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(l.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(S.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(M=>this.scrollLines(M.amount,M.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(M=>this._renderService.handleSelectionChanged(M.start,M.end,M.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(M=>{this.textarea.value=M,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(M=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,_.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(h.BufferDecorationRenderer,this.screenElement)),this.register((0,_.addDisposableDomListener)(this.element,"mousedown",M=>this._selectionService.handleMouseDown(M))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(P.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",M=>this._handleScreenReaderModeOptionChange(M))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(i.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",M=>{!this._overviewRulerRenderer&&M&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(i.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(e.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const A=this,C=this.element;function M(N){const J=A._mouseService.getMouseReportCoords(N,A.screenElement);if(!J)return!1;let se,ee;switch(N.overrideType||N.type){case"mousemove":ee=32,N.buttons===void 0?(se=3,N.button!==void 0&&(se=N.button<3?N.button:3)):se=1&N.buttons?0:4&N.buttons?1:2&N.buttons?2:3;break;case"mouseup":ee=0,se=N.button<3?N.button:3;break;case"mousedown":ee=1,se=N.button<3?N.button:3;break;case"wheel":if(A._customWheelEventHandler&&A._customWheelEventHandler(N)===!1||A.viewport.getLinesScrolled(N)===0)return!1;ee=N.deltaY<0?0:1,se=4;break;default:return!1}return!(ee===void 0||se===void 0||se>4)&&A.coreMouseService.triggerMouseEvent({col:J.col,row:J.row,x:J.x,y:J.y,button:se,action:ee,ctrl:N.ctrlKey,alt:N.altKey,shift:N.shiftKey})}const H={mouseup:null,wheel:null,mousedrag:null,mousemove:null},z={mouseup:N=>(M(N),N.buttons||(this._document.removeEventListener("mouseup",H.mouseup),H.mousedrag&&this._document.removeEventListener("mousemove",H.mousedrag)),this.cancel(N)),wheel:N=>(M(N),this.cancel(N,!0)),mousedrag:N=>{N.buttons&&M(N)},mousemove:N=>{N.buttons||M(N)}};this.register(this.coreMouseService.onProtocolChange(N=>{N?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(N)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&N?H.mousemove||(C.addEventListener("mousemove",z.mousemove),H.mousemove=z.mousemove):(C.removeEventListener("mousemove",H.mousemove),H.mousemove=null),16&N?H.wheel||(C.addEventListener("wheel",z.wheel,{passive:!1}),H.wheel=z.wheel):(C.removeEventListener("wheel",H.wheel),H.wheel=null),2&N?H.mouseup||(H.mouseup=z.mouseup):(this._document.removeEventListener("mouseup",H.mouseup),H.mouseup=null),4&N?H.mousedrag||(H.mousedrag=z.mousedrag):(this._document.removeEventListener("mousemove",H.mousedrag),H.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,_.addDisposableDomListener)(C,"mousedown",N=>{if(N.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(N))return M(N),H.mouseup&&this._document.addEventListener("mouseup",H.mouseup),H.mousedrag&&this._document.addEventListener("mousemove",H.mousedrag),this.cancel(N)})),this.register((0,_.addDisposableDomListener)(C,"wheel",N=>{if(!H.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(N)===!1)return!1;if(!this.buffer.hasScrollback){const J=this.viewport.getLinesScrolled(N);if(J===0)return;const se=j.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(N.deltaY<0?"A":"B");let ee="";for(let le=0;le{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(N),this.cancel(N)},{passive:!0})),this.register((0,_.addDisposableDomListener)(C,"touchmove",N=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(N)?void 0:this.cancel(N)},{passive:!1}))}refresh(A,C){this._renderService?.refreshRows(A,C)}updateCursorStyle(A){this._selectionService?.shouldColumnSelect(A)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(A,C,M=0){M===1?(super.scrollLines(A,C,M),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(A)}paste(A){(0,c.paste)(A,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(A){this._customKeyEventHandler=A}attachCustomWheelEventHandler(A){this._customWheelEventHandler=A}registerLinkProvider(A){return this._linkProviderService.registerLinkProvider(A)}registerCharacterJoiner(A){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const C=this._characterJoinerService.register(A);return this.refresh(0,this.rows-1),C}deregisterCharacterJoiner(A){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(A)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(A){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+A)}registerDecoration(A){return this._decorationService.registerDecoration(A)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(A,C,M){this._selectionService.setSelection(A,C,M)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(A,C){this._selectionService?.selectLines(A,C)}_keyDown(A){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(A)===!1)return!1;const C=this.browser.isMac&&this.options.macOptionIsMeta&&A.altKey;if(!C&&!this._compositionHelper.keydown(A))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;C||A.key!=="Dead"&&A.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const M=(0,W.evaluateKeyboardEvent)(A,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(A),M.type===3||M.type===2){const H=this.rows-1;return this.scrollLines(M.type===2?-H:H),this.cancel(A,!0)}return M.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,A)||(M.cancel&&this.cancel(A,!0),!M.key||!!(A.key&&!A.ctrlKey&&!A.altKey&&!A.metaKey&&A.key.length===1&&A.key.charCodeAt(0)>=65&&A.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(M.key!==j.C0.ETX&&M.key!==j.C0.CR||(this.textarea.value=""),this._onKey.fire({key:M.key,domEvent:A}),this._showCursor(),this.coreService.triggerDataEvent(M.key,!0),!this.optionsService.rawOptions.screenReaderMode||A.altKey||A.ctrlKey?this.cancel(A,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(A,C){const M=A.isMac&&!this.options.macOptionIsMeta&&C.altKey&&!C.ctrlKey&&!C.metaKey||A.isWindows&&C.altKey&&C.ctrlKey&&!C.metaKey||A.isWindows&&C.getModifierState("AltGraph");return C.type==="keypress"?M:M&&(!C.keyCode||C.keyCode>47)}_keyUp(A){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(A)===!1||(function(C){return C.keyCode===16||C.keyCode===17||C.keyCode===18}(A)||this.focus(),this.updateCursorStyle(A),this._keyPressHandled=!1)}_keyPress(A){let C;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(A)===!1)return!1;if(this.cancel(A),A.charCode)C=A.charCode;else if(A.which===null||A.which===void 0)C=A.keyCode;else{if(A.which===0||A.charCode===0)return!1;C=A.which}return!(!C||(A.altKey||A.ctrlKey||A.metaKey)&&!this._isThirdLevelShift(this.browser,A)||(C=String.fromCharCode(C),this._onKey.fire({key:C,domEvent:A}),this._showCursor(),this.coreService.triggerDataEvent(C,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(A){if(A.data&&A.inputType==="insertText"&&(!A.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const C=A.data;return this.coreService.triggerDataEvent(C,!0),this.cancel(A),!0}return!1}resize(A,C){A!==this.cols||C!==this.rows?super.resize(A,C):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(A,C){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let A=1;A{Object.defineProperty(n,"__esModule",{value:!0}),n.TimeBasedDebouncer=void 0,n.TimeBasedDebouncer=class{constructor(o,c=1e3){this._renderCallback=o,this._debounceThresholdMS=c,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(o,c,_){this._rowCount=_,o=o!==void 0?o:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c;const r=Date.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){const d=r-this._lastRefreshMs,f=this._debounceThresholdMS-d;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},f)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const o=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,c)}}},1680:function(O,n,o){var c=this&&this.__decorate||function(s,e,t,a){var g,v=arguments.length,p=v<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,a);else for(var l=s.length-1;l>=0;l--)(g=s[l])&&(p=(v<3?g(p):v>3?g(e,t,p):g(e,t))||p);return v>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,a){e(t,a,s)}};Object.defineProperty(n,"__esModule",{value:!0}),n.Viewport=void 0;const r=o(3656),d=o(4725),f=o(8460),u=o(844),h=o(2585);let i=n.Viewport=class extends u.Disposable{constructor(s,e,t,a,g,v,p,l){super(),this._viewportElement=s,this._scrollArea=e,this._bufferService=t,this._optionsService=a,this._charSizeService=g,this._renderService=v,this._coreBrowserService=p,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new f.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,r.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(S=>this._activeBuffer=S.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(S=>this._renderDimensions=S)),this._handleThemeChange(l.colors),this.register(l.onChangeColors(S=>this._handleThemeChange(S))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(s){this._viewportElement.style.backgroundColor=s.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame(()=>this.syncScrollArea())}_refresh(s){if(s)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const s=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==s&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=s),this._refreshAnimationFrame=null}syncScrollArea(s=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(s);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(s)}_handleScroll(s){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const e=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:e,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const s=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(s*(this._smoothScrollState.target-this._smoothScrollState.origin)),s<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(s,e){const t=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(e<0&&this._viewportElement.scrollTop!==0||e>0&&t0&&(t=k),a=""}}return{bufferElements:g,cursorElement:t}}getLinesScrolled(s){if(s.deltaY===0||s.shiftKey)return 0;let e=this._applyScrollModifier(s.deltaY,s);return s.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(e/=this._currentRowHeight+0,this._wheelPartialScroll+=e,e=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):s.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._bufferService.rows),e}_applyScrollModifier(s,e){const t=this._optionsService.rawOptions.fastScrollModifier;return t==="alt"&&e.altKey||t==="ctrl"&&e.ctrlKey||t==="shift"&&e.shiftKey?s*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:s*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(s){this._lastTouchY=s.touches[0].pageY}handleTouchMove(s){const e=this._lastTouchY-s.touches[0].pageY;return this._lastTouchY=s.touches[0].pageY,e!==0&&(this._viewportElement.scrollTop+=e,this._bubbleScroll(s,e))}};n.Viewport=i=c([_(2,h.IBufferService),_(3,h.IOptionsService),_(4,d.ICharSizeService),_(5,d.IRenderService),_(6,d.ICoreBrowserService),_(7,d.IThemeService)],i)},3107:function(O,n,o){var c=this&&this.__decorate||function(h,i,s,e){var t,a=arguments.length,g=a<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(h,i,s,e);else for(var v=h.length-1;v>=0;v--)(t=h[v])&&(g=(a<3?t(g):a>3?t(i,s,g):t(i,s))||g);return a>3&&g&&Object.defineProperty(i,s,g),g},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.BufferDecorationRenderer=void 0;const r=o(4725),d=o(844),f=o(2585);let u=n.BufferDecorationRenderer=class extends d.Disposable{constructor(h,i,s,e,t){super(),this._screenElement=h,this._bufferService=i,this._coreBrowserService=s,this._decorationService=e,this._renderService=t,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this.register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this.register(this._decorationService.onDecorationRemoved(a=>this._removeDecoration(a))),this.register((0,d.toDisposable)(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(const h of this._decorationService.decorations)this._renderDecoration(h);this._dimensionsChanged=!1}_renderDecoration(h){this._refreshStyle(h),this._dimensionsChanged&&this._refreshXPosition(h)}_createElement(h){const i=this._coreBrowserService.mainDocument.createElement("div");i.classList.add("xterm-decoration"),i.classList.toggle("xterm-decoration-top-layer",h?.options?.layer==="top"),i.style.width=`${Math.round((h.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=(h.options.height||1)*this._renderService.dimensions.css.cell.height+"px",i.style.top=(h.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const s=h.options.x??0;return s&&s>this._bufferService.cols&&(i.style.display="none"),this._refreshXPosition(h,i),i}_refreshStyle(h){const i=h.marker.line-this._bufferService.buffers.active.ydisp;if(i<0||i>=this._bufferService.rows)h.element&&(h.element.style.display="none",h.onRenderEmitter.fire(h.element));else{let s=this._decorationElements.get(h);s||(s=this._createElement(h),h.element=s,this._decorationElements.set(h,s),this._container.appendChild(s),h.onDispose(()=>{this._decorationElements.delete(h),s.remove()})),s.style.top=i*this._renderService.dimensions.css.cell.height+"px",s.style.display=this._altBufferIsActive?"none":"block",h.onRenderEmitter.fire(s)}}_refreshXPosition(h,i=h.element){if(!i)return;const s=h.options.x??0;(h.options.anchor||"left")==="right"?i.style.right=s?s*this._renderService.dimensions.css.cell.width+"px":"":i.style.left=s?s*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(h){this._decorationElements.get(h)?.remove(),this._decorationElements.delete(h),h.dispose()}};n.BufferDecorationRenderer=u=c([_(1,f.IBufferService),_(2,r.ICoreBrowserService),_(3,f.IDecorationService),_(4,r.IRenderService)],u)},5871:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ColorZoneStore=void 0,n.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(o){if(o.options.overviewRulerOptions){for(const c of this._zones)if(c.color===o.options.overviewRulerOptions.color&&c.position===o.options.overviewRulerOptions.position){if(this._lineIntersectsZone(c,o.marker.line))return;if(this._lineAdjacentToZone(c,o.marker.line,o.options.overviewRulerOptions.position))return void this._addLineToZone(c,o.marker.line)}if(this._zonePoolIndex=o.startBufferLine&&c<=o.endBufferLine}_lineAdjacentToZone(o,c,_){return c>=o.startBufferLine-this._linePadding[_||"full"]&&c<=o.endBufferLine+this._linePadding[_||"full"]}_addLineToZone(o,c){o.startBufferLine=Math.min(o.startBufferLine,c),o.endBufferLine=Math.max(o.endBufferLine,c)}}},5744:function(O,n,o){var c=this&&this.__decorate||function(t,a,g,v){var p,l=arguments.length,S=l<3?a:v===null?v=Object.getOwnPropertyDescriptor(a,g):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(t,a,g,v);else for(var E=t.length-1;E>=0;E--)(p=t[E])&&(S=(l<3?p(S):l>3?p(a,g,S):p(a,g))||S);return l>3&&S&&Object.defineProperty(a,g,S),S},_=this&&this.__param||function(t,a){return function(g,v){a(g,v,t)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OverviewRulerRenderer=void 0;const r=o(5871),d=o(4725),f=o(844),u=o(2585),h={full:0,left:0,center:0,right:0},i={full:0,left:0,center:0,right:0},s={full:0,left:0,center:0,right:0};let e=n.OverviewRulerRenderer=class extends f.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(t,a,g,v,p,l,S){super(),this._viewportElement=t,this._screenElement=a,this._bufferService=g,this._decorationService=v,this._renderService=p,this._optionsService=l,this._coreBrowserService=S,this._colorZoneStore=new r.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement);const E=this._canvas.getContext("2d");if(!E)throw new Error("Ctx cannot be null");this._ctx=E,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,f.toDisposable)(()=>{this._canvas?.remove()}))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this.register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",()=>this._queueRefresh(!0))),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._queueRefresh(!0)}_refreshDrawConstants(){const t=Math.floor(this._canvas.width/3),a=Math.ceil(this._canvas.width/3);i.full=this._canvas.width,i.left=t,i.center=a,i.right=t,this._refreshDrawHeightConstants(),s.full=0,s.left=0,s.center=i.left,s.right=i.left+i.center}_refreshDrawHeightConstants(){h.full=Math.round(2*this._coreBrowserService.dpr);const t=this._canvas.height/this._bufferService.buffer.lines.length,a=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);h.left=a,h.center=a,h.right=a}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const a of this._decorationService.decorations)this._colorZoneStore.addDecoration(a);this._ctx.lineWidth=1;const t=this._colorZoneStore.zones;for(const a of t)a.position!=="full"&&this._renderColorZone(a);for(const a of t)a.position==="full"&&this._renderColorZone(a);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(s[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-h[t.position||"full"]/2),i[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+h[t.position||"full"]))}_queueRefresh(t,a){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=a||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};n.OverviewRulerRenderer=e=c([_(2,u.IBufferService),_(3,u.IDecorationService),_(4,d.IRenderService),_(5,u.IOptionsService),_(6,d.ICoreBrowserService)],e)},2950:function(O,n,o){var c=this&&this.__decorate||function(h,i,s,e){var t,a=arguments.length,g=a<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(h,i,s,e);else for(var v=h.length-1;v>=0;v--)(t=h[v])&&(g=(a<3?t(g):a>3?t(i,s,g):t(i,s))||g);return a>3&&g&&Object.defineProperty(i,s,g),g},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CompositionHelper=void 0;const r=o(4725),d=o(2585),f=o(2584);let u=n.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(h,i,s,e,t,a){this._textarea=h,this._compositionView=i,this._bufferService=s,this._optionsService=e,this._coreService=t,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(h){this._compositionView.textContent=h.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(h){if(this._isComposing||this._isSendingComposition){if(h.keyCode===229||h.keyCode===16||h.keyCode===17||h.keyCode===18)return!1;this._finalizeComposition(!1)}return h.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(h){if(this._compositionView.classList.remove("active"),this._isComposing=!1,h){const i={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let s;this._isSendingComposition=!1,i.start+=this._dataAlreadySent.length,s=this._isComposing?this._textarea.value.substring(i.start,i.end):this._textarea.value.substring(i.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}},0)}else{this._isSendingComposition=!1;const i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}}_handleAnyTextareaChanges(){const h=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const i=this._textarea.value,s=i.replace(h,"");this._dataAlreadySent=s,i.length>h.length?this._coreService.triggerDataEvent(s,!0):i.lengththis.updateCompositionElements(!0),0)}}};n.CompositionHelper=u=c([_(2,d.IBufferService),_(3,d.IOptionsService),_(4,d.ICoreService),_(5,r.IRenderService)],u)},9806:(O,n)=>{function o(c,_,r){const d=r.getBoundingClientRect(),f=c.getComputedStyle(r),u=parseInt(f.getPropertyValue("padding-left")),h=parseInt(f.getPropertyValue("padding-top"));return[_.clientX-d.left-u,_.clientY-d.top-h]}Object.defineProperty(n,"__esModule",{value:!0}),n.getCoords=n.getCoordsRelativeToElement=void 0,n.getCoordsRelativeToElement=o,n.getCoords=function(c,_,r,d,f,u,h,i,s){if(!u)return;const e=o(c,_,r);return e?(e[0]=Math.ceil((e[0]+(s?h/2:0))/h),e[1]=Math.ceil(e[1]/i),e[0]=Math.min(Math.max(e[0],1),d+(s?1:0)),e[1]=Math.min(Math.max(e[1],1),f),e):void 0}},9504:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.moveToCellSequence=void 0;const c=o(2584);function _(i,s,e,t){const a=i-r(i,e),g=s-r(s,e),v=Math.abs(a-g)-function(p,l,S){let E=0;const k=p-r(p,S),x=l-r(l,S);for(let w=0;w=0&&is?"A":"B"}function f(i,s,e,t,a,g){let v=i,p=s,l="";for(;v!==e||p!==t;)v+=a?1:-1,a&&v>g.cols-1?(l+=g.buffer.translateBufferLineToString(p,!1,i,v),v=0,i=0,p++):!a&&v<0&&(l+=g.buffer.translateBufferLineToString(p,!1,0,i+1),v=g.cols-1,i=v,p--);return l+g.buffer.translateBufferLineToString(p,!1,i,v)}function u(i,s){const e=s?"O":"[";return c.C0.ESC+e+i}function h(i,s){i=Math.floor(i);let e="";for(let t=0;t0?k-r(k,x):S;const I=k,$=function(j,W,m,b,y,L){let P;return P=_(m,b,y,L).length>0?b-r(b,y):W,j=m&&Pi?"D":"C",h(Math.abs(a-i),u(v,t));v=g>s?"D":"C";const p=Math.abs(g-s);return h(function(l,S){return S.cols-l}(g>s?i:a,e)+(p-1)*e.cols+1+((g>s?a:i)-1),u(v,t))}},1296:function(O,n,o){var c=this&&this.__decorate||function(w,B,I,$){var j,W=arguments.length,m=W<3?B:$===null?$=Object.getOwnPropertyDescriptor(B,I):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(w,B,I,$);else for(var b=w.length-1;b>=0;b--)(j=w[b])&&(m=(W<3?j(m):W>3?j(B,I,m):j(B,I))||m);return W>3&&m&&Object.defineProperty(B,I,m),m},_=this&&this.__param||function(w,B){return function(I,$){B(I,$,w)}};Object.defineProperty(n,"__esModule",{value:!0}),n.DomRenderer=void 0;const r=o(3787),d=o(2550),f=o(2223),u=o(6171),h=o(6052),i=o(4725),s=o(8055),e=o(8460),t=o(844),a=o(2585),g="xterm-dom-renderer-owner-",v="xterm-rows",p="xterm-fg-",l="xterm-bg-",S="xterm-focus",E="xterm-selection";let k=1,x=n.DomRenderer=class extends t.Disposable{constructor(w,B,I,$,j,W,m,b,y,L,P,U,q){super(),this._terminal=w,this._document=B,this._element=I,this._screenElement=$,this._viewportElement=j,this._helperContainer=W,this._linkifier2=m,this._charSizeService=y,this._optionsService=L,this._bufferService=P,this._coreBrowserService=U,this._themeService=q,this._terminalClass=k++,this._rowElements=[],this._selectionRenderModel=(0,h.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new e.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(v),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(E),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,u.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(K=>this._injectCss(K))),this._injectCss(this._themeService.colors),this._rowFactory=b.createInstance(r.DomRendererRowFactory,document),this._element.classList.add(g+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(K=>this._handleLinkHover(K))),this.register(this._linkifier2.onHideLinkUnderline(K=>this._handleLinkLeave(K))),this.register((0,t.toDisposable)(()=>{this._element.classList.remove(g+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new d.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const w=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*w,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*w),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/w),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/w),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const I of this._rowElements)I.style.width=`${this.dimensions.css.canvas.width}px`,I.style.height=`${this.dimensions.css.cell.height}px`,I.style.lineHeight=`${this.dimensions.css.cell.height}px`,I.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const B=`${this._terminalSelector} .${v} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=B,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(w){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let B=`${this._terminalSelector} .${v} { color: ${w.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;B+=`${this._terminalSelector} .${v} .xterm-dim { color: ${s.color.multiplyOpacity(w.foreground,.5).css};}`,B+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const I=`blink_underline_${this._terminalClass}`,$=`blink_bar_${this._terminalClass}`,j=`blink_block_${this._terminalClass}`;B+=`@keyframes ${I} { 50% { border-bottom-style: hidden; }}`,B+=`@keyframes ${$} { 50% { box-shadow: none; }}`,B+=`@keyframes ${j} { 0% { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css}; } 50% { background-color: inherit; color: ${w.cursor.css}; }}`,B+=`${this._terminalSelector} .${v}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${I} 1s step-end infinite;}${this._terminalSelector} .${v}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${$} 1s step-end infinite;}${this._terminalSelector} .${v}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${j} 1s step-end infinite;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-block { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css};}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${w.cursor.css} !important; color: ${w.cursorAccent.css} !important;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${w.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${w.cursor.css} inset;}${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${w.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,B+=`${this._terminalSelector} .${E} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${E} div { position: absolute; background-color: ${w.selectionBackgroundOpaque.css};}${this._terminalSelector} .${E} div { position: absolute; background-color: ${w.selectionInactiveBackgroundOpaque.css};}`;for(const[W,m]of w.ansi.entries())B+=`${this._terminalSelector} .${p}${W} { color: ${m.css}; }${this._terminalSelector} .${p}${W}.xterm-dim { color: ${s.color.multiplyOpacity(m,.5).css}; }${this._terminalSelector} .${l}${W} { background-color: ${m.css}; }`;B+=`${this._terminalSelector} .${p}${f.INVERTED_DEFAULT_COLOR} { color: ${s.color.opaque(w.background).css}; }${this._terminalSelector} .${p}${f.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${s.color.multiplyOpacity(s.color.opaque(w.background),.5).css}; }${this._terminalSelector} .${l}${f.INVERTED_DEFAULT_COLOR} { background-color: ${w.foreground.css}; }`,this._themeStyleElement.textContent=B}_setDefaultSpacing(){const w=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${w}px`,this._rowFactory.defaultSpacing=w}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(w,B){for(let I=this._rowElements.length;I<=B;I++){const $=this._document.createElement("div");this._rowContainer.appendChild($),this._rowElements.push($)}for(;this._rowElements.length>B;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(w,B){this._refreshRowElements(w,B),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(S),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(S),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(w,B,I){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(w,B,I),this.renderRows(0,this._bufferService.rows-1),!w||!B)return;this._selectionRenderModel.update(this._terminal,w,B,I);const $=this._selectionRenderModel.viewportStartRow,j=this._selectionRenderModel.viewportEndRow,W=this._selectionRenderModel.viewportCappedStartRow,m=this._selectionRenderModel.viewportCappedEndRow;if(W>=this._bufferService.rows||m<0)return;const b=this._document.createDocumentFragment();if(I){const y=w[0]>B[0];b.appendChild(this._createSelectionElement(W,y?B[0]:w[0],y?w[0]:B[0],m-W+1))}else{const y=$===W?w[0]:0,L=W===j?B[0]:this._bufferService.cols;b.appendChild(this._createSelectionElement(W,y,L));const P=m-W-1;if(b.appendChild(this._createSelectionElement(W+1,0,this._bufferService.cols,P)),W!==m){const U=j===m?B[0]:this._bufferService.cols;b.appendChild(this._createSelectionElement(m,0,U))}}this._selectionContainer.appendChild(b)}_createSelectionElement(w,B,I,$=1){const j=this._document.createElement("div"),W=B*this.dimensions.css.cell.width;let m=this.dimensions.css.cell.width*(I-B);return W+m>this.dimensions.css.canvas.width&&(m=this.dimensions.css.canvas.width-W),j.style.height=$*this.dimensions.css.cell.height+"px",j.style.top=w*this.dimensions.css.cell.height+"px",j.style.left=`${W}px`,j.style.width=`${m}px`,j}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const w of this._rowElements)w.replaceChildren()}renderRows(w,B){const I=this._bufferService.buffer,$=I.ybase+I.y,j=Math.min(I.x,this._bufferService.cols-1),W=this._optionsService.rawOptions.cursorBlink,m=this._optionsService.rawOptions.cursorStyle,b=this._optionsService.rawOptions.cursorInactiveStyle;for(let y=w;y<=B;y++){const L=y+I.ydisp,P=this._rowElements[y],U=I.lines.get(L);if(!P||!U)break;P.replaceChildren(...this._rowFactory.createRow(U,L,L===$,m,b,j,W,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${g}${this._terminalClass}`}_handleLinkHover(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!0)}_handleLinkLeave(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!1)}_setCellUnderline(w,B,I,$,j,W){I<0&&(w=0),$<0&&(B=0);const m=this._bufferService.rows-1;I=Math.max(Math.min(I,m),0),$=Math.max(Math.min($,m),0),j=Math.min(j,this._bufferService.cols);const b=this._bufferService.buffer,y=b.ybase+b.y,L=Math.min(b.x,j-1),P=this._optionsService.rawOptions.cursorBlink,U=this._optionsService.rawOptions.cursorStyle,q=this._optionsService.rawOptions.cursorInactiveStyle;for(let K=I;K<=$;++K){const A=K+b.ydisp,C=this._rowElements[K],M=b.lines.get(A);if(!C||!M)break;C.replaceChildren(...this._rowFactory.createRow(M,A,A===y,U,q,L,P,this.dimensions.css.cell.width,this._widthCache,W?K===I?w:0:-1,W?(K===$?B:j)-1:-1))}}};n.DomRenderer=x=c([_(7,a.IInstantiationService),_(8,i.ICharSizeService),_(9,a.IOptionsService),_(10,a.IBufferService),_(11,i.ICoreBrowserService),_(12,i.IThemeService)],x)},3787:function(O,n,o){var c=this&&this.__decorate||function(v,p,l,S){var E,k=arguments.length,x=k<3?p:S===null?S=Object.getOwnPropertyDescriptor(p,l):S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(v,p,l,S);else for(var w=v.length-1;w>=0;w--)(E=v[w])&&(x=(k<3?E(x):k>3?E(p,l,x):E(p,l))||x);return k>3&&x&&Object.defineProperty(p,l,x),x},_=this&&this.__param||function(v,p){return function(l,S){p(l,S,v)}};Object.defineProperty(n,"__esModule",{value:!0}),n.DomRendererRowFactory=void 0;const r=o(2223),d=o(643),f=o(511),u=o(2585),h=o(8055),i=o(4725),s=o(4269),e=o(6171),t=o(3734);let a=n.DomRendererRowFactory=class{constructor(v,p,l,S,E,k,x){this._document=v,this._characterJoinerService=p,this._optionsService=l,this._coreBrowserService=S,this._coreService=E,this._decorationService=k,this._themeService=x,this._workCell=new f.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(v,p,l){this._selectionStart=v,this._selectionEnd=p,this._columnSelectMode=l}createRow(v,p,l,S,E,k,x,w,B,I,$){const j=[],W=this._characterJoinerService.getJoinedCharacters(p),m=this._themeService.colors;let b,y=v.getNoBgTrimmedLength();l&&y0&&J===W[0][0]){ee=!0;const ie=W.shift();V=new s.JoinedCellData(this._workCell,v.translateToString(!0,ie[0],ie[1]),ie[1]-ie[0]),le=ie[1]-1,se=V.getWidth()}const Ee=this._isCellInSelection(J,p),Me=l&&J===k,Oe=N&&J>=I&&J<=$;let Pe=!1;this._decorationService.forEachDecorationAtCell(J,p,void 0,ie=>{Pe=!0});let Ie=V.getChars()||d.WHITESPACE_CELL_CHAR;if(Ie===" "&&(V.isUnderline()||V.isOverline())&&(Ie=" "),H=se*w-B.get(Ie,V.isBold(),V.isItalic()),b){if(L&&(Ee&&M||!Ee&&!M&&V.bg===U)&&(Ee&&M&&m.selectionForeground||V.fg===q)&&V.extended.ext===K&&Oe===A&&H===C&&!Me&&!ee&&!Pe){V.isInvisible()?P+=d.WHITESPACE_CELL_CHAR:P+=Ie,L++;continue}L&&(b.textContent=P),b=this._document.createElement("span"),L=0,P=""}else b=this._document.createElement("span");if(U=V.bg,q=V.fg,K=V.extended.ext,A=Oe,C=H,M=Ee,ee&&k>=J&&k<=le&&(k=J),!this._coreService.isCursorHidden&&Me&&this._coreService.isCursorInitialized){if(z.push("xterm-cursor"),this._coreBrowserService.isFocused)x&&z.push("xterm-cursor-blink"),z.push(S==="bar"?"xterm-cursor-bar":S==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(E)switch(E){case"outline":z.push("xterm-cursor-outline");break;case"block":z.push("xterm-cursor-block");break;case"bar":z.push("xterm-cursor-bar");break;case"underline":z.push("xterm-cursor-underline")}}if(V.isBold()&&z.push("xterm-bold"),V.isItalic()&&z.push("xterm-italic"),V.isDim()&&z.push("xterm-dim"),P=V.isInvisible()?d.WHITESPACE_CELL_CHAR:V.getChars()||d.WHITESPACE_CELL_CHAR,V.isUnderline()&&(z.push(`xterm-underline-${V.extended.underlineStyle}`),P===" "&&(P=" "),!V.isUnderlineColorDefault()))if(V.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${t.AttributeData.toColorRGB(V.getUnderlineColor()).join(",")})`;else{let ie=V.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&V.isBold()&&ie<8&&(ie+=8),b.style.textDecorationColor=m.ansi[ie].css}V.isOverline()&&(z.push("xterm-overline"),P===" "&&(P=" ")),V.isStrikethrough()&&z.push("xterm-strikethrough"),Oe&&(b.style.textDecoration="underline");let de=V.getFgColor(),Re=V.getFgColorMode(),pe=V.getBgColor(),xe=V.getBgColorMode();const He=!!V.isInverse();if(He){const ie=de;de=pe,pe=ie;const $e=Re;Re=xe,xe=$e}let ge,ke,Ce,Le=!1;switch(this._decorationService.forEachDecorationAtCell(J,p,void 0,ie=>{ie.options.layer!=="top"&&Le||(ie.backgroundColorRGB&&(xe=50331648,pe=ie.backgroundColorRGB.rgba>>8&16777215,ge=ie.backgroundColorRGB),ie.foregroundColorRGB&&(Re=50331648,de=ie.foregroundColorRGB.rgba>>8&16777215,ke=ie.foregroundColorRGB),Le=ie.options.layer==="top")}),!Le&&Ee&&(ge=this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque,pe=ge.rgba>>8&16777215,xe=50331648,Le=!0,m.selectionForeground&&(Re=50331648,de=m.selectionForeground.rgba>>8&16777215,ke=m.selectionForeground)),Le&&z.push("xterm-decoration-top"),xe){case 16777216:case 33554432:Ce=m.ansi[pe],z.push(`xterm-bg-${pe}`);break;case 50331648:Ce=h.channels.toColor(pe>>16,pe>>8&255,255&pe),this._addStyle(b,`background-color:#${g((pe>>>0).toString(16),"0",6)}`);break;default:He?(Ce=m.foreground,z.push(`xterm-bg-${r.INVERTED_DEFAULT_COLOR}`)):Ce=m.background}switch(ge||V.isDim()&&(ge=h.color.multiplyOpacity(Ce,.5)),Re){case 16777216:case 33554432:V.isBold()&&de<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(de+=8),this._applyMinimumContrast(b,Ce,m.ansi[de],V,ge,void 0)||z.push(`xterm-fg-${de}`);break;case 50331648:const ie=h.channels.toColor(de>>16&255,de>>8&255,255&de);this._applyMinimumContrast(b,Ce,ie,V,ge,ke)||this._addStyle(b,`color:#${g(de.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(b,Ce,m.foreground,V,ge,ke)||He&&z.push(`xterm-fg-${r.INVERTED_DEFAULT_COLOR}`)}z.length&&(b.className=z.join(" "),z.length=0),Me||ee||Pe?b.textContent=P:L++,H!==this.defaultSpacing&&(b.style.letterSpacing=`${H}px`),j.push(b),J=le}return b&&L&&(b.textContent=P),j}_applyMinimumContrast(v,p,l,S,E,k){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,e.treatGlyphAsBackgroundColor)(S.getCode()))return!1;const x=this._getContrastCache(S);let w;if(E||k||(w=x.getColor(p.rgba,l.rgba)),w===void 0){const B=this._optionsService.rawOptions.minimumContrastRatio/(S.isDim()?2:1);w=h.color.ensureContrastRatio(E||p,k||l,B),x.setColor((E||p).rgba,(k||l).rgba,w??null)}return!!w&&(this._addStyle(v,`color:${w.css}`),!0)}_getContrastCache(v){return v.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(v,p){v.setAttribute("style",`${v.getAttribute("style")||""}${p};`)}_isCellInSelection(v,p){const l=this._selectionStart,S=this._selectionEnd;return!(!l||!S)&&(this._columnSelectMode?l[0]<=S[0]?v>=l[0]&&p>=l[1]&&v=l[1]&&v>=S[0]&&p<=S[1]:p>l[1]&&p=l[0]&&v=l[0])}};function g(v,p,l){for(;v.length{Object.defineProperty(n,"__esModule",{value:!0}),n.WidthCache=void 0,n.WidthCache=class{constructor(o,c){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=o.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const _=o.createElement("span");_.classList.add("xterm-char-measure-element");const r=o.createElement("span");r.classList.add("xterm-char-measure-element"),r.style.fontWeight="bold";const d=o.createElement("span");d.classList.add("xterm-char-measure-element"),d.style.fontStyle="italic";const f=o.createElement("span");f.classList.add("xterm-char-measure-element"),f.style.fontWeight="bold",f.style.fontStyle="italic",this._measureElements=[_,r,d,f],this._container.appendChild(_),this._container.appendChild(r),this._container.appendChild(d),this._container.appendChild(f),c.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(o,c,_,r){o===this._font&&c===this._fontSize&&_===this._weight&&r===this._weightBold||(this._font=o,this._fontSize=c,this._weight=_,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${_}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${_}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(o,c,_){let r=0;if(!c&&!_&&o.length===1&&(r=o.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];const u=this._measure(o,0);return u>0&&(this._flat[r]=u),u}let d=o;c&&(d+="B"),_&&(d+="I");let f=this._holey.get(d);if(f===void 0){let u=0;c&&(u|=1),_&&(u|=2),f=this._measure(o,u),f>0&&this._holey.set(d,f)}return f}_measure(o,c){const _=this._measureElements[c];return _.textContent=o.repeat(32),_.offsetWidth/32}}},2223:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.TEXT_BASELINE=n.DIM_OPACITY=n.INVERTED_DEFAULT_COLOR=void 0;const c=o(6114);n.INVERTED_DEFAULT_COLOR=257,n.DIM_OPACITY=.5,n.TEXT_BASELINE=c.isFirefox||c.isLegacyEdge?"bottom":"ideographic"},6171:(O,n)=>{function o(_){return 57508<=_&&_<=57558}function c(_){return _>=128512&&_<=128591||_>=127744&&_<=128511||_>=128640&&_<=128767||_>=9728&&_<=9983||_>=9984&&_<=10175||_>=65024&&_<=65039||_>=129280&&_<=129535||_>=127462&&_<=127487}Object.defineProperty(n,"__esModule",{value:!0}),n.computeNextVariantOffset=n.createRenderDimensions=n.treatGlyphAsBackgroundColor=n.allowRescaling=n.isEmoji=n.isRestrictedPowerlineGlyph=n.isPowerlineGlyph=n.throwIfFalsy=void 0,n.throwIfFalsy=function(_){if(!_)throw new Error("value must not be falsy");return _},n.isPowerlineGlyph=o,n.isRestrictedPowerlineGlyph=function(_){return 57520<=_&&_<=57527},n.isEmoji=c,n.allowRescaling=function(_,r,d,f){return r===1&&d>Math.ceil(1.5*f)&&_!==void 0&&_>255&&!c(_)&&!o(_)&&!function(u){return 57344<=u&&u<=63743}(_)},n.treatGlyphAsBackgroundColor=function(_){return o(_)||function(r){return 9472<=r&&r<=9631}(_)},n.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},n.computeNextVariantOffset=function(_,r,d=0){return(_-(2*Math.round(r)-d))%(2*Math.round(r))}},6052:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createSelectionRenderModel=void 0;class o{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(_,r,d,f=!1){if(this.selectionStart=r,this.selectionEnd=d,!r||!d||r[0]===d[0]&&r[1]===d[1])return void this.clear();const u=_.buffers.active.ydisp,h=r[1]-u,i=d[1]-u,s=Math.max(h,0),e=Math.min(i,_.rows-1);s>=_.rows||e<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=f,this.viewportStartRow=h,this.viewportEndRow=i,this.viewportCappedStartRow=s,this.viewportCappedEndRow=e,this.startCol=r[0],this.endCol=d[0])}isCellSelected(_,r,d){return!!this.hasSelection&&(d-=_.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?r>=this.startCol&&d>=this.viewportCappedStartRow&&r=this.viewportCappedStartRow&&r>=this.endCol&&d<=this.viewportCappedEndRow:d>this.viewportStartRow&&d=this.startCol&&r=this.startCol)}}n.createSelectionRenderModel=function(){return new o}},456:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SelectionModel=void 0,n.SelectionModel=class{constructor(o){this._bufferService=o,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?o%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)-1]:[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[o,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[Math.max(o,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const o=this.selectionStart,c=this.selectionEnd;return!(!o||!c)&&(o[1]>c[1]||o[1]===c[1]&&o[0]>c[0])}handleTrim(o){return this.selectionStart&&(this.selectionStart[1]-=o),this.selectionEnd&&(this.selectionEnd[1]-=o),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CharSizeService=void 0;const r=o(2585),d=o(8460),f=o(844);let u=n.CharSizeService=class extends f.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,a){super(),this._optionsService=a,this.width=0,this.height=0,this._onCharSizeChange=this.register(new d.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new s(this._optionsService))}catch{this._measureStrategy=this.register(new i(e,t,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};n.CharSizeService=u=c([_(2,r.IOptionsService)],u);class h extends f.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,a){t!==void 0&&t>0&&a!==void 0&&a>0&&(this._result.width=t,this._result.height=a)}}class i extends h{constructor(t,a,g){super(),this._document=t,this._parentElement=a,this._optionsService=g,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class s extends h{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const a=this._ctx.measureText("W");if(!("width"in a&&"fontBoundingBoxAscent"in a&&"fontBoundingBoxDescent"in a))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}}},4269:function(O,n,o){var c=this&&this.__decorate||function(s,e,t,a){var g,v=arguments.length,p=v<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,a);else for(var l=s.length-1;l>=0;l--)(g=s[l])&&(p=(v<3?g(p):v>3?g(e,t,p):g(e,t))||p);return v>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,a){e(t,a,s)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CharacterJoinerService=n.JoinedCellData=void 0;const r=o(3734),d=o(643),f=o(511),u=o(2585);class h extends r.AttributeData{constructor(e,t,a){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.JoinedCellData=h;let i=n.CharacterJoinerService=class dt{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new f.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t1){const x=this._getJoinedRanges(g,l,p,t,v);for(let w=0;w1){const k=this._getJoinedRanges(g,l,p,t,v);for(let x=0;x{Object.defineProperty(n,"__esModule",{value:!0}),n.CoreBrowserService=void 0;const c=o(844),_=o(8460),r=o(3656);class d extends c.Disposable{constructor(h,i,s){super(),this._textarea=h,this._window=i,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new f(this._window),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new _.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this.register((0,_.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",()=>this._isFocused=!0),this._textarea.addEventListener("blur",()=>this._isFocused=!1)}get window(){return this._window}set window(h){this._window!==h&&(this._window=h,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}}n.CoreBrowserService=d;class f extends c.Disposable{constructor(h){super(),this._parentWindow=h,this._windowResizeListener=this.register(new c.MutableDisposable),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,c.toDisposable)(()=>this.clearListener()))}setWindow(h){this._parentWindow=h,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,r.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.LinkProviderService=void 0;const c=o(844);class _ extends c.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,c.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(d){return this.linkProviders.push(d),{dispose:()=>{const f=this.linkProviders.indexOf(d);f!==-1&&this.linkProviders.splice(f,1)}}}}n.LinkProviderService=_},8934:function(O,n,o){var c=this&&this.__decorate||function(u,h,i,s){var e,t=arguments.length,a=t<3?h:s===null?s=Object.getOwnPropertyDescriptor(h,i):s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(u,h,i,s);else for(var g=u.length-1;g>=0;g--)(e=u[g])&&(a=(t<3?e(a):t>3?e(h,i,a):e(h,i))||a);return t>3&&a&&Object.defineProperty(h,i,a),a},_=this&&this.__param||function(u,h){return function(i,s){h(i,s,u)}};Object.defineProperty(n,"__esModule",{value:!0}),n.MouseService=void 0;const r=o(4725),d=o(9806);let f=n.MouseService=class{constructor(u,h){this._renderService=u,this._charSizeService=h}getCoords(u,h,i,s,e){return(0,d.getCoords)(window,u,h,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,e)}getMouseReportCoords(u,h){const i=(0,d.getCoordsRelativeToElement)(window,u,h);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};n.MouseService=f=c([_(0,r.IRenderService),_(1,r.ICharSizeService)],f)},3230:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.RenderService=void 0;const r=o(6193),d=o(4725),f=o(8460),u=o(844),h=o(7226),i=o(2585);let s=n.RenderService=class extends u.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,a,g,v,p,l,S){super(),this._rowCount=e,this._charSizeService=g,this._renderer=this.register(new u.MutableDisposable),this._pausedResizeTask=new h.DebouncedIdleTask,this._observerDisposable=this.register(new u.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new f.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new f.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new f.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new f.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new r.RenderDebouncer((E,k)=>this._renderRows(E,k),l),this.register(this._renderDebouncer),this.register(l.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(p.onResize(()=>this._fullRefresh())),this.register(p.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this.register(a.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(v.onDecorationRegistered(()=>this._fullRefresh())),this.register(v.onDecorationRemoved(()=>this._fullRefresh())),this.register(a.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(p.cols,p.rows),this._fullRefresh()})),this.register(a.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(p.buffer.y,p.buffer.y,!0))),this.register(S.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(l.window,t),this.register(l.onWindowChange(E=>this._registerIntersectionObserver(E,t)))}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){const a=new e.IntersectionObserver(g=>this._handleIntersectionChange(g[g.length-1]),{threshold:0});a.observe(t),this._observerDisposable.value=(0,u.toDisposable)(()=>a.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,a=!1){this._isPaused?this._needsFullRefresh=!0:(a||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(t=>this.refreshRows(t.start,t.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,a){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=a,this._renderer.value?.handleSelectionChanged(e,t,a)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};n.RenderService=s=c([_(2,i.IOptionsService),_(3,d.ICharSizeService),_(4,i.IDecorationService),_(5,i.IBufferService),_(6,d.ICoreBrowserService),_(7,d.IThemeService)],s)},9312:function(O,n,o){var c=this&&this.__decorate||function(l,S,E,k){var x,w=arguments.length,B=w<3?S:k===null?k=Object.getOwnPropertyDescriptor(S,E):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")B=Reflect.decorate(l,S,E,k);else for(var I=l.length-1;I>=0;I--)(x=l[I])&&(B=(w<3?x(B):w>3?x(S,E,B):x(S,E))||B);return w>3&&B&&Object.defineProperty(S,E,B),B},_=this&&this.__param||function(l,S){return function(E,k){S(E,k,l)}};Object.defineProperty(n,"__esModule",{value:!0}),n.SelectionService=void 0;const r=o(9806),d=o(9504),f=o(456),u=o(4725),h=o(8460),i=o(844),s=o(6114),e=o(4841),t=o(511),a=o(2585),g=" ",v=new RegExp(g,"g");let p=n.SelectionService=class extends i.Disposable{constructor(l,S,E,k,x,w,B,I,$){super(),this._element=l,this._screenElement=S,this._linkifier=E,this._bufferService=k,this._coreService=x,this._mouseService=w,this._optionsService=B,this._renderService=I,this._coreBrowserService=$,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new t.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new h.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new h.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new h.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new h.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=j=>this._handleMouseMove(j),this._mouseUpListener=j=>this._handleMouseUp(j),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(j=>this._handleTrim(j)),this.register(this._bufferService.buffers.onBufferActivate(j=>this._handleBufferActivate(j))),this.enable(),this._model=new f.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,i.toDisposable)(()=>{this._removeMouseDownListeners()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const l=this._model.finalSelectionStart,S=this._model.finalSelectionEnd;return!(!l||!S||l[0]===S[0]&&l[1]===S[1])}get selectionText(){const l=this._model.finalSelectionStart,S=this._model.finalSelectionEnd;if(!l||!S)return"";const E=this._bufferService.buffer,k=[];if(this._activeSelectionMode===3){if(l[0]===S[0])return"";const x=l[0]x.replace(v," ")).join(s.isWindows?`\r `:` -`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(l){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),s.isLinux&&l&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(l){const S=this._getMouseBufferCoords(l),E=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!!(E&&k&&S)&&this._areCoordsInSelection(S,E,k)}isCellInSelection(l,S){const E=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!(!E||!k)&&this._areCoordsInSelection([l,S],E,k)}_areCoordsInSelection(l,S,E){return l[1]>S[1]&&l[1]=S[0]&&l[0]=S[0]}_selectWordAtCursor(l,S){const E=this._linkifier.currentLink?.link?.range;if(E)return this._model.selectionStart=[E.start.x-1,E.start.y-1],this._model.selectionStartLength=(0,e.getRangeLength)(E,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const k=this._getMouseBufferCoords(l);return!!k&&(this._selectWordAt(k,S),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(l,S){this._model.clearSelection(),l=Math.max(l,0),S=Math.min(S,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,l],this._model.selectionEnd=[this._bufferService.cols,S],this.refresh(),this._onSelectionChange.fire()}_handleTrim(l){this._model.handleTrim(l)&&this.refresh()}_getMouseBufferCoords(l){const S=this._mouseService.getCoords(l,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(S)return S[0]--,S[1]--,S[1]+=this._bufferService.buffer.ydisp,S}_getMouseEventScrollAmount(l){let S=(0,r.getCoordsRelativeToElement)(this._coreBrowserService.window,l,this._screenElement)[1];const E=this._renderService.dimensions.css.canvas.height;return S>=0&&S<=E?0:(S>E&&(S-=E),S=Math.min(Math.max(S,-50),50),S/=50,S/Math.abs(S)+Math.round(14*S))}shouldForceSelection(l){return s.isMac?l.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:l.shiftKey}handleMouseDown(l){if(this._mouseDownTimeStamp=l.timeStamp,(l.button!==2||!this.hasSelection)&&l.button===0){if(!this._enabled){if(!this.shouldForceSelection(l))return;l.stopPropagation()}l.preventDefault(),this._dragScrollAmount=0,this._enabled&&l.shiftKey?this._handleIncrementalClick(l):l.detail===1?this._handleSingleClick(l):l.detail===2?this._handleDoubleClick(l):l.detail===3&&this._handleTripleClick(l),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(l){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(l))}_handleSingleClick(l){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(l)?3:0,this._model.selectionStart=this._getMouseBufferCoords(l),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const S=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);S&&S.length!==this._model.selectionStart[0]&&S.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(l){this._selectWordAtCursor(l,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(l){const S=this._getMouseBufferCoords(l);S&&(this._activeSelectionMode=2,this._selectLineAt(S[1]))}shouldColumnSelect(l){return l.altKey&&!(s.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(l){if(l.stopImmediatePropagation(),!this._model.selectionStart)return;const S=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(l),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const E=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(l.ydisp+this._bufferService.rows,l.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=l.ydisp),this.refresh()}}_handleMouseUp(l){const S=l.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&S<500&&l.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const E=this._mouseService.getCoords(l,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(E&&E[0]!==void 0&&E[1]!==void 0){const k=(0,d.moveToCellSequence)(E[0]-1,E[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(k,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const l=this._model.finalSelectionStart,S=this._model.finalSelectionEnd,E=!(!l||!S||l[0]===S[0]&&l[1]===S[1]);E?l&&S&&(this._oldSelectionStart&&this._oldSelectionEnd&&l[0]===this._oldSelectionStart[0]&&l[1]===this._oldSelectionStart[1]&&S[0]===this._oldSelectionEnd[0]&&S[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(l,S,E)):this._oldHasSelection&&this._fireOnSelectionChange(l,S,E)}_fireOnSelectionChange(l,S,E){this._oldSelectionStart=l,this._oldSelectionEnd=S,this._oldHasSelection=E,this._onSelectionChange.fire()}_handleBufferActivate(l){this.clearSelection(),this._trimListener.dispose(),this._trimListener=l.activeBuffer.lines.onTrim(S=>this._handleTrim(S))}_convertViewportColToCharacterIndex(l,S){let E=S;for(let k=0;S>=k;k++){const x=l.loadCell(k,this._workCell).getChars().length;this._workCell.getWidth()===0?E--:x>1&&S!==k&&(E+=x-1)}return E}setSelection(l,S,E){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[l,S],this._model.selectionStartLength=E,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(l){this._isClickInSelection(l)||(this._selectWordAtCursor(l,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(l,S,E=!0,k=!0){if(l[0]>=this._bufferService.cols)return;const x=this._bufferService.buffer,w=x.lines.get(l[1]);if(!w)return;const B=x.translateBufferLineToString(l[1],!1);let I=this._convertViewportColToCharacterIndex(w,l[0]),$=I;const j=l[0]-I;let W=0,m=0,b=0,y=0;if(B.charAt(I)===" "){for(;I>0&&B.charAt(I-1)===" ";)I--;for(;$1&&(y+=K-1,$+=K-1);U>0&&I>0&&!this._isCharWordSeparator(w.loadCell(U-1,this._workCell));){w.loadCell(U-1,this._workCell);const A=this._workCell.getChars().length;this._workCell.getWidth()===0?(W++,U--):A>1&&(b+=A-1,I-=A-1),I--,U--}for(;q1&&(y+=A-1,$+=A-1),$++,q++}}$++;let D=I+j-W+b,P=Math.min(this._bufferService.cols,$-I+W+m-b-y);if(S||B.slice(I,$).trim()!==""){if(E&&D===0&&w.getCodePoint(0)!==32){const U=x.lines.get(l[1]-1);if(U&&w.isWrapped&&U.getCodePoint(this._bufferService.cols-1)!==32){const q=this._getWordAt([this._bufferService.cols-1,l[1]-1],!1,!0,!1);if(q){const K=this._bufferService.cols-q.start;D-=K,P+=K}}}if(k&&D+P===this._bufferService.cols&&w.getCodePoint(this._bufferService.cols-1)!==32){const U=x.lines.get(l[1]+1);if(U?.isWrapped&&U.getCodePoint(0)!==32){const q=this._getWordAt([0,l[1]+1],!1,!1,!0);q&&(P+=q.length)}}return{start:D,length:P}}}_selectWordAt(l,S){const E=this._getWordAt(l,S);if(E){for(;E.start<0;)E.start+=this._bufferService.cols,l[1]--;this._model.selectionStart=[E.start,l[1]],this._model.selectionStartLength=E.length}}_selectToWordAt(l){const S=this._getWordAt(l,!0);if(S){let E=l[1];for(;S.start<0;)S.start+=this._bufferService.cols,E--;if(!this._model.areSelectionValuesReversed())for(;S.start+S.length>this._bufferService.cols;)S.length-=this._bufferService.cols,E++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?S.start:S.start+S.length,E]}}_isCharWordSeparator(l){return l.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(l.getChars())>=0}_selectLineAt(l){const S=this._bufferService.buffer.getWrappedRangeForLine(l),E={start:{x:0,y:S.first},end:{x:this._bufferService.cols-1,y:S.last}};this._model.selectionStart=[0,S.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,e.getRangeLength)(E,this._bufferService.cols)}};n.SelectionService=p=c([_(3,a.IBufferService),_(4,a.ICoreService),_(5,u.IMouseService),_(6,a.IOptionsService),_(7,u.IRenderService),_(8,u.ICoreBrowserService)],p)},4725:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ILinkProviderService=n.IThemeService=n.ICharacterJoinerService=n.ISelectionService=n.IRenderService=n.IMouseService=n.ICoreBrowserService=n.ICharSizeService=void 0;const c=o(8343);n.ICharSizeService=(0,c.createDecorator)("CharSizeService"),n.ICoreBrowserService=(0,c.createDecorator)("CoreBrowserService"),n.IMouseService=(0,c.createDecorator)("MouseService"),n.IRenderService=(0,c.createDecorator)("RenderService"),n.ISelectionService=(0,c.createDecorator)("SelectionService"),n.ICharacterJoinerService=(0,c.createDecorator)("CharacterJoinerService"),n.IThemeService=(0,c.createDecorator)("ThemeService"),n.ILinkProviderService=(0,c.createDecorator)("LinkProviderService")},6731:function(O,n,o){var c=this&&this.__decorate||function(p,l,S,E){var k,x=arguments.length,w=x<3?l:E===null?E=Object.getOwnPropertyDescriptor(l,S):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(p,l,S,E);else for(var B=p.length-1;B>=0;B--)(k=p[B])&&(w=(x<3?k(w):x>3?k(l,S,w):k(l,S))||w);return x>3&&w&&Object.defineProperty(l,S,w),w},_=this&&this.__param||function(p,l){return function(S,E){l(S,E,p)}};Object.defineProperty(n,"__esModule",{value:!0}),n.ThemeService=n.DEFAULT_ANSI_COLORS=void 0;const r=o(7239),d=o(8055),f=o(8460),u=o(844),h=o(2585),i=d.css.toColor("#ffffff"),s=d.css.toColor("#000000"),e=d.css.toColor("#ffffff"),t=d.css.toColor("#000000"),a={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};n.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const p=[d.css.toColor("#2e3436"),d.css.toColor("#cc0000"),d.css.toColor("#4e9a06"),d.css.toColor("#c4a000"),d.css.toColor("#3465a4"),d.css.toColor("#75507b"),d.css.toColor("#06989a"),d.css.toColor("#d3d7cf"),d.css.toColor("#555753"),d.css.toColor("#ef2929"),d.css.toColor("#8ae234"),d.css.toColor("#fce94f"),d.css.toColor("#729fcf"),d.css.toColor("#ad7fa8"),d.css.toColor("#34e2e2"),d.css.toColor("#eeeeec")],l=[0,95,135,175,215,255];for(let S=0;S<216;S++){const E=l[S/36%6|0],k=l[S/6%6|0],x=l[S%6];p.push({css:d.channels.toCss(E,k,x),rgba:d.channels.toRgba(E,k,x)})}for(let S=0;S<24;S++){const E=8+10*S;p.push({css:d.channels.toCss(E,E,E),rgba:d.channels.toRgba(E,E,E)})}return p})());let g=n.ThemeService=class extends u.Disposable{get colors(){return this._colors}constructor(p){super(),this._optionsService=p,this._contrastCache=new r.ColorContrastCache,this._halfContrastCache=new r.ColorContrastCache,this._onChangeColors=this.register(new f.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:i,background:s,cursor:e,cursorAccent:t,selectionForeground:void 0,selectionBackgroundTransparent:a,selectionBackgroundOpaque:d.color.blend(s,a),selectionInactiveBackgroundTransparent:a,selectionInactiveBackgroundOpaque:d.color.blend(s,a),ansi:n.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this.register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}_setTheme(p={}){const l=this._colors;if(l.foreground=v(p.foreground,i),l.background=v(p.background,s),l.cursor=v(p.cursor,e),l.cursorAccent=v(p.cursorAccent,t),l.selectionBackgroundTransparent=v(p.selectionBackground,a),l.selectionBackgroundOpaque=d.color.blend(l.background,l.selectionBackgroundTransparent),l.selectionInactiveBackgroundTransparent=v(p.selectionInactiveBackground,l.selectionBackgroundTransparent),l.selectionInactiveBackgroundOpaque=d.color.blend(l.background,l.selectionInactiveBackgroundTransparent),l.selectionForeground=p.selectionForeground?v(p.selectionForeground,d.NULL_COLOR):void 0,l.selectionForeground===d.NULL_COLOR&&(l.selectionForeground=void 0),d.color.isOpaque(l.selectionBackgroundTransparent)&&(l.selectionBackgroundTransparent=d.color.opacity(l.selectionBackgroundTransparent,.3)),d.color.isOpaque(l.selectionInactiveBackgroundTransparent)&&(l.selectionInactiveBackgroundTransparent=d.color.opacity(l.selectionInactiveBackgroundTransparent,.3)),l.ansi=n.DEFAULT_ANSI_COLORS.slice(),l.ansi[0]=v(p.black,n.DEFAULT_ANSI_COLORS[0]),l.ansi[1]=v(p.red,n.DEFAULT_ANSI_COLORS[1]),l.ansi[2]=v(p.green,n.DEFAULT_ANSI_COLORS[2]),l.ansi[3]=v(p.yellow,n.DEFAULT_ANSI_COLORS[3]),l.ansi[4]=v(p.blue,n.DEFAULT_ANSI_COLORS[4]),l.ansi[5]=v(p.magenta,n.DEFAULT_ANSI_COLORS[5]),l.ansi[6]=v(p.cyan,n.DEFAULT_ANSI_COLORS[6]),l.ansi[7]=v(p.white,n.DEFAULT_ANSI_COLORS[7]),l.ansi[8]=v(p.brightBlack,n.DEFAULT_ANSI_COLORS[8]),l.ansi[9]=v(p.brightRed,n.DEFAULT_ANSI_COLORS[9]),l.ansi[10]=v(p.brightGreen,n.DEFAULT_ANSI_COLORS[10]),l.ansi[11]=v(p.brightYellow,n.DEFAULT_ANSI_COLORS[11]),l.ansi[12]=v(p.brightBlue,n.DEFAULT_ANSI_COLORS[12]),l.ansi[13]=v(p.brightMagenta,n.DEFAULT_ANSI_COLORS[13]),l.ansi[14]=v(p.brightCyan,n.DEFAULT_ANSI_COLORS[14]),l.ansi[15]=v(p.brightWhite,n.DEFAULT_ANSI_COLORS[15]),p.extendedAnsi){const S=Math.min(l.ansi.length-16,p.extendedAnsi.length);for(let E=0;E{Object.defineProperty(n,"__esModule",{value:!0}),n.CircularList=void 0;const c=o(8460),_=o(844);class r extends _.Disposable{constructor(f){super(),this._maxLength=f,this.onDeleteEmitter=this.register(new c.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new c.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new c.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(f){if(this._maxLength===f)return;const u=new Array(f);for(let h=0;hthis._length)for(let u=this._length;u=f;i--)this._array[this._getCyclicIndex(i+h.length)]=this._array[this._getCyclicIndex(i)];for(let i=0;ithis._maxLength){const i=this._length+h.length-this._maxLength;this._startIndex+=i,this._length=this._maxLength,this.onTrimEmitter.fire(i)}else this._length+=h.length}trimStart(f){f>this._length&&(f=this._length),this._startIndex+=f,this._length-=f,this.onTrimEmitter.fire(f)}shiftElements(f,u,h){if(!(u<=0)){if(f<0||f>=this._length)throw new Error("start argument out of range");if(f+h<0)throw new Error("Cannot shift elements in list beyond index 0");if(h>0){for(let s=u-1;s>=0;s--)this.set(f+s+h,this.get(f+s));const i=f+u+h-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i{Object.defineProperty(n,"__esModule",{value:!0}),n.clone=void 0,n.clone=function o(c,_=5){if(typeof c!="object")return c;const r=Array.isArray(c)?[]:{};for(const d in c)r[d]=_<=1?c[d]:c[d]&&o(c[d],_-1);return r}},8055:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.contrastRatio=n.toPaddedHex=n.rgba=n.rgb=n.css=n.color=n.channels=n.NULL_COLOR=void 0;let o=0,c=0,_=0,r=0;var d,f,u,h,i;function s(t){const a=t.toString(16);return a.length<2?"0"+a:a}function e(t,a){return t>>0},t.toColor=function(a,g,v,p){return{css:t.toCss(a,g,v,p),rgba:t.toRgba(a,g,v,p)}}}(d||(n.channels=d={})),function(t){function a(g,v){return r=Math.round(255*v),[o,c,_]=i.toChannels(g.rgba),{css:d.toCss(o,c,_,r),rgba:d.toRgba(o,c,_,r)}}t.blend=function(g,v){if(r=(255&v.rgba)/255,r===1)return{css:v.css,rgba:v.rgba};const p=v.rgba>>24&255,l=v.rgba>>16&255,S=v.rgba>>8&255,E=g.rgba>>24&255,k=g.rgba>>16&255,x=g.rgba>>8&255;return o=E+Math.round((p-E)*r),c=k+Math.round((l-k)*r),_=x+Math.round((S-x)*r),{css:d.toCss(o,c,_),rgba:d.toRgba(o,c,_)}},t.isOpaque=function(g){return(255&g.rgba)==255},t.ensureContrastRatio=function(g,v,p){const l=i.ensureContrastRatio(g.rgba,v.rgba,p);if(l)return d.toColor(l>>24&255,l>>16&255,l>>8&255)},t.opaque=function(g){const v=(255|g.rgba)>>>0;return[o,c,_]=i.toChannels(v),{css:d.toCss(o,c,_),rgba:v}},t.opacity=a,t.multiplyOpacity=function(g,v){return r=255&g.rgba,a(g,r*v/255)},t.toColorRGB=function(g){return[g.rgba>>24&255,g.rgba>>16&255,g.rgba>>8&255]}}(f||(n.color=f={})),function(t){let a,g;try{const v=document.createElement("canvas");v.width=1,v.height=1;const p=v.getContext("2d",{willReadFrequently:!0});p&&(a=p,a.globalCompositeOperation="copy",g=a.createLinearGradient(0,0,1,1))}catch{}t.toColor=function(v){if(v.match(/#[\da-f]{3,8}/i))switch(v.length){case 4:return o=parseInt(v.slice(1,2).repeat(2),16),c=parseInt(v.slice(2,3).repeat(2),16),_=parseInt(v.slice(3,4).repeat(2),16),d.toColor(o,c,_);case 5:return o=parseInt(v.slice(1,2).repeat(2),16),c=parseInt(v.slice(2,3).repeat(2),16),_=parseInt(v.slice(3,4).repeat(2),16),r=parseInt(v.slice(4,5).repeat(2),16),d.toColor(o,c,_,r);case 7:return{css:v,rgba:(parseInt(v.slice(1),16)<<8|255)>>>0};case 9:return{css:v,rgba:parseInt(v.slice(1),16)>>>0}}const p=v.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(p)return o=parseInt(p[1]),c=parseInt(p[2]),_=parseInt(p[3]),r=Math.round(255*(p[5]===void 0?1:parseFloat(p[5]))),d.toColor(o,c,_,r);if(!a||!g)throw new Error("css.toColor: Unsupported css format");if(a.fillStyle=g,a.fillStyle=v,typeof a.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(a.fillRect(0,0,1,1),[o,c,_,r]=a.getImageData(0,0,1,1).data,r!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:d.toRgba(o,c,_,r),css:v}}}(u||(n.css=u={})),function(t){function a(g,v,p){const l=g/255,S=v/255,E=p/255;return .2126*(l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4))+.7152*(S<=.03928?S/12.92:Math.pow((S+.055)/1.055,2.4))+.0722*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))}t.relativeLuminance=function(g){return a(g>>16&255,g>>8&255,255&g)},t.relativeLuminance2=a}(h||(n.rgb=h={})),function(t){function a(v,p,l){const S=v>>24&255,E=v>>16&255,k=v>>8&255;let x=p>>24&255,w=p>>16&255,B=p>>8&255,I=e(h.relativeLuminance2(x,w,B),h.relativeLuminance2(S,E,k));for(;I0||w>0||B>0);)x-=Math.max(0,Math.ceil(.1*x)),w-=Math.max(0,Math.ceil(.1*w)),B-=Math.max(0,Math.ceil(.1*B)),I=e(h.relativeLuminance2(x,w,B),h.relativeLuminance2(S,E,k));return(x<<24|w<<16|B<<8|255)>>>0}function g(v,p,l){const S=v>>24&255,E=v>>16&255,k=v>>8&255;let x=p>>24&255,w=p>>16&255,B=p>>8&255,I=e(h.relativeLuminance2(x,w,B),h.relativeLuminance2(S,E,k));for(;I>>0}t.blend=function(v,p){if(r=(255&p)/255,r===1)return p;const l=p>>24&255,S=p>>16&255,E=p>>8&255,k=v>>24&255,x=v>>16&255,w=v>>8&255;return o=k+Math.round((l-k)*r),c=x+Math.round((S-x)*r),_=w+Math.round((E-w)*r),d.toRgba(o,c,_)},t.ensureContrastRatio=function(v,p,l){const S=h.relativeLuminance(v>>8),E=h.relativeLuminance(p>>8);if(e(S,E)>8));if(Be(S,h.relativeLuminance(I>>8))?w:I}return w}const k=g(v,p,l),x=e(S,h.relativeLuminance(k>>8));if(xe(S,h.relativeLuminance(w>>8))?k:w}return k}},t.reduceLuminance=a,t.increaseLuminance=g,t.toChannels=function(v){return[v>>24&255,v>>16&255,v>>8&255,255&v]}}(i||(n.rgba=i={})),n.toPaddedHex=s,n.contrastRatio=e},8969:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CoreTerminal=void 0;const c=o(844),_=o(2585),r=o(4348),d=o(7866),f=o(744),u=o(7302),h=o(6975),i=o(8460),s=o(1753),e=o(1480),t=o(7994),a=o(9282),g=o(5435),v=o(5981),p=o(2660);let l=!1;class S extends c.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new i.EventEmitter),this._onScroll.event(k=>{this._onScrollApi?.fire(k.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(k){for(const x in k)this.optionsService.options[x]=k[x]}constructor(k){super(),this._windowsWrappingHeuristics=this.register(new c.MutableDisposable),this._onBinary=this.register(new i.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new i.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new i.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new i.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new i.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new i.EventEmitter),this._instantiationService=new r.InstantiationService,this.optionsService=this.register(new u.OptionsService(k)),this._instantiationService.setService(_.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(f.BufferService)),this._instantiationService.setService(_.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(d.LogService)),this._instantiationService.setService(_.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(h.CoreService)),this._instantiationService.setService(_.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(s.CoreMouseService)),this._instantiationService.setService(_.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(e.UnicodeService)),this._instantiationService.setService(_.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(t.CharsetService),this._instantiationService.setService(_.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(p.OscLinkService),this._instantiationService.setService(_.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new g.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,i.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,i.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,i.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,i.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll(x=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(x=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new v.WriteBuffer((x,w)=>this._inputHandler.parse(x,w))),this.register((0,i.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(k,x){this._writeBuffer.write(k,x)}writeSync(k,x){this._logService.logLevel<=_.LogLevelEnum.WARN&&!l&&(this._logService.warn("writeSync is unreliable and will be removed soon."),l=!0),this._writeBuffer.writeSync(k,x)}input(k,x=!0){this.coreService.triggerDataEvent(k,x)}resize(k,x){isNaN(k)||isNaN(x)||(k=Math.max(k,f.MINIMUM_COLS),x=Math.max(x,f.MINIMUM_ROWS),this._bufferService.resize(k,x))}scroll(k,x=!1){this._bufferService.scroll(k,x)}scrollLines(k,x,w){this._bufferService.scrollLines(k,x,w)}scrollPages(k){this.scrollLines(k*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(k){const x=k-this._bufferService.buffer.ydisp;x!==0&&this.scrollLines(x)}registerEscHandler(k,x){return this._inputHandler.registerEscHandler(k,x)}registerDcsHandler(k,x){return this._inputHandler.registerDcsHandler(k,x)}registerCsiHandler(k,x){return this._inputHandler.registerCsiHandler(k,x)}registerOscHandler(k,x){return this._inputHandler.registerOscHandler(k,x)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let k=!1;const x=this.optionsService.rawOptions.windowsPty;x&&x.buildNumber!==void 0&&x.buildNumber!==void 0?k=x.backend==="conpty"&&x.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(k=!0),k?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const k=[];k.push(this.onLineFeed(a.updateWindowsModeWrappedState.bind(null,this._bufferService))),k.push(this.registerCsiHandler({final:"H"},()=>((0,a.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,c.toDisposable)(()=>{for(const x of k)x.dispose()})}}}n.CoreTerminal=S},8460:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.runAndSubscribe=n.forwardEvent=n.EventEmitter=void 0,n.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let c=0;cc.fire(_))},n.runAndSubscribe=function(o,c){return c(void 0),o(_=>c(_))}},5435:function(O,n,o){var c=this&&this.__decorate||function(W,m,b,y){var D,P=arguments.length,U=P<3?m:y===null?y=Object.getOwnPropertyDescriptor(m,b):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(W,m,b,y);else for(var q=W.length-1;q>=0;q--)(D=W[q])&&(U=(P<3?D(U):P>3?D(m,b,U):D(m,b))||U);return P>3&&U&&Object.defineProperty(m,b,U),U},_=this&&this.__param||function(W,m){return function(b,y){m(b,y,W)}};Object.defineProperty(n,"__esModule",{value:!0}),n.InputHandler=n.WindowsOptionsReportType=void 0;const r=o(2584),d=o(7116),f=o(2015),u=o(844),h=o(482),i=o(8437),s=o(8460),e=o(643),t=o(511),a=o(3734),g=o(2585),v=o(1480),p=o(6242),l=o(6351),S=o(5941),E={"(":0,")":1,"*":2,"+":3,"-":1,".":2},k=131072;function x(W,m){if(W>24)return m.setWinLines||!1;switch(W){case 1:return!!m.restoreWin;case 2:return!!m.minimizeWin;case 3:return!!m.setWinPosition;case 4:return!!m.setWinSizePixels;case 5:return!!m.raiseWin;case 6:return!!m.lowerWin;case 7:return!!m.refreshWin;case 8:return!!m.setWinSizeChars;case 9:return!!m.maximizeWin;case 10:return!!m.fullscreenWin;case 11:return!!m.getWinState;case 13:return!!m.getWinPosition;case 14:return!!m.getWinSizePixels;case 15:return!!m.getScreenSizePixels;case 16:return!!m.getCellSizePixels;case 18:return!!m.getWinSizeChars;case 19:return!!m.getScreenSizeChars;case 20:return!!m.getIconTitle;case 21:return!!m.getWinTitle;case 22:return!!m.pushTitle;case 23:return!!m.popTitle;case 24:return!!m.setWinLines}return!1}var w;(function(W){W[W.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",W[W.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(w||(n.WindowsOptionsReportType=w={}));let B=0;class I extends u.Disposable{getAttrData(){return this._curAttrData}constructor(m,b,y,D,P,U,q,K,A=new f.EscapeSequenceParser){super(),this._bufferService=m,this._charsetService=b,this._coreService=y,this._logService=D,this._optionsService=P,this._oscLinkService=U,this._coreMouseService=q,this._unicodeService=K,this._parser=A,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new h.StringToUtf32,this._utf8Decoder=new h.Utf8ToUtf32,this._workCell=new t.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=i.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new s.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new s.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new s.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new s.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new s.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new s.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new s.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new s.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new s.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new s.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new s.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new s.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new s.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new $(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(C=>this._activeBuffer=C.activeBuffer)),this._parser.setCsiHandlerFallback((C,M)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(C),params:M.toArray()})}),this._parser.setEscHandlerFallback(C=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(C)})}),this._parser.setExecuteHandlerFallback(C=>{this._logService.debug("Unknown EXECUTE code: ",{code:C})}),this._parser.setOscHandlerFallback((C,M,H)=>{this._logService.debug("Unknown OSC code: ",{identifier:C,action:M,data:H})}),this._parser.setDcsHandlerFallback((C,M,H)=>{M==="HOOK"&&(H=H.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(C),action:M,payload:H})}),this._parser.setPrintHandler((C,M,H)=>this.print(C,M,H)),this._parser.registerCsiHandler({final:"@"},C=>this.insertChars(C)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},C=>this.scrollLeft(C)),this._parser.registerCsiHandler({final:"A"},C=>this.cursorUp(C)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},C=>this.scrollRight(C)),this._parser.registerCsiHandler({final:"B"},C=>this.cursorDown(C)),this._parser.registerCsiHandler({final:"C"},C=>this.cursorForward(C)),this._parser.registerCsiHandler({final:"D"},C=>this.cursorBackward(C)),this._parser.registerCsiHandler({final:"E"},C=>this.cursorNextLine(C)),this._parser.registerCsiHandler({final:"F"},C=>this.cursorPrecedingLine(C)),this._parser.registerCsiHandler({final:"G"},C=>this.cursorCharAbsolute(C)),this._parser.registerCsiHandler({final:"H"},C=>this.cursorPosition(C)),this._parser.registerCsiHandler({final:"I"},C=>this.cursorForwardTab(C)),this._parser.registerCsiHandler({final:"J"},C=>this.eraseInDisplay(C,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},C=>this.eraseInDisplay(C,!0)),this._parser.registerCsiHandler({final:"K"},C=>this.eraseInLine(C,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},C=>this.eraseInLine(C,!0)),this._parser.registerCsiHandler({final:"L"},C=>this.insertLines(C)),this._parser.registerCsiHandler({final:"M"},C=>this.deleteLines(C)),this._parser.registerCsiHandler({final:"P"},C=>this.deleteChars(C)),this._parser.registerCsiHandler({final:"S"},C=>this.scrollUp(C)),this._parser.registerCsiHandler({final:"T"},C=>this.scrollDown(C)),this._parser.registerCsiHandler({final:"X"},C=>this.eraseChars(C)),this._parser.registerCsiHandler({final:"Z"},C=>this.cursorBackwardTab(C)),this._parser.registerCsiHandler({final:"`"},C=>this.charPosAbsolute(C)),this._parser.registerCsiHandler({final:"a"},C=>this.hPositionRelative(C)),this._parser.registerCsiHandler({final:"b"},C=>this.repeatPrecedingCharacter(C)),this._parser.registerCsiHandler({final:"c"},C=>this.sendDeviceAttributesPrimary(C)),this._parser.registerCsiHandler({prefix:">",final:"c"},C=>this.sendDeviceAttributesSecondary(C)),this._parser.registerCsiHandler({final:"d"},C=>this.linePosAbsolute(C)),this._parser.registerCsiHandler({final:"e"},C=>this.vPositionRelative(C)),this._parser.registerCsiHandler({final:"f"},C=>this.hVPosition(C)),this._parser.registerCsiHandler({final:"g"},C=>this.tabClear(C)),this._parser.registerCsiHandler({final:"h"},C=>this.setMode(C)),this._parser.registerCsiHandler({prefix:"?",final:"h"},C=>this.setModePrivate(C)),this._parser.registerCsiHandler({final:"l"},C=>this.resetMode(C)),this._parser.registerCsiHandler({prefix:"?",final:"l"},C=>this.resetModePrivate(C)),this._parser.registerCsiHandler({final:"m"},C=>this.charAttributes(C)),this._parser.registerCsiHandler({final:"n"},C=>this.deviceStatus(C)),this._parser.registerCsiHandler({prefix:"?",final:"n"},C=>this.deviceStatusPrivate(C)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},C=>this.softReset(C)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},C=>this.setCursorStyle(C)),this._parser.registerCsiHandler({final:"r"},C=>this.setScrollRegion(C)),this._parser.registerCsiHandler({final:"s"},C=>this.saveCursor(C)),this._parser.registerCsiHandler({final:"t"},C=>this.windowOptions(C)),this._parser.registerCsiHandler({final:"u"},C=>this.restoreCursor(C)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},C=>this.insertColumns(C)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},C=>this.deleteColumns(C)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},C=>this.selectProtected(C)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},C=>this.requestMode(C,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},C=>this.requestMode(C,!1)),this._parser.setExecuteHandler(r.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(r.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(r.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(r.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(r.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(r.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(r.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(r.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(r.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(r.C1.IND,()=>this.index()),this._parser.setExecuteHandler(r.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(r.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new p.OscHandler(C=>(this.setTitle(C),this.setIconName(C),!0))),this._parser.registerOscHandler(1,new p.OscHandler(C=>this.setIconName(C))),this._parser.registerOscHandler(2,new p.OscHandler(C=>this.setTitle(C))),this._parser.registerOscHandler(4,new p.OscHandler(C=>this.setOrReportIndexedColor(C))),this._parser.registerOscHandler(8,new p.OscHandler(C=>this.setHyperlink(C))),this._parser.registerOscHandler(10,new p.OscHandler(C=>this.setOrReportFgColor(C))),this._parser.registerOscHandler(11,new p.OscHandler(C=>this.setOrReportBgColor(C))),this._parser.registerOscHandler(12,new p.OscHandler(C=>this.setOrReportCursorColor(C))),this._parser.registerOscHandler(104,new p.OscHandler(C=>this.restoreIndexedColor(C))),this._parser.registerOscHandler(110,new p.OscHandler(C=>this.restoreFgColor(C))),this._parser.registerOscHandler(111,new p.OscHandler(C=>this.restoreBgColor(C))),this._parser.registerOscHandler(112,new p.OscHandler(C=>this.restoreCursorColor(C))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(const C in d.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:C},()=>this.selectCharset("("+C)),this._parser.registerEscHandler({intermediates:")",final:C},()=>this.selectCharset(")"+C)),this._parser.registerEscHandler({intermediates:"*",final:C},()=>this.selectCharset("*"+C)),this._parser.registerEscHandler({intermediates:"+",final:C},()=>this.selectCharset("+"+C)),this._parser.registerEscHandler({intermediates:"-",final:C},()=>this.selectCharset("-"+C)),this._parser.registerEscHandler({intermediates:".",final:C},()=>this.selectCharset("."+C)),this._parser.registerEscHandler({intermediates:"/",final:C},()=>this.selectCharset("/"+C));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(C=>(this._logService.error("Parsing error: ",C),C)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new l.DcsHandler((C,M)=>this.requestStatusString(C,M)))}_preserveStack(m,b,y,D){this._parseStack.paused=!0,this._parseStack.cursorStartX=m,this._parseStack.cursorStartY=b,this._parseStack.decodedLength=y,this._parseStack.position=D}_logSlowResolvingAsync(m){this._logService.logLevel<=g.LogLevelEnum.WARN&&Promise.race([m,new Promise((b,y)=>setTimeout(()=>y("#SLOW_TIMEOUT"),5e3))]).catch(b=>{if(b!=="#SLOW_TIMEOUT")throw b;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(m,b){let y,D=this._activeBuffer.x,P=this._activeBuffer.y,U=0;const q=this._parseStack.paused;if(q){if(y=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,b))return this._logSlowResolvingAsync(y),y;D=this._parseStack.cursorStartX,P=this._parseStack.cursorStartY,this._parseStack.paused=!1,m.length>k&&(U=this._parseStack.position+k)}if(this._logService.logLevel<=g.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof m=="string"?` "${m}"`:` "${Array.prototype.map.call(m,C=>String.fromCharCode(C)).join("")}"`),typeof m=="string"?m.split("").map(C=>C.charCodeAt(0)):m),this._parseBuffer.lengthk)for(let C=U;C0&&H.getWidth(this._activeBuffer.x-1)===2&&H.setCellFromCodepoint(this._activeBuffer.x-1,0,1,M);let z=this._parser.precedingJoinState;for(let N=b;NK){if(A){const ce=H;let V=this._activeBuffer.x-ee;for(this._activeBuffer.x=ee,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),H=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),ee>0&&H instanceof i.BufferLine&&H.copyCellsFrom(ce,V,0,ee,!1);V=0;)H.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}else if(C&&(H.insertCells(this._activeBuffer.x,P-ee,this._activeBuffer.getNullCell(M)),H.getWidth(K-1)===2&&H.setCellFromCodepoint(K-1,e.NULL_CELL_CODE,e.NULL_CELL_WIDTH,M)),H.setCellFromCodepoint(this._activeBuffer.x++,D,P,M),P>0)for(;--P;)H.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}this._parser.precedingJoinState=z,this._activeBuffer.x0&&H.getWidth(this._activeBuffer.x)===0&&!H.hasContent(this._activeBuffer.x)&&H.setCellFromCodepoint(this._activeBuffer.x,0,1,M),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(m,b){return m.final!=="t"||m.prefix||m.intermediates?this._parser.registerCsiHandler(m,b):this._parser.registerCsiHandler(m,y=>!x(y.params[0],this._optionsService.rawOptions.windowOptions)||b(y))}registerDcsHandler(m,b){return this._parser.registerDcsHandler(m,new l.DcsHandler(b))}registerEscHandler(m,b){return this._parser.registerEscHandler(m,b)}registerOscHandler(m,b){return this._parser.registerOscHandler(m,new p.OscHandler(b))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);m.hasWidth(this._activeBuffer.x)&&!m.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const m=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-m),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(m=this._bufferService.cols-1){this._activeBuffer.x=Math.min(m,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(m,b){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=m,this._activeBuffer.y=this._activeBuffer.scrollTop+b):(this._activeBuffer.x=m,this._activeBuffer.y=b),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(m,b){this._restrictCursor(),this._setCursor(this._activeBuffer.x+m,this._activeBuffer.y+b)}cursorUp(m){const b=this._activeBuffer.y-this._activeBuffer.scrollTop;return b>=0?this._moveCursor(0,-Math.min(b,m.params[0]||1)):this._moveCursor(0,-(m.params[0]||1)),!0}cursorDown(m){const b=this._activeBuffer.scrollBottom-this._activeBuffer.y;return b>=0?this._moveCursor(0,Math.min(b,m.params[0]||1)):this._moveCursor(0,m.params[0]||1),!0}cursorForward(m){return this._moveCursor(m.params[0]||1,0),!0}cursorBackward(m){return this._moveCursor(-(m.params[0]||1),0),!0}cursorNextLine(m){return this.cursorDown(m),this._activeBuffer.x=0,!0}cursorPrecedingLine(m){return this.cursorUp(m),this._activeBuffer.x=0,!0}cursorCharAbsolute(m){return this._setCursor((m.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(m){return this._setCursor(m.length>=2?(m.params[1]||1)-1:0,(m.params[0]||1)-1),!0}charPosAbsolute(m){return this._setCursor((m.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(m){return this._moveCursor(m.params[0]||1,0),!0}linePosAbsolute(m){return this._setCursor(this._activeBuffer.x,(m.params[0]||1)-1),!0}vPositionRelative(m){return this._moveCursor(0,m.params[0]||1),!0}hVPosition(m){return this.cursorPosition(m),!0}tabClear(m){const b=m.params[0];return b===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:b===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(m){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=m.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(m){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=m.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(m){const b=m.params[0];return b===1&&(this._curAttrData.bg|=536870912),b!==2&&b!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(m,b,y,D=!1,P=!1){const U=this._activeBuffer.lines.get(this._activeBuffer.ybase+m);U.replaceCells(b,y,this._activeBuffer.getNullCell(this._eraseAttrData()),P),D&&(U.isWrapped=!1)}_resetBufferLine(m,b=!1){const y=this._activeBuffer.lines.get(this._activeBuffer.ybase+m);y&&(y.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),b),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+m),y.isWrapped=!1)}eraseInDisplay(m,b=!1){let y;switch(this._restrictCursor(this._bufferService.cols),m.params[0]){case 0:for(y=this._activeBuffer.y,this._dirtyRowTracker.markDirty(y),this._eraseInBufferLine(y++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,b);y=this._bufferService.cols&&(this._activeBuffer.lines.get(y+1).isWrapped=!1);y--;)this._resetBufferLine(y,b);this._dirtyRowTracker.markDirty(0);break;case 2:for(y=this._bufferService.rows,this._dirtyRowTracker.markDirty(y-1);y--;)this._resetBufferLine(y,b);this._dirtyRowTracker.markDirty(0);break;case 3:const D=this._activeBuffer.lines.length-this._bufferService.rows;D>0&&(this._activeBuffer.lines.trimStart(D),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-D,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-D,0),this._onScroll.fire(0))}return!0}eraseInLine(m,b=!1){switch(this._restrictCursor(this._bufferService.cols),m.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,b);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,b);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,b)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(m){this._restrictCursor();let b=m.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let A=K;for(let C=1;C0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(r.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(r.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(m){return m.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(r.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(r.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(m.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(r.C0.ESC+"[>83;40003;0c")),!0}_is(m){return(this._optionsService.rawOptions.termName+"").indexOf(m)===0}setMode(m){for(let b=0;bse?1:2,z=m.params[0];return N=z,J=b?z===2?4:z===4?H(U.modes.insertMode):z===12?3:z===20?H(M.convertEol):0:z===1?H(y.applicationCursorKeys):z===3?M.windowOptions.setWinLines?K===80?2:K===132?1:0:0:z===6?H(y.origin):z===7?H(y.wraparound):z===8?3:z===9?H(D==="X10"):z===12?H(M.cursorBlink):z===25?H(!U.isCursorHidden):z===45?H(y.reverseWraparound):z===66?H(y.applicationKeypad):z===67?4:z===1e3?H(D==="VT200"):z===1002?H(D==="DRAG"):z===1003?H(D==="ANY"):z===1004?H(y.sendFocus):z===1005?4:z===1006?H(P==="SGR"):z===1015?4:z===1016?H(P==="SGR_PIXELS"):z===1048?1:z===47||z===1047||z===1049?H(A===C):z===2004?H(y.bracketedPasteMode):0,U.triggerDataEvent(`${r.C0.ESC}[${b?"":"?"}${N};${J}$y`),!0;var N,J}_updateAttrColor(m,b,y,D,P){return b===2?(m|=50331648,m&=-16777216,m|=a.AttributeData.fromColorRGB([y,D,P])):b===5&&(m&=-50331904,m|=33554432|255&y),m}_extractColor(m,b,y){const D=[0,0,-1,0,0,0];let P=0,U=0;do{if(D[U+P]=m.params[b+U],m.hasSubParams(b+U)){const q=m.getSubParams(b+U);let K=0;do D[1]===5&&(P=1),D[U+K+1+P]=q[K];while(++K=2||D[1]===2&&U+P>=5)break;D[1]&&(P=1)}while(++U+b5)&&(m=1),b.extended.underlineStyle=m,b.fg|=268435456,m===0&&(b.fg&=-268435457),b.updateExtended()}_processSGR0(m){m.fg=i.DEFAULT_ATTR_DATA.fg,m.bg=i.DEFAULT_ATTR_DATA.bg,m.extended=m.extended.clone(),m.extended.underlineStyle=0,m.extended.underlineColor&=-67108864,m.updateExtended()}charAttributes(m){if(m.length===1&&m.params[0]===0)return this._processSGR0(this._curAttrData),!0;const b=m.length;let y;const D=this._curAttrData;for(let P=0;P=30&&y<=37?(D.fg&=-50331904,D.fg|=16777216|y-30):y>=40&&y<=47?(D.bg&=-50331904,D.bg|=16777216|y-40):y>=90&&y<=97?(D.fg&=-50331904,D.fg|=16777224|y-90):y>=100&&y<=107?(D.bg&=-50331904,D.bg|=16777224|y-100):y===0?this._processSGR0(D):y===1?D.fg|=134217728:y===3?D.bg|=67108864:y===4?(D.fg|=268435456,this._processUnderline(m.hasSubParams(P)?m.getSubParams(P)[0]:1,D)):y===5?D.fg|=536870912:y===7?D.fg|=67108864:y===8?D.fg|=1073741824:y===9?D.fg|=2147483648:y===2?D.bg|=134217728:y===21?this._processUnderline(2,D):y===22?(D.fg&=-134217729,D.bg&=-134217729):y===23?D.bg&=-67108865:y===24?(D.fg&=-268435457,this._processUnderline(0,D)):y===25?D.fg&=-536870913:y===27?D.fg&=-67108865:y===28?D.fg&=-1073741825:y===29?D.fg&=2147483647:y===39?(D.fg&=-67108864,D.fg|=16777215&i.DEFAULT_ATTR_DATA.fg):y===49?(D.bg&=-67108864,D.bg|=16777215&i.DEFAULT_ATTR_DATA.bg):y===38||y===48||y===58?P+=this._extractColor(m,P,D):y===53?D.bg|=1073741824:y===55?D.bg&=-1073741825:y===59?(D.extended=D.extended.clone(),D.extended.underlineColor=-1,D.updateExtended()):y===100?(D.fg&=-67108864,D.fg|=16777215&i.DEFAULT_ATTR_DATA.fg,D.bg&=-67108864,D.bg|=16777215&i.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",y);return!0}deviceStatus(m){switch(m.params[0]){case 5:this._coreService.triggerDataEvent(`${r.C0.ESC}[0n`);break;case 6:const b=this._activeBuffer.y+1,y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${r.C0.ESC}[${b};${y}R`)}return!0}deviceStatusPrivate(m){if(m.params[0]===6){const b=this._activeBuffer.y+1,y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${r.C0.ESC}[?${b};${y}R`)}return!0}softReset(m){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(m){const b=m.params[0]||1;switch(b){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const y=b%2==1;return this._optionsService.options.cursorBlink=y,!0}setScrollRegion(m){const b=m.params[0]||1;let y;return(m.length<2||(y=m.params[1])>this._bufferService.rows||y===0)&&(y=this._bufferService.rows),y>b&&(this._activeBuffer.scrollTop=b-1,this._activeBuffer.scrollBottom=y-1,this._setCursor(0,0)),!0}windowOptions(m){if(!x(m.params[0],this._optionsService.rawOptions.windowOptions))return!0;const b=m.length>1?m.params[1]:0;switch(m.params[0]){case 14:b!==2&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${r.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:b!==0&&b!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),b!==0&&b!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:b!==0&&b!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),b!==0&&b!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(m){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(m){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(m){return this._windowTitle=m,this._onTitleChange.fire(m),!0}setIconName(m){return this._iconName=m,!0}setOrReportIndexedColor(m){const b=[],y=m.split(";");for(;y.length>1;){const D=y.shift(),P=y.shift();if(/^\d+$/.exec(D)){const U=parseInt(D);if(j(U))if(P==="?")b.push({type:0,index:U});else{const q=(0,S.parseColor)(P);q&&b.push({type:1,index:U,color:q})}}}return b.length&&this._onColor.fire(b),!0}setHyperlink(m){const b=m.split(";");return!(b.length<2)&&(b[1]?this._createHyperlink(b[0],b[1]):!b[0]&&this._finishHyperlink())}_createHyperlink(m,b){this._getCurrentLinkId()&&this._finishHyperlink();const y=m.split(":");let D;const P=y.findIndex(U=>U.startsWith("id="));return P!==-1&&(D=y[P].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:D,uri:b}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(m,b){const y=m.split(";");for(let D=0;D=this._specialColors.length);++D,++b)if(y[D]==="?")this._onColor.fire([{type:0,index:this._specialColors[b]}]);else{const P=(0,S.parseColor)(y[D]);P&&this._onColor.fire([{type:1,index:this._specialColors[b],color:P}])}return!0}setOrReportFgColor(m){return this._setOrReportSpecialColor(m,0)}setOrReportBgColor(m){return this._setOrReportSpecialColor(m,1)}setOrReportCursorColor(m){return this._setOrReportSpecialColor(m,2)}restoreIndexedColor(m){if(!m)return this._onColor.fire([{type:2}]),!0;const b=[],y=m.split(";");for(let D=0;D=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const m=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,m,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=i.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(m){return this._charsetService.setgLevel(m),!0}screenAlignmentPattern(){const m=new t.CellData;m.content=4194373,m.fg=this._curAttrData.fg,m.bg=this._curAttrData.bg,this._setCursor(0,0);for(let b=0;b(this._coreService.triggerDataEvent(`${r.C0.ESC}${P}${r.C0.ESC}\\`),!0))(m==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:m==='"p'?'P1$r61;1"p':m==="r"?`P1$r${y.scrollTop+1};${y.scrollBottom+1}r`:m==="m"?"P1$r0m":m===" q"?`P1$r${{block:2,underline:4,bar:6}[D.cursorStyle]-(D.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(m,b){this._dirtyRowTracker.markRangeDirty(m,b)}}n.InputHandler=I;let $=class{constructor(W){this._bufferService=W,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(W){Wthis.end&&(this.end=W)}markRangeDirty(W,m){W>m&&(B=W,W=m,m=B),Wthis.end&&(this.end=m)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function j(W){return 0<=W&&W<256}$=c([_(0,g.IBufferService)],$)},844:(O,n)=>{function o(c){for(const _ of c)_.dispose();c.length=0}Object.defineProperty(n,"__esModule",{value:!0}),n.getDisposeArrayDisposable=n.disposeArray=n.toDisposable=n.MutableDisposable=n.Disposable=void 0,n.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const c of this._disposables)c.dispose();this._disposables.length=0}register(c){return this._disposables.push(c),c}unregister(c){const _=this._disposables.indexOf(c);_!==-1&&this._disposables.splice(_,1)}},n.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(c){this._isDisposed||c===this._value||(this._value?.dispose(),this._value=c)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},n.toDisposable=function(c){return{dispose:c}},n.disposeArray=o,n.getDisposeArrayDisposable=function(c){return{dispose:()=>o(c)}}},1505:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.FourKeyMap=n.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(_,r,d){this._data[_]||(this._data[_]={}),this._data[_][r]=d}get(_,r){return this._data[_]?this._data[_][r]:void 0}clear(){this._data={}}}n.TwoKeyMap=o,n.FourKeyMap=class{constructor(){this._data=new o}set(c,_,r,d,f){this._data.get(c,_)||this._data.set(c,_,new o),this._data.get(c,_).set(r,d,f)}get(c,_,r,d){return this._data.get(c,_)?.get(r,d)}clear(){this._data.clear()}}},6114:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isChromeOS=n.isLinux=n.isWindows=n.isIphone=n.isIpad=n.isMac=n.getSafariVersion=n.isSafari=n.isLegacyEdge=n.isFirefox=n.isNode=void 0,n.isNode=typeof process<"u"&&"title"in process;const o=n.isNode?"node":navigator.userAgent,c=n.isNode?"node":navigator.platform;n.isFirefox=o.includes("Firefox"),n.isLegacyEdge=o.includes("Edge"),n.isSafari=/^((?!chrome|android).)*safari/i.test(o),n.getSafariVersion=function(){if(!n.isSafari)return 0;const _=o.match(/Version\/(\d+)/);return _===null||_.length<2?0:parseInt(_[1])},n.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(c),n.isIpad=c==="iPad",n.isIphone=c==="iPhone",n.isWindows=["Windows","Win16","Win32","WinCE"].includes(c),n.isLinux=c.indexOf("Linux")>=0,n.isChromeOS=/\bCrOS\b/.test(o)},6106:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SortedList=void 0;let o=0;n.SortedList=class{constructor(c){this._getKey=c,this._array=[]}clear(){this._array.length=0}insert(c){this._array.length!==0?(o=this._search(this._getKey(c)),this._array.splice(o,0,c)):this._array.push(c)}delete(c){if(this._array.length===0)return!1;const _=this._getKey(c);if(_===void 0||(o=this._search(_),o===-1)||this._getKey(this._array[o])!==_)return!1;do if(this._array[o]===c)return this._array.splice(o,1),!0;while(++o=this._array.length)&&this._getKey(this._array[o])===c))do yield this._array[o];while(++o=this._array.length)&&this._getKey(this._array[o])===c))do _(this._array[o]);while(++o=_;){let d=_+r>>1;const f=this._getKey(this._array[d]);if(f>c)r=d-1;else{if(!(f0&&this._getKey(this._array[d-1])===c;)d--;return d}_=d+1}}return _}}},7226:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DebouncedIdleTask=n.IdleTaskQueue=n.PriorityTaskQueue=void 0;const c=o(6114);class _{constructor(){this._tasks=[],this._i=0}enqueue(f){this._tasks.push(f),this._start()}flush(){for(;this._is)return i-u<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-u))}ms`),void this._start();i=s}this.clear()}}class r extends _{_requestCallback(f){return setTimeout(()=>f(this._createDeadline(16)))}_cancelCallback(f){clearTimeout(f)}_createDeadline(f){const u=Date.now()+f;return{timeRemaining:()=>Math.max(0,u-Date.now())}}}n.PriorityTaskQueue=r,n.IdleTaskQueue=!c.isNode&&"requestIdleCallback"in window?class extends _{_requestCallback(d){return requestIdleCallback(d)}_cancelCallback(d){cancelIdleCallback(d)}}:r,n.DebouncedIdleTask=class{constructor(){this._queue=new n.IdleTaskQueue}set(d){this._queue.clear(),this._queue.enqueue(d)}flush(){this._queue.flush()}}},9282:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updateWindowsModeWrappedState=void 0;const c=o(643);n.updateWindowsModeWrappedState=function(_){const r=_.buffer.lines.get(_.buffer.ybase+_.buffer.y-1),d=r?.get(_.cols-1),f=_.buffer.lines.get(_.buffer.ybase+_.buffer.y);f&&d&&(f.isWrapped=d[c.CHAR_DATA_CODE_INDEX]!==c.NULL_CELL_CODE&&d[c.CHAR_DATA_CODE_INDEX]!==c.WHITESPACE_CELL_CODE)}},3734:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExtendedAttrs=n.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new c}static toColorRGB(r){return[r>>>16&255,r>>>8&255,255&r]}static fromColorRGB(r){return(255&r[0])<<16|(255&r[1])<<8|255&r[2]}clone(){const r=new o;return r.fg=this.fg,r.bg=this.bg,r.extended=this.extended.clone(),r}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}n.AttributeData=o;class c{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(r){this._ext=r}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(r){this._ext&=-469762049,this._ext|=r<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(r){this._ext&=-67108864,this._ext|=67108863&r}get urlId(){return this._urlId}set urlId(r){this._urlId=r}get underlineVariantOffset(){const r=(3758096384&this._ext)>>29;return r<0?4294967288^r:r}set underlineVariantOffset(r){this._ext&=536870911,this._ext|=r<<29&3758096384}constructor(r=0,d=0){this._ext=0,this._urlId=0,this._ext=r,this._urlId=d}clone(){return new c(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}n.ExtendedAttrs=c},9092:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Buffer=n.MAX_BUFFER_SIZE=void 0;const c=o(6349),_=o(7226),r=o(3734),d=o(8437),f=o(4634),u=o(511),h=o(643),i=o(4863),s=o(7116);n.MAX_BUFFER_SIZE=4294967295,n.Buffer=class{constructor(e,t,a){this._hasScrollback=e,this._optionsService=t,this._bufferService=a,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=d.DEFAULT_ATTR_DATA.clone(),this.savedCharset=s.DEFAULT_CHARSET,this.markers=[],this._nullCell=u.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]),this._whitespaceCell=u.CellData.fromCharData([0,h.WHITESPACE_CELL_CHAR,h.WHITESPACE_CELL_WIDTH,h.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new _.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new c.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new r.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new r.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new d.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&en.MAX_BUFFER_SIZE?n.MAX_BUFFER_SIZE:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=d.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new c.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const a=this.getNullCell(d.DEFAULT_ATTR_DATA);let g=0;const v=this._getCorrectBufferLength(t);if(v>this.lines.maxLength&&(this.lines.maxLength=v),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+p+1?(this.ybase--,p++,this.ydisp>0&&this.ydisp--):this.lines.push(new d.BufferLine(e,a)));else for(let l=this._rows;l>t;l--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(v0&&(this.lines.trimStart(l),this.ybase=Math.max(this.ybase-l,0),this.ydisp=Math.max(this.ydisp-l,0),this.savedY=Math.max(this.savedY-l,0)),this.lines.maxLength=v}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),p&&(this.y+=p),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let p=0;p.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const a=(0,f.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(d.DEFAULT_ATTR_DATA));if(a.length>0){const g=(0,f.reflowLargerCreateNewLayout)(this.lines,a);(0,f.reflowLargerApplyNewLayout)(this.lines,g.layout),this._reflowLargerAdjustViewport(e,t,g.countRemoved)}}_reflowLargerAdjustViewport(e,t,a){const g=this.getNullCell(d.DEFAULT_ATTR_DATA);let v=a;for(;v-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;p--){let l=this.lines.get(p);if(!l||!l.isWrapped&&l.getTrimmedLength()<=e)continue;const S=[l];for(;l.isWrapped&&p>0;)l=this.lines.get(--p),S.unshift(l);const E=this.ybase+this.y;if(E>=p&&E0&&(g.push({start:p+S.length+v,newLines:I}),v+=I.length),S.push(...I);let $=x.length-1,j=x[$];j===0&&($--,j=x[$]);let W=S.length-w-1,m=k;for(;W>=0;){const y=Math.min(m,j);if(S[$]===void 0)break;if(S[$].copyCellsFrom(S[W],m-y,j-y,y,!0),j-=y,j===0&&($--,j=x[$]),m-=y,m===0){W--;const D=Math.max(W,0);m=(0,f.getWrappedLineTrimmedLength)(S,D,this._cols)}}for(let y=0;y0;)this.ybase===0?this.y0){const p=[],l=[];for(let $=0;$=0;$--)if(x&&x.start>E+w){for(let j=x.newLines.length-1;j>=0;j--)this.lines.set($--,x.newLines[j]);$++,p.push({index:E+1,amount:x.newLines.length}),w+=x.newLines.length,x=g[++k]}else this.lines.set($,l[E--]);let B=0;for(let $=p.length-1;$>=0;$--)p[$].index+=B,this.lines.onInsertEmitter.fire(p[$]),B+=p[$].amount;const I=Math.max(0,S+v-this.lines.maxLength);I>0&&this.lines.onTrimEmitter.fire(I)}}translateBufferLineToString(e,t,a=0,g){const v=this.lines.get(e);return v?v.translateToString(t,a,g):""}getWrappedRangeForLine(e){let t=e,a=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;a+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=a,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(a=>{t.line>=a.index&&(t.line+=a.amount)})),t.register(this.lines.onDelete(a=>{t.line>=a.index&&t.linea.index&&(t.line-=a.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},8437:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferLine=n.DEFAULT_ATTR_DATA=void 0;const c=o(3734),_=o(511),r=o(643),d=o(482);n.DEFAULT_ATTR_DATA=Object.freeze(new c.AttributeData);let f=0;class u{constructor(i,s,e=!1){this.isWrapped=e,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*i);const t=s||_.CellData.fromCharData([0,r.NULL_CELL_CHAR,r.NULL_CELL_WIDTH,r.NULL_CELL_CODE]);for(let a=0;a>22,2097152&s?this._combined[i].charCodeAt(this._combined[i].length-1):e]}set(i,s){this._data[3*i+1]=s[r.CHAR_DATA_ATTR_INDEX],s[r.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[i]=s[1],this._data[3*i+0]=2097152|i|s[r.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*i+0]=s[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|s[r.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(i){return this._data[3*i+0]>>22}hasWidth(i){return 12582912&this._data[3*i+0]}getFg(i){return this._data[3*i+1]}getBg(i){return this._data[3*i+2]}hasContent(i){return 4194303&this._data[3*i+0]}getCodePoint(i){const s=this._data[3*i+0];return 2097152&s?this._combined[i].charCodeAt(this._combined[i].length-1):2097151&s}isCombined(i){return 2097152&this._data[3*i+0]}getString(i){const s=this._data[3*i+0];return 2097152&s?this._combined[i]:2097151&s?(0,d.stringFromCodePoint)(2097151&s):""}isProtected(i){return 536870912&this._data[3*i+2]}loadCell(i,s){return f=3*i,s.content=this._data[f+0],s.fg=this._data[f+1],s.bg=this._data[f+2],2097152&s.content&&(s.combinedData=this._combined[i]),268435456&s.bg&&(s.extended=this._extendedAttrs[i]),s}setCell(i,s){2097152&s.content&&(this._combined[i]=s.combinedData),268435456&s.bg&&(this._extendedAttrs[i]=s.extended),this._data[3*i+0]=s.content,this._data[3*i+1]=s.fg,this._data[3*i+2]=s.bg}setCellFromCodepoint(i,s,e,t){268435456&t.bg&&(this._extendedAttrs[i]=t.extended),this._data[3*i+0]=s|e<<22,this._data[3*i+1]=t.fg,this._data[3*i+2]=t.bg}addCodepointToCell(i,s,e){let t=this._data[3*i+0];2097152&t?this._combined[i]+=(0,d.stringFromCodePoint)(s):2097151&t?(this._combined[i]=(0,d.stringFromCodePoint)(2097151&t)+(0,d.stringFromCodePoint)(s),t&=-2097152,t|=2097152):t=s|4194304,e&&(t&=-12582913,t|=e<<22),this._data[3*i+0]=t}insertCells(i,s,e){if((i%=this.length)&&this.getWidth(i-1)===2&&this.setCellFromCodepoint(i-1,0,1,e),s=0;--a)this.setCell(i+s+a,this.loadCell(i+a,t));for(let a=0;athis.length){if(this._data.buffer.byteLength>=4*e)this._data=new Uint32Array(this._data.buffer,0,e);else{const t=new Uint32Array(e);t.set(this._data),this._data=t}for(let t=this.length;t=i&&delete this._combined[v]}const a=Object.keys(this._extendedAttrs);for(let g=0;g=i&&delete this._extendedAttrs[v]}}return this.length=i,4*e*2=0;--i)if(4194303&this._data[3*i+0])return i+(this._data[3*i+0]>>22);return 0}getNoBgTrimmedLength(){for(let i=this.length-1;i>=0;--i)if(4194303&this._data[3*i+0]||50331648&this._data[3*i+2])return i+(this._data[3*i+0]>>22);return 0}copyCellsFrom(i,s,e,t,a){const g=i._data;if(a)for(let p=t-1;p>=0;p--){for(let l=0;l<3;l++)this._data[3*(e+p)+l]=g[3*(s+p)+l];268435456&g[3*(s+p)+2]&&(this._extendedAttrs[e+p]=i._extendedAttrs[s+p])}else for(let p=0;p=s&&(this._combined[l-s+e]=i._combined[l])}}translateToString(i,s,e,t){s=s??0,e=e??this.length,i&&(e=Math.min(e,this.getTrimmedLength())),t&&(t.length=0);let a="";for(;s>22||1}return t&&t.push(s),a}}n.BufferLine=u},4841:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getRangeLength=void 0,n.getRangeLength=function(o,c){if(o.start.y>o.end.y)throw new Error(`Buffer range end (${o.end.x}, ${o.end.y}) cannot be before start (${o.start.x}, ${o.start.y})`);return c*(o.end.y-o.start.y)+(o.end.x-o.start.x+1)}},4634:(O,n)=>{function o(c,_,r){if(_===c.length-1)return c[_].getTrimmedLength();const d=!c[_].hasContent(r-1)&&c[_].getWidth(r-1)===1,f=c[_+1].getWidth(0)===2;return d&&f?r-1:r}Object.defineProperty(n,"__esModule",{value:!0}),n.getWrappedLineTrimmedLength=n.reflowSmallerGetNewLineLengths=n.reflowLargerApplyNewLayout=n.reflowLargerCreateNewLayout=n.reflowLargerGetLinesToRemove=void 0,n.reflowLargerGetLinesToRemove=function(c,_,r,d,f){const u=[];for(let h=0;h=h&&d0&&(l>t||e[l].getTrimmedLength()===0);l--)p++;p>0&&(u.push(h+e.length-p),u.push(p)),h+=e.length-1}return u},n.reflowLargerCreateNewLayout=function(c,_){const r=[];let d=0,f=_[d],u=0;for(let h=0;ho(c,e,_)).reduce((s,e)=>s+e);let u=0,h=0,i=0;for(;is&&(u-=s,h++);const e=c[h].getWidth(u-1)===2;e&&u--;const t=e?r-1:r;d.push(t),i+=t}return d},n.getWrappedLineTrimmedLength=o},5295:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferSet=void 0;const c=o(8460),_=o(844),r=o(9092);class d extends _.Disposable{constructor(u,h){super(),this._optionsService=u,this._bufferService=h,this._onBufferActivate=this.register(new c.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new r.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new r.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(u){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(u),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(u,h){this._normal.resize(u,h),this._alt.resize(u,h),this.setupTabStops(u)}setupTabStops(u){this._normal.setupTabStops(u),this._alt.setupTabStops(u)}}n.BufferSet=d},511:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CellData=void 0;const c=o(482),_=o(643),r=o(3734);class d extends r.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new r.ExtendedAttrs,this.combinedData=""}static fromCharData(u){const h=new d;return h.setFromCharData(u),h}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,c.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(u){this.fg=u[_.CHAR_DATA_ATTR_INDEX],this.bg=0;let h=!1;if(u[_.CHAR_DATA_CHAR_INDEX].length>2)h=!0;else if(u[_.CHAR_DATA_CHAR_INDEX].length===2){const i=u[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=u[_.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|u[_.CHAR_DATA_WIDTH_INDEX]<<22:h=!0}else h=!0}else this.content=u[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|u[_.CHAR_DATA_WIDTH_INDEX]<<22;h&&(this.combinedData=u[_.CHAR_DATA_CHAR_INDEX],this.content=2097152|u[_.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.CellData=d},643:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WHITESPACE_CELL_CODE=n.WHITESPACE_CELL_WIDTH=n.WHITESPACE_CELL_CHAR=n.NULL_CELL_CODE=n.NULL_CELL_WIDTH=n.NULL_CELL_CHAR=n.CHAR_DATA_CODE_INDEX=n.CHAR_DATA_WIDTH_INDEX=n.CHAR_DATA_CHAR_INDEX=n.CHAR_DATA_ATTR_INDEX=n.DEFAULT_EXT=n.DEFAULT_ATTR=n.DEFAULT_COLOR=void 0,n.DEFAULT_COLOR=0,n.DEFAULT_ATTR=256|n.DEFAULT_COLOR<<9,n.DEFAULT_EXT=0,n.CHAR_DATA_ATTR_INDEX=0,n.CHAR_DATA_CHAR_INDEX=1,n.CHAR_DATA_WIDTH_INDEX=2,n.CHAR_DATA_CODE_INDEX=3,n.NULL_CELL_CHAR="",n.NULL_CELL_WIDTH=1,n.NULL_CELL_CODE=0,n.WHITESPACE_CELL_CHAR=" ",n.WHITESPACE_CELL_WIDTH=1,n.WHITESPACE_CELL_CODE=32},4863:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Marker=void 0;const c=o(8460),_=o(844);class r{get id(){return this._id}constructor(f){this.line=f,this.isDisposed=!1,this._disposables=[],this._id=r._nextId++,this._onDispose=this.register(new c.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,_.disposeArray)(this._disposables),this._disposables.length=0)}register(f){return this._disposables.push(f),f}}n.Marker=r,r._nextId=1},7116:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DEFAULT_CHARSET=n.CHARSETS=void 0,n.CHARSETS={},n.DEFAULT_CHARSET=n.CHARSETS.B,n.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},n.CHARSETS.A={"#":"£"},n.CHARSETS.B=void 0,n.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},n.CHARSETS.C=n.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},n.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},n.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},n.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},n.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},n.CHARSETS.E=n.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},n.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},n.CHARSETS.H=n.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},n.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(O,n)=>{var o,c,_;Object.defineProperty(n,"__esModule",{value:!0}),n.C1_ESCAPED=n.C1=n.C0=void 0,function(r){r.NUL="\0",r.SOH="",r.STX="",r.ETX="",r.EOT="",r.ENQ="",r.ACK="",r.BEL="\x07",r.BS="\b",r.HT=" ",r.LF=` -`,r.VT="\v",r.FF="\f",r.CR="\r",r.SO="",r.SI="",r.DLE="",r.DC1="",r.DC2="",r.DC3="",r.DC4="",r.NAK="",r.SYN="",r.ETB="",r.CAN="",r.EM="",r.SUB="",r.ESC="\x1B",r.FS="",r.GS="",r.RS="",r.US="",r.SP=" ",r.DEL=""}(o||(n.C0=o={})),function(r){r.PAD="€",r.HOP="",r.BPH="‚",r.NBH="ƒ",r.IND="„",r.NEL="…",r.SSA="†",r.ESA="‡",r.HTS="ˆ",r.HTJ="‰",r.VTS="Š",r.PLD="‹",r.PLU="Œ",r.RI="",r.SS2="Ž",r.SS3="",r.DCS="",r.PU1="‘",r.PU2="’",r.STS="“",r.CCH="”",r.MW="•",r.SPA="–",r.EPA="—",r.SOS="˜",r.SGCI="™",r.SCI="š",r.CSI="›",r.ST="œ",r.OSC="",r.PM="ž",r.APC="Ÿ"}(c||(n.C1=c={})),function(r){r.ST=`${o.ESC}\\`}(_||(n.C1_ESCAPED=_={}))},7399:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.evaluateKeyboardEvent=void 0;const c=o(2584),_={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};n.evaluateKeyboardEvent=function(r,d,f,u){const h={type:0,cancel:!1,key:void 0},i=(r.shiftKey?1:0)|(r.altKey?2:0)|(r.ctrlKey?4:0)|(r.metaKey?8:0);switch(r.keyCode){case 0:r.key==="UIKeyInputUpArrow"?h.key=d?c.C0.ESC+"OA":c.C0.ESC+"[A":r.key==="UIKeyInputLeftArrow"?h.key=d?c.C0.ESC+"OD":c.C0.ESC+"[D":r.key==="UIKeyInputRightArrow"?h.key=d?c.C0.ESC+"OC":c.C0.ESC+"[C":r.key==="UIKeyInputDownArrow"&&(h.key=d?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:h.key=r.ctrlKey?"\b":c.C0.DEL,r.altKey&&(h.key=c.C0.ESC+h.key);break;case 9:if(r.shiftKey){h.key=c.C0.ESC+"[Z";break}h.key=c.C0.HT,h.cancel=!0;break;case 13:h.key=r.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,h.cancel=!0;break;case 27:h.key=c.C0.ESC,r.altKey&&(h.key=c.C0.ESC+c.C0.ESC),h.cancel=!0;break;case 37:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"D",h.key===c.C0.ESC+"[1;3D"&&(h.key=c.C0.ESC+(f?"b":"[1;5D"))):h.key=d?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"C",h.key===c.C0.ESC+"[1;3C"&&(h.key=c.C0.ESC+(f?"f":"[1;5C"))):h.key=d?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"A",f||h.key!==c.C0.ESC+"[1;3A"||(h.key=c.C0.ESC+"[1;5A")):h.key=d?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"B",f||h.key!==c.C0.ESC+"[1;3B"||(h.key=c.C0.ESC+"[1;5B")):h.key=d?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:r.shiftKey||r.ctrlKey||(h.key=c.C0.ESC+"[2~");break;case 46:h.key=i?c.C0.ESC+"[3;"+(i+1)+"~":c.C0.ESC+"[3~";break;case 36:h.key=i?c.C0.ESC+"[1;"+(i+1)+"H":d?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:h.key=i?c.C0.ESC+"[1;"+(i+1)+"F":d?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:r.shiftKey?h.type=2:r.ctrlKey?h.key=c.C0.ESC+"[5;"+(i+1)+"~":h.key=c.C0.ESC+"[5~";break;case 34:r.shiftKey?h.type=3:r.ctrlKey?h.key=c.C0.ESC+"[6;"+(i+1)+"~":h.key=c.C0.ESC+"[6~";break;case 112:h.key=i?c.C0.ESC+"[1;"+(i+1)+"P":c.C0.ESC+"OP";break;case 113:h.key=i?c.C0.ESC+"[1;"+(i+1)+"Q":c.C0.ESC+"OQ";break;case 114:h.key=i?c.C0.ESC+"[1;"+(i+1)+"R":c.C0.ESC+"OR";break;case 115:h.key=i?c.C0.ESC+"[1;"+(i+1)+"S":c.C0.ESC+"OS";break;case 116:h.key=i?c.C0.ESC+"[15;"+(i+1)+"~":c.C0.ESC+"[15~";break;case 117:h.key=i?c.C0.ESC+"[17;"+(i+1)+"~":c.C0.ESC+"[17~";break;case 118:h.key=i?c.C0.ESC+"[18;"+(i+1)+"~":c.C0.ESC+"[18~";break;case 119:h.key=i?c.C0.ESC+"[19;"+(i+1)+"~":c.C0.ESC+"[19~";break;case 120:h.key=i?c.C0.ESC+"[20;"+(i+1)+"~":c.C0.ESC+"[20~";break;case 121:h.key=i?c.C0.ESC+"[21;"+(i+1)+"~":c.C0.ESC+"[21~";break;case 122:h.key=i?c.C0.ESC+"[23;"+(i+1)+"~":c.C0.ESC+"[23~";break;case 123:h.key=i?c.C0.ESC+"[24;"+(i+1)+"~":c.C0.ESC+"[24~";break;default:if(!r.ctrlKey||r.shiftKey||r.altKey||r.metaKey)if(f&&!u||!r.altKey||r.metaKey)!f||r.altKey||r.ctrlKey||r.shiftKey||!r.metaKey?r.key&&!r.ctrlKey&&!r.altKey&&!r.metaKey&&r.keyCode>=48&&r.key.length===1?h.key=r.key:r.key&&r.ctrlKey&&(r.key==="_"&&(h.key=c.C0.US),r.key==="@"&&(h.key=c.C0.NUL)):r.keyCode===65&&(h.type=1);else{const s=_[r.keyCode],e=s?.[r.shiftKey?1:0];if(e)h.key=c.C0.ESC+e;else if(r.keyCode>=65&&r.keyCode<=90){const t=r.ctrlKey?r.keyCode-64:r.keyCode+32;let a=String.fromCharCode(t);r.shiftKey&&(a=a.toUpperCase()),h.key=c.C0.ESC+a}else if(r.keyCode===32)h.key=c.C0.ESC+(r.ctrlKey?c.C0.NUL:" ");else if(r.key==="Dead"&&r.code.startsWith("Key")){let t=r.code.slice(3,4);r.shiftKey||(t=t.toLowerCase()),h.key=c.C0.ESC+t,h.cancel=!0}}else r.keyCode>=65&&r.keyCode<=90?h.key=String.fromCharCode(r.keyCode-64):r.keyCode===32?h.key=c.C0.NUL:r.keyCode>=51&&r.keyCode<=55?h.key=String.fromCharCode(r.keyCode-51+27):r.keyCode===56?h.key=c.C0.DEL:r.keyCode===219?h.key=c.C0.ESC:r.keyCode===220?h.key=c.C0.FS:r.keyCode===221&&(h.key=c.C0.GS)}return h}},482:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Utf8ToUtf32=n.StringToUtf32=n.utf32ToString=n.stringFromCodePoint=void 0,n.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},n.utf32ToString=function(o,c=0,_=o.length){let r="";for(let d=c;d<_;++d){let f=o[d];f>65535?(f-=65536,r+=String.fromCharCode(55296+(f>>10))+String.fromCharCode(f%1024+56320)):r+=String.fromCharCode(f)}return r},n.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,c){const _=o.length;if(!_)return 0;let r=0,d=0;if(this._interim){const f=o.charCodeAt(d++);56320<=f&&f<=57343?c[r++]=1024*(this._interim-55296)+f-56320+65536:(c[r++]=this._interim,c[r++]=f),this._interim=0}for(let f=d;f<_;++f){const u=o.charCodeAt(f);if(55296<=u&&u<=56319){if(++f>=_)return this._interim=u,r;const h=o.charCodeAt(f);56320<=h&&h<=57343?c[r++]=1024*(u-55296)+h-56320+65536:(c[r++]=u,c[r++]=h)}else u!==65279&&(c[r++]=u)}return r}},n.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,c){const _=o.length;if(!_)return 0;let r,d,f,u,h=0,i=0,s=0;if(this.interim[0]){let a=!1,g=this.interim[0];g&=(224&g)==192?31:(240&g)==224?15:7;let v,p=0;for(;(v=63&this.interim[++p])&&p<4;)g<<=6,g|=v;const l=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,S=l-p;for(;s=_)return 0;if(v=o[s++],(192&v)!=128){s--,a=!0;break}this.interim[p++]=v,g<<=6,g|=63&v}a||(l===2?g<128?s--:c[h++]=g:l===3?g<2048||g>=55296&&g<=57343||g===65279||(c[h++]=g):g<65536||g>1114111||(c[h++]=g)),this.interim.fill(0)}const e=_-4;let t=s;for(;t<_;){for(;!(!(t=_)return this.interim[0]=r,h;if(d=o[t++],(192&d)!=128){t--;continue}if(i=(31&r)<<6|63&d,i<128){t--;continue}c[h++]=i}else if((240&r)==224){if(t>=_)return this.interim[0]=r,h;if(d=o[t++],(192&d)!=128){t--;continue}if(t>=_)return this.interim[0]=r,this.interim[1]=d,h;if(f=o[t++],(192&f)!=128){t--;continue}if(i=(15&r)<<12|(63&d)<<6|63&f,i<2048||i>=55296&&i<=57343||i===65279)continue;c[h++]=i}else if((248&r)==240){if(t>=_)return this.interim[0]=r,h;if(d=o[t++],(192&d)!=128){t--;continue}if(t>=_)return this.interim[0]=r,this.interim[1]=d,h;if(f=o[t++],(192&f)!=128){t--;continue}if(t>=_)return this.interim[0]=r,this.interim[1]=d,this.interim[2]=f,h;if(u=o[t++],(192&u)!=128){t--;continue}if(i=(7&r)<<18|(63&d)<<12|(63&f)<<6|63&u,i<65536||i>1114111)continue;c[h++]=i}}return h}}},225:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeV6=void 0;const c=o(1480),_=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],r=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let d;n.UnicodeV6=class{constructor(){if(this.version="6",!d){d=new Uint8Array(65536),d.fill(1),d[0]=0,d.fill(0,1,32),d.fill(0,127,160),d.fill(2,4352,4448),d[9001]=2,d[9002]=2,d.fill(2,11904,42192),d[12351]=1,d.fill(2,44032,55204),d.fill(2,63744,64256),d.fill(2,65040,65050),d.fill(2,65072,65136),d.fill(2,65280,65377),d.fill(2,65504,65511);for(let f=0;f<_.length;++f)d.fill(0,_[f][0],_[f][1]+1)}}wcwidth(f){return f<32?0:f<127?1:f<65536?d[f]:function(u,h){let i,s=0,e=h.length-1;if(uh[e][1])return!1;for(;e>=s;)if(i=s+e>>1,u>h[i][1])s=i+1;else{if(!(u=131072&&f<=196605||f>=196608&&f<=262141?2:1}charProperties(f,u){let h=this.wcwidth(f),i=h===0&&u!==0;if(i){const s=c.UnicodeService.extractWidth(u);s===0?i=!1:s>h&&(h=s)}return c.UnicodeService.createPropertyValue(0,h,i)}}},5981:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WriteBuffer=void 0;const c=o(8460),_=o(844);class r extends _.Disposable{constructor(f){super(),this._action=f,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new c.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(f,u){if(u!==void 0&&this._syncCalls>u)return void(this._syncCalls=0);if(this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let h;for(this._isSyncWriting=!0;h=this._writeBuffer.shift();){this._action(h);const i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(f,u){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(u),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(u)}_innerWrite(f=0,u=!0){const h=f||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const i=this._writeBuffer[this._bufferOffset],s=this._action(i,u);if(s){const t=a=>Date.now()-h>=12?setTimeout(()=>this._innerWrite(0,a)):this._innerWrite(h,a);return void s.catch(a=>(queueMicrotask(()=>{throw a}),Promise.resolve(!1))).then(t)}const e=this._callbacks[this._bufferOffset];if(e&&e(),this._bufferOffset++,this._pendingData-=i.length,Date.now()-h>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}n.WriteBuffer=r},5941:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.toRgbString=n.parseColor=void 0;const o=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,c=/^[\da-f]+$/;function _(r,d){const f=r.toString(16),u=f.length<2?"0"+f:f;switch(d){case 4:return f[0];case 8:return u;case 12:return(u+u).slice(0,3);default:return u+u}}n.parseColor=function(r){if(!r)return;let d=r.toLowerCase();if(d.indexOf("rgb:")===0){d=d.slice(4);const f=o.exec(d);if(f){const u=f[1]?15:f[4]?255:f[7]?4095:65535;return[Math.round(parseInt(f[1]||f[4]||f[7]||f[10],16)/u*255),Math.round(parseInt(f[2]||f[5]||f[8]||f[11],16)/u*255),Math.round(parseInt(f[3]||f[6]||f[9]||f[12],16)/u*255)]}}else if(d.indexOf("#")===0&&(d=d.slice(1),c.exec(d)&&[3,6,9,12].includes(d.length))){const f=d.length/3,u=[0,0,0];for(let h=0;h<3;++h){const i=parseInt(d.slice(f*h,f*h+f),16);u[h]=f===1?i<<4:f===2?i:f===3?i>>4:i>>8}return u}},n.toRgbString=function(r,d=16){const[f,u,h]=r;return`rgb:${_(f,d)}/${_(u,d)}/${_(h,d)}`}},5770:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.PAYLOAD_LIMIT=void 0,n.PAYLOAD_LIMIT=1e7},6351:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DcsHandler=n.DcsParser=void 0;const c=o(482),_=o(8742),r=o(5770),d=[];n.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=d,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=d}registerHandler(u,h){this._handlers[u]===void 0&&(this._handlers[u]=[]);const i=this._handlers[u];return i.push(h),{dispose:()=>{const s=i.indexOf(h);s!==-1&&i.splice(s,1)}}}clearHandler(u){this._handlers[u]&&delete this._handlers[u]}setHandlerFallback(u){this._handlerFb=u}reset(){if(this._active.length)for(let u=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;u>=0;--u)this._active[u].unhook(!1);this._stack.paused=!1,this._active=d,this._ident=0}hook(u,h){if(this.reset(),this._ident=u,this._active=this._handlers[u]||d,this._active.length)for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(h);else this._handlerFb(this._ident,"HOOK",h)}put(u,h,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(u,h,i);else this._handlerFb(this._ident,"PUT",(0,c.utf32ToString)(u,h,i))}unhook(u,h=!0){if(this._active.length){let i=!1,s=this._active.length-1,e=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=h,e=this._stack.fallThrough,this._stack.paused=!1),!e&&i===!1){for(;s>=0&&(i=this._active[s].unhook(u),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,"UNHOOK",u);this._active=d,this._ident=0}};const f=new _.Params;f.addParam(0),n.DcsHandler=class{constructor(u){this._handler=u,this._data="",this._params=f,this._hitLimit=!1}hook(u){this._params=u.length>1||u.params[0]?u.clone():f,this._data="",this._hitLimit=!1}put(u,h,i){this._hitLimit||(this._data+=(0,c.utf32ToString)(u,h,i),this._data.length>r.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(u){let h=!1;if(this._hitLimit)h=!1;else if(u&&(h=this._handler(this._data,this._params),h instanceof Promise))return h.then(i=>(this._params=f,this._data="",this._hitLimit=!1,i));return this._params=f,this._data="",this._hitLimit=!1,h}}},2015:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.EscapeSequenceParser=n.VT500_TRANSITION_TABLE=n.TransitionTable=void 0;const c=o(844),_=o(8742),r=o(6242),d=o(6351);class f{constructor(s){this.table=new Uint8Array(s)}setDefault(s,e){this.table.fill(s<<4|e)}add(s,e,t,a){this.table[e<<8|s]=t<<4|a}addMany(s,e,t,a){for(let g=0;gl),e=(p,l)=>s.slice(p,l),t=e(32,127),a=e(0,24);a.push(25),a.push.apply(a,e(28,32));const g=e(0,14);let v;for(v in i.setDefault(1,0),i.addMany(t,0,2,0),g)i.addMany([24,26,153,154],v,3,0),i.addMany(e(128,144),v,3,0),i.addMany(e(144,152),v,3,0),i.add(156,v,0,0),i.add(27,v,11,1),i.add(157,v,4,8),i.addMany([152,158,159],v,0,7),i.add(155,v,11,3),i.add(144,v,11,9);return i.addMany(a,0,3,0),i.addMany(a,1,3,1),i.add(127,1,0,1),i.addMany(a,8,0,8),i.addMany(a,3,3,3),i.add(127,3,0,3),i.addMany(a,4,3,4),i.add(127,4,0,4),i.addMany(a,6,3,6),i.addMany(a,5,3,5),i.add(127,5,0,5),i.addMany(a,2,3,2),i.add(127,2,0,2),i.add(93,1,4,8),i.addMany(t,8,5,8),i.add(127,8,5,8),i.addMany([156,27,24,26,7],8,6,0),i.addMany(e(28,32),8,0,8),i.addMany([88,94,95],1,0,7),i.addMany(t,7,0,7),i.addMany(a,7,0,7),i.add(156,7,0,0),i.add(127,7,0,7),i.add(91,1,11,3),i.addMany(e(64,127),3,7,0),i.addMany(e(48,60),3,8,4),i.addMany([60,61,62,63],3,9,4),i.addMany(e(48,60),4,8,4),i.addMany(e(64,127),4,7,0),i.addMany([60,61,62,63],4,0,6),i.addMany(e(32,64),6,0,6),i.add(127,6,0,6),i.addMany(e(64,127),6,0,0),i.addMany(e(32,48),3,9,5),i.addMany(e(32,48),5,9,5),i.addMany(e(48,64),5,0,6),i.addMany(e(64,127),5,7,0),i.addMany(e(32,48),4,9,5),i.addMany(e(32,48),1,9,2),i.addMany(e(32,48),2,9,2),i.addMany(e(48,127),2,10,0),i.addMany(e(48,80),1,10,0),i.addMany(e(81,88),1,10,0),i.addMany([89,90,92],1,10,0),i.addMany(e(96,127),1,10,0),i.add(80,1,11,9),i.addMany(a,9,0,9),i.add(127,9,0,9),i.addMany(e(28,32),9,0,9),i.addMany(e(32,48),9,9,12),i.addMany(e(48,60),9,8,10),i.addMany([60,61,62,63],9,9,10),i.addMany(a,11,0,11),i.addMany(e(32,128),11,0,11),i.addMany(e(28,32),11,0,11),i.addMany(a,10,0,10),i.add(127,10,0,10),i.addMany(e(28,32),10,0,10),i.addMany(e(48,60),10,8,10),i.addMany([60,61,62,63],10,0,11),i.addMany(e(32,48),10,9,12),i.addMany(a,12,0,12),i.add(127,12,0,12),i.addMany(e(28,32),12,0,12),i.addMany(e(32,48),12,9,12),i.addMany(e(48,64),12,0,11),i.addMany(e(64,127),12,12,13),i.addMany(e(64,127),10,12,13),i.addMany(e(64,127),9,12,13),i.addMany(a,13,13,13),i.addMany(t,13,13,13),i.add(127,13,0,13),i.addMany([27,156,24,26],13,14,0),i.add(u,0,2,0),i.add(u,8,5,8),i.add(u,6,0,6),i.add(u,11,0,11),i.add(u,13,13,13),i}();class h extends c.Disposable{constructor(s=n.VT500_TRANSITION_TABLE){super(),this._transitions=s,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new _.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,a)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,c.toDisposable)(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new r.OscParser),this._dcsParser=this.register(new d.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(s,e=[64,126]){let t=0;if(s.prefix){if(s.prefix.length>1)throw new Error("only one byte as prefix supported");if(t=s.prefix.charCodeAt(0),t&&60>t||t>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(s.intermediates){if(s.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let g=0;gv||v>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");t<<=8,t|=v}}if(s.final.length!==1)throw new Error("final must be a single byte");const a=s.final.charCodeAt(0);if(e[0]>a||a>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return t<<=8,t|=a,t}identToString(s){const e=[];for(;s;)e.push(String.fromCharCode(255&s)),s>>=8;return e.reverse().join("")}setPrintHandler(s){this._printHandler=s}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(s,e){const t=this._identifier(s,[48,126]);this._escHandlers[t]===void 0&&(this._escHandlers[t]=[]);const a=this._escHandlers[t];return a.push(e),{dispose:()=>{const g=a.indexOf(e);g!==-1&&a.splice(g,1)}}}clearEscHandler(s){this._escHandlers[this._identifier(s,[48,126])]&&delete this._escHandlers[this._identifier(s,[48,126])]}setEscHandlerFallback(s){this._escHandlerFb=s}setExecuteHandler(s,e){this._executeHandlers[s.charCodeAt(0)]=e}clearExecuteHandler(s){this._executeHandlers[s.charCodeAt(0)]&&delete this._executeHandlers[s.charCodeAt(0)]}setExecuteHandlerFallback(s){this._executeHandlerFb=s}registerCsiHandler(s,e){const t=this._identifier(s);this._csiHandlers[t]===void 0&&(this._csiHandlers[t]=[]);const a=this._csiHandlers[t];return a.push(e),{dispose:()=>{const g=a.indexOf(e);g!==-1&&a.splice(g,1)}}}clearCsiHandler(s){this._csiHandlers[this._identifier(s)]&&delete this._csiHandlers[this._identifier(s)]}setCsiHandlerFallback(s){this._csiHandlerFb=s}registerDcsHandler(s,e){return this._dcsParser.registerHandler(this._identifier(s),e)}clearDcsHandler(s){this._dcsParser.clearHandler(this._identifier(s))}setDcsHandlerFallback(s){this._dcsParser.setHandlerFallback(s)}registerOscHandler(s,e){return this._oscParser.registerHandler(s,e)}clearOscHandler(s){this._oscParser.clearHandler(s)}setOscHandlerFallback(s){this._oscParser.setHandlerFallback(s)}setErrorHandler(s){this._errorHandler=s}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(s,e,t,a,g){this._parseStack.state=s,this._parseStack.handlers=e,this._parseStack.handlerPos=t,this._parseStack.transition=a,this._parseStack.chunkPos=g}parse(s,e,t){let a,g=0,v=0,p=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,p=this._parseStack.chunkPos+1;else{if(t===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const l=this._parseStack.handlers;let S=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(t===!1&&S>-1){for(;S>=0&&(a=l[S](this._params),a!==!0);S--)if(a instanceof Promise)return this._parseStack.handlerPos=S,a}this._parseStack.handlers=[];break;case 4:if(t===!1&&S>-1){for(;S>=0&&(a=l[S](),a!==!0);S--)if(a instanceof Promise)return this._parseStack.handlerPos=S,a}this._parseStack.handlers=[];break;case 6:if(g=s[this._parseStack.chunkPos],a=this._dcsParser.unhook(g!==24&&g!==26,t),a)return a;g===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(g=s[this._parseStack.chunkPos],a=this._oscParser.end(g!==24&&g!==26,t),a)return a;g===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,p=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let l=p;l>4){case 2:for(let w=l+1;;++w){if(w>=e||(g=s[w])<32||g>126&&g=e||(g=s[w])<32||g>126&&g=e||(g=s[w])<32||g>126&&g=e||(g=s[w])<32||g>126&&g=0&&(a=S[E](this._params),a!==!0);E--)if(a instanceof Promise)return this._preserveStack(3,S,E,v,l),a;E<0&&this._csiHandlerFb(this._collect<<8|g,this._params),this.precedingJoinState=0;break;case 8:do switch(g){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(g-48)}while(++l47&&g<60);l--;break;case 9:this._collect<<=8,this._collect|=g;break;case 10:const k=this._escHandlers[this._collect<<8|g];let x=k?k.length-1:-1;for(;x>=0&&(a=k[x](),a!==!0);x--)if(a instanceof Promise)return this._preserveStack(4,k,x,v,l),a;x<0&&this._escHandlerFb(this._collect<<8|g),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|g,this._params);break;case 13:for(let w=l+1;;++w)if(w>=e||(g=s[w])===24||g===26||g===27||g>127&&g=e||(g=s[w])<32||g>127&&g{Object.defineProperty(n,"__esModule",{value:!0}),n.OscHandler=n.OscParser=void 0;const c=o(5770),_=o(482),r=[];n.OscParser=class{constructor(){this._state=0,this._active=r,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(d,f){this._handlers[d]===void 0&&(this._handlers[d]=[]);const u=this._handlers[d];return u.push(f),{dispose:()=>{const h=u.indexOf(f);h!==-1&&u.splice(h,1)}}}clearHandler(d){this._handlers[d]&&delete this._handlers[d]}setHandlerFallback(d){this._handlerFb=d}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=r}reset(){if(this._state===2)for(let d=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;d>=0;--d)this._active[d].end(!1);this._stack.paused=!1,this._active=r,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||r,this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].start();else this._handlerFb(this._id,"START")}_put(d,f,u){if(this._active.length)for(let h=this._active.length-1;h>=0;h--)this._active[h].put(d,f,u);else this._handlerFb(this._id,"PUT",(0,_.utf32ToString)(d,f,u))}start(){this.reset(),this._state=1}put(d,f,u){if(this._state!==3){if(this._state===1)for(;f0&&this._put(d,f,u)}}end(d,f=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let u=!1,h=this._active.length-1,i=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,u=f,i=this._stack.fallThrough,this._stack.paused=!1),!i&&u===!1){for(;h>=0&&(u=this._active[h].end(d),u!==!0);h--)if(u instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,u;h--}for(;h>=0;h--)if(u=this._active[h].end(!1),u instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,u}else this._handlerFb(this._id,"END",d);this._active=r,this._id=-1,this._state=0}}},n.OscHandler=class{constructor(d){this._handler=d,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(d,f,u){this._hitLimit||(this._data+=(0,_.utf32ToString)(d,f,u),this._data.length>c.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(d){let f=!1;if(this._hitLimit)f=!1;else if(d&&(f=this._handler(this._data),f instanceof Promise))return f.then(u=>(this._data="",this._hitLimit=!1,u));return this._data="",this._hitLimit=!1,f}}},8742:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Params=void 0;const o=2147483647;class c{static fromArray(r){const d=new c;if(!r.length)return d;for(let f=Array.isArray(r[0])?1:0;f256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(r),this.length=0,this._subParams=new Int32Array(d),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(r),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const r=new c(this.maxLength,this.maxSubParamsLength);return r.params.set(this.params),r.length=this.length,r._subParams.set(this._subParams),r._subParamsLength=this._subParamsLength,r._subParamsIdx.set(this._subParamsIdx),r._rejectDigits=this._rejectDigits,r._rejectSubDigits=this._rejectSubDigits,r._digitIsSub=this._digitIsSub,r}toArray(){const r=[];for(let d=0;d>8,u=255&this._subParamsIdx[d];u-f>0&&r.push(Array.prototype.slice.call(this._subParams,f,u))}return r}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(r){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(r<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=r>o?o:r}}addSubParam(r){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(r<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=r>o?o:r,this._subParamsIdx[this.length-1]++}}hasSubParams(r){return(255&this._subParamsIdx[r])-(this._subParamsIdx[r]>>8)>0}getSubParams(r){const d=this._subParamsIdx[r]>>8,f=255&this._subParamsIdx[r];return f-d>0?this._subParams.subarray(d,f):null}getSubParamsAll(){const r={};for(let d=0;d>8,u=255&this._subParamsIdx[d];u-f>0&&(r[d]=this._subParams.slice(f,u))}return r}addDigit(r){let d;if(this._rejectDigits||!(d=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const f=this._digitIsSub?this._subParams:this.params,u=f[d-1];f[d-1]=~u?Math.min(10*u+r,o):r}}n.Params=c},5741:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.AddonManager=void 0,n.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let o=this._addons.length-1;o>=0;o--)this._addons[o].instance.dispose()}loadAddon(o,c){const _={instance:c,dispose:c.dispose,isDisposed:!1};this._addons.push(_),c.dispose=()=>this._wrappedAddonDispose(_),c.activate(o)}_wrappedAddonDispose(o){if(o.isDisposed)return;let c=-1;for(let _=0;_{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferApiView=void 0;const c=o(3785),_=o(511);n.BufferApiView=class{constructor(r,d){this._buffer=r,this.type=d}init(r){return this._buffer=r,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(r){const d=this._buffer.lines.get(r);if(d)return new c.BufferLineApiView(d)}getNullCell(){return new _.CellData}}},3785:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferLineApiView=void 0;const c=o(511);n.BufferLineApiView=class{constructor(_){this._line=_}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(_,r){if(!(_<0||_>=this._line.length))return r?(this._line.loadCell(_,r),r):this._line.loadCell(_,new c.CellData)}translateToString(_,r,d){return this._line.translateToString(_,r,d)}}},8285:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferNamespaceApi=void 0;const c=o(8771),_=o(8460),r=o(844);class d extends r.Disposable{constructor(u){super(),this._core=u,this._onBufferChange=this.register(new _.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new c.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new c.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}n.BufferNamespaceApi=d},7975:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ParserApi=void 0,n.ParserApi=class{constructor(o){this._core=o}registerCsiHandler(o,c){return this._core.registerCsiHandler(o,_=>c(_.toArray()))}addCsiHandler(o,c){return this.registerCsiHandler(o,c)}registerDcsHandler(o,c){return this._core.registerDcsHandler(o,(_,r)=>c(_,r.toArray()))}addDcsHandler(o,c){return this.registerDcsHandler(o,c)}registerEscHandler(o,c){return this._core.registerEscHandler(o,c)}addEscHandler(o,c){return this.registerEscHandler(o,c)}registerOscHandler(o,c){return this._core.registerOscHandler(o,c)}addOscHandler(o,c){return this.registerOscHandler(o,c)}}},7090:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeApi=void 0,n.UnicodeApi=class{constructor(o){this._core=o}register(o){this._core.unicodeService.register(o)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(o){this._core.unicodeService.activeVersion=o}}},744:function(O,n,o){var c=this&&this.__decorate||function(i,s,e,t){var a,g=arguments.length,v=g<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,e):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(i,s,e,t);else for(var p=i.length-1;p>=0;p--)(a=i[p])&&(v=(g<3?a(v):g>3?a(s,e,v):a(s,e))||v);return g>3&&v&&Object.defineProperty(s,e,v),v},_=this&&this.__param||function(i,s){return function(e,t){s(e,t,i)}};Object.defineProperty(n,"__esModule",{value:!0}),n.BufferService=n.MINIMUM_ROWS=n.MINIMUM_COLS=void 0;const r=o(8460),d=o(844),f=o(5295),u=o(2585);n.MINIMUM_COLS=2,n.MINIMUM_ROWS=1;let h=n.BufferService=class extends d.Disposable{get buffer(){return this.buffers.active}constructor(i){super(),this.isUserScrolling=!1,this._onResize=this.register(new r.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new r.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(i.rawOptions.cols||0,n.MINIMUM_COLS),this.rows=Math.max(i.rawOptions.rows||0,n.MINIMUM_ROWS),this.buffers=this.register(new f.BufferSet(i,this))}resize(i,s){this.cols=i,this.rows=s,this.buffers.resize(i,s),this._onResize.fire({cols:i,rows:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(i,s=!1){const e=this.buffer;let t;t=this._cachedBlankLine,t&&t.length===this.cols&&t.getFg(0)===i.fg&&t.getBg(0)===i.bg||(t=e.getBlankLine(i,s),this._cachedBlankLine=t),t.isWrapped=s;const a=e.ybase+e.scrollTop,g=e.ybase+e.scrollBottom;if(e.scrollTop===0){const v=e.lines.isFull;g===e.lines.length-1?v?e.lines.recycle().copyFrom(t):e.lines.push(t.clone()):e.lines.splice(g+1,0,t.clone()),v?this.isUserScrolling&&(e.ydisp=Math.max(e.ydisp-1,0)):(e.ybase++,this.isUserScrolling||e.ydisp++)}else{const v=g-a+1;e.lines.shiftElements(a+1,v-1,-1),e.lines.set(g,t.clone())}this.isUserScrolling||(e.ydisp=e.ybase),this._onScroll.fire(e.ydisp)}scrollLines(i,s,e){const t=this.buffer;if(i<0){if(t.ydisp===0)return;this.isUserScrolling=!0}else i+t.ydisp>=t.ybase&&(this.isUserScrolling=!1);const a=t.ydisp;t.ydisp=Math.max(Math.min(t.ydisp+i,t.ybase),0),a!==t.ydisp&&(s||this._onScroll.fire(t.ydisp))}};n.BufferService=h=c([_(0,u.IOptionsService)],h)},7994:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CharsetService=void 0,n.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(o){this.glevel=o,this.charset=this._charsets[o]}setgCharset(o,c){this._charsets[o]=c,this.glevel===o&&(this.charset=c)}}},1753:function(O,n,o){var c=this&&this.__decorate||function(t,a,g,v){var p,l=arguments.length,S=l<3?a:v===null?v=Object.getOwnPropertyDescriptor(a,g):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(t,a,g,v);else for(var E=t.length-1;E>=0;E--)(p=t[E])&&(S=(l<3?p(S):l>3?p(a,g,S):p(a,g))||S);return l>3&&S&&Object.defineProperty(a,g,S),S},_=this&&this.__param||function(t,a){return function(g,v){a(g,v,t)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CoreMouseService=void 0;const r=o(2585),d=o(8460),f=o(844),u={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button!==4&&t.action===1&&(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>t.action!==32||t.button!==3},ANY:{events:31,restrict:t=>!0}};function h(t,a){let g=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(g|=64,g|=t.action):(g|=3&t.button,4&t.button&&(g|=64),8&t.button&&(g|=128),t.action===32?g|=32:t.action!==0||a||(g|=3)),g}const i=String.fromCharCode,s={DEFAULT:t=>{const a=[h(t,!1)+32,t.col+32,t.row+32];return a[0]>255||a[1]>255||a[2]>255?"":`\x1B[M${i(a[0])}${i(a[1])}${i(a[2])}`},SGR:t=>{const a=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${h(t,!0)};${t.col};${t.row}${a}`},SGR_PIXELS:t=>{const a=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${h(t,!0)};${t.x};${t.y}${a}`}};let e=n.CoreMouseService=class extends f.Disposable{constructor(t,a){super(),this._bufferService=t,this._coreService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new d.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const g of Object.keys(u))this.addProtocol(g,u[g]);for(const g of Object.keys(s))this.addEncoding(g,s[g]);this.reset()}addProtocol(t,a){this._protocols[t]=a}addEncoding(t,a){this._encodings[t]=a}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;const a=this._encodings[this._activeEncoding](t);return a&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(a):this._coreService.triggerDataEvent(a,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(1&t),up:!!(2&t),drag:!!(4&t),move:!!(8&t),wheel:!!(16&t)}}_equalEvents(t,a,g){if(g){if(t.x!==a.x||t.y!==a.y)return!1}else if(t.col!==a.col||t.row!==a.row)return!1;return t.button===a.button&&t.action===a.action&&t.ctrl===a.ctrl&&t.alt===a.alt&&t.shift===a.shift}};n.CoreMouseService=e=c([_(0,r.IBufferService),_(1,r.ICoreService)],e)},6975:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CoreService=void 0;const r=o(1439),d=o(8460),f=o(844),u=o(2585),h=Object.freeze({insertMode:!1}),i=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let s=n.CoreService=class extends f.Disposable{constructor(e,t,a){super(),this._bufferService=e,this._logService=t,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new d.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new d.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new d.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new d.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,r.clone)(h),this.decPrivateModes=(0,r.clone)(i)}reset(){this.modes=(0,r.clone)(h),this.decPrivateModes=(0,r.clone)(i)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const a=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`,()=>e.split("").map(g=>g.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`,()=>e.split("").map(t=>t.charCodeAt(0))),this._onBinary.fire(e))}};n.CoreService=s=c([_(0,u.IBufferService),_(1,u.ILogService),_(2,u.IOptionsService)],s)},9074:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DecorationService=void 0;const c=o(8055),_=o(8460),r=o(844),d=o(6106);let f=0,u=0;class h extends r.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new d.SortedList(e=>e?.marker.line),this._onDecorationRegistered=this.register(new _.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new _.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,r.toDisposable)(()=>this.reset()))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new i(e);if(t){const a=t.marker.onDispose(()=>t.dispose());t.onDispose(()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),a.dispose())}),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,a){let g=0,v=0;for(const p of this._decorations.getKeyIterator(t))g=p.options.x??0,v=g+(p.options.width??1),e>=g&&e{f=v.options.x??0,u=f+(v.options.width??1),e>=f&&e{Object.defineProperty(n,"__esModule",{value:!0}),n.InstantiationService=n.ServiceCollection=void 0;const c=o(2585),_=o(8343);class r{constructor(...f){this._entries=new Map;for(const[u,h]of f)this.set(u,h)}set(f,u){const h=this._entries.get(f);return this._entries.set(f,u),h}forEach(f){for(const[u,h]of this._entries.entries())f(u,h)}has(f){return this._entries.has(f)}get(f){return this._entries.get(f)}}n.ServiceCollection=r,n.InstantiationService=class{constructor(){this._services=new r,this._services.set(c.IInstantiationService,this)}setService(d,f){this._services.set(d,f)}getService(d){return this._services.get(d)}createInstance(d,...f){const u=(0,_.getServiceDependencies)(d).sort((s,e)=>s.index-e.index),h=[];for(const s of u){const e=this._services.get(s.id);if(!e)throw new Error(`[createInstance] ${d.name} depends on UNKNOWN service ${s.id}.`);h.push(e)}const i=u.length>0?u[0].index:f.length;if(f.length!==i)throw new Error(`[createInstance] First service dependency of ${d.name} at position ${i+1} conflicts with ${f.length} static arguments`);return new d(...f,...h)}}},7866:function(O,n,o){var c=this&&this.__decorate||function(i,s,e,t){var a,g=arguments.length,v=g<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,e):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(i,s,e,t);else for(var p=i.length-1;p>=0;p--)(a=i[p])&&(v=(g<3?a(v):g>3?a(s,e,v):a(s,e))||v);return g>3&&v&&Object.defineProperty(s,e,v),v},_=this&&this.__param||function(i,s){return function(e,t){s(e,t,i)}};Object.defineProperty(n,"__esModule",{value:!0}),n.traceCall=n.setTraceLogger=n.LogService=void 0;const r=o(844),d=o(2585),f={trace:d.LogLevelEnum.TRACE,debug:d.LogLevelEnum.DEBUG,info:d.LogLevelEnum.INFO,warn:d.LogLevelEnum.WARN,error:d.LogLevelEnum.ERROR,off:d.LogLevelEnum.OFF};let u,h=n.LogService=class extends r.Disposable{get logLevel(){return this._logLevel}constructor(i){super(),this._optionsService=i,this._logLevel=d.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),u=this}_updateLogLevel(){this._logLevel=f[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(i){for(let s=0;sJSON.stringify(v)).join(", ")})`);const g=t.apply(this,a);return u.trace(`GlyphRenderer#${t.name} return`,g),g}}},7302:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.OptionsService=n.DEFAULT_OPTIONS=void 0;const c=o(8460),_=o(844),r=o(6114);n.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:r.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const d=["normal","bold","100","200","300","400","500","600","700","800","900"];class f extends _.Disposable{constructor(h){super(),this._onOptionChange=this.register(new c.EventEmitter),this.onOptionChange=this._onOptionChange.event;const i={...n.DEFAULT_OPTIONS};for(const s in h)if(s in i)try{const e=h[s];i[s]=this._sanitizeAndValidateOption(s,e)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this.register((0,_.toDisposable)(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(h,i){return this.onOptionChange(s=>{s===h&&i(this.rawOptions[h])})}onMultipleOptionChange(h,i){return this.onOptionChange(s=>{h.indexOf(s)!==-1&&i()})}_setupOptions(){const h=s=>{if(!(s in n.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},i=(s,e)=>{if(!(s in n.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);e=this._sanitizeAndValidateOption(s,e),this.rawOptions[s]!==e&&(this.rawOptions[s]=e,this._onOptionChange.fire(s))};for(const s in this.rawOptions){const e={get:h.bind(this,s),set:i.bind(this,s)};Object.defineProperty(this.options,s,e)}}_sanitizeAndValidateOption(h,i){switch(h){case"cursorStyle":if(i||(i=n.DEFAULT_OPTIONS[h]),!function(s){return s==="block"||s==="underline"||s==="bar"}(i))throw new Error(`"${i}" is not a valid value for ${h}`);break;case"wordSeparator":i||(i=n.DEFAULT_OPTIONS[h]);break;case"fontWeight":case"fontWeightBold":if(typeof i=="number"&&1<=i&&i<=1e3)break;i=d.includes(i)?i:n.DEFAULT_OPTIONS[h];break;case"cursorWidth":i=Math.floor(i);case"lineHeight":case"tabStopWidth":if(i<1)throw new Error(`${h} cannot be less than 1, value: ${i}`);break;case"minimumContrastRatio":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case"scrollback":if((i=Math.min(i,4294967295))<0)throw new Error(`${h} cannot be less than 0, value: ${i}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(i<=0)throw new Error(`${h} cannot be less than or equal to 0, value: ${i}`);break;case"rows":case"cols":if(!i&&i!==0)throw new Error(`${h} must be numeric, value: ${i}`);break;case"windowsPty":i=i??{}}return i}}n.OptionsService=f},2660:function(O,n,o){var c=this&&this.__decorate||function(f,u,h,i){var s,e=arguments.length,t=e<3?u:i===null?i=Object.getOwnPropertyDescriptor(u,h):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(f,u,h,i);else for(var a=f.length-1;a>=0;a--)(s=f[a])&&(t=(e<3?s(t):e>3?s(u,h,t):s(u,h))||t);return e>3&&t&&Object.defineProperty(u,h,t),t},_=this&&this.__param||function(f,u){return function(h,i){u(h,i,f)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OscLinkService=void 0;const r=o(2585);let d=n.OscLinkService=class{constructor(f){this._bufferService=f,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(f){const u=this._bufferService.buffer;if(f.id===void 0){const a=u.addMarker(u.ybase+u.y),g={data:f,id:this._nextId++,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(g,a)),this._dataByLinkId.set(g.id,g),g.id}const h=f,i=this._getEntryIdKey(h),s=this._entriesWithId.get(i);if(s)return this.addLineToLink(s.id,u.ybase+u.y),s.id;const e=u.addMarker(u.ybase+u.y),t={id:this._nextId++,key:this._getEntryIdKey(h),data:h,lines:[e]};return e.onDispose(()=>this._removeMarkerFromLink(t,e)),this._entriesWithId.set(t.key,t),this._dataByLinkId.set(t.id,t),t.id}addLineToLink(f,u){const h=this._dataByLinkId.get(f);if(h&&h.lines.every(i=>i.line!==u)){const i=this._bufferService.buffer.addMarker(u);h.lines.push(i),i.onDispose(()=>this._removeMarkerFromLink(h,i))}}getLinkData(f){return this._dataByLinkId.get(f)?.data}_getEntryIdKey(f){return`${f.id};;${f.uri}`}_removeMarkerFromLink(f,u){const h=f.lines.indexOf(u);h!==-1&&(f.lines.splice(h,1),f.lines.length===0&&(f.data.id!==void 0&&this._entriesWithId.delete(f.key),this._dataByLinkId.delete(f.id)))}};n.OscLinkService=d=c([_(0,r.IBufferService)],d)},8343:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDecorator=n.getServiceDependencies=n.serviceRegistry=void 0;const o="di$target",c="di$dependencies";n.serviceRegistry=new Map,n.getServiceDependencies=function(_){return _[c]||[]},n.createDecorator=function(_){if(n.serviceRegistry.has(_))return n.serviceRegistry.get(_);const r=function(d,f,u){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(h,i,s){i[o]===i?i[c].push({id:h,index:s}):(i[c]=[{id:h,index:s}],i[o]=i)})(r,d,u)};return r.toString=()=>_,n.serviceRegistry.set(_,r),r}},2585:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.IDecorationService=n.IUnicodeService=n.IOscLinkService=n.IOptionsService=n.ILogService=n.LogLevelEnum=n.IInstantiationService=n.ICharsetService=n.ICoreService=n.ICoreMouseService=n.IBufferService=void 0;const c=o(8343);var _;n.IBufferService=(0,c.createDecorator)("BufferService"),n.ICoreMouseService=(0,c.createDecorator)("CoreMouseService"),n.ICoreService=(0,c.createDecorator)("CoreService"),n.ICharsetService=(0,c.createDecorator)("CharsetService"),n.IInstantiationService=(0,c.createDecorator)("InstantiationService"),function(r){r[r.TRACE=0]="TRACE",r[r.DEBUG=1]="DEBUG",r[r.INFO=2]="INFO",r[r.WARN=3]="WARN",r[r.ERROR=4]="ERROR",r[r.OFF=5]="OFF"}(_||(n.LogLevelEnum=_={})),n.ILogService=(0,c.createDecorator)("LogService"),n.IOptionsService=(0,c.createDecorator)("OptionsService"),n.IOscLinkService=(0,c.createDecorator)("OscLinkService"),n.IUnicodeService=(0,c.createDecorator)("UnicodeService"),n.IDecorationService=(0,c.createDecorator)("DecorationService")},1480:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeService=void 0;const c=o(8460),_=o(225);class r{static extractShouldJoin(f){return(1&f)!=0}static extractWidth(f){return f>>1&3}static extractCharKind(f){return f>>3}static createPropertyValue(f,u,h=!1){return(16777215&f)<<3|(3&u)<<1|(h?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new c.EventEmitter,this.onChange=this._onChange.event;const f=new _.UnicodeV6;this.register(f),this._active=f.version,this._activeProvider=f}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(f){if(!this._providers[f])throw new Error(`unknown Unicode version "${f}"`);this._active=f,this._activeProvider=this._providers[f],this._onChange.fire(f)}register(f){this._providers[f.version]=f}wcwidth(f){return this._activeProvider.wcwidth(f)}getStringCellWidth(f){let u=0,h=0;const i=f.length;for(let s=0;s=i)return u+this.wcwidth(e);const g=f.charCodeAt(s);56320<=g&&g<=57343?e=1024*(e-55296)+g-56320+65536:u+=this.wcwidth(g)}const t=this.charProperties(e,h);let a=r.extractWidth(t);r.extractShouldJoin(t)&&(a-=r.extractWidth(h)),u+=a,h=t}return u}charProperties(f,u){return this._activeProvider.charProperties(f,u)}}n.UnicodeService=r}},Y={};function Z(O){var n=Y[O];if(n!==void 0)return n.exports;var o=Y[O]={exports:{}};return X[O].call(o.exports,o,o.exports,Z),o.exports}var le={};return(()=>{var O=le;Object.defineProperty(O,"__esModule",{value:!0}),O.Terminal=void 0;const n=Z(9042),o=Z(3236),c=Z(844),_=Z(5741),r=Z(8285),d=Z(7975),f=Z(7090),u=["cols","rows"];class h extends c.Disposable{constructor(s){super(),this._core=this.register(new o.Terminal(s)),this._addonManager=this.register(new _.AddonManager),this._publicOptions={...this._core.options};const e=a=>this._core.options[a],t=(a,g)=>{this._checkReadonlyOptions(a),this._core.options[a]=g};for(const a in this._core.options){const g={get:e.bind(this,a),set:t.bind(this,a)};Object.defineProperty(this._publicOptions,a,g)}}_checkReadonlyOptions(s){if(u.includes(s))throw new Error(`Option "${s}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new d.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new f.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new r.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const s=this._core.coreService.decPrivateModes;let e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any"}return{applicationCursorKeysMode:s.applicationCursorKeys,applicationKeypadMode:s.applicationKeypad,bracketedPasteMode:s.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:s.origin,reverseWraparoundMode:s.reverseWraparound,sendFocusMode:s.sendFocus,wraparoundMode:s.wraparound}}get options(){return this._publicOptions}set options(s){for(const e in s)this._publicOptions[e]=s[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(s,e=!0){this._core.input(s,e)}resize(s,e){this._verifyIntegers(s,e),this._core.resize(s,e)}open(s){this._core.open(s)}attachCustomKeyEventHandler(s){this._core.attachCustomKeyEventHandler(s)}attachCustomWheelEventHandler(s){this._core.attachCustomWheelEventHandler(s)}registerLinkProvider(s){return this._core.registerLinkProvider(s)}registerCharacterJoiner(s){return this._checkProposedApi(),this._core.registerCharacterJoiner(s)}deregisterCharacterJoiner(s){this._checkProposedApi(),this._core.deregisterCharacterJoiner(s)}registerMarker(s=0){return this._verifyIntegers(s),this._core.registerMarker(s)}registerDecoration(s){return this._checkProposedApi(),this._verifyPositiveIntegers(s.x??0,s.width??0,s.height??0),this._core.registerDecoration(s)}hasSelection(){return this._core.hasSelection()}select(s,e,t){this._verifyIntegers(s,e,t),this._core.select(s,e,t)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(s,e){this._verifyIntegers(s,e),this._core.selectLines(s,e)}dispose(){super.dispose()}scrollLines(s){this._verifyIntegers(s),this._core.scrollLines(s)}scrollPages(s){this._verifyIntegers(s),this._core.scrollPages(s)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(s){this._verifyIntegers(s),this._core.scrollToLine(s)}clear(){this._core.clear()}write(s,e){this._core.write(s,e)}writeln(s,e){this._core.write(s),this._core.write(`\r -`,e)}paste(s){this._core.paste(s)}refresh(s,e){this._verifyIntegers(s,e),this._core.refresh(s,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(s){this._addonManager.loadAddon(this,s)}static get strings(){return n}_verifyIntegers(...s){for(const e of s)if(e===1/0||isNaN(e)||e%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...s){for(const e of s)if(e&&(e===1/0||isNaN(e)||e%1!=0||e<0))throw new Error("This API only accepts positive integers")}}O.Terminal=h})(),le})())}(it)),it.exports}var ft=ei(),st={exports:{}},vt;function ti(){return vt||(vt=1,function(oe,re){(function(X,Y){oe.exports=Y()})(self,()=>(()=>{var X={};return(()=>{var Y=X;Object.defineProperty(Y,"__esModule",{value:!0}),Y.FitAddon=void 0,Y.FitAddon=class{activate(Z){this._terminal=Z}dispose(){}fit(){const Z=this.proposeDimensions();if(!Z||!this._terminal||isNaN(Z.cols)||isNaN(Z.rows))return;const le=this._terminal._core;this._terminal.rows===Z.rows&&this._terminal.cols===Z.cols||(le._renderService.clear(),this._terminal.resize(Z.cols,Z.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;const Z=this._terminal._core,le=Z._renderService.dimensions;if(le.css.cell.width===0||le.css.cell.height===0)return;const O=this._terminal.options.scrollback===0?0:Z.viewport.scrollBarWidth,n=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(n.getPropertyValue("height")),c=Math.max(0,parseInt(n.getPropertyValue("width"))),_=window.getComputedStyle(this._terminal.element),r=o-(parseInt(_.getPropertyValue("padding-top"))+parseInt(_.getPropertyValue("padding-bottom"))),d=c-(parseInt(_.getPropertyValue("padding-right"))+parseInt(_.getPropertyValue("padding-left")))-O;return{cols:Math.max(2,Math.floor(d/le.css.cell.width)),rows:Math.max(1,Math.floor(r/le.css.cell.height))}}}})(),X})())}(st)),st.exports}var rt=ti();he[Te]="src/lib/components/ShellTerminal.svelte";var ii=He(gt(''),he[Te],[[968,12,[[969,14]]]]),si=He(gt(''),he[Te],[[972,12,[[973,14]]]]),ri=He(qe('
'),he[Te],[[996,8,[[1008,10],[1009,10,[[1015,12,[[1016,14]]]]]]]]),ni=He(qe('
Connecting to shell...
'),he[Te],[[1043,10,[[1044,12,[[1045,14],[1046,14]]]]]]),oi=He(qe('

Connection Error

'),he[Te],[[1050,10,[[1051,12,[[1052,14,[[1053,16,[[1054,18]]]]],[1057,14],[1058,14]]]]]]),ai=He(qe("
"),he[Te],[[1037,6]]),hi=He(qe('
'),he[Te],[[1069,4]]),li=He(qe('
'),he[Te],[[954,0,[[955,2,[[956,4,[[957,6],[960,6,[[961,8],[977,8],[978,8,[[984,10,[[985,12]]]]]]]]]]],[993,2,[[994,4,[[1021,6,[[1028,8,[[1029,10]]]]]]]]],[1035,2]]]]);function he(oe,re){Lt(new.target),Pt(re,!1,he);const X=Ee(),Y=Ee(),Z=Ee(),le=Ee(),O=Ee(),n=Ee(),o=Ee();let c=lt(re,"runnerName",8),_=lt(re,"onClose",8),r=Ee(new Map),d=Ee(""),f=1,u=Ee(),h=Ee(!1),i=!1,s=!1,e=0,t=0,a=0,g=0,v=0,p=0,l=800,S=500,E=0,k=0,x=!1;const w="garm-terminal-dimensions",B="garm-terminal-container-size";function I(){try{const L=localStorage.getItem(w);if(L){const{cols:T,rows:F}=JSON.parse(L);if(T>=50&&F>=15)return{cols:T,rows:F}}}catch(L){console.warn(...Ae("warn","Failed to load stored terminal dimensions:",L))}return{cols:107,rows:29}}function $(){try{const L=localStorage.getItem(B);if(L){const{width:T,height:F}=JSON.parse(L);if(T>=300&&F>=200&&T<=1400&&F<=800)return{width:T,height:F}}}catch(L){console.warn(...Ae("warn","Failed to load stored container size:",L))}return{width:800,height:500}}function j(L,T){if(L>=300&&T>=200&&L<=1400&&T<=800)try{localStorage.setItem(B,JSON.stringify({width:L,height:T})),console.log(`saveContainerSize: Saved ${L}x${T}px to localStorage`)}catch(F){console.warn(...Ae("warn","Failed to save container size:",F))}else console.warn(`saveContainerSize: Rejecting invalid size ${L}x${T}`)}function W(L,T){if(L>=50&&T>=15&&L<=200&&T<=60){const F=I();if(Se(F.cols,L,!1)||Se(F.rows,T,!1))try{localStorage.setItem(w,JSON.stringify({cols:L,rows:T})),console.log(`saveDimensions: Saved ${L}x${T} to localStorage (was ${F.cols}x${F.rows})`)}catch(G){console.warn(...Ae("warn","Failed to save terminal dimensions:",G))}else console.log(`saveDimensions: Skipping save - ${L}x${T} already stored`)}else console.warn(`saveDimensions: Rejecting invalid dimensions ${L}x${T}`)}let{cols:m,rows:b}=I();console.log(`ShellTerminal: Loaded stored dimensions ${m}x${b} from localStorage`);function y(){const L=`shell-${f}`,T={id:f,key:L,title:`Shell ${f}`,connection:null,terminal:null,fitAddon:null,isInitialized:!1,isConnecting:!0,isConnected:!1,error:"",isClosing:!1};return R(r).set(L,T),ne(r,R(r)),f++,L}function D(L){Se(R(d),L,!1)&&(console.log(`switchToTab: Switching from ${R(d)} to ${L} (z-index stacking)`),ne(d,L))}function P(L){console.log(`closeTab: Closing tab ${L}`);const T=R(r).get(L);if(!T){console.error(`closeTab: Tab ${L} not found`);return}const F=m,G=b;if(console.log(`closeTab: Preserving dimensions ${F}x${G} during tab close`),Se(R(d),L))if(R(r).size>1){const _e=Array.from(R(r).values()).sort((ye,ve)=>ye.id-ve.id),de=T;let Q;const ae=_e.find(ye=>ye.id>de.id);ae?Q=ae:Q=_e.filter(ve=>ve.idke.id-ve.id)[0],Q?(console.log(`closeTab: Switching from active tab ${L} (ID: ${de.id}) to ${Q.key} (ID: ${Q.id}) before cleanup`),D(Q.key),T.isClosing=!0,R(r).set(L,T),ne(r,R(r)),m=F,b=G,console.log(`closeTab: Preserved dimensions ${m}x${b} for future use`)):(console.log("closeTab: No other tabs left, closing terminal"),_()())}else console.log("closeTab: No other tabs left, closing terminal"),_()();else console.log(`closeTab: Closing inactive tab ${L}`),U(T),R(r).delete(L),ne(r,R(r))}function U(L){if(console.log(`cleanupTab: Cleaning up tab ${L.key}`),L.connection&&(console.log(`cleanupTab: Closing connection for tab ${L.key}`),L.connection.close(),L.connection=null),L.terminal){console.log(`cleanupTab: Disposing terminal for tab ${L.key}`);try{L.terminal.dispose()}catch(T){console.error(...Ae("error",`cleanupTab: Error disposing terminal for tab ${L.key}:`,T))}L.terminal=null}L.fitAddon=null,L.isInitialized=!1,L.isConnected=!1,L.isConnecting=!1}async function q(L){const T=R(r).get(L);if(T)try{const F=(await Ut(Qt(c(),G=>z(L,G),()=>N(L),()=>J(L),G=>se(L,G))))();T.connection=F,R(r).set(L,T),ne(r,R(r))}catch(F){T.error=F instanceof Error?F.message:"Failed to connect",T.isConnecting=!1,R(r).set(L,T),ne(r,R(r))}}function K(L,T){if(console.log(`initializeTerminalElement: Action called for ${T.key}, hasTerminal=${!!T.terminal}, isInitialized=${T.isInitialized}`),T.terminal&&!T.isInitialized){console.log(`initializeTerminalElement: Initializing terminal for ${T.key} via Svelte action`),T.fitAddon||(T.fitAddon=new rt.FitAddon,T.terminal.loadAddon(T.fitAddon));try{T.terminal.open(L),console.log(`initializeTerminalElement: Successfully opened terminal ${T.key} in DOM element`)}catch(F){console.error(...Ae("error",`initializeTerminalElement: Failed to open terminal ${T.key}:`,F));return}T.terminal.onData(F=>{if(T.connection&&T.isConnected){const G=new TextEncoder;T.connection.sendData(G.encode(F))}}),T.terminal.onResize(({cols:F,rows:G})=>{T.connection&&T.isConnected&&T.connection.resize(F,G)}),T.isInitialized=!0,R(r).set(T.key,T),ne(r,R(r)),Se(T.key,R(d))&&T.terminal.focus(),console.log(`initializeTerminalElement: Terminal ${T.key} fully initialized and opened in DOM`)}else console.log(`initializeTerminalElement: Skipping ${T.key} - no terminal object or already initialized`);return{destroy(){console.log(`initializeTerminalElement: DOM element being destroyed for ${T.key}`)}}}function A(){const L=R(r).get(R(d));if(L?.terminal&&L.fitAddon&&L.terminal.element){L.fitAddon.fit();const T=L.terminal.cols,F=L.terminal.rows;if(T>=50&&F>=15){m=T,b=F,console.log(`fitAllTerminals: Active terminal ${L.key} is ${T}x${F}, applying to all tabs`);for(const G of R(r).values())G.terminal&&G.connection&&G.isConnected&&(Se(G.key,R(d))?(console.log(`fitAllTerminals: Notifying active terminal ${G.key} connection about resize to ${m}x${b}`),G.connection.resize(m,b)):(console.log(`fitAllTerminals: Resizing hidden terminal ${G.key} buffer and connection to ${m}x${b}`),G.terminal.resize(m,b),G.connection.resize(m,b)))}else console.warn(`fitAllTerminals: Active terminal has tiny dimensions ${T}x${F}, skipping update`)}}const C={background:"#002b36",foreground:"#839496",cursor:"#93a1a1",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#586e75",brightRed:"#cb4b16",brightGreen:"#859900",brightYellow:"#b58900",brightBlue:"#268bd2",brightMagenta:"#d33682",brightCyan:"#2aa198",brightWhite:"#fdf6e3"},M={background:"#2d3748",foreground:"#e2e8f0",cursor:"#cbd5e0",black:"#1a202c",red:"#e53e3e",green:"#38a169",yellow:"#d69e2e",blue:"#3182ce",magenta:"#9f7aea",cyan:"#0bc5ea",white:"#f7fafc",brightBlack:"#4a5568",brightRed:"#fc8181",brightGreen:"#68d391",brightYellow:"#f6e05e",brightBlue:"#63b3ed",brightMagenta:"#b794f6",brightCyan:"#76e4f7",brightWhite:"#ffffff"};function H(){const T=document.documentElement.classList.contains("dark")?C:M;for(const F of R(r).values())F.terminal&&(F.terminal.options.theme=T,F.fitAddon&&setTimeout(()=>F.fitAddon?.fit(),0))}It(()=>{const L=I(),T=$();m=L.cols,b=L.rows,console.log(`ShellTerminal onMount: Using dimensions ${m}x${b} and container size ${T.width}x${T.height}`);const F=T.width,G=T.height;R(u)&&(te(u,R(u).style.width=`${F}px`),te(u,R(u).style.height=`${G}px`));const de=document.documentElement.classList.contains("dark")?C:M,Q=y();ne(d,Q);const ae=new ft.Terminal({cursorBlink:!0,theme:de,fontSize:13,fontFamily:'Monaco, "Menlo", "Ubuntu Mono", monospace',allowTransparency:!0}),ye=new rt.FitAddon;ae.loadAddon(ye);const ve=R(r).get(Q);ve&&(ve.terminal=ae,ve.fitAddon=ye,R(r).set(Q,ve),ne(r,R(r))),q(Q);function ke(){clearTimeout(ee),ee=setTimeout(()=>{A()},100)}const Oe=new MutationObserver(()=>H());return Oe.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),window.addEventListener("resize",ke),document.addEventListener("fullscreenchange",$e),document.addEventListener("keydown",We),()=>{window.removeEventListener("resize",ke),document.removeEventListener("fullscreenchange",$e),document.removeEventListener("keydown",We),Oe.disconnect()}}),Ht(()=>{for(const L of R(r).values())U(L)});function z(L,T){const F=R(r).get(L);if(F?.terminal){const G=new TextDecoder().decode(T);F.terminal.write(G)}}function N(L){const T=R(r).get(L);if(T&&(T.isConnecting=!1,T.isConnected=!0,R(r).set(L,T),ne(r,R(r)),T.connection&&T.terminal&&T.fitAddon)){console.log(`handleReady: Terminal ${L} connected, fitting to restored container`),T.fitAddon.fit();const F=T.terminal.cols,G=T.terminal.rows;console.log(`handleReady: Terminal fitted to ${F}x${G}, sending to server`),T.connection.resize(F,G),F>=50&&G>=15&&(m=F,b=G)}}function J(L){const T=R(r).get(L);T&&(T.isConnected=!1,R(r).set(L,T),ne(r,R(r)),T.terminal&&T.terminal.write(`\r -[Shell session ended]`))}function se(L,T){const F=R(r).get(L);F&&(F.error=T,F.isConnecting=!1,F.isConnected=!1,R(r).set(L,F),ne(r,R(r)))}let ee;function ce(){if(R(r).size>=5){console.log("addNewTab: Maximum number of tabs (5) reached");return}const T=document.documentElement.classList.contains("dark")?C:M,F=y(),G=new ft.Terminal({cursorBlink:!0,theme:T,fontSize:13,fontFamily:'Monaco, "Menlo", "Ubuntu Mono", monospace',allowTransparency:!0}),_e=new rt.FitAddon;G.loadAddon(_e);const de=R(r).get(F);de&&(de.terminal=G,de.fitAddon=_e,R(r).set(F,de),ne(r,R(r))),D(F),q(F)}function V(){R(h)?(x=!0,Fe(),document.exitFullscreen?.()):(Le(),R(u).requestFullscreen?.())}function Le(){const L=R(u).getBoundingClientRect();l=L.width,S=L.height,E=L.left,k=L.top}function Fe(){te(u,R(u).style.position="absolute"),te(u,R(u).style.width=`${l}px`),te(u,R(u).style.height=`${S}px`),te(u,R(u).style.left=`${E}px`),te(u,R(u).style.top=`${k}px`),te(u,R(u).style.margin="0"),te(u,R(u).style.zIndex="1000")}function We(L){Se(L.key,"Escape")&&R(h)&&!x&&(x=!0,Fe())}function $e(){const L=R(h);ne(h,!!document.fullscreenElement),L&&!R(h)?(x||Fe(),x=!1,setTimeout(()=>{A()},10)):!L&&R(h)&&(te(u,R(u).style.position=""),te(u,R(u).style.width=""),te(u,R(u).style.height=""),te(u,R(u).style.left=""),te(u,R(u).style.top=""),te(u,R(u).style.margin=""),te(u,R(u).style.zIndex=""),x=!1,setTimeout(()=>{A()},10))}function Ue(L){R(h)||(i=!0,e=L.clientX,t=L.clientY,a=R(u).offsetWidth,g=R(u).offsetHeight,L.preventDefault(),document.addEventListener("mousemove",ue),document.addEventListener("mouseup",Be),document.body.style.userSelect="none",document.body.style.cursor="nw-resize")}function ue(L){if(!i)return;const T=L.clientX-e,F=L.clientY-t,ae=R(X).filter(Ge=>!Ge.isClosing).length*120+50+40,ye=Math.max(ae,300),ve=window.innerWidth-32,ke=window.innerHeight-32,Oe=Math.max(ye,Math.min(ve,a+T)),Ve=Math.max(200,Math.min(ke,g+F));te(u,R(u).style.width=`${Oe}px`),te(u,R(u).style.height=`${Ve}px`),clearTimeout(ee),ee=setTimeout(()=>{A()},50)}function Be(){if(i=!1,document.removeEventListener("mousemove",ue),document.removeEventListener("mouseup",Be),document.body.style.userSelect="",document.body.style.cursor="",!R(h)){Le();const L=R(u).offsetWidth,T=R(u).offsetHeight;j(L,T)}setTimeout(()=>{const L=R(r).get(R(d));if(L?.terminal&&L.fitAddon&&L.terminal.element){L.fitAddon.fit();const T=L.terminal.cols,F=L.terminal.rows;T>=50&&F>=15&&(console.log(`stopResize: Saving new dimensions from manual resize: ${T}x${F}`),m=T,b=F,W(T,F))}A()},100)}function Ce(L){if(R(h))return;const T=L.target;if(Se(T.tagName,"BUTTON")||T.closest("button"))return;s=!0,e=L.clientX,t=L.clientY;const F=R(u).getBoundingClientRect();v=F.left,p=F.top,L.preventDefault(),L.stopPropagation(),document.addEventListener("mousemove",Me),document.addEventListener("mouseup",Ne),document.body.style.userSelect="none",document.body.style.cursor="move",te(u,R(u).style.position="absolute"),te(u,R(u).style.left=`${v}px`),te(u,R(u).style.top=`${p}px`),te(u,R(u).style.margin="0"),te(u,R(u).style.zIndex="1000")}function Me(L){if(!s)return;const T=L.clientX-e,F=L.clientY-t,G=Math.max(0,Math.min(window.innerWidth-R(u).offsetWidth,v+T)),_e=Math.max(0,Math.min(window.innerHeight-R(u).offsetHeight,p+F));te(u,R(u).style.left=`${G}px`),te(u,R(u).style.top=`${_e}px`)}function Ne(){s=!1,document.removeEventListener("mousemove",Me),document.removeEventListener("mouseup",Ne),document.body.style.userSelect="",document.body.style.cursor="",R(h)||Le()}be(()=>(R(r),R(d)),()=>{const L=Array.from(R(r).entries()).filter(([T,F])=>F.isClosing&&Se(F.key,R(d),!1));if(L.length>0){const[T,F]=L[0];console.log(`Reactive cleanup: Cleaning up tab ${F.key} that is closing and inactive`),U(F),R(r).delete(T),ne(r,R(r))}}),be(()=>R(r),()=>{ne(X,Array.from(R(r).values()).sort((L,T)=>L.id-T.id))}),be(()=>(R(X),R(u),R(h)),()=>{const L=R(X).filter(ae=>!ae.isClosing).length,_e=L*120+50+40,Q=Math.max(_e,300);if(R(u)&&!R(h)){const ae=R(u).offsetWidth;ae{A()},10))}}),be(()=>(R(X),R(r)),()=>{console.log(...Ae("log",`Reactive tabs array updated: ${R(X).length} tabs`,R(X).map(L=>({key:L.key,id:L.id,title:L.title,isClosing:L.isClosing})))),console.log(...Ae("log",`Map has ${R(r).size} entries:`,Array.from(R(r).keys()))),console.log(...Ae("log",`Filtered tabs for rendering: ${R(X).filter(L=>!L.isClosing).length} tabs`,R(X).filter(L=>!L.isClosing).map(L=>({key:L.key,title:L.title}))))}),be(()=>(R(r),R(d)),()=>{ne(Y,R(r).get(R(d))||null)}),be(()=>R(Y),()=>{ne(Z,R(Y)?.connection||null)}),be(()=>R(Y),()=>{ne(le,R(Y)?.terminal||null)}),be(()=>R(Y),()=>{ne(O,R(Y)?.isConnecting||!1)}),be(()=>R(Y),()=>{ne(n,R(Y)?.isConnected||!1)}),be(()=>R(Y),()=>{ne(o,R(Y)?.error||"")}),be(()=>R(d),()=>{R(d)&&console.log(`Reactive: activeTabKey changed to ${R(d)}, this should bring tab to front`)}),be(()=>(R(d),R(r),ht),()=>{if(R(d)&&R(r).size>0){const L=R(r).get(R(d));L?.terminal&&L.isInitialized&&L.isConnected&&(console.log(`Reactive focus: Bringing terminal ${R(d)} to front`),ht().then(()=>{L.terminal&&(console.log(`Reactive focus: Focusing terminal ${R(d)}`),L.terminal.focus())}))}}),Ft(),At();var me=li(),De=ge(me),we=ge(De),Re=ge(we),ie=ge(Re);fe(Re);var Ke=Ie(Re,2),ze=ge(Ke),St=ge(ze);{var Ct=L=>{var T=ii();xe(L,T)},bt=L=>{var T=si();xe(L,T)};je(()=>Ye(St,L=>{R(h)?L(Ct):L(bt,!1)}),"if",he,967,10)}fe(ze);var wt=Ie(ze,4);fe(Ke),fe(we),fe(De);var Ze=Ie(De,2),ot=ge(Ze),at=ge(ot);ut(()=>(R(X),pe(()=>R(X).filter(L=>!L.isClosing))),L=>L.key),je(()=>ct(at,1,()=>(R(X),pe(()=>R(X).filter(L=>!L.isClosing))),L=>L.key,(L,T)=>{var F=ri(),G=ge(F),_e=ge(G,!0);fe(G);var de=Ie(G,2);fe(F),Xe(()=>{dt(F,1,`tab ${R(T),R(d),pe(()=>Se(R(T).key,R(d))?"active":"")??""}`,"svelte-1wb0h1r"),tt(_e,(R(T),pe(()=>R(T).title)))}),Pe("click",de,zt(()=>P(R(T).key))),Pe("click",F,()=>D(R(T).key)),Pe("keydown",F,Q=>{(Se(Q.key,"Enter")||Se(Q.key," "))&&(Q.preventDefault(),D(R(T).key))}),xe(L,F)}),"each",he,995,6);var Qe=Ie(at,2);fe(ot),fe(Ze);var et=Ie(Ze,2);ut(()=>(R(X),pe(()=>R(X).filter(L=>!L.isClosing))),L=>L.key),je(()=>ct(et,5,()=>(R(X),pe(()=>R(X).filter(L=>!L.isClosing))),L=>L.key,(L,T)=>{var F=ai(),G=ge(F);{var _e=Q=>{var ae=ni();xe(Q,ae)},de=Q=>{var ae=Dt(),ye=Wt(ae);{var ve=ke=>{var Oe=oi(),Ve=ge(Oe),Ge=Ie(ge(Ve),4),kt=ge(Ge,!0);fe(Ge),fe(Ve),fe(Oe),Xe(()=>tt(kt,(R(T),pe(()=>R(T).error)))),xe(ke,Oe)};je(()=>Ye(ye,ke=>{R(T),pe(()=>R(T).error)&&ke(ve)},!0),"if",he,1049,8)}xe(Q,ae)};je(()=>Ye(G,Q=>{R(T),pe(()=>R(T).isConnecting)?Q(_e):Q(de,!1)}),"if",he,1042,8)}fe(F),jt(F,(Q,ae)=>K?.(Q,ae),()=>R(T)),Xe(()=>{dt(F,1,`terminal-tab ${R(T),R(d),pe(()=>Se(R(T).key,R(d))?"active":"")??""}`,"svelte-1wb0h1r"),Je(F,"data-tab-key",(R(T),pe(()=>R(T).key)))}),xe(L,F)}),"each",he,1036,4),fe(et);var yt=Ie(et,2);{var Et=L=>{var T=hi();Pe("mousedown",T,Ue),xe(L,T)};je(()=>Ye(yt,L=>{R(h)||L(Et)}),"if",he,1068,2)}return fe(me),Nt(me,L=>ne(u,L),()=>R(u)),Xe(()=>{tt(ie,`Shell - ${c()??""}`),Je(ze,"title",R(h)?"Restore":"Maximize"),Je(ze,"aria-label",R(h)?"Restore":"Maximize"),Qe.disabled=(R(r),pe(()=>R(r).size>=5)),Je(Qe,"title",(R(r),pe(()=>R(r).size>=5?"Maximum 5 tabs allowed":"New tab")))}),Pe("click",ze,V),Pe("click",wt,function(...L){Rt(_,this,L,he,[979,20])}),Pe("mousedown",De,Ce),Pe("click",Qe,ce),xe(oe,me),$t({...xt()})}export{he as S}; +`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(l){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),s.isLinux&&l&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(l){const S=this._getMouseBufferCoords(l),E=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!!(E&&k&&S)&&this._areCoordsInSelection(S,E,k)}isCellInSelection(l,S){const E=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!(!E||!k)&&this._areCoordsInSelection([l,S],E,k)}_areCoordsInSelection(l,S,E){return l[1]>S[1]&&l[1]=S[0]&&l[0]=S[0]}_selectWordAtCursor(l,S){const E=this._linkifier.currentLink?.link?.range;if(E)return this._model.selectionStart=[E.start.x-1,E.start.y-1],this._model.selectionStartLength=(0,e.getRangeLength)(E,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const k=this._getMouseBufferCoords(l);return!!k&&(this._selectWordAt(k,S),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(l,S){this._model.clearSelection(),l=Math.max(l,0),S=Math.min(S,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,l],this._model.selectionEnd=[this._bufferService.cols,S],this.refresh(),this._onSelectionChange.fire()}_handleTrim(l){this._model.handleTrim(l)&&this.refresh()}_getMouseBufferCoords(l){const S=this._mouseService.getCoords(l,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(S)return S[0]--,S[1]--,S[1]+=this._bufferService.buffer.ydisp,S}_getMouseEventScrollAmount(l){let S=(0,r.getCoordsRelativeToElement)(this._coreBrowserService.window,l,this._screenElement)[1];const E=this._renderService.dimensions.css.canvas.height;return S>=0&&S<=E?0:(S>E&&(S-=E),S=Math.min(Math.max(S,-50),50),S/=50,S/Math.abs(S)+Math.round(14*S))}shouldForceSelection(l){return s.isMac?l.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:l.shiftKey}handleMouseDown(l){if(this._mouseDownTimeStamp=l.timeStamp,(l.button!==2||!this.hasSelection)&&l.button===0){if(!this._enabled){if(!this.shouldForceSelection(l))return;l.stopPropagation()}l.preventDefault(),this._dragScrollAmount=0,this._enabled&&l.shiftKey?this._handleIncrementalClick(l):l.detail===1?this._handleSingleClick(l):l.detail===2?this._handleDoubleClick(l):l.detail===3&&this._handleTripleClick(l),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(l){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(l))}_handleSingleClick(l){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(l)?3:0,this._model.selectionStart=this._getMouseBufferCoords(l),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const S=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);S&&S.length!==this._model.selectionStart[0]&&S.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(l){this._selectWordAtCursor(l,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(l){const S=this._getMouseBufferCoords(l);S&&(this._activeSelectionMode=2,this._selectLineAt(S[1]))}shouldColumnSelect(l){return l.altKey&&!(s.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(l){if(l.stopImmediatePropagation(),!this._model.selectionStart)return;const S=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(l),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const E=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(l.ydisp+this._bufferService.rows,l.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=l.ydisp),this.refresh()}}_handleMouseUp(l){const S=l.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&S<500&&l.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const E=this._mouseService.getCoords(l,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(E&&E[0]!==void 0&&E[1]!==void 0){const k=(0,d.moveToCellSequence)(E[0]-1,E[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(k,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const l=this._model.finalSelectionStart,S=this._model.finalSelectionEnd,E=!(!l||!S||l[0]===S[0]&&l[1]===S[1]);E?l&&S&&(this._oldSelectionStart&&this._oldSelectionEnd&&l[0]===this._oldSelectionStart[0]&&l[1]===this._oldSelectionStart[1]&&S[0]===this._oldSelectionEnd[0]&&S[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(l,S,E)):this._oldHasSelection&&this._fireOnSelectionChange(l,S,E)}_fireOnSelectionChange(l,S,E){this._oldSelectionStart=l,this._oldSelectionEnd=S,this._oldHasSelection=E,this._onSelectionChange.fire()}_handleBufferActivate(l){this.clearSelection(),this._trimListener.dispose(),this._trimListener=l.activeBuffer.lines.onTrim(S=>this._handleTrim(S))}_convertViewportColToCharacterIndex(l,S){let E=S;for(let k=0;S>=k;k++){const x=l.loadCell(k,this._workCell).getChars().length;this._workCell.getWidth()===0?E--:x>1&&S!==k&&(E+=x-1)}return E}setSelection(l,S,E){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[l,S],this._model.selectionStartLength=E,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(l){this._isClickInSelection(l)||(this._selectWordAtCursor(l,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(l,S,E=!0,k=!0){if(l[0]>=this._bufferService.cols)return;const x=this._bufferService.buffer,w=x.lines.get(l[1]);if(!w)return;const B=x.translateBufferLineToString(l[1],!1);let I=this._convertViewportColToCharacterIndex(w,l[0]),$=I;const j=l[0]-I;let W=0,m=0,b=0,y=0;if(B.charAt(I)===" "){for(;I>0&&B.charAt(I-1)===" ";)I--;for(;$1&&(y+=K-1,$+=K-1);U>0&&I>0&&!this._isCharWordSeparator(w.loadCell(U-1,this._workCell));){w.loadCell(U-1,this._workCell);const A=this._workCell.getChars().length;this._workCell.getWidth()===0?(W++,U--):A>1&&(b+=A-1,I-=A-1),I--,U--}for(;q1&&(y+=A-1,$+=A-1),$++,q++}}$++;let L=I+j-W+b,P=Math.min(this._bufferService.cols,$-I+W+m-b-y);if(S||B.slice(I,$).trim()!==""){if(E&&L===0&&w.getCodePoint(0)!==32){const U=x.lines.get(l[1]-1);if(U&&w.isWrapped&&U.getCodePoint(this._bufferService.cols-1)!==32){const q=this._getWordAt([this._bufferService.cols-1,l[1]-1],!1,!0,!1);if(q){const K=this._bufferService.cols-q.start;L-=K,P+=K}}}if(k&&L+P===this._bufferService.cols&&w.getCodePoint(this._bufferService.cols-1)!==32){const U=x.lines.get(l[1]+1);if(U?.isWrapped&&U.getCodePoint(0)!==32){const q=this._getWordAt([0,l[1]+1],!1,!1,!0);q&&(P+=q.length)}}return{start:L,length:P}}}_selectWordAt(l,S){const E=this._getWordAt(l,S);if(E){for(;E.start<0;)E.start+=this._bufferService.cols,l[1]--;this._model.selectionStart=[E.start,l[1]],this._model.selectionStartLength=E.length}}_selectToWordAt(l){const S=this._getWordAt(l,!0);if(S){let E=l[1];for(;S.start<0;)S.start+=this._bufferService.cols,E--;if(!this._model.areSelectionValuesReversed())for(;S.start+S.length>this._bufferService.cols;)S.length-=this._bufferService.cols,E++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?S.start:S.start+S.length,E]}}_isCharWordSeparator(l){return l.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(l.getChars())>=0}_selectLineAt(l){const S=this._bufferService.buffer.getWrappedRangeForLine(l),E={start:{x:0,y:S.first},end:{x:this._bufferService.cols-1,y:S.last}};this._model.selectionStart=[0,S.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,e.getRangeLength)(E,this._bufferService.cols)}};n.SelectionService=p=c([_(3,a.IBufferService),_(4,a.ICoreService),_(5,u.IMouseService),_(6,a.IOptionsService),_(7,u.IRenderService),_(8,u.ICoreBrowserService)],p)},4725:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ILinkProviderService=n.IThemeService=n.ICharacterJoinerService=n.ISelectionService=n.IRenderService=n.IMouseService=n.ICoreBrowserService=n.ICharSizeService=void 0;const c=o(8343);n.ICharSizeService=(0,c.createDecorator)("CharSizeService"),n.ICoreBrowserService=(0,c.createDecorator)("CoreBrowserService"),n.IMouseService=(0,c.createDecorator)("MouseService"),n.IRenderService=(0,c.createDecorator)("RenderService"),n.ISelectionService=(0,c.createDecorator)("SelectionService"),n.ICharacterJoinerService=(0,c.createDecorator)("CharacterJoinerService"),n.IThemeService=(0,c.createDecorator)("ThemeService"),n.ILinkProviderService=(0,c.createDecorator)("LinkProviderService")},6731:function(O,n,o){var c=this&&this.__decorate||function(p,l,S,E){var k,x=arguments.length,w=x<3?l:E===null?E=Object.getOwnPropertyDescriptor(l,S):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(p,l,S,E);else for(var B=p.length-1;B>=0;B--)(k=p[B])&&(w=(x<3?k(w):x>3?k(l,S,w):k(l,S))||w);return x>3&&w&&Object.defineProperty(l,S,w),w},_=this&&this.__param||function(p,l){return function(S,E){l(S,E,p)}};Object.defineProperty(n,"__esModule",{value:!0}),n.ThemeService=n.DEFAULT_ANSI_COLORS=void 0;const r=o(7239),d=o(8055),f=o(8460),u=o(844),h=o(2585),i=d.css.toColor("#ffffff"),s=d.css.toColor("#000000"),e=d.css.toColor("#ffffff"),t=d.css.toColor("#000000"),a={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};n.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const p=[d.css.toColor("#2e3436"),d.css.toColor("#cc0000"),d.css.toColor("#4e9a06"),d.css.toColor("#c4a000"),d.css.toColor("#3465a4"),d.css.toColor("#75507b"),d.css.toColor("#06989a"),d.css.toColor("#d3d7cf"),d.css.toColor("#555753"),d.css.toColor("#ef2929"),d.css.toColor("#8ae234"),d.css.toColor("#fce94f"),d.css.toColor("#729fcf"),d.css.toColor("#ad7fa8"),d.css.toColor("#34e2e2"),d.css.toColor("#eeeeec")],l=[0,95,135,175,215,255];for(let S=0;S<216;S++){const E=l[S/36%6|0],k=l[S/6%6|0],x=l[S%6];p.push({css:d.channels.toCss(E,k,x),rgba:d.channels.toRgba(E,k,x)})}for(let S=0;S<24;S++){const E=8+10*S;p.push({css:d.channels.toCss(E,E,E),rgba:d.channels.toRgba(E,E,E)})}return p})());let g=n.ThemeService=class extends u.Disposable{get colors(){return this._colors}constructor(p){super(),this._optionsService=p,this._contrastCache=new r.ColorContrastCache,this._halfContrastCache=new r.ColorContrastCache,this._onChangeColors=this.register(new f.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:i,background:s,cursor:e,cursorAccent:t,selectionForeground:void 0,selectionBackgroundTransparent:a,selectionBackgroundOpaque:d.color.blend(s,a),selectionInactiveBackgroundTransparent:a,selectionInactiveBackgroundOpaque:d.color.blend(s,a),ansi:n.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this.register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}_setTheme(p={}){const l=this._colors;if(l.foreground=v(p.foreground,i),l.background=v(p.background,s),l.cursor=v(p.cursor,e),l.cursorAccent=v(p.cursorAccent,t),l.selectionBackgroundTransparent=v(p.selectionBackground,a),l.selectionBackgroundOpaque=d.color.blend(l.background,l.selectionBackgroundTransparent),l.selectionInactiveBackgroundTransparent=v(p.selectionInactiveBackground,l.selectionBackgroundTransparent),l.selectionInactiveBackgroundOpaque=d.color.blend(l.background,l.selectionInactiveBackgroundTransparent),l.selectionForeground=p.selectionForeground?v(p.selectionForeground,d.NULL_COLOR):void 0,l.selectionForeground===d.NULL_COLOR&&(l.selectionForeground=void 0),d.color.isOpaque(l.selectionBackgroundTransparent)&&(l.selectionBackgroundTransparent=d.color.opacity(l.selectionBackgroundTransparent,.3)),d.color.isOpaque(l.selectionInactiveBackgroundTransparent)&&(l.selectionInactiveBackgroundTransparent=d.color.opacity(l.selectionInactiveBackgroundTransparent,.3)),l.ansi=n.DEFAULT_ANSI_COLORS.slice(),l.ansi[0]=v(p.black,n.DEFAULT_ANSI_COLORS[0]),l.ansi[1]=v(p.red,n.DEFAULT_ANSI_COLORS[1]),l.ansi[2]=v(p.green,n.DEFAULT_ANSI_COLORS[2]),l.ansi[3]=v(p.yellow,n.DEFAULT_ANSI_COLORS[3]),l.ansi[4]=v(p.blue,n.DEFAULT_ANSI_COLORS[4]),l.ansi[5]=v(p.magenta,n.DEFAULT_ANSI_COLORS[5]),l.ansi[6]=v(p.cyan,n.DEFAULT_ANSI_COLORS[6]),l.ansi[7]=v(p.white,n.DEFAULT_ANSI_COLORS[7]),l.ansi[8]=v(p.brightBlack,n.DEFAULT_ANSI_COLORS[8]),l.ansi[9]=v(p.brightRed,n.DEFAULT_ANSI_COLORS[9]),l.ansi[10]=v(p.brightGreen,n.DEFAULT_ANSI_COLORS[10]),l.ansi[11]=v(p.brightYellow,n.DEFAULT_ANSI_COLORS[11]),l.ansi[12]=v(p.brightBlue,n.DEFAULT_ANSI_COLORS[12]),l.ansi[13]=v(p.brightMagenta,n.DEFAULT_ANSI_COLORS[13]),l.ansi[14]=v(p.brightCyan,n.DEFAULT_ANSI_COLORS[14]),l.ansi[15]=v(p.brightWhite,n.DEFAULT_ANSI_COLORS[15]),p.extendedAnsi){const S=Math.min(l.ansi.length-16,p.extendedAnsi.length);for(let E=0;E{Object.defineProperty(n,"__esModule",{value:!0}),n.CircularList=void 0;const c=o(8460),_=o(844);class r extends _.Disposable{constructor(f){super(),this._maxLength=f,this.onDeleteEmitter=this.register(new c.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new c.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new c.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(f){if(this._maxLength===f)return;const u=new Array(f);for(let h=0;hthis._length)for(let u=this._length;u=f;i--)this._array[this._getCyclicIndex(i+h.length)]=this._array[this._getCyclicIndex(i)];for(let i=0;ithis._maxLength){const i=this._length+h.length-this._maxLength;this._startIndex+=i,this._length=this._maxLength,this.onTrimEmitter.fire(i)}else this._length+=h.length}trimStart(f){f>this._length&&(f=this._length),this._startIndex+=f,this._length-=f,this.onTrimEmitter.fire(f)}shiftElements(f,u,h){if(!(u<=0)){if(f<0||f>=this._length)throw new Error("start argument out of range");if(f+h<0)throw new Error("Cannot shift elements in list beyond index 0");if(h>0){for(let s=u-1;s>=0;s--)this.set(f+s+h,this.get(f+s));const i=f+u+h-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i{Object.defineProperty(n,"__esModule",{value:!0}),n.clone=void 0,n.clone=function o(c,_=5){if(typeof c!="object")return c;const r=Array.isArray(c)?[]:{};for(const d in c)r[d]=_<=1?c[d]:c[d]&&o(c[d],_-1);return r}},8055:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.contrastRatio=n.toPaddedHex=n.rgba=n.rgb=n.css=n.color=n.channels=n.NULL_COLOR=void 0;let o=0,c=0,_=0,r=0;var d,f,u,h,i;function s(t){const a=t.toString(16);return a.length<2?"0"+a:a}function e(t,a){return t>>0},t.toColor=function(a,g,v,p){return{css:t.toCss(a,g,v,p),rgba:t.toRgba(a,g,v,p)}}}(d||(n.channels=d={})),function(t){function a(g,v){return r=Math.round(255*v),[o,c,_]=i.toChannels(g.rgba),{css:d.toCss(o,c,_,r),rgba:d.toRgba(o,c,_,r)}}t.blend=function(g,v){if(r=(255&v.rgba)/255,r===1)return{css:v.css,rgba:v.rgba};const p=v.rgba>>24&255,l=v.rgba>>16&255,S=v.rgba>>8&255,E=g.rgba>>24&255,k=g.rgba>>16&255,x=g.rgba>>8&255;return o=E+Math.round((p-E)*r),c=k+Math.round((l-k)*r),_=x+Math.round((S-x)*r),{css:d.toCss(o,c,_),rgba:d.toRgba(o,c,_)}},t.isOpaque=function(g){return(255&g.rgba)==255},t.ensureContrastRatio=function(g,v,p){const l=i.ensureContrastRatio(g.rgba,v.rgba,p);if(l)return d.toColor(l>>24&255,l>>16&255,l>>8&255)},t.opaque=function(g){const v=(255|g.rgba)>>>0;return[o,c,_]=i.toChannels(v),{css:d.toCss(o,c,_),rgba:v}},t.opacity=a,t.multiplyOpacity=function(g,v){return r=255&g.rgba,a(g,r*v/255)},t.toColorRGB=function(g){return[g.rgba>>24&255,g.rgba>>16&255,g.rgba>>8&255]}}(f||(n.color=f={})),function(t){let a,g;try{const v=document.createElement("canvas");v.width=1,v.height=1;const p=v.getContext("2d",{willReadFrequently:!0});p&&(a=p,a.globalCompositeOperation="copy",g=a.createLinearGradient(0,0,1,1))}catch{}t.toColor=function(v){if(v.match(/#[\da-f]{3,8}/i))switch(v.length){case 4:return o=parseInt(v.slice(1,2).repeat(2),16),c=parseInt(v.slice(2,3).repeat(2),16),_=parseInt(v.slice(3,4).repeat(2),16),d.toColor(o,c,_);case 5:return o=parseInt(v.slice(1,2).repeat(2),16),c=parseInt(v.slice(2,3).repeat(2),16),_=parseInt(v.slice(3,4).repeat(2),16),r=parseInt(v.slice(4,5).repeat(2),16),d.toColor(o,c,_,r);case 7:return{css:v,rgba:(parseInt(v.slice(1),16)<<8|255)>>>0};case 9:return{css:v,rgba:parseInt(v.slice(1),16)>>>0}}const p=v.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(p)return o=parseInt(p[1]),c=parseInt(p[2]),_=parseInt(p[3]),r=Math.round(255*(p[5]===void 0?1:parseFloat(p[5]))),d.toColor(o,c,_,r);if(!a||!g)throw new Error("css.toColor: Unsupported css format");if(a.fillStyle=g,a.fillStyle=v,typeof a.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(a.fillRect(0,0,1,1),[o,c,_,r]=a.getImageData(0,0,1,1).data,r!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:d.toRgba(o,c,_,r),css:v}}}(u||(n.css=u={})),function(t){function a(g,v,p){const l=g/255,S=v/255,E=p/255;return .2126*(l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4))+.7152*(S<=.03928?S/12.92:Math.pow((S+.055)/1.055,2.4))+.0722*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))}t.relativeLuminance=function(g){return a(g>>16&255,g>>8&255,255&g)},t.relativeLuminance2=a}(h||(n.rgb=h={})),function(t){function a(v,p,l){const S=v>>24&255,E=v>>16&255,k=v>>8&255;let x=p>>24&255,w=p>>16&255,B=p>>8&255,I=e(h.relativeLuminance2(x,w,B),h.relativeLuminance2(S,E,k));for(;I0||w>0||B>0);)x-=Math.max(0,Math.ceil(.1*x)),w-=Math.max(0,Math.ceil(.1*w)),B-=Math.max(0,Math.ceil(.1*B)),I=e(h.relativeLuminance2(x,w,B),h.relativeLuminance2(S,E,k));return(x<<24|w<<16|B<<8|255)>>>0}function g(v,p,l){const S=v>>24&255,E=v>>16&255,k=v>>8&255;let x=p>>24&255,w=p>>16&255,B=p>>8&255,I=e(h.relativeLuminance2(x,w,B),h.relativeLuminance2(S,E,k));for(;I>>0}t.blend=function(v,p){if(r=(255&p)/255,r===1)return p;const l=p>>24&255,S=p>>16&255,E=p>>8&255,k=v>>24&255,x=v>>16&255,w=v>>8&255;return o=k+Math.round((l-k)*r),c=x+Math.round((S-x)*r),_=w+Math.round((E-w)*r),d.toRgba(o,c,_)},t.ensureContrastRatio=function(v,p,l){const S=h.relativeLuminance(v>>8),E=h.relativeLuminance(p>>8);if(e(S,E)>8));if(Be(S,h.relativeLuminance(I>>8))?w:I}return w}const k=g(v,p,l),x=e(S,h.relativeLuminance(k>>8));if(xe(S,h.relativeLuminance(w>>8))?k:w}return k}},t.reduceLuminance=a,t.increaseLuminance=g,t.toChannels=function(v){return[v>>24&255,v>>16&255,v>>8&255,255&v]}}(i||(n.rgba=i={})),n.toPaddedHex=s,n.contrastRatio=e},8969:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CoreTerminal=void 0;const c=o(844),_=o(2585),r=o(4348),d=o(7866),f=o(744),u=o(7302),h=o(6975),i=o(8460),s=o(1753),e=o(1480),t=o(7994),a=o(9282),g=o(5435),v=o(5981),p=o(2660);let l=!1;class S extends c.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new i.EventEmitter),this._onScroll.event(k=>{this._onScrollApi?.fire(k.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(k){for(const x in k)this.optionsService.options[x]=k[x]}constructor(k){super(),this._windowsWrappingHeuristics=this.register(new c.MutableDisposable),this._onBinary=this.register(new i.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new i.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new i.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new i.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new i.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new i.EventEmitter),this._instantiationService=new r.InstantiationService,this.optionsService=this.register(new u.OptionsService(k)),this._instantiationService.setService(_.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(f.BufferService)),this._instantiationService.setService(_.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(d.LogService)),this._instantiationService.setService(_.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(h.CoreService)),this._instantiationService.setService(_.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(s.CoreMouseService)),this._instantiationService.setService(_.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(e.UnicodeService)),this._instantiationService.setService(_.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(t.CharsetService),this._instantiationService.setService(_.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(p.OscLinkService),this._instantiationService.setService(_.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new g.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,i.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,i.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,i.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,i.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll(x=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(x=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new v.WriteBuffer((x,w)=>this._inputHandler.parse(x,w))),this.register((0,i.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(k,x){this._writeBuffer.write(k,x)}writeSync(k,x){this._logService.logLevel<=_.LogLevelEnum.WARN&&!l&&(this._logService.warn("writeSync is unreliable and will be removed soon."),l=!0),this._writeBuffer.writeSync(k,x)}input(k,x=!0){this.coreService.triggerDataEvent(k,x)}resize(k,x){isNaN(k)||isNaN(x)||(k=Math.max(k,f.MINIMUM_COLS),x=Math.max(x,f.MINIMUM_ROWS),this._bufferService.resize(k,x))}scroll(k,x=!1){this._bufferService.scroll(k,x)}scrollLines(k,x,w){this._bufferService.scrollLines(k,x,w)}scrollPages(k){this.scrollLines(k*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(k){const x=k-this._bufferService.buffer.ydisp;x!==0&&this.scrollLines(x)}registerEscHandler(k,x){return this._inputHandler.registerEscHandler(k,x)}registerDcsHandler(k,x){return this._inputHandler.registerDcsHandler(k,x)}registerCsiHandler(k,x){return this._inputHandler.registerCsiHandler(k,x)}registerOscHandler(k,x){return this._inputHandler.registerOscHandler(k,x)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let k=!1;const x=this.optionsService.rawOptions.windowsPty;x&&x.buildNumber!==void 0&&x.buildNumber!==void 0?k=x.backend==="conpty"&&x.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(k=!0),k?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const k=[];k.push(this.onLineFeed(a.updateWindowsModeWrappedState.bind(null,this._bufferService))),k.push(this.registerCsiHandler({final:"H"},()=>((0,a.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,c.toDisposable)(()=>{for(const x of k)x.dispose()})}}}n.CoreTerminal=S},8460:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.runAndSubscribe=n.forwardEvent=n.EventEmitter=void 0,n.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let c=0;cc.fire(_))},n.runAndSubscribe=function(o,c){return c(void 0),o(_=>c(_))}},5435:function(O,n,o){var c=this&&this.__decorate||function(W,m,b,y){var L,P=arguments.length,U=P<3?m:y===null?y=Object.getOwnPropertyDescriptor(m,b):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(W,m,b,y);else for(var q=W.length-1;q>=0;q--)(L=W[q])&&(U=(P<3?L(U):P>3?L(m,b,U):L(m,b))||U);return P>3&&U&&Object.defineProperty(m,b,U),U},_=this&&this.__param||function(W,m){return function(b,y){m(b,y,W)}};Object.defineProperty(n,"__esModule",{value:!0}),n.InputHandler=n.WindowsOptionsReportType=void 0;const r=o(2584),d=o(7116),f=o(2015),u=o(844),h=o(482),i=o(8437),s=o(8460),e=o(643),t=o(511),a=o(3734),g=o(2585),v=o(1480),p=o(6242),l=o(6351),S=o(5941),E={"(":0,")":1,"*":2,"+":3,"-":1,".":2},k=131072;function x(W,m){if(W>24)return m.setWinLines||!1;switch(W){case 1:return!!m.restoreWin;case 2:return!!m.minimizeWin;case 3:return!!m.setWinPosition;case 4:return!!m.setWinSizePixels;case 5:return!!m.raiseWin;case 6:return!!m.lowerWin;case 7:return!!m.refreshWin;case 8:return!!m.setWinSizeChars;case 9:return!!m.maximizeWin;case 10:return!!m.fullscreenWin;case 11:return!!m.getWinState;case 13:return!!m.getWinPosition;case 14:return!!m.getWinSizePixels;case 15:return!!m.getScreenSizePixels;case 16:return!!m.getCellSizePixels;case 18:return!!m.getWinSizeChars;case 19:return!!m.getScreenSizeChars;case 20:return!!m.getIconTitle;case 21:return!!m.getWinTitle;case 22:return!!m.pushTitle;case 23:return!!m.popTitle;case 24:return!!m.setWinLines}return!1}var w;(function(W){W[W.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",W[W.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(w||(n.WindowsOptionsReportType=w={}));let B=0;class I extends u.Disposable{getAttrData(){return this._curAttrData}constructor(m,b,y,L,P,U,q,K,A=new f.EscapeSequenceParser){super(),this._bufferService=m,this._charsetService=b,this._coreService=y,this._logService=L,this._optionsService=P,this._oscLinkService=U,this._coreMouseService=q,this._unicodeService=K,this._parser=A,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new h.StringToUtf32,this._utf8Decoder=new h.Utf8ToUtf32,this._workCell=new t.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=i.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new s.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new s.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new s.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new s.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new s.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new s.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new s.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new s.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new s.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new s.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new s.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new s.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new s.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new $(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(C=>this._activeBuffer=C.activeBuffer)),this._parser.setCsiHandlerFallback((C,M)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(C),params:M.toArray()})}),this._parser.setEscHandlerFallback(C=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(C)})}),this._parser.setExecuteHandlerFallback(C=>{this._logService.debug("Unknown EXECUTE code: ",{code:C})}),this._parser.setOscHandlerFallback((C,M,H)=>{this._logService.debug("Unknown OSC code: ",{identifier:C,action:M,data:H})}),this._parser.setDcsHandlerFallback((C,M,H)=>{M==="HOOK"&&(H=H.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(C),action:M,payload:H})}),this._parser.setPrintHandler((C,M,H)=>this.print(C,M,H)),this._parser.registerCsiHandler({final:"@"},C=>this.insertChars(C)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},C=>this.scrollLeft(C)),this._parser.registerCsiHandler({final:"A"},C=>this.cursorUp(C)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},C=>this.scrollRight(C)),this._parser.registerCsiHandler({final:"B"},C=>this.cursorDown(C)),this._parser.registerCsiHandler({final:"C"},C=>this.cursorForward(C)),this._parser.registerCsiHandler({final:"D"},C=>this.cursorBackward(C)),this._parser.registerCsiHandler({final:"E"},C=>this.cursorNextLine(C)),this._parser.registerCsiHandler({final:"F"},C=>this.cursorPrecedingLine(C)),this._parser.registerCsiHandler({final:"G"},C=>this.cursorCharAbsolute(C)),this._parser.registerCsiHandler({final:"H"},C=>this.cursorPosition(C)),this._parser.registerCsiHandler({final:"I"},C=>this.cursorForwardTab(C)),this._parser.registerCsiHandler({final:"J"},C=>this.eraseInDisplay(C,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},C=>this.eraseInDisplay(C,!0)),this._parser.registerCsiHandler({final:"K"},C=>this.eraseInLine(C,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},C=>this.eraseInLine(C,!0)),this._parser.registerCsiHandler({final:"L"},C=>this.insertLines(C)),this._parser.registerCsiHandler({final:"M"},C=>this.deleteLines(C)),this._parser.registerCsiHandler({final:"P"},C=>this.deleteChars(C)),this._parser.registerCsiHandler({final:"S"},C=>this.scrollUp(C)),this._parser.registerCsiHandler({final:"T"},C=>this.scrollDown(C)),this._parser.registerCsiHandler({final:"X"},C=>this.eraseChars(C)),this._parser.registerCsiHandler({final:"Z"},C=>this.cursorBackwardTab(C)),this._parser.registerCsiHandler({final:"`"},C=>this.charPosAbsolute(C)),this._parser.registerCsiHandler({final:"a"},C=>this.hPositionRelative(C)),this._parser.registerCsiHandler({final:"b"},C=>this.repeatPrecedingCharacter(C)),this._parser.registerCsiHandler({final:"c"},C=>this.sendDeviceAttributesPrimary(C)),this._parser.registerCsiHandler({prefix:">",final:"c"},C=>this.sendDeviceAttributesSecondary(C)),this._parser.registerCsiHandler({final:"d"},C=>this.linePosAbsolute(C)),this._parser.registerCsiHandler({final:"e"},C=>this.vPositionRelative(C)),this._parser.registerCsiHandler({final:"f"},C=>this.hVPosition(C)),this._parser.registerCsiHandler({final:"g"},C=>this.tabClear(C)),this._parser.registerCsiHandler({final:"h"},C=>this.setMode(C)),this._parser.registerCsiHandler({prefix:"?",final:"h"},C=>this.setModePrivate(C)),this._parser.registerCsiHandler({final:"l"},C=>this.resetMode(C)),this._parser.registerCsiHandler({prefix:"?",final:"l"},C=>this.resetModePrivate(C)),this._parser.registerCsiHandler({final:"m"},C=>this.charAttributes(C)),this._parser.registerCsiHandler({final:"n"},C=>this.deviceStatus(C)),this._parser.registerCsiHandler({prefix:"?",final:"n"},C=>this.deviceStatusPrivate(C)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},C=>this.softReset(C)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},C=>this.setCursorStyle(C)),this._parser.registerCsiHandler({final:"r"},C=>this.setScrollRegion(C)),this._parser.registerCsiHandler({final:"s"},C=>this.saveCursor(C)),this._parser.registerCsiHandler({final:"t"},C=>this.windowOptions(C)),this._parser.registerCsiHandler({final:"u"},C=>this.restoreCursor(C)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},C=>this.insertColumns(C)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},C=>this.deleteColumns(C)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},C=>this.selectProtected(C)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},C=>this.requestMode(C,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},C=>this.requestMode(C,!1)),this._parser.setExecuteHandler(r.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(r.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(r.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(r.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(r.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(r.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(r.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(r.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(r.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(r.C1.IND,()=>this.index()),this._parser.setExecuteHandler(r.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(r.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new p.OscHandler(C=>(this.setTitle(C),this.setIconName(C),!0))),this._parser.registerOscHandler(1,new p.OscHandler(C=>this.setIconName(C))),this._parser.registerOscHandler(2,new p.OscHandler(C=>this.setTitle(C))),this._parser.registerOscHandler(4,new p.OscHandler(C=>this.setOrReportIndexedColor(C))),this._parser.registerOscHandler(8,new p.OscHandler(C=>this.setHyperlink(C))),this._parser.registerOscHandler(10,new p.OscHandler(C=>this.setOrReportFgColor(C))),this._parser.registerOscHandler(11,new p.OscHandler(C=>this.setOrReportBgColor(C))),this._parser.registerOscHandler(12,new p.OscHandler(C=>this.setOrReportCursorColor(C))),this._parser.registerOscHandler(104,new p.OscHandler(C=>this.restoreIndexedColor(C))),this._parser.registerOscHandler(110,new p.OscHandler(C=>this.restoreFgColor(C))),this._parser.registerOscHandler(111,new p.OscHandler(C=>this.restoreBgColor(C))),this._parser.registerOscHandler(112,new p.OscHandler(C=>this.restoreCursorColor(C))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(const C in d.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:C},()=>this.selectCharset("("+C)),this._parser.registerEscHandler({intermediates:")",final:C},()=>this.selectCharset(")"+C)),this._parser.registerEscHandler({intermediates:"*",final:C},()=>this.selectCharset("*"+C)),this._parser.registerEscHandler({intermediates:"+",final:C},()=>this.selectCharset("+"+C)),this._parser.registerEscHandler({intermediates:"-",final:C},()=>this.selectCharset("-"+C)),this._parser.registerEscHandler({intermediates:".",final:C},()=>this.selectCharset("."+C)),this._parser.registerEscHandler({intermediates:"/",final:C},()=>this.selectCharset("/"+C));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(C=>(this._logService.error("Parsing error: ",C),C)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new l.DcsHandler((C,M)=>this.requestStatusString(C,M)))}_preserveStack(m,b,y,L){this._parseStack.paused=!0,this._parseStack.cursorStartX=m,this._parseStack.cursorStartY=b,this._parseStack.decodedLength=y,this._parseStack.position=L}_logSlowResolvingAsync(m){this._logService.logLevel<=g.LogLevelEnum.WARN&&Promise.race([m,new Promise((b,y)=>setTimeout(()=>y("#SLOW_TIMEOUT"),5e3))]).catch(b=>{if(b!=="#SLOW_TIMEOUT")throw b;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(m,b){let y,L=this._activeBuffer.x,P=this._activeBuffer.y,U=0;const q=this._parseStack.paused;if(q){if(y=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,b))return this._logSlowResolvingAsync(y),y;L=this._parseStack.cursorStartX,P=this._parseStack.cursorStartY,this._parseStack.paused=!1,m.length>k&&(U=this._parseStack.position+k)}if(this._logService.logLevel<=g.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof m=="string"?` "${m}"`:` "${Array.prototype.map.call(m,C=>String.fromCharCode(C)).join("")}"`),typeof m=="string"?m.split("").map(C=>C.charCodeAt(0)):m),this._parseBuffer.lengthk)for(let C=U;C0&&H.getWidth(this._activeBuffer.x-1)===2&&H.setCellFromCodepoint(this._activeBuffer.x-1,0,1,M);let z=this._parser.precedingJoinState;for(let N=b;NK){if(A){const le=H;let V=this._activeBuffer.x-ee;for(this._activeBuffer.x=ee,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),H=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),ee>0&&H instanceof i.BufferLine&&H.copyCellsFrom(le,V,0,ee,!1);V=0;)H.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}else if(C&&(H.insertCells(this._activeBuffer.x,P-ee,this._activeBuffer.getNullCell(M)),H.getWidth(K-1)===2&&H.setCellFromCodepoint(K-1,e.NULL_CELL_CODE,e.NULL_CELL_WIDTH,M)),H.setCellFromCodepoint(this._activeBuffer.x++,L,P,M),P>0)for(;--P;)H.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}this._parser.precedingJoinState=z,this._activeBuffer.x0&&H.getWidth(this._activeBuffer.x)===0&&!H.hasContent(this._activeBuffer.x)&&H.setCellFromCodepoint(this._activeBuffer.x,0,1,M),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(m,b){return m.final!=="t"||m.prefix||m.intermediates?this._parser.registerCsiHandler(m,b):this._parser.registerCsiHandler(m,y=>!x(y.params[0],this._optionsService.rawOptions.windowOptions)||b(y))}registerDcsHandler(m,b){return this._parser.registerDcsHandler(m,new l.DcsHandler(b))}registerEscHandler(m,b){return this._parser.registerEscHandler(m,b)}registerOscHandler(m,b){return this._parser.registerOscHandler(m,new p.OscHandler(b))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);m.hasWidth(this._activeBuffer.x)&&!m.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const m=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-m),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(m=this._bufferService.cols-1){this._activeBuffer.x=Math.min(m,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(m,b){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=m,this._activeBuffer.y=this._activeBuffer.scrollTop+b):(this._activeBuffer.x=m,this._activeBuffer.y=b),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(m,b){this._restrictCursor(),this._setCursor(this._activeBuffer.x+m,this._activeBuffer.y+b)}cursorUp(m){const b=this._activeBuffer.y-this._activeBuffer.scrollTop;return b>=0?this._moveCursor(0,-Math.min(b,m.params[0]||1)):this._moveCursor(0,-(m.params[0]||1)),!0}cursorDown(m){const b=this._activeBuffer.scrollBottom-this._activeBuffer.y;return b>=0?this._moveCursor(0,Math.min(b,m.params[0]||1)):this._moveCursor(0,m.params[0]||1),!0}cursorForward(m){return this._moveCursor(m.params[0]||1,0),!0}cursorBackward(m){return this._moveCursor(-(m.params[0]||1),0),!0}cursorNextLine(m){return this.cursorDown(m),this._activeBuffer.x=0,!0}cursorPrecedingLine(m){return this.cursorUp(m),this._activeBuffer.x=0,!0}cursorCharAbsolute(m){return this._setCursor((m.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(m){return this._setCursor(m.length>=2?(m.params[1]||1)-1:0,(m.params[0]||1)-1),!0}charPosAbsolute(m){return this._setCursor((m.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(m){return this._moveCursor(m.params[0]||1,0),!0}linePosAbsolute(m){return this._setCursor(this._activeBuffer.x,(m.params[0]||1)-1),!0}vPositionRelative(m){return this._moveCursor(0,m.params[0]||1),!0}hVPosition(m){return this.cursorPosition(m),!0}tabClear(m){const b=m.params[0];return b===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:b===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(m){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=m.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(m){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=m.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(m){const b=m.params[0];return b===1&&(this._curAttrData.bg|=536870912),b!==2&&b!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(m,b,y,L=!1,P=!1){const U=this._activeBuffer.lines.get(this._activeBuffer.ybase+m);U.replaceCells(b,y,this._activeBuffer.getNullCell(this._eraseAttrData()),P),L&&(U.isWrapped=!1)}_resetBufferLine(m,b=!1){const y=this._activeBuffer.lines.get(this._activeBuffer.ybase+m);y&&(y.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),b),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+m),y.isWrapped=!1)}eraseInDisplay(m,b=!1){let y;switch(this._restrictCursor(this._bufferService.cols),m.params[0]){case 0:for(y=this._activeBuffer.y,this._dirtyRowTracker.markDirty(y),this._eraseInBufferLine(y++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,b);y=this._bufferService.cols&&(this._activeBuffer.lines.get(y+1).isWrapped=!1);y--;)this._resetBufferLine(y,b);this._dirtyRowTracker.markDirty(0);break;case 2:for(y=this._bufferService.rows,this._dirtyRowTracker.markDirty(y-1);y--;)this._resetBufferLine(y,b);this._dirtyRowTracker.markDirty(0);break;case 3:const L=this._activeBuffer.lines.length-this._bufferService.rows;L>0&&(this._activeBuffer.lines.trimStart(L),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-L,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-L,0),this._onScroll.fire(0))}return!0}eraseInLine(m,b=!1){switch(this._restrictCursor(this._bufferService.cols),m.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,b);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,b);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,b)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(m){this._restrictCursor();let b=m.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let A=K;for(let C=1;C0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(r.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(r.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(m){return m.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(r.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(r.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(m.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(r.C0.ESC+"[>83;40003;0c")),!0}_is(m){return(this._optionsService.rawOptions.termName+"").indexOf(m)===0}setMode(m){for(let b=0;bse?1:2,z=m.params[0];return N=z,J=b?z===2?4:z===4?H(U.modes.insertMode):z===12?3:z===20?H(M.convertEol):0:z===1?H(y.applicationCursorKeys):z===3?M.windowOptions.setWinLines?K===80?2:K===132?1:0:0:z===6?H(y.origin):z===7?H(y.wraparound):z===8?3:z===9?H(L==="X10"):z===12?H(M.cursorBlink):z===25?H(!U.isCursorHidden):z===45?H(y.reverseWraparound):z===66?H(y.applicationKeypad):z===67?4:z===1e3?H(L==="VT200"):z===1002?H(L==="DRAG"):z===1003?H(L==="ANY"):z===1004?H(y.sendFocus):z===1005?4:z===1006?H(P==="SGR"):z===1015?4:z===1016?H(P==="SGR_PIXELS"):z===1048?1:z===47||z===1047||z===1049?H(A===C):z===2004?H(y.bracketedPasteMode):0,U.triggerDataEvent(`${r.C0.ESC}[${b?"":"?"}${N};${J}$y`),!0;var N,J}_updateAttrColor(m,b,y,L,P){return b===2?(m|=50331648,m&=-16777216,m|=a.AttributeData.fromColorRGB([y,L,P])):b===5&&(m&=-50331904,m|=33554432|255&y),m}_extractColor(m,b,y){const L=[0,0,-1,0,0,0];let P=0,U=0;do{if(L[U+P]=m.params[b+U],m.hasSubParams(b+U)){const q=m.getSubParams(b+U);let K=0;do L[1]===5&&(P=1),L[U+K+1+P]=q[K];while(++K=2||L[1]===2&&U+P>=5)break;L[1]&&(P=1)}while(++U+b5)&&(m=1),b.extended.underlineStyle=m,b.fg|=268435456,m===0&&(b.fg&=-268435457),b.updateExtended()}_processSGR0(m){m.fg=i.DEFAULT_ATTR_DATA.fg,m.bg=i.DEFAULT_ATTR_DATA.bg,m.extended=m.extended.clone(),m.extended.underlineStyle=0,m.extended.underlineColor&=-67108864,m.updateExtended()}charAttributes(m){if(m.length===1&&m.params[0]===0)return this._processSGR0(this._curAttrData),!0;const b=m.length;let y;const L=this._curAttrData;for(let P=0;P=30&&y<=37?(L.fg&=-50331904,L.fg|=16777216|y-30):y>=40&&y<=47?(L.bg&=-50331904,L.bg|=16777216|y-40):y>=90&&y<=97?(L.fg&=-50331904,L.fg|=16777224|y-90):y>=100&&y<=107?(L.bg&=-50331904,L.bg|=16777224|y-100):y===0?this._processSGR0(L):y===1?L.fg|=134217728:y===3?L.bg|=67108864:y===4?(L.fg|=268435456,this._processUnderline(m.hasSubParams(P)?m.getSubParams(P)[0]:1,L)):y===5?L.fg|=536870912:y===7?L.fg|=67108864:y===8?L.fg|=1073741824:y===9?L.fg|=2147483648:y===2?L.bg|=134217728:y===21?this._processUnderline(2,L):y===22?(L.fg&=-134217729,L.bg&=-134217729):y===23?L.bg&=-67108865:y===24?(L.fg&=-268435457,this._processUnderline(0,L)):y===25?L.fg&=-536870913:y===27?L.fg&=-67108865:y===28?L.fg&=-1073741825:y===29?L.fg&=2147483647:y===39?(L.fg&=-67108864,L.fg|=16777215&i.DEFAULT_ATTR_DATA.fg):y===49?(L.bg&=-67108864,L.bg|=16777215&i.DEFAULT_ATTR_DATA.bg):y===38||y===48||y===58?P+=this._extractColor(m,P,L):y===53?L.bg|=1073741824:y===55?L.bg&=-1073741825:y===59?(L.extended=L.extended.clone(),L.extended.underlineColor=-1,L.updateExtended()):y===100?(L.fg&=-67108864,L.fg|=16777215&i.DEFAULT_ATTR_DATA.fg,L.bg&=-67108864,L.bg|=16777215&i.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",y);return!0}deviceStatus(m){switch(m.params[0]){case 5:this._coreService.triggerDataEvent(`${r.C0.ESC}[0n`);break;case 6:const b=this._activeBuffer.y+1,y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${r.C0.ESC}[${b};${y}R`)}return!0}deviceStatusPrivate(m){if(m.params[0]===6){const b=this._activeBuffer.y+1,y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${r.C0.ESC}[?${b};${y}R`)}return!0}softReset(m){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(m){const b=m.params[0]||1;switch(b){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const y=b%2==1;return this._optionsService.options.cursorBlink=y,!0}setScrollRegion(m){const b=m.params[0]||1;let y;return(m.length<2||(y=m.params[1])>this._bufferService.rows||y===0)&&(y=this._bufferService.rows),y>b&&(this._activeBuffer.scrollTop=b-1,this._activeBuffer.scrollBottom=y-1,this._setCursor(0,0)),!0}windowOptions(m){if(!x(m.params[0],this._optionsService.rawOptions.windowOptions))return!0;const b=m.length>1?m.params[1]:0;switch(m.params[0]){case 14:b!==2&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${r.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:b!==0&&b!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),b!==0&&b!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:b!==0&&b!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),b!==0&&b!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(m){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(m){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(m){return this._windowTitle=m,this._onTitleChange.fire(m),!0}setIconName(m){return this._iconName=m,!0}setOrReportIndexedColor(m){const b=[],y=m.split(";");for(;y.length>1;){const L=y.shift(),P=y.shift();if(/^\d+$/.exec(L)){const U=parseInt(L);if(j(U))if(P==="?")b.push({type:0,index:U});else{const q=(0,S.parseColor)(P);q&&b.push({type:1,index:U,color:q})}}}return b.length&&this._onColor.fire(b),!0}setHyperlink(m){const b=m.split(";");return!(b.length<2)&&(b[1]?this._createHyperlink(b[0],b[1]):!b[0]&&this._finishHyperlink())}_createHyperlink(m,b){this._getCurrentLinkId()&&this._finishHyperlink();const y=m.split(":");let L;const P=y.findIndex(U=>U.startsWith("id="));return P!==-1&&(L=y[P].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:L,uri:b}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(m,b){const y=m.split(";");for(let L=0;L=this._specialColors.length);++L,++b)if(y[L]==="?")this._onColor.fire([{type:0,index:this._specialColors[b]}]);else{const P=(0,S.parseColor)(y[L]);P&&this._onColor.fire([{type:1,index:this._specialColors[b],color:P}])}return!0}setOrReportFgColor(m){return this._setOrReportSpecialColor(m,0)}setOrReportBgColor(m){return this._setOrReportSpecialColor(m,1)}setOrReportCursorColor(m){return this._setOrReportSpecialColor(m,2)}restoreIndexedColor(m){if(!m)return this._onColor.fire([{type:2}]),!0;const b=[],y=m.split(";");for(let L=0;L=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const m=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,m,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=i.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(m){return this._charsetService.setgLevel(m),!0}screenAlignmentPattern(){const m=new t.CellData;m.content=4194373,m.fg=this._curAttrData.fg,m.bg=this._curAttrData.bg,this._setCursor(0,0);for(let b=0;b(this._coreService.triggerDataEvent(`${r.C0.ESC}${P}${r.C0.ESC}\\`),!0))(m==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:m==='"p'?'P1$r61;1"p':m==="r"?`P1$r${y.scrollTop+1};${y.scrollBottom+1}r`:m==="m"?"P1$r0m":m===" q"?`P1$r${{block:2,underline:4,bar:6}[L.cursorStyle]-(L.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(m,b){this._dirtyRowTracker.markRangeDirty(m,b)}}n.InputHandler=I;let $=class{constructor(W){this._bufferService=W,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(W){Wthis.end&&(this.end=W)}markRangeDirty(W,m){W>m&&(B=W,W=m,m=B),Wthis.end&&(this.end=m)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function j(W){return 0<=W&&W<256}$=c([_(0,g.IBufferService)],$)},844:(O,n)=>{function o(c){for(const _ of c)_.dispose();c.length=0}Object.defineProperty(n,"__esModule",{value:!0}),n.getDisposeArrayDisposable=n.disposeArray=n.toDisposable=n.MutableDisposable=n.Disposable=void 0,n.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const c of this._disposables)c.dispose();this._disposables.length=0}register(c){return this._disposables.push(c),c}unregister(c){const _=this._disposables.indexOf(c);_!==-1&&this._disposables.splice(_,1)}},n.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(c){this._isDisposed||c===this._value||(this._value?.dispose(),this._value=c)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},n.toDisposable=function(c){return{dispose:c}},n.disposeArray=o,n.getDisposeArrayDisposable=function(c){return{dispose:()=>o(c)}}},1505:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.FourKeyMap=n.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(_,r,d){this._data[_]||(this._data[_]={}),this._data[_][r]=d}get(_,r){return this._data[_]?this._data[_][r]:void 0}clear(){this._data={}}}n.TwoKeyMap=o,n.FourKeyMap=class{constructor(){this._data=new o}set(c,_,r,d,f){this._data.get(c,_)||this._data.set(c,_,new o),this._data.get(c,_).set(r,d,f)}get(c,_,r,d){return this._data.get(c,_)?.get(r,d)}clear(){this._data.clear()}}},6114:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isChromeOS=n.isLinux=n.isWindows=n.isIphone=n.isIpad=n.isMac=n.getSafariVersion=n.isSafari=n.isLegacyEdge=n.isFirefox=n.isNode=void 0,n.isNode=typeof process<"u"&&"title"in process;const o=n.isNode?"node":navigator.userAgent,c=n.isNode?"node":navigator.platform;n.isFirefox=o.includes("Firefox"),n.isLegacyEdge=o.includes("Edge"),n.isSafari=/^((?!chrome|android).)*safari/i.test(o),n.getSafariVersion=function(){if(!n.isSafari)return 0;const _=o.match(/Version\/(\d+)/);return _===null||_.length<2?0:parseInt(_[1])},n.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(c),n.isIpad=c==="iPad",n.isIphone=c==="iPhone",n.isWindows=["Windows","Win16","Win32","WinCE"].includes(c),n.isLinux=c.indexOf("Linux")>=0,n.isChromeOS=/\bCrOS\b/.test(o)},6106:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SortedList=void 0;let o=0;n.SortedList=class{constructor(c){this._getKey=c,this._array=[]}clear(){this._array.length=0}insert(c){this._array.length!==0?(o=this._search(this._getKey(c)),this._array.splice(o,0,c)):this._array.push(c)}delete(c){if(this._array.length===0)return!1;const _=this._getKey(c);if(_===void 0||(o=this._search(_),o===-1)||this._getKey(this._array[o])!==_)return!1;do if(this._array[o]===c)return this._array.splice(o,1),!0;while(++o=this._array.length)&&this._getKey(this._array[o])===c))do yield this._array[o];while(++o=this._array.length)&&this._getKey(this._array[o])===c))do _(this._array[o]);while(++o=_;){let d=_+r>>1;const f=this._getKey(this._array[d]);if(f>c)r=d-1;else{if(!(f0&&this._getKey(this._array[d-1])===c;)d--;return d}_=d+1}}return _}}},7226:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DebouncedIdleTask=n.IdleTaskQueue=n.PriorityTaskQueue=void 0;const c=o(6114);class _{constructor(){this._tasks=[],this._i=0}enqueue(f){this._tasks.push(f),this._start()}flush(){for(;this._is)return i-u<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-u))}ms`),void this._start();i=s}this.clear()}}class r extends _{_requestCallback(f){return setTimeout(()=>f(this._createDeadline(16)))}_cancelCallback(f){clearTimeout(f)}_createDeadline(f){const u=Date.now()+f;return{timeRemaining:()=>Math.max(0,u-Date.now())}}}n.PriorityTaskQueue=r,n.IdleTaskQueue=!c.isNode&&"requestIdleCallback"in window?class extends _{_requestCallback(d){return requestIdleCallback(d)}_cancelCallback(d){cancelIdleCallback(d)}}:r,n.DebouncedIdleTask=class{constructor(){this._queue=new n.IdleTaskQueue}set(d){this._queue.clear(),this._queue.enqueue(d)}flush(){this._queue.flush()}}},9282:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updateWindowsModeWrappedState=void 0;const c=o(643);n.updateWindowsModeWrappedState=function(_){const r=_.buffer.lines.get(_.buffer.ybase+_.buffer.y-1),d=r?.get(_.cols-1),f=_.buffer.lines.get(_.buffer.ybase+_.buffer.y);f&&d&&(f.isWrapped=d[c.CHAR_DATA_CODE_INDEX]!==c.NULL_CELL_CODE&&d[c.CHAR_DATA_CODE_INDEX]!==c.WHITESPACE_CELL_CODE)}},3734:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExtendedAttrs=n.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new c}static toColorRGB(r){return[r>>>16&255,r>>>8&255,255&r]}static fromColorRGB(r){return(255&r[0])<<16|(255&r[1])<<8|255&r[2]}clone(){const r=new o;return r.fg=this.fg,r.bg=this.bg,r.extended=this.extended.clone(),r}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}n.AttributeData=o;class c{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(r){this._ext=r}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(r){this._ext&=-469762049,this._ext|=r<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(r){this._ext&=-67108864,this._ext|=67108863&r}get urlId(){return this._urlId}set urlId(r){this._urlId=r}get underlineVariantOffset(){const r=(3758096384&this._ext)>>29;return r<0?4294967288^r:r}set underlineVariantOffset(r){this._ext&=536870911,this._ext|=r<<29&3758096384}constructor(r=0,d=0){this._ext=0,this._urlId=0,this._ext=r,this._urlId=d}clone(){return new c(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}n.ExtendedAttrs=c},9092:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Buffer=n.MAX_BUFFER_SIZE=void 0;const c=o(6349),_=o(7226),r=o(3734),d=o(8437),f=o(4634),u=o(511),h=o(643),i=o(4863),s=o(7116);n.MAX_BUFFER_SIZE=4294967295,n.Buffer=class{constructor(e,t,a){this._hasScrollback=e,this._optionsService=t,this._bufferService=a,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=d.DEFAULT_ATTR_DATA.clone(),this.savedCharset=s.DEFAULT_CHARSET,this.markers=[],this._nullCell=u.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]),this._whitespaceCell=u.CellData.fromCharData([0,h.WHITESPACE_CELL_CHAR,h.WHITESPACE_CELL_WIDTH,h.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new _.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new c.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new r.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new r.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new d.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&en.MAX_BUFFER_SIZE?n.MAX_BUFFER_SIZE:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=d.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new c.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const a=this.getNullCell(d.DEFAULT_ATTR_DATA);let g=0;const v=this._getCorrectBufferLength(t);if(v>this.lines.maxLength&&(this.lines.maxLength=v),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+p+1?(this.ybase--,p++,this.ydisp>0&&this.ydisp--):this.lines.push(new d.BufferLine(e,a)));else for(let l=this._rows;l>t;l--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(v0&&(this.lines.trimStart(l),this.ybase=Math.max(this.ybase-l,0),this.ydisp=Math.max(this.ydisp-l,0),this.savedY=Math.max(this.savedY-l,0)),this.lines.maxLength=v}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),p&&(this.y+=p),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let p=0;p.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const a=(0,f.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(d.DEFAULT_ATTR_DATA));if(a.length>0){const g=(0,f.reflowLargerCreateNewLayout)(this.lines,a);(0,f.reflowLargerApplyNewLayout)(this.lines,g.layout),this._reflowLargerAdjustViewport(e,t,g.countRemoved)}}_reflowLargerAdjustViewport(e,t,a){const g=this.getNullCell(d.DEFAULT_ATTR_DATA);let v=a;for(;v-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;p--){let l=this.lines.get(p);if(!l||!l.isWrapped&&l.getTrimmedLength()<=e)continue;const S=[l];for(;l.isWrapped&&p>0;)l=this.lines.get(--p),S.unshift(l);const E=this.ybase+this.y;if(E>=p&&E0&&(g.push({start:p+S.length+v,newLines:I}),v+=I.length),S.push(...I);let $=x.length-1,j=x[$];j===0&&($--,j=x[$]);let W=S.length-w-1,m=k;for(;W>=0;){const y=Math.min(m,j);if(S[$]===void 0)break;if(S[$].copyCellsFrom(S[W],m-y,j-y,y,!0),j-=y,j===0&&($--,j=x[$]),m-=y,m===0){W--;const L=Math.max(W,0);m=(0,f.getWrappedLineTrimmedLength)(S,L,this._cols)}}for(let y=0;y0;)this.ybase===0?this.y0){const p=[],l=[];for(let $=0;$=0;$--)if(x&&x.start>E+w){for(let j=x.newLines.length-1;j>=0;j--)this.lines.set($--,x.newLines[j]);$++,p.push({index:E+1,amount:x.newLines.length}),w+=x.newLines.length,x=g[++k]}else this.lines.set($,l[E--]);let B=0;for(let $=p.length-1;$>=0;$--)p[$].index+=B,this.lines.onInsertEmitter.fire(p[$]),B+=p[$].amount;const I=Math.max(0,S+v-this.lines.maxLength);I>0&&this.lines.onTrimEmitter.fire(I)}}translateBufferLineToString(e,t,a=0,g){const v=this.lines.get(e);return v?v.translateToString(t,a,g):""}getWrappedRangeForLine(e){let t=e,a=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;a+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=a,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(a=>{t.line>=a.index&&(t.line+=a.amount)})),t.register(this.lines.onDelete(a=>{t.line>=a.index&&t.linea.index&&(t.line-=a.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},8437:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferLine=n.DEFAULT_ATTR_DATA=void 0;const c=o(3734),_=o(511),r=o(643),d=o(482);n.DEFAULT_ATTR_DATA=Object.freeze(new c.AttributeData);let f=0;class u{constructor(i,s,e=!1){this.isWrapped=e,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*i);const t=s||_.CellData.fromCharData([0,r.NULL_CELL_CHAR,r.NULL_CELL_WIDTH,r.NULL_CELL_CODE]);for(let a=0;a>22,2097152&s?this._combined[i].charCodeAt(this._combined[i].length-1):e]}set(i,s){this._data[3*i+1]=s[r.CHAR_DATA_ATTR_INDEX],s[r.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[i]=s[1],this._data[3*i+0]=2097152|i|s[r.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*i+0]=s[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|s[r.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(i){return this._data[3*i+0]>>22}hasWidth(i){return 12582912&this._data[3*i+0]}getFg(i){return this._data[3*i+1]}getBg(i){return this._data[3*i+2]}hasContent(i){return 4194303&this._data[3*i+0]}getCodePoint(i){const s=this._data[3*i+0];return 2097152&s?this._combined[i].charCodeAt(this._combined[i].length-1):2097151&s}isCombined(i){return 2097152&this._data[3*i+0]}getString(i){const s=this._data[3*i+0];return 2097152&s?this._combined[i]:2097151&s?(0,d.stringFromCodePoint)(2097151&s):""}isProtected(i){return 536870912&this._data[3*i+2]}loadCell(i,s){return f=3*i,s.content=this._data[f+0],s.fg=this._data[f+1],s.bg=this._data[f+2],2097152&s.content&&(s.combinedData=this._combined[i]),268435456&s.bg&&(s.extended=this._extendedAttrs[i]),s}setCell(i,s){2097152&s.content&&(this._combined[i]=s.combinedData),268435456&s.bg&&(this._extendedAttrs[i]=s.extended),this._data[3*i+0]=s.content,this._data[3*i+1]=s.fg,this._data[3*i+2]=s.bg}setCellFromCodepoint(i,s,e,t){268435456&t.bg&&(this._extendedAttrs[i]=t.extended),this._data[3*i+0]=s|e<<22,this._data[3*i+1]=t.fg,this._data[3*i+2]=t.bg}addCodepointToCell(i,s,e){let t=this._data[3*i+0];2097152&t?this._combined[i]+=(0,d.stringFromCodePoint)(s):2097151&t?(this._combined[i]=(0,d.stringFromCodePoint)(2097151&t)+(0,d.stringFromCodePoint)(s),t&=-2097152,t|=2097152):t=s|4194304,e&&(t&=-12582913,t|=e<<22),this._data[3*i+0]=t}insertCells(i,s,e){if((i%=this.length)&&this.getWidth(i-1)===2&&this.setCellFromCodepoint(i-1,0,1,e),s=0;--a)this.setCell(i+s+a,this.loadCell(i+a,t));for(let a=0;athis.length){if(this._data.buffer.byteLength>=4*e)this._data=new Uint32Array(this._data.buffer,0,e);else{const t=new Uint32Array(e);t.set(this._data),this._data=t}for(let t=this.length;t=i&&delete this._combined[v]}const a=Object.keys(this._extendedAttrs);for(let g=0;g=i&&delete this._extendedAttrs[v]}}return this.length=i,4*e*2=0;--i)if(4194303&this._data[3*i+0])return i+(this._data[3*i+0]>>22);return 0}getNoBgTrimmedLength(){for(let i=this.length-1;i>=0;--i)if(4194303&this._data[3*i+0]||50331648&this._data[3*i+2])return i+(this._data[3*i+0]>>22);return 0}copyCellsFrom(i,s,e,t,a){const g=i._data;if(a)for(let p=t-1;p>=0;p--){for(let l=0;l<3;l++)this._data[3*(e+p)+l]=g[3*(s+p)+l];268435456&g[3*(s+p)+2]&&(this._extendedAttrs[e+p]=i._extendedAttrs[s+p])}else for(let p=0;p=s&&(this._combined[l-s+e]=i._combined[l])}}translateToString(i,s,e,t){s=s??0,e=e??this.length,i&&(e=Math.min(e,this.getTrimmedLength())),t&&(t.length=0);let a="";for(;s>22||1}return t&&t.push(s),a}}n.BufferLine=u},4841:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getRangeLength=void 0,n.getRangeLength=function(o,c){if(o.start.y>o.end.y)throw new Error(`Buffer range end (${o.end.x}, ${o.end.y}) cannot be before start (${o.start.x}, ${o.start.y})`);return c*(o.end.y-o.start.y)+(o.end.x-o.start.x+1)}},4634:(O,n)=>{function o(c,_,r){if(_===c.length-1)return c[_].getTrimmedLength();const d=!c[_].hasContent(r-1)&&c[_].getWidth(r-1)===1,f=c[_+1].getWidth(0)===2;return d&&f?r-1:r}Object.defineProperty(n,"__esModule",{value:!0}),n.getWrappedLineTrimmedLength=n.reflowSmallerGetNewLineLengths=n.reflowLargerApplyNewLayout=n.reflowLargerCreateNewLayout=n.reflowLargerGetLinesToRemove=void 0,n.reflowLargerGetLinesToRemove=function(c,_,r,d,f){const u=[];for(let h=0;h=h&&d0&&(l>t||e[l].getTrimmedLength()===0);l--)p++;p>0&&(u.push(h+e.length-p),u.push(p)),h+=e.length-1}return u},n.reflowLargerCreateNewLayout=function(c,_){const r=[];let d=0,f=_[d],u=0;for(let h=0;ho(c,e,_)).reduce((s,e)=>s+e);let u=0,h=0,i=0;for(;is&&(u-=s,h++);const e=c[h].getWidth(u-1)===2;e&&u--;const t=e?r-1:r;d.push(t),i+=t}return d},n.getWrappedLineTrimmedLength=o},5295:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferSet=void 0;const c=o(8460),_=o(844),r=o(9092);class d extends _.Disposable{constructor(u,h){super(),this._optionsService=u,this._bufferService=h,this._onBufferActivate=this.register(new c.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new r.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new r.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(u){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(u),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(u,h){this._normal.resize(u,h),this._alt.resize(u,h),this.setupTabStops(u)}setupTabStops(u){this._normal.setupTabStops(u),this._alt.setupTabStops(u)}}n.BufferSet=d},511:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CellData=void 0;const c=o(482),_=o(643),r=o(3734);class d extends r.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new r.ExtendedAttrs,this.combinedData=""}static fromCharData(u){const h=new d;return h.setFromCharData(u),h}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,c.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(u){this.fg=u[_.CHAR_DATA_ATTR_INDEX],this.bg=0;let h=!1;if(u[_.CHAR_DATA_CHAR_INDEX].length>2)h=!0;else if(u[_.CHAR_DATA_CHAR_INDEX].length===2){const i=u[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=u[_.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|u[_.CHAR_DATA_WIDTH_INDEX]<<22:h=!0}else h=!0}else this.content=u[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|u[_.CHAR_DATA_WIDTH_INDEX]<<22;h&&(this.combinedData=u[_.CHAR_DATA_CHAR_INDEX],this.content=2097152|u[_.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.CellData=d},643:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WHITESPACE_CELL_CODE=n.WHITESPACE_CELL_WIDTH=n.WHITESPACE_CELL_CHAR=n.NULL_CELL_CODE=n.NULL_CELL_WIDTH=n.NULL_CELL_CHAR=n.CHAR_DATA_CODE_INDEX=n.CHAR_DATA_WIDTH_INDEX=n.CHAR_DATA_CHAR_INDEX=n.CHAR_DATA_ATTR_INDEX=n.DEFAULT_EXT=n.DEFAULT_ATTR=n.DEFAULT_COLOR=void 0,n.DEFAULT_COLOR=0,n.DEFAULT_ATTR=256|n.DEFAULT_COLOR<<9,n.DEFAULT_EXT=0,n.CHAR_DATA_ATTR_INDEX=0,n.CHAR_DATA_CHAR_INDEX=1,n.CHAR_DATA_WIDTH_INDEX=2,n.CHAR_DATA_CODE_INDEX=3,n.NULL_CELL_CHAR="",n.NULL_CELL_WIDTH=1,n.NULL_CELL_CODE=0,n.WHITESPACE_CELL_CHAR=" ",n.WHITESPACE_CELL_WIDTH=1,n.WHITESPACE_CELL_CODE=32},4863:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Marker=void 0;const c=o(8460),_=o(844);class r{get id(){return this._id}constructor(f){this.line=f,this.isDisposed=!1,this._disposables=[],this._id=r._nextId++,this._onDispose=this.register(new c.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,_.disposeArray)(this._disposables),this._disposables.length=0)}register(f){return this._disposables.push(f),f}}n.Marker=r,r._nextId=1},7116:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DEFAULT_CHARSET=n.CHARSETS=void 0,n.CHARSETS={},n.DEFAULT_CHARSET=n.CHARSETS.B,n.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},n.CHARSETS.A={"#":"£"},n.CHARSETS.B=void 0,n.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},n.CHARSETS.C=n.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},n.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},n.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},n.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},n.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},n.CHARSETS.E=n.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},n.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},n.CHARSETS.H=n.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},n.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(O,n)=>{var o,c,_;Object.defineProperty(n,"__esModule",{value:!0}),n.C1_ESCAPED=n.C1=n.C0=void 0,function(r){r.NUL="\0",r.SOH="",r.STX="",r.ETX="",r.EOT="",r.ENQ="",r.ACK="",r.BEL="\x07",r.BS="\b",r.HT=" ",r.LF=` +`,r.VT="\v",r.FF="\f",r.CR="\r",r.SO="",r.SI="",r.DLE="",r.DC1="",r.DC2="",r.DC3="",r.DC4="",r.NAK="",r.SYN="",r.ETB="",r.CAN="",r.EM="",r.SUB="",r.ESC="\x1B",r.FS="",r.GS="",r.RS="",r.US="",r.SP=" ",r.DEL=""}(o||(n.C0=o={})),function(r){r.PAD="€",r.HOP="",r.BPH="‚",r.NBH="ƒ",r.IND="„",r.NEL="…",r.SSA="†",r.ESA="‡",r.HTS="ˆ",r.HTJ="‰",r.VTS="Š",r.PLD="‹",r.PLU="Œ",r.RI="",r.SS2="Ž",r.SS3="",r.DCS="",r.PU1="‘",r.PU2="’",r.STS="“",r.CCH="”",r.MW="•",r.SPA="–",r.EPA="—",r.SOS="˜",r.SGCI="™",r.SCI="š",r.CSI="›",r.ST="œ",r.OSC="",r.PM="ž",r.APC="Ÿ"}(c||(n.C1=c={})),function(r){r.ST=`${o.ESC}\\`}(_||(n.C1_ESCAPED=_={}))},7399:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.evaluateKeyboardEvent=void 0;const c=o(2584),_={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};n.evaluateKeyboardEvent=function(r,d,f,u){const h={type:0,cancel:!1,key:void 0},i=(r.shiftKey?1:0)|(r.altKey?2:0)|(r.ctrlKey?4:0)|(r.metaKey?8:0);switch(r.keyCode){case 0:r.key==="UIKeyInputUpArrow"?h.key=d?c.C0.ESC+"OA":c.C0.ESC+"[A":r.key==="UIKeyInputLeftArrow"?h.key=d?c.C0.ESC+"OD":c.C0.ESC+"[D":r.key==="UIKeyInputRightArrow"?h.key=d?c.C0.ESC+"OC":c.C0.ESC+"[C":r.key==="UIKeyInputDownArrow"&&(h.key=d?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:h.key=r.ctrlKey?"\b":c.C0.DEL,r.altKey&&(h.key=c.C0.ESC+h.key);break;case 9:if(r.shiftKey){h.key=c.C0.ESC+"[Z";break}h.key=c.C0.HT,h.cancel=!0;break;case 13:h.key=r.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,h.cancel=!0;break;case 27:h.key=c.C0.ESC,r.altKey&&(h.key=c.C0.ESC+c.C0.ESC),h.cancel=!0;break;case 37:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"D",h.key===c.C0.ESC+"[1;3D"&&(h.key=c.C0.ESC+(f?"b":"[1;5D"))):h.key=d?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"C",h.key===c.C0.ESC+"[1;3C"&&(h.key=c.C0.ESC+(f?"f":"[1;5C"))):h.key=d?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"A",f||h.key!==c.C0.ESC+"[1;3A"||(h.key=c.C0.ESC+"[1;5A")):h.key=d?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(r.metaKey)break;i?(h.key=c.C0.ESC+"[1;"+(i+1)+"B",f||h.key!==c.C0.ESC+"[1;3B"||(h.key=c.C0.ESC+"[1;5B")):h.key=d?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:r.shiftKey||r.ctrlKey||(h.key=c.C0.ESC+"[2~");break;case 46:h.key=i?c.C0.ESC+"[3;"+(i+1)+"~":c.C0.ESC+"[3~";break;case 36:h.key=i?c.C0.ESC+"[1;"+(i+1)+"H":d?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:h.key=i?c.C0.ESC+"[1;"+(i+1)+"F":d?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:r.shiftKey?h.type=2:r.ctrlKey?h.key=c.C0.ESC+"[5;"+(i+1)+"~":h.key=c.C0.ESC+"[5~";break;case 34:r.shiftKey?h.type=3:r.ctrlKey?h.key=c.C0.ESC+"[6;"+(i+1)+"~":h.key=c.C0.ESC+"[6~";break;case 112:h.key=i?c.C0.ESC+"[1;"+(i+1)+"P":c.C0.ESC+"OP";break;case 113:h.key=i?c.C0.ESC+"[1;"+(i+1)+"Q":c.C0.ESC+"OQ";break;case 114:h.key=i?c.C0.ESC+"[1;"+(i+1)+"R":c.C0.ESC+"OR";break;case 115:h.key=i?c.C0.ESC+"[1;"+(i+1)+"S":c.C0.ESC+"OS";break;case 116:h.key=i?c.C0.ESC+"[15;"+(i+1)+"~":c.C0.ESC+"[15~";break;case 117:h.key=i?c.C0.ESC+"[17;"+(i+1)+"~":c.C0.ESC+"[17~";break;case 118:h.key=i?c.C0.ESC+"[18;"+(i+1)+"~":c.C0.ESC+"[18~";break;case 119:h.key=i?c.C0.ESC+"[19;"+(i+1)+"~":c.C0.ESC+"[19~";break;case 120:h.key=i?c.C0.ESC+"[20;"+(i+1)+"~":c.C0.ESC+"[20~";break;case 121:h.key=i?c.C0.ESC+"[21;"+(i+1)+"~":c.C0.ESC+"[21~";break;case 122:h.key=i?c.C0.ESC+"[23;"+(i+1)+"~":c.C0.ESC+"[23~";break;case 123:h.key=i?c.C0.ESC+"[24;"+(i+1)+"~":c.C0.ESC+"[24~";break;default:if(!r.ctrlKey||r.shiftKey||r.altKey||r.metaKey)if(f&&!u||!r.altKey||r.metaKey)!f||r.altKey||r.ctrlKey||r.shiftKey||!r.metaKey?r.key&&!r.ctrlKey&&!r.altKey&&!r.metaKey&&r.keyCode>=48&&r.key.length===1?h.key=r.key:r.key&&r.ctrlKey&&(r.key==="_"&&(h.key=c.C0.US),r.key==="@"&&(h.key=c.C0.NUL)):r.keyCode===65&&(h.type=1);else{const s=_[r.keyCode],e=s?.[r.shiftKey?1:0];if(e)h.key=c.C0.ESC+e;else if(r.keyCode>=65&&r.keyCode<=90){const t=r.ctrlKey?r.keyCode-64:r.keyCode+32;let a=String.fromCharCode(t);r.shiftKey&&(a=a.toUpperCase()),h.key=c.C0.ESC+a}else if(r.keyCode===32)h.key=c.C0.ESC+(r.ctrlKey?c.C0.NUL:" ");else if(r.key==="Dead"&&r.code.startsWith("Key")){let t=r.code.slice(3,4);r.shiftKey||(t=t.toLowerCase()),h.key=c.C0.ESC+t,h.cancel=!0}}else r.keyCode>=65&&r.keyCode<=90?h.key=String.fromCharCode(r.keyCode-64):r.keyCode===32?h.key=c.C0.NUL:r.keyCode>=51&&r.keyCode<=55?h.key=String.fromCharCode(r.keyCode-51+27):r.keyCode===56?h.key=c.C0.DEL:r.keyCode===219?h.key=c.C0.ESC:r.keyCode===220?h.key=c.C0.FS:r.keyCode===221&&(h.key=c.C0.GS)}return h}},482:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Utf8ToUtf32=n.StringToUtf32=n.utf32ToString=n.stringFromCodePoint=void 0,n.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},n.utf32ToString=function(o,c=0,_=o.length){let r="";for(let d=c;d<_;++d){let f=o[d];f>65535?(f-=65536,r+=String.fromCharCode(55296+(f>>10))+String.fromCharCode(f%1024+56320)):r+=String.fromCharCode(f)}return r},n.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,c){const _=o.length;if(!_)return 0;let r=0,d=0;if(this._interim){const f=o.charCodeAt(d++);56320<=f&&f<=57343?c[r++]=1024*(this._interim-55296)+f-56320+65536:(c[r++]=this._interim,c[r++]=f),this._interim=0}for(let f=d;f<_;++f){const u=o.charCodeAt(f);if(55296<=u&&u<=56319){if(++f>=_)return this._interim=u,r;const h=o.charCodeAt(f);56320<=h&&h<=57343?c[r++]=1024*(u-55296)+h-56320+65536:(c[r++]=u,c[r++]=h)}else u!==65279&&(c[r++]=u)}return r}},n.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,c){const _=o.length;if(!_)return 0;let r,d,f,u,h=0,i=0,s=0;if(this.interim[0]){let a=!1,g=this.interim[0];g&=(224&g)==192?31:(240&g)==224?15:7;let v,p=0;for(;(v=63&this.interim[++p])&&p<4;)g<<=6,g|=v;const l=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,S=l-p;for(;s=_)return 0;if(v=o[s++],(192&v)!=128){s--,a=!0;break}this.interim[p++]=v,g<<=6,g|=63&v}a||(l===2?g<128?s--:c[h++]=g:l===3?g<2048||g>=55296&&g<=57343||g===65279||(c[h++]=g):g<65536||g>1114111||(c[h++]=g)),this.interim.fill(0)}const e=_-4;let t=s;for(;t<_;){for(;!(!(t=_)return this.interim[0]=r,h;if(d=o[t++],(192&d)!=128){t--;continue}if(i=(31&r)<<6|63&d,i<128){t--;continue}c[h++]=i}else if((240&r)==224){if(t>=_)return this.interim[0]=r,h;if(d=o[t++],(192&d)!=128){t--;continue}if(t>=_)return this.interim[0]=r,this.interim[1]=d,h;if(f=o[t++],(192&f)!=128){t--;continue}if(i=(15&r)<<12|(63&d)<<6|63&f,i<2048||i>=55296&&i<=57343||i===65279)continue;c[h++]=i}else if((248&r)==240){if(t>=_)return this.interim[0]=r,h;if(d=o[t++],(192&d)!=128){t--;continue}if(t>=_)return this.interim[0]=r,this.interim[1]=d,h;if(f=o[t++],(192&f)!=128){t--;continue}if(t>=_)return this.interim[0]=r,this.interim[1]=d,this.interim[2]=f,h;if(u=o[t++],(192&u)!=128){t--;continue}if(i=(7&r)<<18|(63&d)<<12|(63&f)<<6|63&u,i<65536||i>1114111)continue;c[h++]=i}}return h}}},225:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeV6=void 0;const c=o(1480),_=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],r=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let d;n.UnicodeV6=class{constructor(){if(this.version="6",!d){d=new Uint8Array(65536),d.fill(1),d[0]=0,d.fill(0,1,32),d.fill(0,127,160),d.fill(2,4352,4448),d[9001]=2,d[9002]=2,d.fill(2,11904,42192),d[12351]=1,d.fill(2,44032,55204),d.fill(2,63744,64256),d.fill(2,65040,65050),d.fill(2,65072,65136),d.fill(2,65280,65377),d.fill(2,65504,65511);for(let f=0;f<_.length;++f)d.fill(0,_[f][0],_[f][1]+1)}}wcwidth(f){return f<32?0:f<127?1:f<65536?d[f]:function(u,h){let i,s=0,e=h.length-1;if(uh[e][1])return!1;for(;e>=s;)if(i=s+e>>1,u>h[i][1])s=i+1;else{if(!(u=131072&&f<=196605||f>=196608&&f<=262141?2:1}charProperties(f,u){let h=this.wcwidth(f),i=h===0&&u!==0;if(i){const s=c.UnicodeService.extractWidth(u);s===0?i=!1:s>h&&(h=s)}return c.UnicodeService.createPropertyValue(0,h,i)}}},5981:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WriteBuffer=void 0;const c=o(8460),_=o(844);class r extends _.Disposable{constructor(f){super(),this._action=f,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new c.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(f,u){if(u!==void 0&&this._syncCalls>u)return void(this._syncCalls=0);if(this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let h;for(this._isSyncWriting=!0;h=this._writeBuffer.shift();){this._action(h);const i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(f,u){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(u),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(u)}_innerWrite(f=0,u=!0){const h=f||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const i=this._writeBuffer[this._bufferOffset],s=this._action(i,u);if(s){const t=a=>Date.now()-h>=12?setTimeout(()=>this._innerWrite(0,a)):this._innerWrite(h,a);return void s.catch(a=>(queueMicrotask(()=>{throw a}),Promise.resolve(!1))).then(t)}const e=this._callbacks[this._bufferOffset];if(e&&e(),this._bufferOffset++,this._pendingData-=i.length,Date.now()-h>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}n.WriteBuffer=r},5941:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.toRgbString=n.parseColor=void 0;const o=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,c=/^[\da-f]+$/;function _(r,d){const f=r.toString(16),u=f.length<2?"0"+f:f;switch(d){case 4:return f[0];case 8:return u;case 12:return(u+u).slice(0,3);default:return u+u}}n.parseColor=function(r){if(!r)return;let d=r.toLowerCase();if(d.indexOf("rgb:")===0){d=d.slice(4);const f=o.exec(d);if(f){const u=f[1]?15:f[4]?255:f[7]?4095:65535;return[Math.round(parseInt(f[1]||f[4]||f[7]||f[10],16)/u*255),Math.round(parseInt(f[2]||f[5]||f[8]||f[11],16)/u*255),Math.round(parseInt(f[3]||f[6]||f[9]||f[12],16)/u*255)]}}else if(d.indexOf("#")===0&&(d=d.slice(1),c.exec(d)&&[3,6,9,12].includes(d.length))){const f=d.length/3,u=[0,0,0];for(let h=0;h<3;++h){const i=parseInt(d.slice(f*h,f*h+f),16);u[h]=f===1?i<<4:f===2?i:f===3?i>>4:i>>8}return u}},n.toRgbString=function(r,d=16){const[f,u,h]=r;return`rgb:${_(f,d)}/${_(u,d)}/${_(h,d)}`}},5770:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.PAYLOAD_LIMIT=void 0,n.PAYLOAD_LIMIT=1e7},6351:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DcsHandler=n.DcsParser=void 0;const c=o(482),_=o(8742),r=o(5770),d=[];n.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=d,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=d}registerHandler(u,h){this._handlers[u]===void 0&&(this._handlers[u]=[]);const i=this._handlers[u];return i.push(h),{dispose:()=>{const s=i.indexOf(h);s!==-1&&i.splice(s,1)}}}clearHandler(u){this._handlers[u]&&delete this._handlers[u]}setHandlerFallback(u){this._handlerFb=u}reset(){if(this._active.length)for(let u=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;u>=0;--u)this._active[u].unhook(!1);this._stack.paused=!1,this._active=d,this._ident=0}hook(u,h){if(this.reset(),this._ident=u,this._active=this._handlers[u]||d,this._active.length)for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(h);else this._handlerFb(this._ident,"HOOK",h)}put(u,h,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(u,h,i);else this._handlerFb(this._ident,"PUT",(0,c.utf32ToString)(u,h,i))}unhook(u,h=!0){if(this._active.length){let i=!1,s=this._active.length-1,e=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=h,e=this._stack.fallThrough,this._stack.paused=!1),!e&&i===!1){for(;s>=0&&(i=this._active[s].unhook(u),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,"UNHOOK",u);this._active=d,this._ident=0}};const f=new _.Params;f.addParam(0),n.DcsHandler=class{constructor(u){this._handler=u,this._data="",this._params=f,this._hitLimit=!1}hook(u){this._params=u.length>1||u.params[0]?u.clone():f,this._data="",this._hitLimit=!1}put(u,h,i){this._hitLimit||(this._data+=(0,c.utf32ToString)(u,h,i),this._data.length>r.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(u){let h=!1;if(this._hitLimit)h=!1;else if(u&&(h=this._handler(this._data,this._params),h instanceof Promise))return h.then(i=>(this._params=f,this._data="",this._hitLimit=!1,i));return this._params=f,this._data="",this._hitLimit=!1,h}}},2015:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.EscapeSequenceParser=n.VT500_TRANSITION_TABLE=n.TransitionTable=void 0;const c=o(844),_=o(8742),r=o(6242),d=o(6351);class f{constructor(s){this.table=new Uint8Array(s)}setDefault(s,e){this.table.fill(s<<4|e)}add(s,e,t,a){this.table[e<<8|s]=t<<4|a}addMany(s,e,t,a){for(let g=0;gl),e=(p,l)=>s.slice(p,l),t=e(32,127),a=e(0,24);a.push(25),a.push.apply(a,e(28,32));const g=e(0,14);let v;for(v in i.setDefault(1,0),i.addMany(t,0,2,0),g)i.addMany([24,26,153,154],v,3,0),i.addMany(e(128,144),v,3,0),i.addMany(e(144,152),v,3,0),i.add(156,v,0,0),i.add(27,v,11,1),i.add(157,v,4,8),i.addMany([152,158,159],v,0,7),i.add(155,v,11,3),i.add(144,v,11,9);return i.addMany(a,0,3,0),i.addMany(a,1,3,1),i.add(127,1,0,1),i.addMany(a,8,0,8),i.addMany(a,3,3,3),i.add(127,3,0,3),i.addMany(a,4,3,4),i.add(127,4,0,4),i.addMany(a,6,3,6),i.addMany(a,5,3,5),i.add(127,5,0,5),i.addMany(a,2,3,2),i.add(127,2,0,2),i.add(93,1,4,8),i.addMany(t,8,5,8),i.add(127,8,5,8),i.addMany([156,27,24,26,7],8,6,0),i.addMany(e(28,32),8,0,8),i.addMany([88,94,95],1,0,7),i.addMany(t,7,0,7),i.addMany(a,7,0,7),i.add(156,7,0,0),i.add(127,7,0,7),i.add(91,1,11,3),i.addMany(e(64,127),3,7,0),i.addMany(e(48,60),3,8,4),i.addMany([60,61,62,63],3,9,4),i.addMany(e(48,60),4,8,4),i.addMany(e(64,127),4,7,0),i.addMany([60,61,62,63],4,0,6),i.addMany(e(32,64),6,0,6),i.add(127,6,0,6),i.addMany(e(64,127),6,0,0),i.addMany(e(32,48),3,9,5),i.addMany(e(32,48),5,9,5),i.addMany(e(48,64),5,0,6),i.addMany(e(64,127),5,7,0),i.addMany(e(32,48),4,9,5),i.addMany(e(32,48),1,9,2),i.addMany(e(32,48),2,9,2),i.addMany(e(48,127),2,10,0),i.addMany(e(48,80),1,10,0),i.addMany(e(81,88),1,10,0),i.addMany([89,90,92],1,10,0),i.addMany(e(96,127),1,10,0),i.add(80,1,11,9),i.addMany(a,9,0,9),i.add(127,9,0,9),i.addMany(e(28,32),9,0,9),i.addMany(e(32,48),9,9,12),i.addMany(e(48,60),9,8,10),i.addMany([60,61,62,63],9,9,10),i.addMany(a,11,0,11),i.addMany(e(32,128),11,0,11),i.addMany(e(28,32),11,0,11),i.addMany(a,10,0,10),i.add(127,10,0,10),i.addMany(e(28,32),10,0,10),i.addMany(e(48,60),10,8,10),i.addMany([60,61,62,63],10,0,11),i.addMany(e(32,48),10,9,12),i.addMany(a,12,0,12),i.add(127,12,0,12),i.addMany(e(28,32),12,0,12),i.addMany(e(32,48),12,9,12),i.addMany(e(48,64),12,0,11),i.addMany(e(64,127),12,12,13),i.addMany(e(64,127),10,12,13),i.addMany(e(64,127),9,12,13),i.addMany(a,13,13,13),i.addMany(t,13,13,13),i.add(127,13,0,13),i.addMany([27,156,24,26],13,14,0),i.add(u,0,2,0),i.add(u,8,5,8),i.add(u,6,0,6),i.add(u,11,0,11),i.add(u,13,13,13),i}();class h extends c.Disposable{constructor(s=n.VT500_TRANSITION_TABLE){super(),this._transitions=s,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new _.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,a)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,c.toDisposable)(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new r.OscParser),this._dcsParser=this.register(new d.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(s,e=[64,126]){let t=0;if(s.prefix){if(s.prefix.length>1)throw new Error("only one byte as prefix supported");if(t=s.prefix.charCodeAt(0),t&&60>t||t>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(s.intermediates){if(s.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let g=0;gv||v>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");t<<=8,t|=v}}if(s.final.length!==1)throw new Error("final must be a single byte");const a=s.final.charCodeAt(0);if(e[0]>a||a>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return t<<=8,t|=a,t}identToString(s){const e=[];for(;s;)e.push(String.fromCharCode(255&s)),s>>=8;return e.reverse().join("")}setPrintHandler(s){this._printHandler=s}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(s,e){const t=this._identifier(s,[48,126]);this._escHandlers[t]===void 0&&(this._escHandlers[t]=[]);const a=this._escHandlers[t];return a.push(e),{dispose:()=>{const g=a.indexOf(e);g!==-1&&a.splice(g,1)}}}clearEscHandler(s){this._escHandlers[this._identifier(s,[48,126])]&&delete this._escHandlers[this._identifier(s,[48,126])]}setEscHandlerFallback(s){this._escHandlerFb=s}setExecuteHandler(s,e){this._executeHandlers[s.charCodeAt(0)]=e}clearExecuteHandler(s){this._executeHandlers[s.charCodeAt(0)]&&delete this._executeHandlers[s.charCodeAt(0)]}setExecuteHandlerFallback(s){this._executeHandlerFb=s}registerCsiHandler(s,e){const t=this._identifier(s);this._csiHandlers[t]===void 0&&(this._csiHandlers[t]=[]);const a=this._csiHandlers[t];return a.push(e),{dispose:()=>{const g=a.indexOf(e);g!==-1&&a.splice(g,1)}}}clearCsiHandler(s){this._csiHandlers[this._identifier(s)]&&delete this._csiHandlers[this._identifier(s)]}setCsiHandlerFallback(s){this._csiHandlerFb=s}registerDcsHandler(s,e){return this._dcsParser.registerHandler(this._identifier(s),e)}clearDcsHandler(s){this._dcsParser.clearHandler(this._identifier(s))}setDcsHandlerFallback(s){this._dcsParser.setHandlerFallback(s)}registerOscHandler(s,e){return this._oscParser.registerHandler(s,e)}clearOscHandler(s){this._oscParser.clearHandler(s)}setOscHandlerFallback(s){this._oscParser.setHandlerFallback(s)}setErrorHandler(s){this._errorHandler=s}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(s,e,t,a,g){this._parseStack.state=s,this._parseStack.handlers=e,this._parseStack.handlerPos=t,this._parseStack.transition=a,this._parseStack.chunkPos=g}parse(s,e,t){let a,g=0,v=0,p=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,p=this._parseStack.chunkPos+1;else{if(t===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const l=this._parseStack.handlers;let S=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(t===!1&&S>-1){for(;S>=0&&(a=l[S](this._params),a!==!0);S--)if(a instanceof Promise)return this._parseStack.handlerPos=S,a}this._parseStack.handlers=[];break;case 4:if(t===!1&&S>-1){for(;S>=0&&(a=l[S](),a!==!0);S--)if(a instanceof Promise)return this._parseStack.handlerPos=S,a}this._parseStack.handlers=[];break;case 6:if(g=s[this._parseStack.chunkPos],a=this._dcsParser.unhook(g!==24&&g!==26,t),a)return a;g===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(g=s[this._parseStack.chunkPos],a=this._oscParser.end(g!==24&&g!==26,t),a)return a;g===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,p=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let l=p;l>4){case 2:for(let w=l+1;;++w){if(w>=e||(g=s[w])<32||g>126&&g=e||(g=s[w])<32||g>126&&g=e||(g=s[w])<32||g>126&&g=e||(g=s[w])<32||g>126&&g=0&&(a=S[E](this._params),a!==!0);E--)if(a instanceof Promise)return this._preserveStack(3,S,E,v,l),a;E<0&&this._csiHandlerFb(this._collect<<8|g,this._params),this.precedingJoinState=0;break;case 8:do switch(g){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(g-48)}while(++l47&&g<60);l--;break;case 9:this._collect<<=8,this._collect|=g;break;case 10:const k=this._escHandlers[this._collect<<8|g];let x=k?k.length-1:-1;for(;x>=0&&(a=k[x](),a!==!0);x--)if(a instanceof Promise)return this._preserveStack(4,k,x,v,l),a;x<0&&this._escHandlerFb(this._collect<<8|g),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|g,this._params);break;case 13:for(let w=l+1;;++w)if(w>=e||(g=s[w])===24||g===26||g===27||g>127&&g=e||(g=s[w])<32||g>127&&g{Object.defineProperty(n,"__esModule",{value:!0}),n.OscHandler=n.OscParser=void 0;const c=o(5770),_=o(482),r=[];n.OscParser=class{constructor(){this._state=0,this._active=r,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(d,f){this._handlers[d]===void 0&&(this._handlers[d]=[]);const u=this._handlers[d];return u.push(f),{dispose:()=>{const h=u.indexOf(f);h!==-1&&u.splice(h,1)}}}clearHandler(d){this._handlers[d]&&delete this._handlers[d]}setHandlerFallback(d){this._handlerFb=d}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=r}reset(){if(this._state===2)for(let d=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;d>=0;--d)this._active[d].end(!1);this._stack.paused=!1,this._active=r,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||r,this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].start();else this._handlerFb(this._id,"START")}_put(d,f,u){if(this._active.length)for(let h=this._active.length-1;h>=0;h--)this._active[h].put(d,f,u);else this._handlerFb(this._id,"PUT",(0,_.utf32ToString)(d,f,u))}start(){this.reset(),this._state=1}put(d,f,u){if(this._state!==3){if(this._state===1)for(;f0&&this._put(d,f,u)}}end(d,f=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let u=!1,h=this._active.length-1,i=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,u=f,i=this._stack.fallThrough,this._stack.paused=!1),!i&&u===!1){for(;h>=0&&(u=this._active[h].end(d),u!==!0);h--)if(u instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,u;h--}for(;h>=0;h--)if(u=this._active[h].end(!1),u instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,u}else this._handlerFb(this._id,"END",d);this._active=r,this._id=-1,this._state=0}}},n.OscHandler=class{constructor(d){this._handler=d,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(d,f,u){this._hitLimit||(this._data+=(0,_.utf32ToString)(d,f,u),this._data.length>c.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(d){let f=!1;if(this._hitLimit)f=!1;else if(d&&(f=this._handler(this._data),f instanceof Promise))return f.then(u=>(this._data="",this._hitLimit=!1,u));return this._data="",this._hitLimit=!1,f}}},8742:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Params=void 0;const o=2147483647;class c{static fromArray(r){const d=new c;if(!r.length)return d;for(let f=Array.isArray(r[0])?1:0;f256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(r),this.length=0,this._subParams=new Int32Array(d),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(r),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const r=new c(this.maxLength,this.maxSubParamsLength);return r.params.set(this.params),r.length=this.length,r._subParams.set(this._subParams),r._subParamsLength=this._subParamsLength,r._subParamsIdx.set(this._subParamsIdx),r._rejectDigits=this._rejectDigits,r._rejectSubDigits=this._rejectSubDigits,r._digitIsSub=this._digitIsSub,r}toArray(){const r=[];for(let d=0;d>8,u=255&this._subParamsIdx[d];u-f>0&&r.push(Array.prototype.slice.call(this._subParams,f,u))}return r}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(r){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(r<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=r>o?o:r}}addSubParam(r){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(r<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=r>o?o:r,this._subParamsIdx[this.length-1]++}}hasSubParams(r){return(255&this._subParamsIdx[r])-(this._subParamsIdx[r]>>8)>0}getSubParams(r){const d=this._subParamsIdx[r]>>8,f=255&this._subParamsIdx[r];return f-d>0?this._subParams.subarray(d,f):null}getSubParamsAll(){const r={};for(let d=0;d>8,u=255&this._subParamsIdx[d];u-f>0&&(r[d]=this._subParams.slice(f,u))}return r}addDigit(r){let d;if(this._rejectDigits||!(d=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const f=this._digitIsSub?this._subParams:this.params,u=f[d-1];f[d-1]=~u?Math.min(10*u+r,o):r}}n.Params=c},5741:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.AddonManager=void 0,n.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let o=this._addons.length-1;o>=0;o--)this._addons[o].instance.dispose()}loadAddon(o,c){const _={instance:c,dispose:c.dispose,isDisposed:!1};this._addons.push(_),c.dispose=()=>this._wrappedAddonDispose(_),c.activate(o)}_wrappedAddonDispose(o){if(o.isDisposed)return;let c=-1;for(let _=0;_{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferApiView=void 0;const c=o(3785),_=o(511);n.BufferApiView=class{constructor(r,d){this._buffer=r,this.type=d}init(r){return this._buffer=r,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(r){const d=this._buffer.lines.get(r);if(d)return new c.BufferLineApiView(d)}getNullCell(){return new _.CellData}}},3785:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferLineApiView=void 0;const c=o(511);n.BufferLineApiView=class{constructor(_){this._line=_}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(_,r){if(!(_<0||_>=this._line.length))return r?(this._line.loadCell(_,r),r):this._line.loadCell(_,new c.CellData)}translateToString(_,r,d){return this._line.translateToString(_,r,d)}}},8285:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferNamespaceApi=void 0;const c=o(8771),_=o(8460),r=o(844);class d extends r.Disposable{constructor(u){super(),this._core=u,this._onBufferChange=this.register(new _.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new c.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new c.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}n.BufferNamespaceApi=d},7975:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ParserApi=void 0,n.ParserApi=class{constructor(o){this._core=o}registerCsiHandler(o,c){return this._core.registerCsiHandler(o,_=>c(_.toArray()))}addCsiHandler(o,c){return this.registerCsiHandler(o,c)}registerDcsHandler(o,c){return this._core.registerDcsHandler(o,(_,r)=>c(_,r.toArray()))}addDcsHandler(o,c){return this.registerDcsHandler(o,c)}registerEscHandler(o,c){return this._core.registerEscHandler(o,c)}addEscHandler(o,c){return this.registerEscHandler(o,c)}registerOscHandler(o,c){return this._core.registerOscHandler(o,c)}addOscHandler(o,c){return this.registerOscHandler(o,c)}}},7090:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeApi=void 0,n.UnicodeApi=class{constructor(o){this._core=o}register(o){this._core.unicodeService.register(o)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(o){this._core.unicodeService.activeVersion=o}}},744:function(O,n,o){var c=this&&this.__decorate||function(i,s,e,t){var a,g=arguments.length,v=g<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,e):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(i,s,e,t);else for(var p=i.length-1;p>=0;p--)(a=i[p])&&(v=(g<3?a(v):g>3?a(s,e,v):a(s,e))||v);return g>3&&v&&Object.defineProperty(s,e,v),v},_=this&&this.__param||function(i,s){return function(e,t){s(e,t,i)}};Object.defineProperty(n,"__esModule",{value:!0}),n.BufferService=n.MINIMUM_ROWS=n.MINIMUM_COLS=void 0;const r=o(8460),d=o(844),f=o(5295),u=o(2585);n.MINIMUM_COLS=2,n.MINIMUM_ROWS=1;let h=n.BufferService=class extends d.Disposable{get buffer(){return this.buffers.active}constructor(i){super(),this.isUserScrolling=!1,this._onResize=this.register(new r.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new r.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(i.rawOptions.cols||0,n.MINIMUM_COLS),this.rows=Math.max(i.rawOptions.rows||0,n.MINIMUM_ROWS),this.buffers=this.register(new f.BufferSet(i,this))}resize(i,s){this.cols=i,this.rows=s,this.buffers.resize(i,s),this._onResize.fire({cols:i,rows:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(i,s=!1){const e=this.buffer;let t;t=this._cachedBlankLine,t&&t.length===this.cols&&t.getFg(0)===i.fg&&t.getBg(0)===i.bg||(t=e.getBlankLine(i,s),this._cachedBlankLine=t),t.isWrapped=s;const a=e.ybase+e.scrollTop,g=e.ybase+e.scrollBottom;if(e.scrollTop===0){const v=e.lines.isFull;g===e.lines.length-1?v?e.lines.recycle().copyFrom(t):e.lines.push(t.clone()):e.lines.splice(g+1,0,t.clone()),v?this.isUserScrolling&&(e.ydisp=Math.max(e.ydisp-1,0)):(e.ybase++,this.isUserScrolling||e.ydisp++)}else{const v=g-a+1;e.lines.shiftElements(a+1,v-1,-1),e.lines.set(g,t.clone())}this.isUserScrolling||(e.ydisp=e.ybase),this._onScroll.fire(e.ydisp)}scrollLines(i,s,e){const t=this.buffer;if(i<0){if(t.ydisp===0)return;this.isUserScrolling=!0}else i+t.ydisp>=t.ybase&&(this.isUserScrolling=!1);const a=t.ydisp;t.ydisp=Math.max(Math.min(t.ydisp+i,t.ybase),0),a!==t.ydisp&&(s||this._onScroll.fire(t.ydisp))}};n.BufferService=h=c([_(0,u.IOptionsService)],h)},7994:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CharsetService=void 0,n.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(o){this.glevel=o,this.charset=this._charsets[o]}setgCharset(o,c){this._charsets[o]=c,this.glevel===o&&(this.charset=c)}}},1753:function(O,n,o){var c=this&&this.__decorate||function(t,a,g,v){var p,l=arguments.length,S=l<3?a:v===null?v=Object.getOwnPropertyDescriptor(a,g):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(t,a,g,v);else for(var E=t.length-1;E>=0;E--)(p=t[E])&&(S=(l<3?p(S):l>3?p(a,g,S):p(a,g))||S);return l>3&&S&&Object.defineProperty(a,g,S),S},_=this&&this.__param||function(t,a){return function(g,v){a(g,v,t)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CoreMouseService=void 0;const r=o(2585),d=o(8460),f=o(844),u={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button!==4&&t.action===1&&(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>t.action!==32||t.button!==3},ANY:{events:31,restrict:t=>!0}};function h(t,a){let g=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(g|=64,g|=t.action):(g|=3&t.button,4&t.button&&(g|=64),8&t.button&&(g|=128),t.action===32?g|=32:t.action!==0||a||(g|=3)),g}const i=String.fromCharCode,s={DEFAULT:t=>{const a=[h(t,!1)+32,t.col+32,t.row+32];return a[0]>255||a[1]>255||a[2]>255?"":`\x1B[M${i(a[0])}${i(a[1])}${i(a[2])}`},SGR:t=>{const a=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${h(t,!0)};${t.col};${t.row}${a}`},SGR_PIXELS:t=>{const a=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${h(t,!0)};${t.x};${t.y}${a}`}};let e=n.CoreMouseService=class extends f.Disposable{constructor(t,a){super(),this._bufferService=t,this._coreService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new d.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const g of Object.keys(u))this.addProtocol(g,u[g]);for(const g of Object.keys(s))this.addEncoding(g,s[g]);this.reset()}addProtocol(t,a){this._protocols[t]=a}addEncoding(t,a){this._encodings[t]=a}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;const a=this._encodings[this._activeEncoding](t);return a&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(a):this._coreService.triggerDataEvent(a,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(1&t),up:!!(2&t),drag:!!(4&t),move:!!(8&t),wheel:!!(16&t)}}_equalEvents(t,a,g){if(g){if(t.x!==a.x||t.y!==a.y)return!1}else if(t.col!==a.col||t.row!==a.row)return!1;return t.button===a.button&&t.action===a.action&&t.ctrl===a.ctrl&&t.alt===a.alt&&t.shift===a.shift}};n.CoreMouseService=e=c([_(0,r.IBufferService),_(1,r.ICoreService)],e)},6975:function(O,n,o){var c=this&&this.__decorate||function(e,t,a,g){var v,p=arguments.length,l=p<3?t:g===null?g=Object.getOwnPropertyDescriptor(t,a):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(e,t,a,g);else for(var S=e.length-1;S>=0;S--)(v=e[S])&&(l=(p<3?v(l):p>3?v(t,a,l):v(t,a))||l);return p>3&&l&&Object.defineProperty(t,a,l),l},_=this&&this.__param||function(e,t){return function(a,g){t(a,g,e)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CoreService=void 0;const r=o(1439),d=o(8460),f=o(844),u=o(2585),h=Object.freeze({insertMode:!1}),i=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let s=n.CoreService=class extends f.Disposable{constructor(e,t,a){super(),this._bufferService=e,this._logService=t,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new d.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new d.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new d.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new d.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,r.clone)(h),this.decPrivateModes=(0,r.clone)(i)}reset(){this.modes=(0,r.clone)(h),this.decPrivateModes=(0,r.clone)(i)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const a=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`,()=>e.split("").map(g=>g.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`,()=>e.split("").map(t=>t.charCodeAt(0))),this._onBinary.fire(e))}};n.CoreService=s=c([_(0,u.IBufferService),_(1,u.ILogService),_(2,u.IOptionsService)],s)},9074:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DecorationService=void 0;const c=o(8055),_=o(8460),r=o(844),d=o(6106);let f=0,u=0;class h extends r.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new d.SortedList(e=>e?.marker.line),this._onDecorationRegistered=this.register(new _.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new _.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,r.toDisposable)(()=>this.reset()))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new i(e);if(t){const a=t.marker.onDispose(()=>t.dispose());t.onDispose(()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),a.dispose())}),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,a){let g=0,v=0;for(const p of this._decorations.getKeyIterator(t))g=p.options.x??0,v=g+(p.options.width??1),e>=g&&e{f=v.options.x??0,u=f+(v.options.width??1),e>=f&&e{Object.defineProperty(n,"__esModule",{value:!0}),n.InstantiationService=n.ServiceCollection=void 0;const c=o(2585),_=o(8343);class r{constructor(...f){this._entries=new Map;for(const[u,h]of f)this.set(u,h)}set(f,u){const h=this._entries.get(f);return this._entries.set(f,u),h}forEach(f){for(const[u,h]of this._entries.entries())f(u,h)}has(f){return this._entries.has(f)}get(f){return this._entries.get(f)}}n.ServiceCollection=r,n.InstantiationService=class{constructor(){this._services=new r,this._services.set(c.IInstantiationService,this)}setService(d,f){this._services.set(d,f)}getService(d){return this._services.get(d)}createInstance(d,...f){const u=(0,_.getServiceDependencies)(d).sort((s,e)=>s.index-e.index),h=[];for(const s of u){const e=this._services.get(s.id);if(!e)throw new Error(`[createInstance] ${d.name} depends on UNKNOWN service ${s.id}.`);h.push(e)}const i=u.length>0?u[0].index:f.length;if(f.length!==i)throw new Error(`[createInstance] First service dependency of ${d.name} at position ${i+1} conflicts with ${f.length} static arguments`);return new d(...f,...h)}}},7866:function(O,n,o){var c=this&&this.__decorate||function(i,s,e,t){var a,g=arguments.length,v=g<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,e):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(i,s,e,t);else for(var p=i.length-1;p>=0;p--)(a=i[p])&&(v=(g<3?a(v):g>3?a(s,e,v):a(s,e))||v);return g>3&&v&&Object.defineProperty(s,e,v),v},_=this&&this.__param||function(i,s){return function(e,t){s(e,t,i)}};Object.defineProperty(n,"__esModule",{value:!0}),n.traceCall=n.setTraceLogger=n.LogService=void 0;const r=o(844),d=o(2585),f={trace:d.LogLevelEnum.TRACE,debug:d.LogLevelEnum.DEBUG,info:d.LogLevelEnum.INFO,warn:d.LogLevelEnum.WARN,error:d.LogLevelEnum.ERROR,off:d.LogLevelEnum.OFF};let u,h=n.LogService=class extends r.Disposable{get logLevel(){return this._logLevel}constructor(i){super(),this._optionsService=i,this._logLevel=d.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),u=this}_updateLogLevel(){this._logLevel=f[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(i){for(let s=0;sJSON.stringify(v)).join(", ")})`);const g=t.apply(this,a);return u.trace(`GlyphRenderer#${t.name} return`,g),g}}},7302:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.OptionsService=n.DEFAULT_OPTIONS=void 0;const c=o(8460),_=o(844),r=o(6114);n.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:r.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const d=["normal","bold","100","200","300","400","500","600","700","800","900"];class f extends _.Disposable{constructor(h){super(),this._onOptionChange=this.register(new c.EventEmitter),this.onOptionChange=this._onOptionChange.event;const i={...n.DEFAULT_OPTIONS};for(const s in h)if(s in i)try{const e=h[s];i[s]=this._sanitizeAndValidateOption(s,e)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this.register((0,_.toDisposable)(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(h,i){return this.onOptionChange(s=>{s===h&&i(this.rawOptions[h])})}onMultipleOptionChange(h,i){return this.onOptionChange(s=>{h.indexOf(s)!==-1&&i()})}_setupOptions(){const h=s=>{if(!(s in n.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},i=(s,e)=>{if(!(s in n.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);e=this._sanitizeAndValidateOption(s,e),this.rawOptions[s]!==e&&(this.rawOptions[s]=e,this._onOptionChange.fire(s))};for(const s in this.rawOptions){const e={get:h.bind(this,s),set:i.bind(this,s)};Object.defineProperty(this.options,s,e)}}_sanitizeAndValidateOption(h,i){switch(h){case"cursorStyle":if(i||(i=n.DEFAULT_OPTIONS[h]),!function(s){return s==="block"||s==="underline"||s==="bar"}(i))throw new Error(`"${i}" is not a valid value for ${h}`);break;case"wordSeparator":i||(i=n.DEFAULT_OPTIONS[h]);break;case"fontWeight":case"fontWeightBold":if(typeof i=="number"&&1<=i&&i<=1e3)break;i=d.includes(i)?i:n.DEFAULT_OPTIONS[h];break;case"cursorWidth":i=Math.floor(i);case"lineHeight":case"tabStopWidth":if(i<1)throw new Error(`${h} cannot be less than 1, value: ${i}`);break;case"minimumContrastRatio":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case"scrollback":if((i=Math.min(i,4294967295))<0)throw new Error(`${h} cannot be less than 0, value: ${i}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(i<=0)throw new Error(`${h} cannot be less than or equal to 0, value: ${i}`);break;case"rows":case"cols":if(!i&&i!==0)throw new Error(`${h} must be numeric, value: ${i}`);break;case"windowsPty":i=i??{}}return i}}n.OptionsService=f},2660:function(O,n,o){var c=this&&this.__decorate||function(f,u,h,i){var s,e=arguments.length,t=e<3?u:i===null?i=Object.getOwnPropertyDescriptor(u,h):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(f,u,h,i);else for(var a=f.length-1;a>=0;a--)(s=f[a])&&(t=(e<3?s(t):e>3?s(u,h,t):s(u,h))||t);return e>3&&t&&Object.defineProperty(u,h,t),t},_=this&&this.__param||function(f,u){return function(h,i){u(h,i,f)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OscLinkService=void 0;const r=o(2585);let d=n.OscLinkService=class{constructor(f){this._bufferService=f,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(f){const u=this._bufferService.buffer;if(f.id===void 0){const a=u.addMarker(u.ybase+u.y),g={data:f,id:this._nextId++,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(g,a)),this._dataByLinkId.set(g.id,g),g.id}const h=f,i=this._getEntryIdKey(h),s=this._entriesWithId.get(i);if(s)return this.addLineToLink(s.id,u.ybase+u.y),s.id;const e=u.addMarker(u.ybase+u.y),t={id:this._nextId++,key:this._getEntryIdKey(h),data:h,lines:[e]};return e.onDispose(()=>this._removeMarkerFromLink(t,e)),this._entriesWithId.set(t.key,t),this._dataByLinkId.set(t.id,t),t.id}addLineToLink(f,u){const h=this._dataByLinkId.get(f);if(h&&h.lines.every(i=>i.line!==u)){const i=this._bufferService.buffer.addMarker(u);h.lines.push(i),i.onDispose(()=>this._removeMarkerFromLink(h,i))}}getLinkData(f){return this._dataByLinkId.get(f)?.data}_getEntryIdKey(f){return`${f.id};;${f.uri}`}_removeMarkerFromLink(f,u){const h=f.lines.indexOf(u);h!==-1&&(f.lines.splice(h,1),f.lines.length===0&&(f.data.id!==void 0&&this._entriesWithId.delete(f.key),this._dataByLinkId.delete(f.id)))}};n.OscLinkService=d=c([_(0,r.IBufferService)],d)},8343:(O,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDecorator=n.getServiceDependencies=n.serviceRegistry=void 0;const o="di$target",c="di$dependencies";n.serviceRegistry=new Map,n.getServiceDependencies=function(_){return _[c]||[]},n.createDecorator=function(_){if(n.serviceRegistry.has(_))return n.serviceRegistry.get(_);const r=function(d,f,u){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(h,i,s){i[o]===i?i[c].push({id:h,index:s}):(i[c]=[{id:h,index:s}],i[o]=i)})(r,d,u)};return r.toString=()=>_,n.serviceRegistry.set(_,r),r}},2585:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.IDecorationService=n.IUnicodeService=n.IOscLinkService=n.IOptionsService=n.ILogService=n.LogLevelEnum=n.IInstantiationService=n.ICharsetService=n.ICoreService=n.ICoreMouseService=n.IBufferService=void 0;const c=o(8343);var _;n.IBufferService=(0,c.createDecorator)("BufferService"),n.ICoreMouseService=(0,c.createDecorator)("CoreMouseService"),n.ICoreService=(0,c.createDecorator)("CoreService"),n.ICharsetService=(0,c.createDecorator)("CharsetService"),n.IInstantiationService=(0,c.createDecorator)("InstantiationService"),function(r){r[r.TRACE=0]="TRACE",r[r.DEBUG=1]="DEBUG",r[r.INFO=2]="INFO",r[r.WARN=3]="WARN",r[r.ERROR=4]="ERROR",r[r.OFF=5]="OFF"}(_||(n.LogLevelEnum=_={})),n.ILogService=(0,c.createDecorator)("LogService"),n.IOptionsService=(0,c.createDecorator)("OptionsService"),n.IOscLinkService=(0,c.createDecorator)("OscLinkService"),n.IUnicodeService=(0,c.createDecorator)("UnicodeService"),n.IDecorationService=(0,c.createDecorator)("DecorationService")},1480:(O,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeService=void 0;const c=o(8460),_=o(225);class r{static extractShouldJoin(f){return(1&f)!=0}static extractWidth(f){return f>>1&3}static extractCharKind(f){return f>>3}static createPropertyValue(f,u,h=!1){return(16777215&f)<<3|(3&u)<<1|(h?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new c.EventEmitter,this.onChange=this._onChange.event;const f=new _.UnicodeV6;this.register(f),this._active=f.version,this._activeProvider=f}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(f){if(!this._providers[f])throw new Error(`unknown Unicode version "${f}"`);this._active=f,this._activeProvider=this._providers[f],this._onChange.fire(f)}register(f){this._providers[f.version]=f}wcwidth(f){return this._activeProvider.wcwidth(f)}getStringCellWidth(f){let u=0,h=0;const i=f.length;for(let s=0;s=i)return u+this.wcwidth(e);const g=f.charCodeAt(s);56320<=g&&g<=57343?e=1024*(e-55296)+g-56320+65536:u+=this.wcwidth(g)}const t=this.charProperties(e,h);let a=r.extractWidth(t);r.extractShouldJoin(t)&&(a-=r.extractWidth(h)),u+=a,h=t}return u}charProperties(f,u){return this._activeProvider.charProperties(f,u)}}n.UnicodeService=r}},Y={};function Z(O){var n=Y[O];if(n!==void 0)return n.exports;var o=Y[O]={exports:{}};return X[O].call(o.exports,o,o.exports,Z),o.exports}var he={};return(()=>{var O=he;Object.defineProperty(O,"__esModule",{value:!0}),O.Terminal=void 0;const n=Z(9042),o=Z(3236),c=Z(844),_=Z(5741),r=Z(8285),d=Z(7975),f=Z(7090),u=["cols","rows"];class h extends c.Disposable{constructor(s){super(),this._core=this.register(new o.Terminal(s)),this._addonManager=this.register(new _.AddonManager),this._publicOptions={...this._core.options};const e=a=>this._core.options[a],t=(a,g)=>{this._checkReadonlyOptions(a),this._core.options[a]=g};for(const a in this._core.options){const g={get:e.bind(this,a),set:t.bind(this,a)};Object.defineProperty(this._publicOptions,a,g)}}_checkReadonlyOptions(s){if(u.includes(s))throw new Error(`Option "${s}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new d.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new f.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new r.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const s=this._core.coreService.decPrivateModes;let e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any"}return{applicationCursorKeysMode:s.applicationCursorKeys,applicationKeypadMode:s.applicationKeypad,bracketedPasteMode:s.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:s.origin,reverseWraparoundMode:s.reverseWraparound,sendFocusMode:s.sendFocus,wraparoundMode:s.wraparound}}get options(){return this._publicOptions}set options(s){for(const e in s)this._publicOptions[e]=s[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(s,e=!0){this._core.input(s,e)}resize(s,e){this._verifyIntegers(s,e),this._core.resize(s,e)}open(s){this._core.open(s)}attachCustomKeyEventHandler(s){this._core.attachCustomKeyEventHandler(s)}attachCustomWheelEventHandler(s){this._core.attachCustomWheelEventHandler(s)}registerLinkProvider(s){return this._core.registerLinkProvider(s)}registerCharacterJoiner(s){return this._checkProposedApi(),this._core.registerCharacterJoiner(s)}deregisterCharacterJoiner(s){this._checkProposedApi(),this._core.deregisterCharacterJoiner(s)}registerMarker(s=0){return this._verifyIntegers(s),this._core.registerMarker(s)}registerDecoration(s){return this._checkProposedApi(),this._verifyPositiveIntegers(s.x??0,s.width??0,s.height??0),this._core.registerDecoration(s)}hasSelection(){return this._core.hasSelection()}select(s,e,t){this._verifyIntegers(s,e,t),this._core.select(s,e,t)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(s,e){this._verifyIntegers(s,e),this._core.selectLines(s,e)}dispose(){super.dispose()}scrollLines(s){this._verifyIntegers(s),this._core.scrollLines(s)}scrollPages(s){this._verifyIntegers(s),this._core.scrollPages(s)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(s){this._verifyIntegers(s),this._core.scrollToLine(s)}clear(){this._core.clear()}write(s,e){this._core.write(s,e)}writeln(s,e){this._core.write(s),this._core.write(`\r +`,e)}paste(s){this._core.paste(s)}refresh(s,e){this._verifyIntegers(s,e),this._core.refresh(s,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(s){this._addonManager.loadAddon(this,s)}static get strings(){return n}_verifyIntegers(...s){for(const e of s)if(e===1/0||isNaN(e)||e%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...s){for(const e of s)if(e&&(e===1/0||isNaN(e)||e%1!=0||e<0))throw new Error("This API only accepts positive integers")}}O.Terminal=h})(),he})())}(Ye)),Ye.exports}var at=zt(),Je={exports:{}},ht;function jt(){return ht||(ht=1,function(oe,re){(function(X,Y){oe.exports=Y()})(self,()=>(()=>{var X={};return(()=>{var Y=X;Object.defineProperty(Y,"__esModule",{value:!0}),Y.FitAddon=void 0,Y.FitAddon=class{activate(Z){this._terminal=Z}dispose(){}fit(){const Z=this.proposeDimensions();if(!Z||!this._terminal||isNaN(Z.cols)||isNaN(Z.rows))return;const he=this._terminal._core;this._terminal.rows===Z.rows&&this._terminal.cols===Z.cols||(he._renderService.clear(),this._terminal.resize(Z.cols,Z.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;const Z=this._terminal._core,he=Z._renderService.dimensions;if(he.css.cell.width===0||he.css.cell.height===0)return;const O=this._terminal.options.scrollback===0?0:Z.viewport.scrollBarWidth,n=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(n.getPropertyValue("height")),c=Math.max(0,parseInt(n.getPropertyValue("width"))),_=window.getComputedStyle(this._terminal.element),r=o-(parseInt(_.getPropertyValue("padding-top"))+parseInt(_.getPropertyValue("padding-bottom"))),d=c-(parseInt(_.getPropertyValue("padding-right"))+parseInt(_.getPropertyValue("padding-left")))-O;return{cols:Math.max(2,Math.floor(d/he.css.cell.width)),rows:Math.max(1,Math.floor(r/he.css.cell.height))}}}})(),X})())}(Je)),Je.exports}var Ze=jt(),qt=lt(''),Kt=lt(''),Vt=We('
'),Gt=We('
Connecting to shell...
'),Xt=We('

Connection Error

'),Yt=We("
"),Jt=We('
'),Zt=We('
');function ai(oe,re){kt(re,!1);const X=we(),Y=we(),Z=we(),he=we(),O=we(),n=we(),o=we();let c=st(re,"runnerName",8),_=st(re,"onClose",8),r=we(new Map),d=we(""),f=1,u=we(),h=we(!1),i=!1,s=!1,e=0,t=0,a=0,g=0,v=0,p=0,l=800,S=500,E=0,k=0,x=!1;const w="garm-terminal-dimensions",B="garm-terminal-container-size";function I(){try{const D=localStorage.getItem(w);if(D){const{cols:T,rows:F}=JSON.parse(D);if(T>=50&&F>=15)return{cols:T,rows:F}}}catch(D){console.warn("Failed to load stored terminal dimensions:",D)}return{cols:107,rows:29}}function $(){try{const D=localStorage.getItem(B);if(D){const{width:T,height:F}=JSON.parse(D);if(T>=300&&F>=200&&T<=1400&&F<=800)return{width:T,height:F}}}catch(D){console.warn("Failed to load stored container size:",D)}return{width:800,height:500}}function j(D,T){if(D>=300&&T>=200&&D<=1400&&T<=800)try{localStorage.setItem(B,JSON.stringify({width:D,height:T})),console.log(`saveContainerSize: Saved ${D}x${T}px to localStorage`)}catch(F){console.warn("Failed to save container size:",F)}else console.warn(`saveContainerSize: Rejecting invalid size ${D}x${T}`)}function W(D,T){if(D>=50&&T>=15&&D<=200&&T<=60){const F=I();if(F.cols!==D||F.rows!==T)try{localStorage.setItem(w,JSON.stringify({cols:D,rows:T})),console.log(`saveDimensions: Saved ${D}x${T} to localStorage (was ${F.cols}x${F.rows})`)}catch(G){console.warn("Failed to save terminal dimensions:",G)}else console.log(`saveDimensions: Skipping save - ${D}x${T} already stored`)}else console.warn(`saveDimensions: Rejecting invalid dimensions ${D}x${T}`)}let{cols:m,rows:b}=I();console.log(`ShellTerminal: Loaded stored dimensions ${m}x${b} from localStorage`);function y(){const D=`shell-${f}`,T={id:f,key:D,title:`Shell ${f}`,connection:null,terminal:null,fitAddon:null,isInitialized:!1,isConnecting:!0,isConnected:!1,error:"",isClosing:!1};return R(r).set(D,T),ne(r,R(r)),f++,D}function L(D){R(d)!==D&&(console.log(`switchToTab: Switching from ${R(d)} to ${D} (z-index stacking)`),ne(d,D))}function P(D){console.log(`closeTab: Closing tab ${D}`);const T=R(r).get(D);if(!T){console.error(`closeTab: Tab ${D} not found`);return}const F=m,G=b;if(console.log(`closeTab: Preserving dimensions ${F}x${G} during tab close`),R(d)===D)if(R(r).size>1){const ue=Array.from(R(r).values()).sort((be,fe)=>be.id-fe.id),ce=T;let Q;const ae=ue.find(be=>be.id>ce.id);ae?Q=ae:Q=ue.filter(fe=>fe.idye.id-fe.id)[0],Q?(console.log(`closeTab: Switching from active tab ${D} (ID: ${ce.id}) to ${Q.key} (ID: ${Q.id}) before cleanup`),L(Q.key),T.isClosing=!0,R(r).set(D,T),ne(r,R(r)),m=F,b=G,console.log(`closeTab: Preserved dimensions ${m}x${b} for future use`)):(console.log("closeTab: No other tabs left, closing terminal"),_()())}else console.log("closeTab: No other tabs left, closing terminal"),_()();else console.log(`closeTab: Closing inactive tab ${D}`),U(T),R(r).delete(D),ne(r,R(r))}function U(D){if(console.log(`cleanupTab: Cleaning up tab ${D.key}`),D.connection&&(console.log(`cleanupTab: Closing connection for tab ${D.key}`),D.connection.close(),D.connection=null),D.terminal){console.log(`cleanupTab: Disposing terminal for tab ${D.key}`);try{D.terminal.dispose()}catch(T){console.error(`cleanupTab: Error disposing terminal for tab ${D.key}:`,T)}D.terminal=null}D.fitAddon=null,D.isInitialized=!1,D.isConnected=!1,D.isConnecting=!1}async function q(D){const T=R(r).get(D);if(T)try{const F=await Nt(c(),G=>z(D,G),()=>N(D),()=>J(D),G=>se(D,G));T.connection=F,R(r).set(D,T),ne(r,R(r))}catch(F){T.error=F instanceof Error?F.message:"Failed to connect",T.isConnecting=!1,R(r).set(D,T),ne(r,R(r))}}function K(D,T){if(console.log(`initializeTerminalElement: Action called for ${T.key}, hasTerminal=${!!T.terminal}, isInitialized=${T.isInitialized}`),T.terminal&&!T.isInitialized){console.log(`initializeTerminalElement: Initializing terminal for ${T.key} via Svelte action`),T.fitAddon||(T.fitAddon=new Ze.FitAddon,T.terminal.loadAddon(T.fitAddon));try{T.terminal.open(D),console.log(`initializeTerminalElement: Successfully opened terminal ${T.key} in DOM element`)}catch(F){console.error(`initializeTerminalElement: Failed to open terminal ${T.key}:`,F);return}T.terminal.onData(F=>{if(T.connection&&T.isConnected){const G=new TextEncoder;T.connection.sendData(G.encode(F))}}),T.terminal.onResize(({cols:F,rows:G})=>{T.connection&&T.isConnected&&T.connection.resize(F,G)}),T.isInitialized=!0,R(r).set(T.key,T),ne(r,R(r)),T.key===R(d)&&T.terminal.focus(),console.log(`initializeTerminalElement: Terminal ${T.key} fully initialized and opened in DOM`)}else console.log(`initializeTerminalElement: Skipping ${T.key} - no terminal object or already initialized`);return{destroy(){console.log(`initializeTerminalElement: DOM element being destroyed for ${T.key}`)}}}function A(){const D=R(r).get(R(d));if(D?.terminal&&D.fitAddon&&D.terminal.element){D.fitAddon.fit();const T=D.terminal.cols,F=D.terminal.rows;if(T>=50&&F>=15){m=T,b=F,console.log(`fitAllTerminals: Active terminal ${D.key} is ${T}x${F}, applying to all tabs`);for(const G of R(r).values())G.terminal&&G.connection&&G.isConnected&&(G.key===R(d)?(console.log(`fitAllTerminals: Notifying active terminal ${G.key} connection about resize to ${m}x${b}`),G.connection.resize(m,b)):(console.log(`fitAllTerminals: Resizing hidden terminal ${G.key} buffer and connection to ${m}x${b}`),G.terminal.resize(m,b),G.connection.resize(m,b)))}else console.warn(`fitAllTerminals: Active terminal has tiny dimensions ${T}x${F}, skipping update`)}}const C={background:"#002b36",foreground:"#839496",cursor:"#93a1a1",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#586e75",brightRed:"#cb4b16",brightGreen:"#859900",brightYellow:"#b58900",brightBlue:"#268bd2",brightMagenta:"#d33682",brightCyan:"#2aa198",brightWhite:"#fdf6e3"},M={background:"#2d3748",foreground:"#e2e8f0",cursor:"#cbd5e0",black:"#1a202c",red:"#e53e3e",green:"#38a169",yellow:"#d69e2e",blue:"#3182ce",magenta:"#9f7aea",cyan:"#0bc5ea",white:"#f7fafc",brightBlack:"#4a5568",brightRed:"#fc8181",brightGreen:"#68d391",brightYellow:"#f6e05e",brightBlue:"#63b3ed",brightMagenta:"#b794f6",brightCyan:"#76e4f7",brightWhite:"#ffffff"};function H(){const T=document.documentElement.classList.contains("dark")?C:M;for(const F of R(r).values())F.terminal&&(F.terminal.options.theme=T,F.fitAddon&&setTimeout(()=>F.fitAddon?.fit(),0))}Lt(()=>{const D=I(),T=$();m=D.cols,b=D.rows,console.log(`ShellTerminal onMount: Using dimensions ${m}x${b} and container size ${T.width}x${T.height}`);const F=T.width,G=T.height;R(u)&&(te(u,R(u).style.width=`${F}px`),te(u,R(u).style.height=`${G}px`));const ce=document.documentElement.classList.contains("dark")?C:M,Q=y();ne(d,Q);const ae=new at.Terminal({cursorBlink:!0,theme:ce,fontSize:13,fontFamily:'Monaco, "Menlo", "Ubuntu Mono", monospace',allowTransparency:!0}),be=new Ze.FitAddon;ae.loadAddon(be);const fe=R(r).get(Q);fe&&(fe.terminal=ae,fe.fitAddon=be,R(r).set(Q,fe),ne(r,R(r))),q(Q);function ye(){clearTimeout(ee),ee=setTimeout(()=>{A()},100)}const Ae=new MutationObserver(()=>H());return Ae.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),window.addEventListener("resize",ye),document.addEventListener("fullscreenchange",Pe),document.addEventListener("keydown",Oe),()=>{window.removeEventListener("resize",ye),document.removeEventListener("fullscreenchange",Pe),document.removeEventListener("keydown",Oe),Ae.disconnect()}}),Dt(()=>{for(const D of R(r).values())U(D)});function z(D,T){const F=R(r).get(D);if(F?.terminal){const G=new TextDecoder().decode(T);F.terminal.write(G)}}function N(D){const T=R(r).get(D);if(T&&(T.isConnecting=!1,T.isConnected=!0,R(r).set(D,T),ne(r,R(r)),T.connection&&T.terminal&&T.fitAddon)){console.log(`handleReady: Terminal ${D} connected, fitting to restored container`),T.fitAddon.fit();const F=T.terminal.cols,G=T.terminal.rows;console.log(`handleReady: Terminal fitted to ${F}x${G}, sending to server`),T.connection.resize(F,G),F>=50&&G>=15&&(m=F,b=G)}}function J(D){const T=R(r).get(D);T&&(T.isConnected=!1,R(r).set(D,T),ne(r,R(r)),T.terminal&&T.terminal.write(`\r +[Shell session ended]`))}function se(D,T){const F=R(r).get(D);F&&(F.error=T,F.isConnecting=!1,F.isConnected=!1,R(r).set(D,F),ne(r,R(r)))}let ee;function le(){if(R(r).size>=5){console.log("addNewTab: Maximum number of tabs (5) reached");return}const T=document.documentElement.classList.contains("dark")?C:M,F=y(),G=new at.Terminal({cursorBlink:!0,theme:T,fontSize:13,fontFamily:'Monaco, "Menlo", "Ubuntu Mono", monospace',allowTransparency:!0}),ue=new Ze.FitAddon;G.loadAddon(ue);const ce=R(r).get(F);ce&&(ce.terminal=G,ce.fitAddon=ue,R(r).set(F,ce),ne(r,R(r))),L(F),q(F)}function V(){R(h)?(x=!0,Me(),document.exitFullscreen?.()):(Ee(),R(u).requestFullscreen?.())}function Ee(){const D=R(u).getBoundingClientRect();l=D.width,S=D.height,E=D.left,k=D.top}function Me(){te(u,R(u).style.position="absolute"),te(u,R(u).style.width=`${l}px`),te(u,R(u).style.height=`${S}px`),te(u,R(u).style.left=`${E}px`),te(u,R(u).style.top=`${k}px`),te(u,R(u).style.margin="0"),te(u,R(u).style.zIndex="1000")}function Oe(D){D.key==="Escape"&&R(h)&&!x&&(x=!0,Me())}function Pe(){const D=R(h);ne(h,!!document.fullscreenElement),D&&!R(h)?(x||Me(),x=!1,setTimeout(()=>{A()},10)):!D&&R(h)&&(te(u,R(u).style.position=""),te(u,R(u).style.width=""),te(u,R(u).style.height=""),te(u,R(u).style.left=""),te(u,R(u).style.top=""),te(u,R(u).style.margin=""),te(u,R(u).style.zIndex=""),x=!1,setTimeout(()=>{A()},10))}function Ie(D){R(h)||(i=!0,e=D.clientX,t=D.clientY,a=R(u).offsetWidth,g=R(u).offsetHeight,D.preventDefault(),document.addEventListener("mousemove",de),document.addEventListener("mouseup",Re),document.body.style.userSelect="none",document.body.style.cursor="nw-resize")}function de(D){if(!i)return;const T=D.clientX-e,F=D.clientY-t,ae=R(X).filter(Ne=>!Ne.isClosing).length*120+50+40,be=Math.max(ae,300),fe=window.innerWidth-32,ye=window.innerHeight-32,Ae=Math.max(be,Math.min(fe,a+T)),Ue=Math.max(200,Math.min(ye,g+F));te(u,R(u).style.width=`${Ae}px`),te(u,R(u).style.height=`${Ue}px`),clearTimeout(ee),ee=setTimeout(()=>{A()},50)}function Re(){if(i=!1,document.removeEventListener("mousemove",de),document.removeEventListener("mouseup",Re),document.body.style.userSelect="",document.body.style.cursor="",!R(h)){Ee();const D=R(u).offsetWidth,T=R(u).offsetHeight;j(D,T)}setTimeout(()=>{const D=R(r).get(R(d));if(D?.terminal&&D.fitAddon&&D.terminal.element){D.fitAddon.fit();const T=D.terminal.cols,F=D.terminal.rows;T>=50&&F>=15&&(console.log(`stopResize: Saving new dimensions from manual resize: ${T}x${F}`),m=T,b=F,W(T,F))}A()},100)}function pe(D){if(R(h))return;const T=D.target;if(T.tagName==="BUTTON"||T.closest("button"))return;s=!0,e=D.clientX,t=D.clientY;const F=R(u).getBoundingClientRect();v=F.left,p=F.top,D.preventDefault(),D.stopPropagation(),document.addEventListener("mousemove",xe),document.addEventListener("mouseup",He),document.body.style.userSelect="none",document.body.style.cursor="move",te(u,R(u).style.position="absolute"),te(u,R(u).style.left=`${v}px`),te(u,R(u).style.top=`${p}px`),te(u,R(u).style.margin="0"),te(u,R(u).style.zIndex="1000")}function xe(D){if(!s)return;const T=D.clientX-e,F=D.clientY-t,G=Math.max(0,Math.min(window.innerWidth-R(u).offsetWidth,v+T)),ue=Math.max(0,Math.min(window.innerHeight-R(u).offsetHeight,p+F));te(u,R(u).style.left=`${G}px`),te(u,R(u).style.top=`${ue}px`)}function He(){s=!1,document.removeEventListener("mousemove",xe),document.removeEventListener("mouseup",He),document.body.style.userSelect="",document.body.style.cursor="",R(h)||Ee()}me(()=>(R(r),R(d)),()=>{const D=Array.from(R(r).entries()).filter(([T,F])=>F.isClosing&&F.key!==R(d));if(D.length>0){const[T,F]=D[0];console.log(`Reactive cleanup: Cleaning up tab ${F.key} that is closing and inactive`),U(F),R(r).delete(T),ne(r,R(r))}}),me(()=>R(r),()=>{ne(X,Array.from(R(r).values()).sort((D,T)=>D.id-T.id))}),me(()=>(R(X),R(u),R(h)),()=>{const D=R(X).filter(ae=>!ae.isClosing).length,ue=D*120+50+40,Q=Math.max(ue,300);if(R(u)&&!R(h)){const ae=R(u).offsetWidth;ae{A()},10))}}),me(()=>(R(X),R(r)),()=>{console.log(`Reactive tabs array updated: ${R(X).length} tabs`,R(X).map(D=>({key:D.key,id:D.id,title:D.title,isClosing:D.isClosing}))),console.log(`Map has ${R(r).size} entries:`,Array.from(R(r).keys())),console.log(`Filtered tabs for rendering: ${R(X).filter(D=>!D.isClosing).length} tabs`,R(X).filter(D=>!D.isClosing).map(D=>({key:D.key,title:D.title})))}),me(()=>(R(r),R(d)),()=>{ne(Y,R(r).get(R(d))||null)}),me(()=>R(Y),()=>{ne(Z,R(Y)?.connection||null)}),me(()=>R(Y),()=>{ne(he,R(Y)?.terminal||null)}),me(()=>R(Y),()=>{ne(O,R(Y)?.isConnecting||!1)}),me(()=>R(Y),()=>{ne(n,R(Y)?.isConnected||!1)}),me(()=>R(Y),()=>{ne(o,R(Y)?.error||"")}),me(()=>R(d),()=>{R(d)&&console.log(`Reactive: activeTabKey changed to ${R(d)}, this should bring tab to front`)}),me(()=>(R(d),R(r),it),()=>{if(R(d)&&R(r).size>0){const D=R(r).get(R(d));D?.terminal&&D.isInitialized&&D.isConnected&&(console.log(`Reactive focus: Bringing terminal ${R(d)} to front`),it().then(()=>{D.terminal&&(console.log(`Reactive focus: Focusing terminal ${R(d)}`),D.terminal.focus())}))}}),Rt(),Ct();var ge=Zt(),ke=ve(ge),Ce=ve(ke),Le=ve(Ce),ie=ve(Le);_e(Le);var $e=Be(Le,2),Fe=ve($e),ut=ve(Fe);{var _t=D=>{var T=qt();De(D,T)},ft=D=>{var T=Kt();De(D,T)};je(ut,D=>{R(h)?D(_t):D(ft,!1)})}_e(Fe);var vt=Be(Fe,4);_e($e),_e(Ce),_e(ke);var Ke=Be(ke,2),et=ve(Ke),tt=ve(et);rt(tt,1,()=>(R(X),Se(()=>R(X).filter(D=>!D.isClosing))),D=>D.key,(D,T)=>{var F=Vt(),G=ve(F),ue=ve(G,!0);_e(G);var ce=Be(G,2);_e(F),ze(()=>{nt(F,1,`tab ${R(T),R(d),Se(()=>R(T).key===R(d)?"active":"")??""}`,"svelte-1wb0h1r"),Xe(ue,(R(T),Se(()=>R(T).title)))}),Te("click",ce,Bt(()=>P(R(T).key))),Te("click",F,()=>L(R(T).key)),Te("keydown",F,Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),L(R(T).key))}),De(D,F)});var Ve=Be(tt,2);_e(et),_e(Ke);var Ge=Be(Ke,2);rt(Ge,5,()=>(R(X),Se(()=>R(X).filter(D=>!D.isClosing))),D=>D.key,(D,T)=>{var F=Yt(),G=ve(F);{var ue=Q=>{var ae=Gt();De(Q,ae)},ce=Q=>{var ae=St(),be=xt(ae);{var fe=ye=>{var Ae=Xt(),Ue=ve(Ae),Ne=Be(ve(Ue),4),mt=ve(Ne,!0);_e(Ne),_e(Ue),_e(Ae),ze(()=>Xe(mt,(R(T),Se(()=>R(T).error)))),De(ye,Ae)};je(be,ye=>{R(T),Se(()=>R(T).error)&&ye(fe)},!0)}De(Q,ae)};je(G,Q=>{R(T),Se(()=>R(T).isConnecting)?Q(ue):Q(ce,!1)})}_e(F),Mt(F,(Q,ae)=>K?.(Q,ae),()=>R(T)),ze(()=>{nt(F,1,`terminal-tab ${R(T),R(d),Se(()=>R(T).key===R(d)?"active":"")??""}`,"svelte-1wb0h1r"),qe(F,"data-tab-key",(R(T),Se(()=>R(T).key)))}),De(D,F)}),_e(Ge);var gt=Be(Ge,2);{var pt=D=>{var T=Jt();Te("mousedown",T,Ie),De(D,T)};je(gt,D=>{R(h)||D(pt)})}_e(ge),Tt(ge,D=>ne(u,D),()=>R(u)),ze(()=>{Xe(ie,`Shell - ${c()??""}`),qe(Fe,"title",R(h)?"Restore":"Maximize"),qe(Fe,"aria-label",R(h)?"Restore":"Maximize"),Ve.disabled=(R(r),Se(()=>R(r).size>=5)),qe(Ve,"title",(R(r),Se(()=>R(r).size>=5?"Maximum 5 tabs allowed":"New tab")))}),Te("click",Fe,V),Te("click",vt,function(...D){_()?.apply(this,D)}),Te("mousedown",ke,pe),Te("click",Ve,le),De(oe,ge),At()}export{ai as S}; diff --git a/webapp/assets/_app/immutable/chunks/CPri_0tM.js b/webapp/assets/_app/immutable/chunks/CPri_0tM.js new file mode 100644 index 00000000..388dedb4 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/CPri_0tM.js @@ -0,0 +1 @@ +import{p as r}from"./rDPsLaF8.js";import{s as t}from"./BcoJ4GZv.js";const e={get data(){return r.data},get error(){return r.error},get form(){return r.form},get params(){return r.params},get route(){return r.route},get state(){return r.state},get status(){return r.status},get url(){return r.url}};t.updated.check;const u=e;export{u as p}; diff --git a/webapp/assets/_app/immutable/chunks/CYPHW1bs.js b/webapp/assets/_app/immutable/chunks/CYPHW1bs.js new file mode 100644 index 00000000..04d626d6 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/CYPHW1bs.js @@ -0,0 +1 @@ +import{f as v,e as t,a as m}from"./o8CdT7B0.js";import{i as u}from"./ChJfoPF0.js";import{p as h,v as k,c as r,r as s,a as g}from"./DUMcBckj.js";import{f as b}from"./_9uqtkkk.js";var w=v('');function M(d,i){h(i,!1);const l=k();function n(){l("close")}function c(o){o.stopPropagation()}function f(o){o.key==="Escape"&&l("close")}u();var a=w(),e=r(a),p=r(e);b(p,i,"default",{}),s(e),s(a),t("click",e,c),t("click",a,n),t("keydown",a,f),m(d,a),g()}export{M}; diff --git a/webapp/assets/_app/immutable/chunks/CZK5Ma2H.js b/webapp/assets/_app/immutable/chunks/CZK5Ma2H.js deleted file mode 100644 index 4e9c9792..00000000 --- a/webapp/assets/_app/immutable/chunks/CZK5Ma2H.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as dt,a as j,s as E,b as c,t as re,d as Q,e as ir,l as nt,f as I}from"./CxOx-TIJ.js";import{i as lt}from"./3NxSoY2_.js";import{p as ut,B as pt,m as v,o as ft,i as n,j as l,x as ct,l as Se,g as e,b as gt,f as P,d as b,c as s,r as i,s as o,t as k,u as g,h as T,v as or,w as sr,a as vt,n as Ee,y as bt,e as mt,F as R}from"./DzFKsO_V.js";import{p as _t,i as x,s as yt,a as xt,v as ht}from"./B_jyf0qs.js";import{e as kt,i as wt}from"./CdXRaxkX.js";import{w as St}from"./DoJxysSt.js";import{r as A,b as dr,d as Et,c as Ir,s as nr,g as Te}from"./BguOOs3x.js";import{b as W,a as Jr}from"./BVM1034P.js";import{p as Tt}from"./CdEA5IGF.js";import{M as Mt}from"./Pgjt70l7.js";import{e as Nr}from"./BZiHL9L3.js";import{J as Rt,U as Ot,a as $t,b as Ut}from"./BMieCrfV.js";import{e as Cr}from"./Penjr-j0.js";import{w as lr}from"./DSHGoHxX.js";u[R]="src/lib/components/UpdateScaleSetModal.svelte";var zt=j(I('

'),u[R],[[332,4,[[333,5]]]]),At=j(I('

'),u[R],[[338,4,[[339,5]]]]),jt=j(I('
Loading templates...
'),u[R],[[440,7,[[441,8],[442,8]]]]),It=j(I(""),u[R],[[451,9]]),Jt=j(I('

',1),u[R],[[445,7],[457,7]]),Nt=j(I('

Create a template first or proceed without a template to use default behavior.

'),u[R],[[462,7,[[463,8],[464,8,[[465,9]]]]]]),Ct=j(I('
'),u[R],[[606,6,[[607,7,[[608,8]]],[610,7,[[612,8]]]]]]),Pt=j(I('
Updating...
'),u[R],[[640,6,[[641,7]]]]),Gt=j(I('

Scale Set Information

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
'),u[R],[[323,1,[[324,2,[[325,3]]],[330,2,[[344,3,[[345,4],[346,4,[[347,5,[[348,6],[349,6]]],[351,5,[[352,6],[353,6]]]]]]],[364,3,[[365,4],[368,4]]],[378,3,[[379,4],[382,4,[[383,5,[[384,6],[387,6]]],[395,5,[[396,6],[399,6]]],[407,5,[[408,6],[411,6,[[416,7],[417,7]]]]],[420,5,[[421,6],[424,6,[[429,7],[430,7]]]]],[435,5,[[436,6]]]]]]],[476,3,[[477,4],[480,4,[[481,5,[[482,6],[485,6]]],[494,5,[[495,6],[498,6]]],[507,5,[[508,6],[511,6]]]]]]],[524,3,[[525,4],[528,4,[[529,5,[[530,6],[533,6]]],[541,5,[[542,6],[545,6]]]]],[556,4,[[557,5,[[558,6]]]]],[570,4,[[571,5],[577,5]]],[583,4,[[584,5,[[585,6],[592,6],[595,6,[[596,7,[[597,8]]],[599,7,[[601,8]]]]]]]]]]],[626,3,[[627,4],[634,4]]]]]]]]),Lt=j(I(" ",1),u[R],[]);function u(Pr,ur){dt(new.target),ut(ur,!1,u);const[Gr,Lr]=yt(),_=()=>(ht(Cr,"eagerCache"),xt(Cr,"$eagerCache",Gr)),J=v();let r=_t(ur,"scaleSet",8);const Me=pt();let le=v(!1),te=v(""),N=v(""),O=v([]),Re=v(!1),V=v(!1),X=null,ue=v(r().name||""),pe=v(r().image||""),fe=v(r().flavor||""),G=v(r().max_runners),L=v(r().min_idle_runners),ce=v(r().runner_bootstrap_timeout),ge=v(r().runner_prefix||""),$=v(r().os_type||"linux"),ae=v(r().os_arch||"amd64"),ve=v(r()["github-runner-group"]||""),be=v(r().enabled),ie=v(r().enable_shell??!1),B=v("{}"),C=v(r().template_id);function Oe(){if(r().endpoint?.endpoint_type)return r().endpoint.endpoint_type;if(r().repo_id){const d=_().repositories.find(a=>n(a.id,r().repo_id));if(d?.endpoint?.endpoint_type)return d.endpoint.endpoint_type}if(r().org_id){const d=_().organizations.find(a=>n(a.id,r().org_id));if(d?.endpoint?.endpoint_type)return d.endpoint.endpoint_type}if(r().enterprise_id){const d=_().enterprises.find(a=>n(a.id,r().enterprise_id));if(d?.endpoint?.endpoint_type)return d.endpoint.endpoint_type}return null}function Br(){return r().repo_id?_().repositories.find(a=>n(a.id,r().repo_id))?.agent_mode??!1:r().org_id?_().organizations.find(a=>n(a.id,r().org_id))?.agent_mode??!1:r().enterprise_id?_().enterprises.find(a=>n(a.id,r().enterprise_id))?.agent_mode??!1:!1}function Dr(){return r().repo_id?"repository":r().org_id?"organization":r().enterprise_id?"enterprise":"entity"}function $e(d){if(n(d.operation,"update",!1))return;const a=d.payload;if(r().repo_id&&n(a.id,r().repo_id)){const p=_().repositories.find(M=>n(M.id,r().repo_id));p&&(Object.assign(p,a),"agent_mode"in a&&l(J,a.agent_mode??!1))}else if(r().org_id&&n(a.id,r().org_id)){const p=_().organizations.find(M=>n(M.id,r().org_id));p&&(Object.assign(p,a),"agent_mode"in a&&l(J,a.agent_mode??!1))}else if(r().enterprise_id&&n(a.id,r().enterprise_id)){const p=_().enterprises.find(M=>n(M.id,r().enterprise_id));p&&(Object.assign(p,a),"agent_mode"in a&&l(J,a.agent_mode??!1))}}async function Ue(d){try{if(r().repo_id){(await Ee(Te.updateRepository(r().repo_id,d)))();const a=_().repositories.find(p=>n(p.id,r().repo_id));a&&Object.assign(a,d)}else if(r().org_id){(await Ee(Te.updateOrganization(r().org_id,d)))();const a=_().organizations.find(p=>n(p.id,r().org_id));a&&Object.assign(a,d)}else if(r().enterprise_id){(await Ee(Te.updateEnterprise(r().enterprise_id,d)))();const a=_().enterprises.find(p=>n(p.id,r().enterprise_id));a&&Object.assign(a,d)}l(V,!1)}catch(a){throw a}}function Fr(){return r().repo_id?_().repositories.find(d=>n(d.id,r().repo_id))||null:r().org_id?_().organizations.find(d=>n(d.id,r().org_id))||null:r().enterprise_id&&_().enterprises.find(d=>n(d.id,r().enterprise_id))||null}async function pr(){try{l(Re,!0);const d=Oe();if(!d){l(O,[]);return}if(l(O,(await Ee(Te.listTemplates(e($),void 0,d)))()),!e(C)||!e(O).find(a=>n(a.id,e(C)))){const a=e(O).find(p=>n(p.owner_id,"system"));a?l(C,a.id):e(O).length>0&&l(C,e(O)[0].id)}}catch(d){l(te,Nr(d))}finally{l(Re,!1)}}ft(()=>{if(r().extra_specs)try{if(n(typeof r().extra_specs,"object"))l(B,JSON.stringify(r().extra_specs,null,2));else{const d=JSON.parse(r().extra_specs);l(B,JSON.stringify(d,null,2))}}catch{l(B,r().extra_specs||"{}")}pr(),r().repo_id?X=lr.subscribeToEntity("repository",["update"],$e):r().org_id?X=lr.subscribeToEntity("organization",["update"],$e):r().enterprise_id&&(X=lr.subscribeToEntity("enterprise",["update"],$e))}),ct(()=>{X&&(X(),X=null)});async function qr(){try{if(l(le,!0),l(te,""),e(N))throw new Error(e(N));let d={};if(e(B).trim())try{d=JSON.parse(e(B))}catch{throw new Error("Invalid JSON in extra specs")}const a={name:n(e(ue),r().name,!1)?e(ue):void 0,image:n(e(pe),r().image,!1)?e(pe):void 0,flavor:n(e(fe),r().flavor,!1)?e(fe):void 0,max_runners:n(e(G),r().max_runners,!1)?e(G):void 0,min_idle_runners:n(e(L),r().min_idle_runners,!1)?e(L):void 0,runner_bootstrap_timeout:n(e(ce),r().runner_bootstrap_timeout,!1)?e(ce):void 0,runner_prefix:n(e(ge),r().runner_prefix,!1)?e(ge):void 0,os_type:n(e($),r().os_type,!1)?e($):void 0,os_arch:n(e(ae),r().os_arch,!1)?e(ae):void 0,"github-runner-group":n(e(ve),r()["github-runner-group"],!1)&&e(ve)||void 0,enabled:n(e(be),r().enabled,!1)?e(be):void 0,enable_shell:n(e(ie),r().enable_shell,!1)?e(ie):void 0,extra_specs:n(e(B).trim(),JSON.stringify(r().extra_specs||{},null,2).trim(),!1)?d:void 0,template_id:n(e(C),r().template_id,!1)?e(C):void 0};Object.keys(a).forEach(p=>{n(a[p],void 0)&&delete a[p]}),Me("submit",a)}catch(d){l(te,Nr(d))}finally{l(le,!1)}}Se(()=>{},()=>{l(J,Br())}),Se(()=>e(J),()=>{e(J)||l(ie,!1)}),Se(()=>e($),()=>{e($)&&pr()}),Se(()=>(e(L),e(G)),()=>{n(e(L),null,!1)&&n(e(L),void 0,!1)&&n(e(G),null,!1)&&n(e(G),void 0,!1)&&e(L)>e(G)?l(N,"Min idle runners cannot be greater than max runners"):l(N,"")}),gt(),lt();var fr=Lt(),cr=P(fr);b(()=>Mt(cr,{$$events:{close:()=>Me("close")},children:St(u,(d,a)=>{var p=Gt(),M=s(p),me=s(M),oe=s(me);i(me),i(M);var Y=o(M,2),_e=s(Y);{var ze=t=>{var f=zt(),w=s(f),U=s(w,!0);i(w),i(f),k(()=>E(U,e(te))),c(t,f)};b(()=>x(_e,t=>{e(te)&&t(ze)}),"if",u,331,3)}var ye=o(_e,2);{var D=t=>{var f=At(),w=s(f),U=s(w,!0);i(w),i(f),k(()=>E(U,e(N))),c(t,f)};b(()=>x(ye,t=>{e(N)&&t(D)}),"if",u,337,3)}var F=o(ye,2),xe=o(s(F),2),se=s(xe),he=o(s(se),2),q=s(he,!0);i(he),i(se);var H=o(se,2),ke=o(s(H),2),Ae=s(ke);{var de=t=>{var f=re();k(()=>E(f,`Repository: ${T(r()),g(()=>r().repo_name)??""}`)),c(t,f)},je=t=>{var f=Q(),w=P(f);{var U=y=>{var S=re();k(()=>E(S,`Organization: ${T(r()),g(()=>r().org_name)??""}`)),c(y,S)},ne=y=>{var S=Q(),z=P(S);{var Z=h=>{var m=re();k(()=>E(m,`Enterprise: ${T(r()),g(()=>r().enterprise_name)??""}`)),c(h,m)},ee=h=>{var m=re("Unknown Entity");c(h,m)};b(()=>x(z,h=>{T(r()),g(()=>r().enterprise_name)?h(Z):h(ee,!1)},!0),"if",u,356,7)}c(y,S)};b(()=>x(w,y=>{T(r()),g(()=>r().org_name)?y(U):y(ne,!1)},!0),"if",u,355,7)}c(t,f)};b(()=>x(Ae,t=>{T(r()),g(()=>r().repo_name)?t(de):t(je,!1)}),"if",u,354,7)}i(ke),i(H),i(xe),i(F);var Ie=o(F,2),gr=o(s(Ie),2);A(gr),i(Ie);var Je=o(Ie,2),vr=o(s(Je),2),Ne=s(vr),br=o(s(Ne),2);A(br),i(Ne);var Ce=o(Ne,2),mr=o(s(Ce),2);A(mr),i(Ce);var Pe=o(Ce,2),Ge=o(s(Pe),2);k(()=>{e($),or(()=>{})});var Le=s(Ge);Le.value=Le.__value="linux";var _r=o(Le);_r.value=_r.__value="windows",i(Ge),i(Pe);var Be=o(Pe,2),De=o(s(Be),2);k(()=>{e(ae),or(()=>{})});var Fe=s(De);Fe.value=Fe.__value="amd64";var yr=o(Fe);yr.value=yr.__value="arm64",i(De),i(Be);var xr=o(Be,2),Qr=o(s(xr),2);{var Vr=t=>{var f=jt();c(t,f)},Xr=t=>{var f=Q(),w=P(f);{var U=y=>{var S=Jt(),z=P(S);k(()=>{e(C),or(()=>{e(O)})}),b(()=>kt(z,5,()=>e(O),wt,(h,m)=>{var K=It(),zr=s(K),ot=o(zr);{var st=ar=>{var jr=re();k(()=>E(jr,`- ${e(m),g(()=>e(m).description)??""}`)),c(ar,jr)};b(()=>x(ot,ar=>{e(m),g(()=>e(m).description)&&ar(st)}),"if",u,453,10)}i(K);var Ar={};k(()=>{E(zr,`${e(m),g(()=>e(m).name)??""} ${e(m),g(()=>n(e(m).owner_id,"system")?"(System)":"")??""} `),Ar!==(Ar=(e(m),g(()=>e(m).id)))&&(K.value=(K.__value=(e(m),g(()=>e(m).id)))??"")}),c(h,K)}),"each",u,450,8),i(z);var Z=o(z,2),ee=s(Z);i(Z),k(h=>E(ee,`Templates define how the runner software is installed and configured. - Showing templates for ${h??""} ${e($)??""}.`),[()=>g(Oe)]),dr(z,()=>e(C),h=>l(C,h)),c(y,S)},ne=y=>{var S=Nt(),z=s(S),Z=s(z);i(z);var ee=o(z,2),h=s(ee);sr(),i(ee),i(S),k((m,K)=>{E(Z,`No templates found for ${m??""} ${e($)??""}.`),Et(h,"href",K)},[()=>g(Oe),()=>(T(Ir),g(()=>Ir("/templates")))]),c(y,S)};b(()=>x(w,y=>{e(O),g(()=>e(O).length>0)?y(U):y(ne,!1)},!0),"if",u,444,6)}c(t,f)};b(()=>x(Qr,t=>{e(Re)?t(Vr):t(Xr,!1)}),"if",u,439,6)}i(xr),i(vr),i(Je);var qe=o(Je,2),hr=o(s(qe),2),We=s(hr),He=o(s(We),2);A(He),i(We);var Ke=o(We,2),Qe=o(s(Ke),2);A(Qe),i(Ke);var kr=o(Ke,2),wr=o(s(kr),2);A(wr),i(kr),i(hr),i(qe);var Ve=o(qe,2),Xe=o(s(Ve),2),Ye=s(Xe),Sr=o(s(Ye),2);A(Sr),i(Ye);var Er=o(Ye,2),Tr=o(s(Er),2);A(Tr),i(Er),i(Xe);var Ze=o(Xe,2),Mr=s(Ze),Yr=o(s(Mr),2);b(()=>Rt(Yr,{rows:4,placeholder:"{}",get value(){return e(B)},set value(t){l(B,t)},$$legacy:!0}),"component",u,561,5,{componentTag:"JsonEditor"}),i(Mr),i(Ze);var er=o(Ze,2),Rr=s(er);A(Rr),sr(2),i(er);var Or=o(er,2),rr=s(Or),we=s(rr);A(we);var Zr=o(we,2);sr(2),i(rr);var et=o(rr,2);{var rt=t=>{var f=Ct(),w=o(s(f),2),U=s(w),ne=o(U);i(w),i(f),k(y=>E(U,`Shell access requires agent mode to be enabled on the ${y??""}. `),[()=>g(Dr)]),ir("click",ne,()=>l(V,!0)),c(t,f)};b(()=>x(et,t=>{e(J)||t(rt)}),"if",u,605,5)}i(Or),i(Ve);var $r=o(Ve,2),Ur=s($r),tr=o(Ur,2),tt=s(tr);{var at=t=>{var f=Pt();c(t,f)},it=t=>{var f=re("Update Scale Set");c(t,f)};b(()=>x(tt,t=>{e(le)?t(at):t(it,!1)}),"if",u,639,5)}i(tr),i($r),i(Y),i(p),k(()=>{E(oe,`Update Scale Set ${T(r()),g(()=>r().name)??""}`),E(q,(T(r()),g(()=>r().provider_name))),nr(He,1,`w-full px-3 py-2 border ${e(N)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),nr(Qe,1,`w-full px-3 py-2 border ${e(N)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),we.disabled=!e(J),nr(Zr,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(J)?"":"opacity-50"}`),tr.disabled=e(le)||n(e(N),"",!1)}),W(gr,()=>e(ue),t=>l(ue,t)),W(br,()=>e(pe),t=>l(pe,t)),W(mr,()=>e(fe),t=>l(fe,t)),dr(Ge,()=>e($),t=>l($,t)),dr(De,()=>e(ae),t=>l(ae,t)),W(He,()=>e(L),t=>l(L,t)),W(Qe,()=>e(G),t=>l(G,t)),W(wr,()=>e(ce),t=>l(ce,t)),W(Sr,()=>e(ge),t=>l(ge,t)),W(Tr,()=>e(ve),t=>l(ve,t)),Jr(Rr,()=>e(be),t=>l(be,t)),Jr(we,()=>e(ie),t=>l(ie,t)),ir("click",Ur,()=>Me("close")),ir("submit",Y,Tt(qr)),c(d,p)}),$$slots:{default:!0}}),"component",u,322,0,{componentTag:"Modal"});var Wr=o(cr,2);{var Hr=d=>{const a=bt(mt(()=>g(Fr)),"entity");e(a);var p=Q(),M=P(p);{var me=oe=>{var Y=Q(),_e=P(Y);{var ze=D=>{b(()=>Ot(D,{get repository(){return e(a)},$$events:{close:()=>l(V,!1),submit:F=>Ue(F.detail)}}),"component",u,658,3,{componentTag:"UpdateRepositoryModal"})},ye=D=>{var F=Q(),xe=P(F);{var se=q=>{b(()=>$t(q,{get organization(){return e(a)},$$events:{close:()=>l(V,!1),submit:H=>Ue(H.detail)}}),"component",u,664,3,{componentTag:"UpdateOrganizationModal"})},he=q=>{var H=Q(),ke=P(H);{var Ae=de=>{b(()=>Ut(de,{get enterprise(){return e(a)},$$events:{close:()=>l(V,!1),submit:je=>Ue(je.detail)}}),"component",u,670,3,{componentTag:"UpdateEnterpriseModal"})};b(()=>x(ke,de=>{T(r()),g(()=>r().enterprise_id)&&de(Ae)},!0),"if",u,669,2)}c(q,H)};b(()=>x(xe,q=>{T(r()),g(()=>r().org_id)?q(se):q(he,!1)},!0),"if",u,663,2)}c(D,F)};b(()=>x(_e,D=>{T(r()),g(()=>r().repo_id)?D(ze):D(ye,!1)}),"if",u,657,2)}c(oe,Y)};b(()=>x(M,oe=>{e(a)&&oe(me)}),"if",u,656,1)}c(d,p)};b(()=>x(Wr,d=>{e(V)&&d(Hr)}),"if",u,654,0)}c(Pr,fr);var Kr=vt({...nt()});return Lr(),Kr}export{u as U}; diff --git a/webapp/assets/_app/immutable/chunks/CbREEdny.js b/webapp/assets/_app/immutable/chunks/CbREEdny.js new file mode 100644 index 00000000..40ee0679 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/CbREEdny.js @@ -0,0 +1 @@ +import{f as j,s as G,e as g,a as S}from"./o8CdT7B0.js";import{i as D}from"./ChJfoPF0.js";import{p as E,v as H,c as t,r,s as u,u as p,h as m,n as f,t as I,a as q}from"./DUMcBckj.js";import{h as y,s as h}from"./_9uqtkkk.js";import{p as v}from"./i7pKks78.js";import{g as o}from"./DQsxKNC2.js";var z=j('
');function M(x,s){E(s,!1);const k=H();let i=v(s,"selectedForgeType",12,""),_=v(s,"label",8,"Select Forge Type");function n(c){i(c),k("select",c)}D();var l=z(),d=t(l),F=t(d,!0);r(d);var b=u(d,2),e=t(b),w=t(e);y(w,()=>(m(o),p(()=>o("github","w-8 h-8")))),f(2),r(e);var a=u(e,2),T=t(a);y(T,()=>(m(o),p(()=>o("gitea","w-8 h-8")))),f(2),r(a),r(b),r(l),I(()=>{G(F,_()),h(e,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${i()==="github"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),h(a,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${i()==="gitea"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`)}),g("click",e,()=>n("github")),g("click",a,()=>n("gitea")),S(x,l),q()}export{M as F}; diff --git a/webapp/assets/_app/immutable/chunks/CdXRaxkX.js b/webapp/assets/_app/immutable/chunks/CdXRaxkX.js deleted file mode 100644 index 4704b0b6..00000000 --- a/webapp/assets/_app/immutable/chunks/CdXRaxkX.js +++ /dev/null @@ -1 +0,0 @@ -import{H as z,I as re,g as Q,e as ne,J as fe,K as ie,L as X,M as W,m as le,N as Z,O as K,P as D,Q as G,R as se,S as V,T as B,U as $,V as y,W as Y,X as ue,Y as te,Z as ve,_ as de,a0 as _e,a1 as oe,a2 as ce,E as he,a3 as Ee,a4 as me,a5 as pe,a6 as g,a7 as F,a8 as O,a9 as Te,aa as Ae,ab as k,ac as Ie,ad as Ne}from"./DzFKsO_V.js";function Me(s,n){return n}function we(s,n,e){for(var u=s.items,v=[],d=n.length,i=0;i0&&v.length===0&&e!==null;if(h){var T=e.parentNode;de(T),T.append(e),u.clear(),w(s,n[0].prev,n[d-1].next)}_e(v,()=>{for(var m=0;m{var _=e();return he(_)?_:_==null?[]:$(_)}),r,t;function l(){xe(t,r,h,A,i,v,n,u,e),d!==null&&(r.length===0?o?G(o):o=K(()=>d(i)):o!==null&&se(o,()=>{o=null}))}re(()=>{t??=Ee,r=Q(M);var _=r.length;if(x&&_===0)return;x=_===0;let p=!1;if(D){var I=me(i)===pe;I!==(_===0)&&(i=g(),X(i),F(!1),p=!0)}if(D){for(var C=null,c,a=0;a<_;a++){if(O.nodeType===Te&&O.data===Ae){i=O,p=!0,F(!1);break}var f=r[a],E=u(f,a);c=P(O,h,C,null,f,E,a,v,n,e),h.items.set(E,c),C=c}_>0&&X(g())}if(D)_===0&&d&&(o=K(()=>d(i)));else if(fe()){var H=new Set,b=ie;for(a=0;a<_;a+=1){f=r[a],E=u(f,a);var S=h.items.get(E)??A.get(E);S?(n&(Y|V))!==0&&j(S,f,a,n):(c=P(null,h,null,null,f,E,a,v,n,e,!0),A.set(E,c)),H.add(E)}for(const[N,L]of h.items)H.has(N)||b.skipped_effects.add(L.e);b.add_callback(l)}else l();p&&F(!0),Q(M)}),D&&(i=O)}function xe(s,n,e,u,v,d,i,h,T){var m=(i&Ne)!==0,o=(i&(Y|V))!==0,x=n.length,A=e.items,M=e.first,r=M,t,l=null,_,p=[],I=[],C,c,a,f;if(m)for(f=0;f0){var ee=(i&k)!==0&&x===0?v:null;if(m){for(f=0;f{if(_!==void 0)for(a of _)a.a?.apply()}),s.first=e.first&&e.first.e,s.last=l&&l.e;for(var ae of u.values())y(ae.e);u.clear()}function j(s,n,e,u){(u&Y)!==0&&W(s.v,n),(u&V)!==0?W(s.i,e):s.i=e}function P(s,n,e,u,v,d,i,h,T,m,o){var x=(T&Y)!==0,A=(T&ue)===0,M=x?A?le(v,!1,!1):Z(v):v,r=(T&V)===0?i:Z(i);x&&(M.trace=()=>{var _=typeof r=="number"?i:r.v;m()[_]});var t={i:r,v:M,k:d,a:null,e:null,prev:e,next:u};try{if(s===null){var l=document.createDocumentFragment();l.append(s=z())}return t.e=K(()=>h(s,M,r,m),D),t.e.prev=e&&e.e,t.e.next=u&&u.e,e===null?o||(n.first=t):(e.next=t,e.e.next=t.e),u!==null&&(u.prev=t,u.e.prev=t.e),t}finally{}}function J(s,n,e){for(var u=s.next?s.next.e.nodes_start:e,v=n?n.e.nodes_start:e,d=s.e.nodes_start;d!==null&&d!==u;){var i=te(d);v.before(d),d=i}}function w(s,n,e){n===null?s.first=e:(n.next=e,n.e.next=e&&e.e),e!==null&&(e.prev=n,e.e.prev=n&&n.e)}export{Se as e,Me as i}; diff --git a/webapp/assets/_app/immutable/chunks/Cfss7k9J.js b/webapp/assets/_app/immutable/chunks/Cfss7k9J.js deleted file mode 100644 index 45284670..00000000 --- a/webapp/assets/_app/immutable/chunks/Cfss7k9J.js +++ /dev/null @@ -1 +0,0 @@ -import{c as at,a as F,s as x,b,l as rt,f as G,t as kt,d as dt}from"./CxOx-TIJ.js";import{i as st}from"./3NxSoY2_.js";import{p as ot,c as e,r as t,s as r,d as v,h as m,u as s,w as pt,t as Y,a as nt,i as X,F as k,B as wt,f as lt,g as N}from"./DzFKsO_V.js";import{p as D,i as O,s as Ct,a as Tt,v as Pt}from"./B_jyf0qs.js";import{d as gt,c as ct,B as Et}from"./BguOOs3x.js";import{b as $,e as Bt}from"./JkzpcrZD.js";import{B as Q}from"./1CdJgrM6.js";import{w as It}from"./DoJxysSt.js";import{e as vt}from"./Penjr-j0.js";import{D as Nt,E as St,G as mt,S as Dt}from"./C2FKJqnN.js";import{e as Mt,i as At}from"./CdXRaxkX.js";import{b as Ut}from"./Dtavz0EF.js";V[k]="src/lib/components/EntityInformation.svelte";var jt=F(G('

ID
Created At
Updated At
Status
Pool Balancer Type
'),V[k],[[63,0,[[64,1,[[65,2],[66,2,[[67,3,[[68,4],[69,4]]],[71,3,[[72,4],[73,4]]],[75,3,[[76,4],[77,4]]],[79,3,[[80,4],[81,4]]],[89,3,[[90,4],[91,4]]],[93,3,[[94,4],[95,4,[[96,5,[[98,6,[[99,7]]]]]]]]]]]]]]]]);function V(H,c){at(new.target),ot(c,!1,V);let a=D(c,"entity",8),f=D(c,"entityType",8);function U(){return`${f().charAt(0).toUpperCase()+f().slice(1)} Information`}function d(){if(!a().endpoint?.base_url)return"#";const n=a().endpoint.base_url.replace(/\/$/,"");switch(f()){case"repository":const et=a();return`${n}/${et.owner}/${a().name}`;case"organization":return`${n}/${a().name}`;case"enterprise":return`${n}/enterprises/${a().name}`;default:return"#"}}function M(){return`${f().charAt(0).toUpperCase()+f().slice(1)} URL`}function q(){const n=a().pool_balancing_type;if(!n||X(n,"")||X(n,"none"))return"Round Robin (default)";switch(n){case"roundrobin":return"Round Robin";case"pack":return"Pack";default:return n}}st();var p=jt(),y=e(p),w=e(y),A=e(w,!0);t(w);var C=r(w,2),i=e(C),_=r(e(i),2),T=e(_,!0);t(_),t(i);var u=r(i,2),j=r(e(u),2),L=e(j,!0);t(j),t(u);var P=r(u,2),R=r(e(P),2),W=e(R,!0);t(R),t(P);var E=r(P,2),o=r(e(E),2),l=e(o);{var B=n=>{v(()=>Q(n,{variant:"success",text:"Running"}),"component",V,83,6,{componentTag:"Badge"})},J=n=>{v(()=>Q(n,{variant:"error",text:"Stopped"}),"component",V,85,6,{componentTag:"Badge"})};v(()=>O(l,n=>{m(a()),s(()=>a().pool_manager_status?.running)?n(B):n(J,!1)}),"if",V,82,5)}t(o),t(E);var I=r(E,2),z=r(e(I),2),h=e(z,!0);t(z),t(I);var Z=r(I,2),K=e(Z),ut=e(K,!0);t(K);var it=r(K,2),tt=e(it),xt=e(tt);return pt(),t(tt),t(it),t(Z),t(C),t(y),t(p),Y((n,et,ft,yt,ht,_t,bt)=>{x(A,n),x(T,(m(a()),s(()=>a().id))),x(L,et),x(W,ft),x(h,yt),x(ut,ht),gt(tt,"href",_t),x(xt,`${bt??""} `)},[()=>s(U),()=>(m($),m(a()),s(()=>$(a().created_at))),()=>(m($),m(a()),s(()=>$(a().updated_at))),()=>s(q),()=>s(M),()=>s(d),()=>s(d)]),b(H,p),nt({...rt()})}S[k]="src/lib/components/PoolsSection.svelte";var Lt=F(G('

No pools configured

'),S[k],[[98,3,[[99,4,[[100,5],[101,5]]],[103,4],[104,4],[105,4]]]]),Rt=F(G(''),S[k],[[90,0,[[91,1,[[92,2,[[93,3],[94,3]]]]]]]]);function S(H,c){at(new.target),ot(c,!1,S);const[a,f]=Ct(),U=()=>(Pt(vt,"eagerCache"),Tt(vt,"$eagerCache",a));let d=D(c,"pools",8),M=D(c,"entityType",8),q=D(c,"entityId",8,""),p=D(c,"entityName",8,"");const y=wt();function w(){y("addPool",{entityType:M(),entityId:q(),entityName:p()})}const A=[{key:"id",title:"ID",flexible:!0,cellComponent:St,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:mt,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:mt,cellProps:{field:"provider_name"}},{key:"status",title:"Status",cellComponent:Dt,cellProps:{statusType:"enabled"}}],C={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:o=>Bt(o,U())},badges:[{type:"custom",value:o=>({variant:o.enabled?"success":"error",text:o.enabled?"Enabled":"Disabled"})}]};st();var i=Rt(),_=e(i),T=e(_),u=e(T),j=e(u);t(u);var L=r(u,2);t(T);var P=r(T,2);{var R=o=>{var l=Lt(),B=r(e(l),4),J=e(B);t(B);var I=r(B,2),z=e(I);v(()=>Et(z,{variant:"primary",size:"sm",$$events:{click:w},children:It(S,(h,Z)=>{pt();var K=kt("Add Pool");b(h,K)}),$$slots:{default:!0}}),"component",S,106,5,{componentTag:"Button"}),t(I),t(l),Y(()=>x(J,`No pools configured for this ${M()??""}.`)),b(o,l)},W=o=>{v(()=>Nt(o,{get columns(){return A},get data(){return d()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return m(d()),s(()=>d().length)},totalPages:1,get totalItems(){return m(d()),s(()=>d().length)},itemName:"pools",emptyTitle:"No pools configured",get emptyMessage(){return`No pools configured for this ${M()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return C}}),"component",S,116,3,{componentTag:"DataTable"})};v(()=>O(P,o=>{m(d()),s(()=>X(d().length,0))?o(R):o(W,!1)}),"if",S,96,2)}t(_),t(i),Y(o=>{x(j,`Pools (${m(d()),s(()=>d().length)??""})`),gt(L,"href",o)},[()=>(m(ct),s(()=>ct("/pools")))]),b(H,i);var E=nt({...rt()});return f(),E}g[k]="src/lib/components/EventsSection.svelte";var zt=F(G('

'),g[k],[[16,5,[[17,6,[[18,7],[19,7,[[27,8]]]]]]]]),$t=F(G('

Events

'),g[k],[[11,1,[[12,2,[[13,3],[14,3]]]]]]),Vt=F(G('

Events

No events available

'),g[k],[[36,1,[[37,2,[[38,3],[39,3,[[40,4,[[41,5]]],[43,4]]]]]]]]);function g(H,c){at(new.target),ot(c,!1,g);let a=D(c,"events",8),f=D(c,"eventsContainer",12,void 0);st();var U=dt(),d=lt(U);{var M=p=>{var y=$t(),w=e(y),A=r(e(w),2);v(()=>Mt(A,5,a,At,(C,i)=>{var _=zt(),T=e(_),u=e(T),j=e(u,!0);t(u);var L=r(u,2),P=e(L);{var R=l=>{v(()=>Q(l,{variant:"error",text:"Error"}),"component",g,21,9,{componentTag:"Badge"})},W=l=>{var B=dt(),J=lt(B);{var I=h=>{v(()=>Q(h,{variant:"warning",text:"Warning"}),"component",g,23,9,{componentTag:"Badge"})},z=h=>{v(()=>Q(h,{variant:"info",text:"Info"}),"component",g,25,9,{componentTag:"Badge"})};v(()=>O(J,h=>{N(i),s(()=>X((N(i).event_level||"info").toLowerCase(),"warning"))?h(I):h(z,!1)},!0),"if",g,22,8)}b(l,B)};v(()=>O(P,l=>{N(i),s(()=>X((N(i).event_level||"info").toLowerCase(),"error"))?l(R):l(W,!1)}),"if",g,20,8)}var E=r(P,2),o=e(E,!0);t(E),t(L),t(T),t(_),Y(l=>{x(j,(N(i),s(()=>N(i).message))),x(o,l)},[()=>(m($),N(i),s(()=>$(N(i).created_at)))]),b(C,_)}),"each",g,15,4),t(A),Ut(A,C=>f(C),()=>f()),t(w),t(y),b(p,y)},q=p=>{var y=Vt();b(p,y)};v(()=>O(d,p=>{m(a()),s(()=>a()&&a().length>0)?p(M):p(q,!1)}),"if",g,10,0)}return b(H,U),nt({...rt()})}export{V as E,S as P,g as a}; diff --git a/webapp/assets/_app/immutable/chunks/ChJfoPF0.js b/webapp/assets/_app/immutable/chunks/ChJfoPF0.js new file mode 100644 index 00000000..5531e906 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/ChJfoPF0.js @@ -0,0 +1 @@ +import{ac as g,ad as d,ae as l,u as m,af as b,ag as i,g as p,h,ah as v,ai as k}from"./DUMcBckj.js";function x(t=!1){const a=g,e=a.l.u;if(!e)return;let o=()=>h(a.s);if(t){let n=0,s={};const _=v(()=>{let c=!1;const r=a.s;for(const f in r)r[f]!==s[f]&&(s[f]=r[f],c=!0);return c&&n++,n});o=()=>p(_)}e.b.length&&d(()=>{u(a,o),i(e.b)}),l(()=>{const n=m(()=>e.m.map(b));return()=>{for(const s of n)typeof s=="function"&&s()}}),e.a.length&&l(()=>{u(a,o),i(e.a)})}function u(t,a){if(t.l.s)for(const e of t.l.s)p(e);a()}k();export{x as i}; diff --git a/webapp/assets/_app/immutable/chunks/Ckj0xxjl.js b/webapp/assets/_app/immutable/chunks/Ckj0xxjl.js new file mode 100644 index 00000000..60bd1a86 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/Ckj0xxjl.js @@ -0,0 +1 @@ +import{f as k,s as m,a as v,t as p}from"./o8CdT7B0.js";import"./ChJfoPF0.js";import{c as a,s as f,r as i,t as g,n as H}from"./DUMcBckj.js";import{p as t,i as u}from"./i7pKks78.js";import{s as Y,h as Z,B as j}from"./_9uqtkkk.js";var $=k('
'),ee=k('
'),te=k('

');function se(z,e){let E=t(e,"title",8),M=t(e,"subtitle",8),y=t(e,"forgeIcon",8,""),h=t(e,"onEdit",8,null),x=t(e,"onDelete",8,null),B=t(e,"editLabel",8,"Edit"),C=t(e,"deleteLabel",8,"Delete"),P=t(e,"editVariant",8,"secondary"),A=t(e,"deleteVariant",8,"danger"),q=t(e,"editDisabled",8,!1),F=t(e,"deleteDisabled",8,!1),G=t(e,"editIcon",8,""),J=t(e,"deleteIcon",8,""),K=t(e,"titleClass",8,"");var _=te(),D=a(_),w=a(D),b=a(w),I=a(b);{var N=l=>{var r=$(),c=a(r);Z(c,y),i(r),v(l,r)};u(I,l=>{y()&&l(N)})}var L=f(I,2),o=a(L),O=a(o,!0);i(o);var V=f(o,2),Q=a(V,!0);i(V),i(L),i(b);var R=f(b,2);{var S=l=>{var r=ee(),c=a(r);{var T=d=>{j(d,{get variant(){return P()},size:"md",get disabled(){return q()},get icon(){return G()},$$events:{click(...s){h()?.apply(this,s)}},children:(s,X)=>{H();var n=p();g(()=>m(n,B())),v(s,n)},$$slots:{default:!0}})};u(c,d=>{h()&&d(T)})}var U=f(c,2);{var W=d=>{j(d,{get variant(){return A()},size:"md",get disabled(){return F()},get icon(){return J()},$$events:{click(...s){x()?.apply(this,s)}},children:(s,X)=>{H();var n=p();g(()=>m(n,C())),v(s,n)},$$slots:{default:!0}})};u(U,d=>{x()&&d(W)})}i(r),v(l,r)};u(R,l=>{(h()||x())&&l(S)})}i(w),i(D),i(_),g(()=>{Y(o,1,`text-2xl font-bold text-gray-900 dark:text-white ${K()??""}`),m(O,E()),m(Q,M())}),v(z,_)}export{se as D}; diff --git a/webapp/assets/_app/immutable/chunks/CmC5OaZC.js b/webapp/assets/_app/immutable/chunks/CmC5OaZC.js new file mode 100644 index 00000000..32660d98 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/CmC5OaZC.js @@ -0,0 +1 @@ +import{f as l,s as w,a as r,c as h}from"./o8CdT7B0.js";import"./ChJfoPF0.js";import{s as x,c as n,r as f,t as N,f as y}from"./DUMcBckj.js";import{p as m,i as p}from"./i7pKks78.js";import{s as O}from"./_9uqtkkk.js";var P=l('
'),Q=l('
'),R=l('
'),S=l('
'),U=l('
');function $(k,s){let z=m(s,"title",8),M=m(s,"content",8),t=m(s,"position",8,"top"),T=m(s,"width",8,"w-80");var b=U(),u=x(n(b),2),c=n(u),j=n(c,!0);f(c);var _=x(c,2),B=n(_,!0);f(_);var C=x(_,2);{var q=a=>{var i=P();r(a,i)},A=a=>{var i=h(),D=y(i);{var E=o=>{var v=Q();r(o,v)},F=o=>{var v=h(),G=y(v);{var H=e=>{var d=R();r(e,d)},I=e=>{var d=h(),J=y(d);{var K=g=>{var L=S();r(g,L)};p(J,g=>{t()==="right"&&g(K)},!0)}r(e,d)};p(G,e=>{t()==="left"?e(H):e(I,!1)},!0)}r(o,v)};p(D,o=>{t()==="bottom"?o(E):o(F,!1)},!0)}r(a,i)};p(C,a=>{t()==="top"?a(q):a(A,!1)})}f(u),f(b),N(()=>{O(u,1,`absolute ${t()==="top"?"bottom-full":t()==="bottom"?"top-full":t()==="left"?"right-full top-1/2 -translate-y-1/2":"left-full top-1/2 -translate-y-1/2"} left-1/2 transform -translate-x-1/2 ${t()==="top"?"mb-2":t()==="bottom"?"mt-2":"mx-2"} ${T()??""} p-3 bg-gray-900 text-white text-xs rounded-lg shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50`),w(j,z()),w(B,M())}),r(k,b)}export{$ as T}; diff --git a/webapp/assets/_app/immutable/chunks/C14okzlM.js b/webapp/assets/_app/immutable/chunks/CnZ9nHem.js similarity index 93% rename from webapp/assets/_app/immutable/chunks/C14okzlM.js rename to webapp/assets/_app/immutable/chunks/CnZ9nHem.js index 9947a323..e552d662 100644 --- a/webapp/assets/_app/immutable/chunks/C14okzlM.js +++ b/webapp/assets/_app/immutable/chunks/CnZ9nHem.js @@ -1 +1 @@ -const w=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function x(t){const s=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${_(t).map(i=>{const o=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(i);if(o)return s.push({name:o[1],matcher:o[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const l=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(i);if(l)return s.push({name:l[1],matcher:l[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!i)return;const n=i.split(/\[(.+?)\](?!\])/);return"/"+n.map((e,r)=>{if(r%2){if(e.startsWith("x+"))return h(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith("u+"))return h(String.fromCharCode(...e.slice(2).split("-").map(g=>parseInt(g,16))));const c=w.exec(e),[,u,p,m,d]=c;return s.push({name:m,matcher:d,optional:!!u,rest:!!p,chained:p?r===1&&n[0]==="":!1}),p?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return h(e)}).join("")}).join("")}/?$`),params:s}}function $(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function _(t){return t.slice(1).split("/").filter($)}function j(t,s,f){const i={},o=t.slice(1),l=o.filter(a=>a!==void 0);let n=0;for(let a=0;ac).join("/"),n=0),r===void 0)if(e.rest)r="";else continue;if(!e.matcher||f[e.matcher](r)){i[e.name]=r;const c=s[a+1],u=o[a+1];c&&!c.rest&&c.optional&&u&&e.chained&&(n=0),!c&&!u&&Object.keys(i).length===l.length&&(n=0);continue}if(e.optional&&e.chained){n++;continue}return}if(!n)return i}function h(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}const b=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function W(t,s){const f=_(t),i=t!="/"&&t.endsWith("/");return"/"+f.map(o=>o.replace(b,(l,n,a,e)=>{const r=s[e];if(!r){if(n||a&&r!==void 0)return"";throw new Error(`Missing parameter '${e}' in route ${t}`)}if(r.startsWith("/")||r.endsWith("/"))throw new Error(`Parameter '${e}' in route ${t} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return r})).filter(Boolean).join("/")+(i?"/":"")}const v=globalThis.__sveltekit_1ey6u51?.base??"";globalThis.__sveltekit_1ey6u51?.assets;export{v as b,j as e,x as p,W as r}; +const w=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function x(t){const s=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${_(t).map(i=>{const o=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(i);if(o)return s.push({name:o[1],matcher:o[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const l=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(i);if(l)return s.push({name:l[1],matcher:l[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!i)return;const n=i.split(/\[(.+?)\](?!\])/);return"/"+n.map((e,r)=>{if(r%2){if(e.startsWith("x+"))return h(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith("u+"))return h(String.fromCharCode(...e.slice(2).split("-").map(g=>parseInt(g,16))));const c=w.exec(e),[,u,p,m,d]=c;return s.push({name:m,matcher:d,optional:!!u,rest:!!p,chained:p?r===1&&n[0]==="":!1}),p?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return h(e)}).join("")}).join("")}/?$`),params:s}}function $(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function _(t){return t.slice(1).split("/").filter($)}function j(t,s,f){const i={},o=t.slice(1),l=o.filter(a=>a!==void 0);let n=0;for(let a=0;ac).join("/"),n=0),r===void 0)if(e.rest)r="";else continue;if(!e.matcher||f[e.matcher](r)){i[e.name]=r;const c=s[a+1],u=o[a+1];c&&!c.rest&&c.optional&&u&&e.chained&&(n=0),!c&&!u&&Object.keys(i).length===l.length&&(n=0);continue}if(e.optional&&e.chained){n++;continue}return}if(!n)return i}function h(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}const b=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function W(t,s){const f=_(t),i=t!="/"&&t.endsWith("/");return"/"+f.map(o=>o.replace(b,(l,n,a,e)=>{const r=s[e];if(!r){if(n||a&&r!==void 0)return"";throw new Error(`Missing parameter '${e}' in route ${t}`)}if(r.startsWith("/")||r.endsWith("/"))throw new Error(`Parameter '${e}' in route ${t} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return r})).filter(Boolean).join("/")+(i?"/":"")}const v=globalThis.__sveltekit_135p731?.base??"/ui",k=globalThis.__sveltekit_135p731?.assets??v??"";export{k as a,v as b,j as e,x as p,W as r}; diff --git a/webapp/assets/_app/immutable/chunks/Ct5kWObc.js b/webapp/assets/_app/immutable/chunks/Ct5kWObc.js deleted file mode 100644 index cdd4efd2..00000000 --- a/webapp/assets/_app/immutable/chunks/Ct5kWObc.js +++ /dev/null @@ -1 +0,0 @@ -import{c as D,a as F,e as P,b as S,l as T,f as q}from"./CxOx-TIJ.js";import{i as I}from"./3NxSoY2_.js";import{p as N,B as G,l as t,h as s,g as e,b as J,t as K,a as O,m as a,u as Q,F as C,c as j,j as o,i as R,r as z}from"./DzFKsO_V.js";import{i as U,h as W,s as X,j as Y}from"./BguOOs3x.js";import{l as M,p as d}from"./B_jyf0qs.js";p[C]="src/lib/components/ActionButton.svelte";var Z=F(q(''),p[C],[[65,0,[[74,1]]]]);function p(A,i){D(new.target);const L=M(i,["children","$$slots","$$events","$$legacy"]),H=M(L,["action","disabled","title","ariaLabel","size"]);N(i,!1,p);const u=a(),h=a(),k=a(),f=a(),m=a(),g=a(),n=a(),b=a(),x=a(),V=G();let r=d(i,"action",8,"edit"),w=d(i,"disabled",8,!1),_=d(i,"title",8,""),y=d(i,"ariaLabel",8,""),c=d(i,"size",8,"md");function B(){w()||V("click")}t(()=>{},()=>{o(u,"transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 dark:focus:ring-offset-gray-900 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50")}),t(()=>s(c()),()=>{o(h,{sm:"p-1",md:"p-2"}[c()])}),t(()=>s(r()),()=>{o(k,{edit:"text-indigo-600 dark:text-indigo-400 hover:text-indigo-900 dark:hover:text-indigo-300 focus:ring-indigo-500",delete:"text-red-600 dark:text-red-400 hover:text-red-900 dark:hover:text-red-300 focus:ring-red-500",view:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-300 focus:ring-gray-500",add:"text-green-600 dark:text-green-400 hover:text-green-900 dark:hover:text-green-300 focus:ring-green-500",copy:"text-blue-600 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-300 focus:ring-blue-500",download:"text-blue-600 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-300 focus:ring-blue-500",shell:"text-green-600 dark:text-green-400 hover:text-green-900 dark:hover:text-green-300 focus:ring-green-500"}[r()])}),t(()=>s(c()),()=>{o(f,R(c(),"sm")?"h-4 w-4":"h-5 w-5")}),t(()=>(e(u),e(h),e(k)),()=>{o(m,[e(u),e(h),e(k)].join(" "))}),t(()=>{},()=>{o(g,{edit:'',delete:'',view:'',add:'',copy:'',download:'',shell:''})}),t(()=>{},()=>{o(n,{edit:"Edit",delete:"Delete",view:"View",add:"Add",copy:"Clone",download:"Download",shell:"Shell"})}),t(()=>(s(_()),e(n),s(r())),()=>{o(b,_()||e(n)[r()])}),t(()=>(s(y()),e(n),s(r())),()=>{o(x,y()||`${e(n)[r()]} item`)}),J(),I();var l=Z();U(l,()=>({type:"button",class:e(m),disabled:w(),title:e(b),"aria-label":e(x),...H}));var v=j(l),E=j(v);return W(E,()=>(e(g),s(r()),Q(()=>e(g)[r()])),!0),z(v),z(l),K(()=>X(v,0,Y(e(f)))),P("click",l,B),S(A,l),O({...T()})}export{p as A}; diff --git a/webapp/assets/_app/immutable/chunks/CxOx-TIJ.js b/webapp/assets/_app/immutable/chunks/CxOx-TIJ.js deleted file mode 100644 index 6cb54ffe..00000000 --- a/webapp/assets/_app/immutable/chunks/CxOx-TIJ.js +++ /dev/null @@ -1,2 +0,0 @@ -import{aZ as ee,a_ as te,a$ as ae,P as p,a9 as S,b0 as R,a5 as ne,aa as V,ac as B,a1 as m,_ as W,b1 as D,aQ as M,b2 as U,a3 as A,aD as re,aG as oe,E as ie,F as x,b3 as se,H as N,I as ue,b4 as le,Y as k,a7 as w,L,a8 as d,b5 as ce,b6 as G,b7 as fe,b8 as de,a2 as Y,b9 as C,ba as $,bb as _e,bc as pe,bd as ve,U as he,be as me,O as ye,p as ge,al as j,a as Ee,bf as be,bg as we}from"./DzFKsO_V.js";const Te=/\r/g;function Re(e){e=e.replace(Te,"");let t=5381,a=e.length;for(;a--;)t=(t<<5)-t^e.charCodeAt(a);return(t>>>0).toString(36)}function xe(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const Ne=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Fe(e){return Ne.includes(e)}const Le={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function He(e){return e=e.toLowerCase(),Le[e]??e}const Ae=["touchstart","touchmove"];function Oe(e){return Ae.includes(e)}function Ve(e){return e?.replace(/\//g,"/​")}function Be(e,t,a){return(...o)=>{const r=e(...o);var n=p?r:r.nodeType===ee?r.firstChild:r;return q(n,t,a),r}}function Se(e,t,a){e.__svelte_meta={parent:ae,loc:{file:t,line:a[0],column:a[1]}},a[2]&&q(e.firstChild,t,a[2])}function q(e,t,a){for(var o=0,r=0;e&&o{document.activeElement===a&&e.focus()})}}function Ue(e){p&&m(e)!==null&&W(e)}let F=!1;function De(){F||(F=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function z(e){var t=U,a=A;D(null),M(null);try{return e()}finally{D(t),M(a)}}function Ge(e,t,a,o=a){e.addEventListener(t,()=>z(a));const r=e.__on_r;r?e.__on_r=()=>{r(),o(!0)}:e.__on_r=()=>o(!0),De()}const Q=new Set,I=new Set;function Me(e,t,a,o={}){function r(n){if(o.capture||T.call(t,n),!n.cancelBubble)return z(()=>a?.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?B(()=>{t.addEventListener(e,r,o)}):t.addEventListener(e,r,o),r}function Ye(e,t,a,o,r){var n={capture:o,passive:r},i=Me(e,t,a,n);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&re(()=>{t.removeEventListener(e,i,n)})}function je(e){for(var t=0;t{throw O});throw c}}finally{e.__root=t,delete e.currentTarget,D(y),M(_)}}}function qe(e,t,a,o,r,n=!1,i=!1){let u,s;try{u=e()}catch(l){s=l}if(typeof u!="function"&&(n||u!=null||s)){const l=o?.[x],y=r?` at ${l}:${r[0]}:${r[1]}`:` in ${l}`,_=a[0]?.eventPhase`"),s)throw s}u?.apply(t,a)}let v;function $e(){v=void 0}function ze(e){let t=null,a=p;var o;if(p){for(t=d,v===void 0&&(v=m(document.head));v!==null&&(v.nodeType!==S||v.data!==R);)v=k(v);v===null?w(!1):v=L(k(v))}p||(o=document.head.appendChild(N()));try{ue(()=>e(o),le)}finally{a&&(w(!0),v=d,L(t))}}function X(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function h(e,t){var a=A;a.nodes_start===null&&(a.nodes_start=e,a.nodes_end=t)}function Qe(e,t){var a=(t&G)!==0,o=(t&fe)!==0,r,n=!e.startsWith("");return()=>{if(p)return h(d,null),d;r===void 0&&(r=X(n?e:""+e),a||(r=m(r)));var i=o||ce?document.importNode(r,!0):r.cloneNode(!0);if(a){var u=m(i),s=i.lastChild;h(u,s)}else h(i,i);return i}}function ke(e,t,a="svg"){var o=!e.startsWith(""),r=(t&G)!==0,n=`<${a}>${o?e:""+e}`,i;return()=>{if(p)return h(d,null),d;if(!i){var u=X(n),s=m(u);if(r)for(i=document.createDocumentFragment();m(s);)i.appendChild(m(s));else i=m(s)}var l=i.cloneNode(!0);if(r){var y=m(l),_=l.lastChild;h(y,_)}else h(l,l);return l}}function Xe(e,t){return ke(e,t,"svg")}function Ze(e=""){if(!p){var t=N(e+"");return h(t,t),t}var a=d;return a.nodeType!==de&&(a.before(a=N()),L(a)),h(a,a),a}function Je(){if(p)return h(d,null),d;var e=document.createDocumentFragment(),t=document.createComment(""),a=N();return e.append(t,a),h(t,a),e}function Ke(e,t){if(p){A.nodes_end=d,Y();return}e!==null&&e.before(t)}function et(e,t){var a=t==null?"":typeof t=="object"?t+"":t;a!==(e.__t??=e.nodeValue)&&(e.__t=a,e.nodeValue=a+"")}function Ce(e,t){return Z(e,t)}function tt(e,t){C(),t.intro=t.intro??!1;const a=t.target,o=p,r=d;try{for(var n=m(a);n&&(n.nodeType!==S||n.data!==R);)n=k(n);if(!n)throw $;w(!0),L(n),Y();const i=Z(e,{...t,anchor:n});if(d===null||d.nodeType!==S||d.data!==V)throw _e(),$;return w(!1),i}catch(i){if(i instanceof Error&&i.message.split(` -`).some(u=>u.startsWith("https://svelte.dev/e/")))throw i;return i!==$&&console.warn("Failed to hydrate: ",i),t.recover===!1&&pe(),C(),W(a),w(!1),Ce(e,t)}finally{w(o),L(r),$e()}}const b=new Map;function Z(e,{target:t,anchor:a,props:o={},events:r,context:n,intro:i=!0}){C();var u=new Set,s=_=>{for(var c=0;c<_.length;c++){var f=_[c];if(!u.has(f)){u.add(f);var g=Oe(f);t.addEventListener(f,T,{passive:g});var E=b.get(f);E===void 0?(document.addEventListener(f,T,{passive:g}),b.set(f,1)):b.set(f,E+1)}}};s(he(Q)),I.add(s);var l=void 0,y=me(()=>{var _=a??t.appendChild(N());return ye(()=>{if(n){ge({});var c=j;c.c=n}r&&(o.$$events=r),p&&h(_,null),l=e(_,o)||{},p&&(A.nodes_end=d),n&&Ee()}),()=>{for(var c of u){t.removeEventListener(c,T);var f=b.get(c);--f===0?(document.removeEventListener(c,T),b.delete(c)):b.set(c,f)}I.delete(s),_!==a&&_.parentNode?.removeChild(_)}});return P.set(l,y),l}let P=new WeakMap;function at(e,t){const a=P.get(e);return a?(P.delete(e),a(t)):(ve(),Promise.resolve())}function nt(e){e&&be(e[x]??"a component",e.name)}function rt(){const e=j?.function;function t(a){we(a,e[x])}return{$destroy:()=>t("$destroy()"),$on:()=>t("$on(...)"),$set:()=>t("$set(...)")}}const Ie="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Ie);export{Fe as A,De as B,Be as a,Ke as b,nt as c,Je as d,Ye as e,Qe as f,Xe as g,ze as h,qe as i,Ge as j,Ve as k,rt as l,tt as m,Ce as n,h as o,X as p,Re as q,Ue as r,et as s,Ze as t,at as u,xe as v,Me as w,je as x,We as y,He as z}; diff --git a/webapp/assets/_app/immutable/chunks/Cy4PP0DI.js b/webapp/assets/_app/immutable/chunks/Cy4PP0DI.js deleted file mode 100644 index 0453ac5f..00000000 --- a/webapp/assets/_app/immutable/chunks/Cy4PP0DI.js +++ /dev/null @@ -1 +0,0 @@ -import{c as S,a as d,s as E,b as e,l as U,d as M,f as n}from"./CxOx-TIJ.js";import"./3NxSoY2_.js";import{p as V,s as T,c as b,r as c,d as u,i as a,t as W,a as X,f as z,F as i}from"./DzFKsO_V.js";import{p as _,i as g}from"./B_jyf0qs.js";import{s as Y}from"./BguOOs3x.js";t[i]="src/lib/components/Tooltip.svelte";var Z=d(n('
'),t[i],[[20,3]]),$=d(n('
'),t[i],[[22,3]]),tt=d(n('
'),t[i],[[24,3]]),rt=d(n('
'),t[i],[[26,3]]),at=d(n('
'),t[i],[[8,0,[[9,1,[[10,2]]],[14,1,[[15,2],[16,2]]]]]]);function t(F,v){S(new.target),V(v,!1,t);let j=_(v,"title",8),q=_(v,"content",8),r=_(v,"position",8,"top"),A=_(v,"width",8,"w-80");var h=at(),x=T(b(h),2),y=b(x),B=b(y,!0);c(y);var w=T(y,2),C=b(w,!0);c(w);var I=T(w,2);{var L=o=>{var f=Z();e(o,f)},N=o=>{var f=M(),D=z(f);{var G=s=>{var p=$();e(s,p)},H=s=>{var p=M(),J=z(p);{var K=l=>{var m=tt();e(l,m)},O=l=>{var m=M(),P=z(m);{var Q=k=>{var R=rt();e(k,R)};u(()=>g(P,k=>{a(r(),"right")&&k(Q)},!0),"if",t,25,2)}e(l,m)};u(()=>g(J,l=>{a(r(),"left")?l(K):l(O,!1)},!0),"if",t,23,2)}e(s,p)};u(()=>g(D,s=>{a(r(),"bottom")?s(G):s(H,!1)},!0),"if",t,21,2)}e(o,f)};u(()=>g(I,o=>{a(r(),"top")?o(L):o(N,!1)}),"if",t,19,2)}return c(x),c(h),W(()=>{Y(x,1,`absolute ${a(r(),"top")?"bottom-full":a(r(),"bottom")?"top-full":a(r(),"left")?"right-full top-1/2 -translate-y-1/2":"left-full top-1/2 -translate-y-1/2"} left-1/2 transform -translate-x-1/2 ${a(r(),"top")?"mb-2":a(r(),"bottom")?"mt-2":"mx-2"} ${A()??""} p-3 bg-gray-900 text-white text-xs rounded-lg shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50`),E(B,j()),E(C,q())}),e(F,h),X({...U()})}export{t as T}; diff --git a/webapp/assets/_app/immutable/chunks/CzarUgpd.js b/webapp/assets/_app/immutable/chunks/CzarUgpd.js deleted file mode 100644 index 4b3a611b..00000000 --- a/webapp/assets/_app/immutable/chunks/CzarUgpd.js +++ /dev/null @@ -1 +0,0 @@ -import{c as P,a as w,s as S,b as F,l as N,f as A}from"./CxOx-TIJ.js";import{i as E}from"./3NxSoY2_.js";import{p as G,c as s,r as n,s as g,d as L,u as l,h as i,t as M,a as j,F as h}from"./DzFKsO_V.js";import{c as y,d as R}from"./BguOOs3x.js";import{p as m}from"./B_jyf0qs.js";import{D as V,E as q,S as f,G as z,A as B}from"./C2FKJqnN.js";r[h]="src/lib/components/InstancesSection.svelte";var H=w(A(''),r[h],[[88,0,[[89,1,[[90,2,[[91,3],[92,3]]]]]]]]);function r(v,a){P(new.target),G(a,!1,r);let e=m(a,"instances",8),b=m(a,"entityType",8),_=m(a,"onDeleteInstance",8);const x=[{key:"name",title:"Name",cellComponent:q,cellProps:{entityType:"instance",nameField:"name"}},{key:"status",title:"Status",cellComponent:f,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:f,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"created",title:"Created",cellComponent:z,cellProps:{field:"created_at",type:"date"}},{key:"actions",title:"Actions",align:"right",cellComponent:B,cellProps:{actions:[{type:"delete",label:"Delete",title:"Delete instance",ariaLabel:"Delete instance",action:"delete"}]}}],C={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"}],actions:[{type:"delete",handler:t=>p(t)}]};function p(t){_()(t)}function T(t){p(t.detail.item)}E();var o=H(),u=s(o),c=s(u),d=s(c),k=s(d);n(d);var D=g(d,2);n(c);var I=g(c,2);return L(()=>V(I,{get columns(){return x},get data(){return e()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return i(e()),l(()=>e().length)},totalPages:1,get totalItems(){return i(e()),l(()=>e().length)},itemName:"instances",emptyTitle:"No instances running",get emptyMessage(){return`No instances running for this ${b()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return C},$$events:{delete:T}}),"component",r,94,2,{componentTag:"DataTable"}),n(u),n(o),M(t=>{S(k,`Instances (${i(e()),l(()=>e().length)??""})`),R(D,"href",t)},[()=>(i(y),l(()=>y("/instances")))]),F(v,o),j({...N()})}export{r as I}; diff --git a/webapp/assets/_app/immutable/chunks/D9ztHNzD.js b/webapp/assets/_app/immutable/chunks/D9ztHNzD.js new file mode 100644 index 00000000..b0ef50c2 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/D9ztHNzD.js @@ -0,0 +1,4 @@ +import{f,r as Ie,a as m,s as A,e as _e,t as Le}from"./o8CdT7B0.js";import{i as Ce}from"./ChJfoPF0.js";import{p as ze,l as Me,d as o,m as p,h as J,b as Ee,c as t,s as a,g as e,r,t as M,a as Ue,v as Re,n as H,u as w,o as Be,k as Se,j as he}from"./DUMcBckj.js";import{p as pe,i as B}from"./i7pKks78.js";import{d as Oe,s as Je,r as T,b as $e,g as De}from"./_9uqtkkk.js";import{b as Ae,a as de}from"./BtzOUN4g.js";import{p as We}from"./CdEA5IGF.js";import{e as we}from"./BZiHL9L3.js";import{M as je}from"./CYPHW1bs.js";import{e as Ge,i as Te}from"./DC7Aeygn.js";var He=f('
'),Ne=f('
');function wt(le,P){ze(P,!1);let i=pe(P,"value",12,""),S=pe(P,"placeholder",8,"{}"),y=pe(P,"rows",8,4),x=pe(P,"disabled",8,!1),l=p(!0);Me(()=>J(i()),()=>{if(i().trim())try{JSON.parse(i()),o(l,!0)}catch{o(l,!1)}else o(l,!0)}),Ee(),Ce();var v=Ne(),s=t(v);Ie(s);var n=a(s,2);{var c=k=>{var O=He();m(k,O)};B(n,k=>{e(l)||k(c)})}r(v),M(()=>{Oe(s,"placeholder",S()),Oe(s,"rows",y()),s.disabled=x(),Je(s,1,`w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 font-mono text-sm resize-none + ${e(l)?"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white":"border-red-300 dark:border-red-600 bg-red-50 dark:bg-red-900/20 text-red-900 dark:text-red-100"} + ${x()?"opacity-50 cursor-not-allowed":""} + `)}),Ae(s,i),m(le,v),Ue()}var Ve=f('

'),Fe=f('

Leave empty to auto-generate a new secret

'),Ke=f('
Updating...
'),Qe=f('

Update Repository

Repository Information

Owner:
Name:
Endpoint:
Credentials:
');function Mt(le,P){ze(P,!1);let i=pe(P,"repository",8);const S=Re();let y=p(!1),x=p(""),l=p(""),v=p(!1),s=p(i().agent_mode??!1);async function n(){try{o(y,!0),o(x,"");const c={};if(e(v)){if(!e(l).trim()){o(x,"Please enter a webhook secret or uncheck the option to change it");return}c.webhook_secret=e(l)}if(e(s)!==i().agent_mode&&(c.agent_mode=e(s)),Object.keys(c).length===0){S("close");return}S("submit",c)}catch(c){o(x,we(c))}finally{o(y,!1)}}Ce(),je(le,{$$events:{close:()=>S("close")},children:(c,k)=>{var O=Qe(),ne=t(O),$=a(t(ne),2),z=t($);r($),r(ne);var Q=a(ne,2),q=t(Q);{var X=u=>{var d=Ve(),g=t(d),U=t(g,!0);r(g),r(d),M(()=>A(U,e(x))),m(u,d)};B(q,u=>{e(x)&&u(X)})}var Y=a(q,2),ie=a(t(Y),2),N=t(ie),ce=a(t(N),2),ke=t(ce,!0);r(ce),r(N);var be=a(N,2),me=a(t(be),2),E=t(me,!0);r(me),r(be);var b=a(be,2),h=a(t(b),2),R=t(h,!0);r(h),r(b);var W=a(b,2),Z=a(t(W),2),ue=t(Z,!0);r(Z),r(W),r(ie),r(Y);var I=a(Y,2),ee=t(I);T(ee),H(4),r(I);var L=a(I,2),D=t(L),V=t(D);T(V),H(2),r(D);var te=a(D,2);{var F=u=>{var d=Fe(),g=a(t(d),2);T(g),H(2),r(d),M(()=>g.required=e(v)),Ae(g,()=>e(l),U=>o(l,U)),m(u,d)};B(te,u=>{e(v)&&u(F)})}r(L);var re=a(L,2),ae=t(re),K=a(ae,2),ve=t(K);{var fe=u=>{var d=Ke();m(u,d)},ge=u=>{var d=Le("Update Repository");m(u,d)};B(ve,u=>{e(y)?u(fe):u(ge,!1)})}r(K),r(re),r(Q),r(O),M(u=>{A(z,`${J(i()),w(()=>i().owner)??""}/${J(i()),w(()=>i().name)??""}`),A(ke,(J(i()),w(()=>i().owner))),A(E,(J(i()),w(()=>i().name))),A(R,(J(i()),w(()=>i().endpoint?.name))),A(ue,(J(i()),w(()=>i().credentials_name))),K.disabled=u},[()=>(e(y),e(v),e(l),w(()=>e(y)||e(v)&&!e(l).trim()))]),de(ee,()=>e(s),u=>o(s,u)),de(V,()=>e(v),u=>o(v,u)),_e("click",ae,()=>S("close")),_e("submit",Q,We(n)),m(c,O)},$$slots:{default:!0}}),Ue()}var Xe=f('

'),Ye=f('

Loading...

'),Ze=f(""),et=f(''),tt=f('

A new webhook secret will be automatically generated

'),rt=f('
'),at=f('

'),ot=f('

Update Organization

');function St(le,P){ze(P,!1);const i=p(),S=p();let y=pe(P,"organization",8);const x=Re();let l=p(!1),v=p(""),s=p([]),n=p({credentials_name:y().credentials_name||"",webhook_secret:"",pool_balancer_type:y().pool_balancing_type||"roundrobin"}),c=p(!1),k=p(!0),O=p(y().agent_mode??!1);async function ne(){try{o(l,!0),o(s,await De.listAllCredentials())}catch(z){o(v,we(z))}finally{o(l,!1)}}async function $(){if(!e(n).credentials_name){o(v,"Please select credentials");return}if(e(c)&&!e(k)&&!e(n).webhook_secret?.trim()){o(v,"Please enter a webhook secret or uncheck the change webhook secret option");return}try{o(l,!0),o(v,"");const z={...e(n)};e(c)?e(k)&&(z.webhook_secret=""):delete z.webhook_secret,e(O)!==y().agent_mode&&(z.agent_mode=e(O)),x("submit",z)}catch(z){o(v,we(z)),o(l,!1)}}Be(()=>{ne()}),Me(()=>J(y()),()=>{o(i,y().endpoint?.endpoint_type)}),Me(()=>(e(s),e(i)),()=>{o(S,e(s).filter(z=>z.forge_type===e(i)))}),Ee(),Ce(),je(le,{$$events:{close:()=>x("close")},children:(z,Q)=>{var q=ot(),X=t(q),Y=a(t(X),2),ie=t(Y,!0);r(Y),r(X);var N=a(X,2),ce=t(N);{var ke=b=>{var h=Xe(),R=t(h),W=t(R,!0);r(R),r(h),M(()=>A(W,e(v))),m(b,h)};B(ce,b=>{e(v)&&b(ke)})}var be=a(ce,2);{var me=b=>{var h=Ye();m(b,h)},E=b=>{var h=at(),R=t(h),W=a(t(R),2);M(()=>{e(n),Se(()=>{e(S)})});var Z=t(W);Z.value=Z.__value="";var ue=a(Z);Ge(ue,1,()=>e(S),Te,(_,C)=>{var G=Ze(),xe=t(G);r(G);var j={};M(()=>{A(xe,`${e(C),w(()=>e(C).name)??""} (${e(C),w(()=>e(C).endpoint?.name||"Unknown endpoint")??""})`),j!==(j=(e(C),w(()=>e(C).name)))&&(G.value=(G.__value=(e(C),w(()=>e(C).name)))??"")}),m(_,G)}),r(W);var I=a(W,2),ee=t(I);r(I),r(R);var L=a(R,2),D=a(t(L),2);M(()=>{e(n),Se(()=>{})});var V=t(D);V.value=V.__value="roundrobin";var te=a(V);te.value=te.__value="pack",r(D),r(L);var F=a(L,2),re=t(F);T(re),H(4),r(F);var ae=a(F,2),K=t(ae),ve=t(K);T(ve),H(2),r(K);var fe=a(K,2);{var ge=_=>{var C=rt(),G=t(C),xe=t(G);T(xe),H(2),r(G);var j=a(G,2);{var oe=se=>{var ye=et();T(ye),M(()=>ye.required=e(c)&&!e(k)),Ae(ye,()=>e(n).webhook_secret,qe=>he(n,e(n).webhook_secret=qe)),m(se,ye)},Pe=se=>{var ye=tt();m(se,ye)};B(j,se=>{e(k)?se(Pe,!1):se(oe)})}r(C),de(xe,()=>e(k),se=>o(k,se)),m(_,C)};B(fe,_=>{e(c)&&_(ge)})}r(ae);var u=a(ae,2),d=t(u),g=a(d,2),U=t(g,!0);r(g),r(u),r(h),M(_=>{A(ee,`Only showing credentials for ${e(i)??""} endpoints`),g.disabled=_,A(U,e(l)?"Updating...":"Update Organization")},[()=>(e(l),e(c),e(k),e(n),w(()=>e(l)||e(c)&&!e(k)&&!e(n).webhook_secret?.trim()))]),$e(W,()=>e(n).credentials_name,_=>he(n,e(n).credentials_name=_)),$e(D,()=>e(n).pool_balancer_type,_=>he(n,e(n).pool_balancer_type=_)),de(re,()=>e(O),_=>o(O,_)),de(ve,()=>e(c),_=>o(c,_)),_e("click",d,()=>x("close")),_e("submit",h,We($)),m(b,h)};B(be,b=>{e(l)?b(me):b(E,!1)})}r(N),r(q),M(()=>A(ie,(J(y()),w(()=>y().name)))),m(z,q)},$$slots:{default:!0}}),Ue()}var st=f('

'),dt=f('

Loading...

'),lt=f(""),nt=f(''),it=f('

A new webhook secret will be automatically generated

'),ct=f('
'),bt=f('

Only showing credentials for GitHub endpoints

'),ut=f('

Update Enterprise

');function $t(le,P){ze(P,!1);const i=p();let S=pe(P,"enterprise",8);const y=Re();let x=p(!1),l=p(""),v=p([]),s=p({credentials_name:S().credentials_name||"",webhook_secret:"",pool_balancer_type:S().pool_balancing_type||"roundrobin"}),n=p(!1),c=p(!0),k=p(S().agent_mode??!1);async function O(){try{o(x,!0),o(v,await De.listAllCredentials())}catch($){o(l,we($))}finally{o(x,!1)}}async function ne(){if(!e(s).credentials_name){o(l,"Please select credentials");return}if(e(n)&&!e(c)&&!e(s).webhook_secret?.trim()){o(l,"Please enter a webhook secret or uncheck the change webhook secret option");return}try{o(x,!0),o(l,"");const $={...e(s)};e(n)?e(c)&&($.webhook_secret=""):delete $.webhook_secret,e(k)!==S().agent_mode&&($.agent_mode=e(k)),y("submit",$)}catch($){o(l,we($)),o(x,!1)}}Be(()=>{O()}),Me(()=>e(v),()=>{o(i,e(v).filter($=>$.forge_type==="github"))}),Ee(),Ce(),je(le,{$$events:{close:()=>y("close")},children:($,z)=>{var Q=ut(),q=t(Q),X=a(t(q),2),Y=t(X,!0);r(X),r(q);var ie=a(q,2),N=t(ie);{var ce=E=>{var b=st(),h=t(b),R=t(h,!0);r(h),r(b),M(()=>A(R,e(l))),m(E,b)};B(N,E=>{e(l)&&E(ce)})}var ke=a(N,2);{var be=E=>{var b=dt();m(E,b)},me=E=>{var b=bt(),h=t(b),R=a(t(h),2);M(()=>{e(s),Se(()=>{e(i)})});var W=t(R);W.value=W.__value="";var Z=a(W);Ge(Z,1,()=>e(i),Te,(d,g)=>{var U=lt(),_=t(U);r(U);var C={};M(()=>{A(_,`${e(g),w(()=>e(g).name)??""} (${e(g),w(()=>e(g).endpoint?.name||"Unknown endpoint")??""})`),C!==(C=(e(g),w(()=>e(g).name)))&&(U.value=(U.__value=(e(g),w(()=>e(g).name)))??"")}),m(d,U)}),r(R),H(2),r(h);var ue=a(h,2),I=a(t(ue),2);M(()=>{e(s),Se(()=>{})});var ee=t(I);ee.value=ee.__value="roundrobin";var L=a(ee);L.value=L.__value="pack",r(I),r(ue);var D=a(ue,2),V=t(D);T(V),H(4),r(D);var te=a(D,2),F=t(te),re=t(F);T(re),H(2),r(F);var ae=a(F,2);{var K=d=>{var g=ct(),U=t(g),_=t(U);T(_),H(2),r(U);var C=a(U,2);{var G=j=>{var oe=nt();T(oe),M(()=>oe.required=e(n)&&!e(c)),Ae(oe,()=>e(s).webhook_secret,Pe=>he(s,e(s).webhook_secret=Pe)),m(j,oe)},xe=j=>{var oe=it();m(j,oe)};B(C,j=>{e(c)?j(xe,!1):j(G)})}r(g),de(_,()=>e(c),j=>o(c,j)),m(d,g)};B(ae,d=>{e(n)&&d(K)})}r(te);var ve=a(te,2),fe=t(ve),ge=a(fe,2),u=t(ge,!0);r(ge),r(ve),r(b),M(d=>{ge.disabled=d,A(u,e(x)?"Updating...":"Update Enterprise")},[()=>(e(x),e(n),e(c),e(s),w(()=>e(x)||e(n)&&!e(c)&&!e(s).webhook_secret?.trim()))]),$e(R,()=>e(s).credentials_name,d=>he(s,e(s).credentials_name=d)),$e(I,()=>e(s).pool_balancer_type,d=>he(s,e(s).pool_balancer_type=d)),de(V,()=>e(k),d=>o(k,d)),de(re,()=>e(n),d=>o(n,d)),_e("click",fe,()=>y("close")),_e("submit",b,We(ne)),m(E,b)};B(ke,E=>{e(x)?E(be):E(me,!1)})}r(ie),r(Q),M(()=>A(Y,(J(S()),w(()=>S().name)))),m($,Q)},$$slots:{default:!0}}),Ue()}export{wt as J,Mt as U,St as a,$t as b}; diff --git a/webapp/assets/_app/immutable/chunks/DC7Aeygn.js b/webapp/assets/_app/immutable/chunks/DC7Aeygn.js new file mode 100644 index 00000000..9dc85b43 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DC7Aeygn.js @@ -0,0 +1 @@ +import{B as W,A as re,I as F,y as S,J as ne,z as fe,g as J,i as ie,K as le,L as se,M as K,N as U,G as O,O as ue,P as te,C as z,F as ve,D as de,Q as P,m as _e,R as Q,S as Z,T as oe,U as V,V as $,H as ce,W as Y,X as he,Y as X,Z as y,_ as Ee,a0 as me,a1 as pe,a2 as Te,a3 as Ae,a4 as k,a5 as Ie,a6 as Ce}from"./DUMcBckj.js";function Me(l,r){return r}function Ne(l,r,e){for(var u=l.items,v=[],d=r.length,s=0;s0&&v.length===0&&e!==null;if(h){var T=e.parentNode;pe(T),T.append(e),u.clear(),N(l,r[0].prev,r[d-1].next)}Te(v,()=>{for(var p=0;p{var _=e();return oe(_)?_:_==null?[]:Z(_)}),n,t;function i(){we(t,n,h,A,s,v,r,u,e),d!==null&&(n.length===0?o?$(o):o=z(()=>d(s)):o!==null&&ce(o,()=>{o=null}))}re(()=>{t??=Ae,n=J(M);var _=n.length;if(x&&_===0)return;x=_===0;let m=!1;if(S){var I=le(s)===se;I!==(_===0)&&(s=K(),F(s),U(!1),m=!0)}if(S){for(var w=null,c,a=0;a<_;a++){if(O.nodeType===ue&&O.data===te){s=O,m=!0,U(!1);break}var f=n[a],E=u(f,a);c=G(O,h,w,null,f,E,a,v,r,e),h.items.set(E,c),w=c}_>0&&F(K())}if(S)_===0&&d&&(o=z(()=>d(s)));else if(ve()){var H=new Set,L=de;for(a=0;a<_;a+=1){f=n[a],E=u(f,a);var D=h.items.get(E)??A.get(E);D?(r&(Y|V))!==0&&j(D,f,a,r):(c=G(null,h,null,null,f,E,a,v,r,e,!0),A.set(E,c)),H.add(E)}for(const[C,b]of h.items)H.has(C)||L.skipped_effects.add(b.e);L.add_callback(i)}else i();m&&U(!0),J(M)}),S&&(s=O)}function we(l,r,e,u,v,d,s,h,T){var p=(s&Ce)!==0,o=(s&(Y|V))!==0,x=r.length,A=e.items,M=e.first,n=M,t,i=null,_,m=[],I=[],w,c,a,f;if(p)for(f=0;f0){var ee=(s&k)!==0&&x===0?v:null;if(p){for(f=0;f{if(_!==void 0)for(a of _)a.a?.apply()}),l.first=e.first&&e.first.e,l.last=i&&i.e;for(var ae of u.values())y(ae.e);u.clear()}function j(l,r,e,u){(u&Y)!==0&&P(l.v,r),(u&V)!==0?P(l.i,e):l.i=e}function G(l,r,e,u,v,d,s,h,T,p,o){var x=(T&Y)!==0,A=(T&he)===0,M=x?A?_e(v,!1,!1):Q(v):v,n=(T&V)===0?s:Q(s),t={i:n,v:M,k:d,a:null,e:null,prev:e,next:u};try{if(l===null){var i=document.createDocumentFragment();i.append(l=W())}return t.e=z(()=>h(l,M,n,p),S),t.e.prev=e&&e.e,t.e.next=u&&u.e,e===null?o||(r.first=t):(e.next=t,e.e.next=t.e),u!==null&&(u.prev=t,u.e.prev=t.e),t}finally{}}function g(l,r,e){for(var u=l.next?l.next.e.nodes_start:e,v=r?r.e.nodes_start:e,d=l.e.nodes_start;d!==null&&d!==u;){var s=Ee(d);v.before(d),d=s}}function N(l,r,e){r===null?l.first=e:(r.next=e,r.e.next=e&&e.e),e!==null&&(e.prev=r,e.e.prev=r&&r.e)}export{De as e,Me as i}; diff --git a/webapp/assets/_app/immutable/chunks/DG4LDt2Z.js b/webapp/assets/_app/immutable/chunks/DG4LDt2Z.js new file mode 100644 index 00000000..11ccdca2 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DG4LDt2Z.js @@ -0,0 +1 @@ +import{b as Me,a as n,f as I,s as F,t as ze,c as U,e as Ze}from"./o8CdT7B0.js";import{i as Ce}from"./ChJfoPF0.js";import{aa as _t,aV as yt,aU as bt,A as wt,B as Pt,C as Mt,D as Ct,F as jt,aj as Tt,y as rt,z as zt,H as St,G as It,T as Ht,p as he,l as Se,d as Ie,m as He,h as p,b as Ee,c as i,g as e,r as o,t as G,a as me,s as M,n as Ne,f as E,v as Be,k as Bt,i as $,u}from"./DUMcBckj.js";import{p as s,i as P,b as at}from"./i7pKks78.js";import{e as ve,i as fe}from"./DC7Aeygn.js";import{h as Je,s as Pe,B as we,r as Lt,d as Ae,b as Vt,c as Nt,f as nt,i as At}from"./_9uqtkkk.js";import{c as ot}from"./B-bv0ihJ.js";import{b as Et}from"./BtzOUN4g.js";import{A as Rt}from"./FjbxnYNv.js";import{B as Dt}from"./Bi2FJHrT.js";import{g as st,b as Ut}from"./DQsxKNC2.js";function it(N,r,v){rt&&zt();var a=N,t=Tt,x,k,h=null,H=_t()?yt:bt;function w(){x&&St(x),h!==null&&(h.lastChild.remove(),a.before(h),h=null),x=k}wt(()=>{if(H(t,t=r())){var _=a,L=jt();L&&(h=document.createDocumentFragment(),h.append(_=Pt())),k=Mt(()=>v(_)),L?Ct.add_callback(w):w()}}),rt&&(a=It)}function Te(N,r){var v=N.$$events?.[r.type],a=Ht(v)?v.slice():v==null?[]:[v];for(var t of a)t.call(this,r)}var Ft=Me('');function Gt(N,r){he(r,!1);const v=He();let a=s(r,"name",8),t=s(r,"class",8,"h-5 w-5");const x={plus:'',edit:'',delete:'',view:'',close:'',check:'',x:'',"chevron-left":'',"chevron-right":'',"chevron-down":'',"chevron-up":'',search:'',refresh:'',menu:'',settings:'',"check-circle":'',"x-circle":'',"exclamation-circle":'',"information-circle":'',loading:'',sun:'',moon:'',document:'',folder:'',"git-branch":''};Se(()=>p(a()),()=>{Ie(v,x[a()]||"")}),Ee();var k=Ft(),h=i(k);Je(h,()=>e(v),!0),o(k),G(()=>Pe(k,0,`${t()}`)),n(N,k),me()}var qt=I('

');function Ot(N,r){let v=s(r,"message",8,"Loading...");var a=qt(),t=M(i(a),2),x=i(t,!0);o(t),o(a),G(()=>F(x,v())),n(N,a)}var Kt=I('
'),Zt=I('

');function Jt(N,r){let v=s(r,"title",8,"Error"),a=s(r,"message",8),t=s(r,"showRetry",8,!1),x=s(r,"onRetry",8,void 0);var k=Zt(),h=i(k),H=i(h),w=M(i(H),2),_=i(w),L=i(_,!0);o(_);var q=M(_,2),R=i(q,!0);o(q);var B=M(q,2);{var K=Z=>{var j=Kt(),b=i(j);we(b,{variant:"secondary",size:"sm",icon:"",class:"text-red-700 dark:text-red-200 bg-red-100 dark:bg-red-800 hover:bg-red-200 dark:hover:bg-red-700 focus:outline-none focus:bg-red-200 dark:focus:bg-red-700",$$events:{click(...A){x()?.apply(this,A)}},children:(A,T)=>{Ne();var W=ze("Retry");n(A,W)},$$slots:{default:!0}}),o(j),n(Z,j)};P(B,Z=>{t()&&x()&&Z(K)})}o(w),o(H),o(h),o(k),G(()=>{F(L,v()),F(R,a())}),n(N,k)}var Qt=Me(''),Wt=Me(''),Xt=Me(''),Yt=Me(''),$t=Me(''),er=Me(''),tr=I('

');function rr(N,r){let v=s(r,"title",8),a=s(r,"message",8),t=s(r,"iconType",8,"document");var x=tr(),k=i(x);{var h=R=>{var B=Qt();n(R,B)},H=R=>{var B=U(),K=E(B);{var Z=b=>{var A=Wt();n(b,A)},j=b=>{var A=U(),T=E(A);{var W=d=>{var c=Xt();n(d,c)},l=d=>{var c=U(),g=E(c);{var D=f=>{var V=Yt();n(f,V)},X=f=>{var V=U(),z=E(V);{var C=S=>{var Q=$t();n(S,Q)},y=S=>{var Q=U(),ee=E(Q);{var te=oe=>{var ce=er();n(oe,ce)};P(ee,oe=>{t()==="settings"&&oe(te)},!0)}n(S,Q)};P(z,S=>{t()==="key"?S(C):S(y,!1)},!0)}n(f,V)};P(g,f=>{t()==="cog"?f(D):f(X,!1)},!0)}n(d,c)};P(T,d=>{t()==="users"?d(W):d(l,!1)},!0)}n(b,A)};P(K,b=>{t()==="building"?b(Z):b(j,!1)},!0)}n(R,B)};P(k,R=>{t()==="document"?R(h):R(H,!1)})}var w=M(k,2),_=i(w,!0);o(w);var L=M(w,2),q=i(L,!0);o(L),o(x),G(()=>{F(_,v()),F(q,a())}),n(N,x)}var ar=I('
');function lt(N,r){he(r,!1);let v=s(r,"value",12,""),a=s(r,"placeholder",8,"Search..."),t=s(r,"disabled",8,!1);const x=Be();function k(){x("input",v())}Ce();var h=ar(),H=i(h),w=i(H);Gt(w,{name:"search",class:"h-5 w-5 text-gray-400"}),o(H);var _=M(H,2);Lt(_),o(h),G(()=>{Ae(_,"placeholder",a()),_.disabled=t()}),Et(_,v),Ze("input",_,k),Ze("keydown",_,function(L){Te.call(this,r,L)}),n(N,h),me()}var nr=I(""),or=I('
'),sr=I('
');function ir(N,r){he(r,!1);let v=s(r,"searchTerm",12,""),a=s(r,"perPage",12,25),t=s(r,"placeholder",8,"Search..."),x=s(r,"showPerPageSelector",8,!0),k=s(r,"perPageOptions",24,()=>[25,50,100]);const h=Be();function H(){h("search",{term:v()})}function w(){h("perPageChange",{perPage:a()})}Ce();var _=sr(),L=i(_),q=i(L),R=i(q),B=M(i(R),2);lt(B,{get placeholder(){return t()},get value(){return v()},set value(j){v(j)},$$events:{input:H},$$legacy:!0}),o(R),o(q);var K=M(q,2);{var Z=j=>{var b=or(),A=i(b),T=M(i(A),2);G(()=>{a(),Bt(()=>{k()})}),ve(T,5,k,fe,(W,l)=>{var d=nr(),c=i(d,!0);o(d);var g={};G(()=>{F(c,e(l)),g!==(g=e(l))&&(d.value=(d.__value=e(l))??"")}),n(W,d)}),o(T),o(A),o(b),Vt(T,a),Ze("change",T,w),n(j,b)};P(K,j=>{x()&&j(Z)})}o(L),o(_),n(N,_),me()}var lr=I('

'),dr=I('
');function vr(N,r){he(r,!1);let v=s(r,"value",12,""),a=s(r,"placeholder",8,"Search..."),t=s(r,"disabled",8,!1),x=s(r,"helpText",8,""),k=s(r,"showButton",8,!0);const h=Be();function H(){h("search",v())}function w(){h("search",v())}function _(T){T.key==="Enter"&&H()}Ce();var L=dr(),q=i(L),R=i(q),B=i(R),K=i(B);lt(K,{get placeholder(){return a()},get disabled(){return t()},get value(){return v()},set value(T){v(T)},$$events:{input:w,keydown:_},$$legacy:!0}),o(B);var Z=M(B,2);{var j=T=>{we(T,{variant:"secondary",get disabled(){return t()},$$events:{click:H},children:(W,l)=>{Ne();var d=ze("Search");n(W,d)},$$slots:{default:!0}})};P(Z,T=>{k()&&T(j)})}o(R);var b=M(R,2);{var A=T=>{var W=lr(),l=i(W,!0);o(W),G(()=>F(l,x())),n(T,W)};P(b,T=>{x()&&T(A)})}o(q),o(L),n(N,L),me()}var cr=I('Showing to of ',1),ur=I('
');function gr(N,r){he(r,!1);const v=He(),a=He();let t=s(r,"currentPage",8,1),x=s(r,"totalPages",8,1),k=s(r,"perPage",8,25),h=s(r,"totalItems",8,0),H=s(r,"itemName",8,"results");const w=Be();function _(B){B>=1&&B<=x()&&B!==t()&&w("pageChange",{page:B})}Se(()=>(p(h()),p(t()),p(k())),()=>{Ie(v,h()===0?0:(t()-1)*k()+1)}),Se(()=>(p(t()),p(k()),p(h())),()=>{Ie(a,Math.min(t()*k(),h()))}),Ee(),Ce();var L=U(),q=E(L);{var R=B=>{var K=ur(),Z=i(K),j=i(Z);{let z=$(()=>t()===1);we(j,{variant:"secondary",get disabled(){return e(z)},$$events:{click:()=>_(t()-1)},children:(C,y)=>{Ne();var S=ze("Previous");n(C,S)},$$slots:{default:!0}})}var b=M(j,2);{let z=$(()=>t()===x());we(b,{variant:"secondary",get disabled(){return e(z)},class:"ml-3",$$events:{click:()=>_(t()+1)},children:(C,y)=>{Ne();var S=ze("Next");n(C,S)},$$slots:{default:!0}})}o(Z);var A=M(Z,2),T=i(A),W=i(T),l=i(W);{var d=z=>{var C=ze();G(()=>F(C,`No ${H()??""}`)),n(z,C)},c=z=>{var C=cr(),y=M(E(C)),S=i(y,!0);o(y);var Q=M(y,2),ee=i(Q,!0);o(Q);var te=M(Q,2),oe=i(te,!0);o(te);var ce=M(te);G(()=>{F(S,e(v)),F(ee,e(a)),F(oe,h()),F(ce,` ${H()??""}`)}),n(z,C)};P(l,z=>{h()===0?z(d):z(c,!1)})}o(W),o(T);var g=M(T,2),D=i(g),X=i(D);{let z=$(()=>t()===1);we(X,{variant:"secondary",size:"sm",get disabled(){return e(z)},class:"rounded-r-none","aria-label":"Previous page",icon:"",$$events:{click:()=>_(t()-1)}})}var f=M(X,2);ve(f,1,()=>(p(x()),u(()=>Array(x()))),fe,(z,C,y)=>{const S=$(()=>y+1);{let Q=$(()=>e(S)===t()?"primary":"secondary");we(z,{get variant(){return e(Q)},size:"sm",class:"rounded-none border-l-0 first:border-l first:rounded-l-md",$$events:{click:()=>_(e(S))},children:(ee,te)=>{Ne();var oe=ze();G(()=>F(oe,e(S))),n(ee,oe)},$$slots:{default:!0}})}});var V=M(f,2);{let z=$(()=>t()===x());we(V,{variant:"secondary",size:"sm",get disabled(){return e(z)},class:"rounded-l-none","aria-label":"Next page",icon:"",$$events:{click:()=>_(t()+1)}})}o(D),o(g),o(A),o(K),n(B,K)};P(q,B=>{x()>1&&B(R)})}n(N,L),me()}var fr=I('

'),hr=I('

'),mr=I('

'),pr=I('

'),xr=I('
'),kr=I('
'),_r=I('
'),yr=I(" "),br=I('
'),wr=I('
');function Pr(N,r){he(r,!1);const v=Be();let a=s(r,"item",8),t=s(r,"config",8);function x(){if(!a())return"Unknown";const{field:l,useId:d,showOwner:c}=t().primaryText,g=a()[l];return d&&g?`${g.slice(0,8)}...`:c&&a().owner&&a().name?`${a().owner}/${a().name}`:g||"Unknown"}function k(){if(!t().secondaryText)return"";const{field:l,computedValue:d}=t().secondaryText;return d!==void 0?typeof d=="function"?d(a()):d:a()?.[l]||""}function h(){if(!t().primaryText.href||!a())return"#";let l=t().primaryText.href;return l=l.replace("{id}",a().id||""),l=l.replace("{name}",encodeURIComponent(a().name||"")),Nt(l)}function H(l){if(!a())return;const d=t().actions?.find(c=>c.type===l);d&&d.handler(a()),l==="edit"?v("edit",{item:a()}):l==="delete"?v("delete",{item:a()}):l==="clone"?v("clone",{item:a()}):v("action",{type:l,item:a()})}function w(l){switch(l.type){case"status":if(t().entityType==="instance"){const c=a()?.[l.field]||"unknown";let g="neutral",D=c.charAt(0).toUpperCase()+c.slice(1);return l.field==="status"?g=c==="running"?"success":c==="pending"||c==="creating"?"info":c==="failed"||c==="error"?"error":"neutral":l.field==="runner_status"&&(g=c==="idle"?"info":c==="active"||c==="running"?"success":c==="failed"||c==="error"?"error":"neutral"),{variant:g,text:D}}return{variant:"neutral",text:a()?.[l.field]||"Unknown"};case"forge":return{variant:"neutral",text:a()?.[l.field]||"unknown"};case"auth":const d=a()?.[l.field]||"pat";return{variant:d==="pat"?"success":"info",text:d.toUpperCase()};case"custom":if(typeof l.value=="function"){const c=l.value(a());return{variant:c?.variant||"neutral",text:c?.text||""}}return{variant:l.value?.variant||"neutral",text:l.value?.text||""};default:return{variant:"neutral",text:""}}}Ce();var _=wr(),L=i(_),q=i(L);{var R=l=>{var d=hr(),c=i(d),g=i(c,!0);o(c);var D=M(c,2);{var X=f=>{var V=fr(),z=i(V,!0);o(V),G(C=>F(z,C),[()=>u(k)]),n(f,V)};P(D,f=>{p(t()),u(()=>t().secondaryText)&&f(X)})}o(d),G((f,V)=>{Ae(d,"href",f),Pe(c,1,`text-sm font-medium text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 truncate${p(t()),u(()=>t().primaryText.isMonospace?" font-mono":"")??""}`),F(g,V)},[()=>u(h),()=>u(x)]),n(l,d)},B=l=>{var d=pr(),c=i(d),g=i(c,!0);o(c);var D=M(c,2);{var X=f=>{var V=mr(),z=i(V,!0);o(V),G(C=>F(z,C),[()=>u(k)]),n(f,V)};P(D,f=>{p(t()),u(()=>t().secondaryText)&&f(X)})}o(d),G(f=>F(g,f),[()=>u(x)]),n(l,d)};P(q,l=>{p(t()),u(()=>t().primaryText.isClickable)?l(R):l(B,!1)})}var K=M(q,2);{var Z=l=>{var d=_r(),c=i(d);{var g=f=>{var V=U(),z=E(V);ve(z,1,()=>(p(t()),u(()=>t().customInfo)),fe,(C,y)=>{const S=$(()=>(e(y),p(a()),u(()=>typeof e(y).icon=="function"?e(y).icon(a()):e(y).icon))),Q=$(()=>(e(y),p(a()),u(()=>typeof e(y).text=="function"?e(y).text(a()):e(y).text)));var ee=xr(),te=i(ee);{var oe=pe=>{var Le=U(),De=E(Le);Je(De,()=>e(S)),n(pe,Le)};P(te,pe=>{e(S)&&pe(oe)})}var ce=M(te,2),Re=i(ce,!0);o(ce),o(ee),G(()=>F(Re,e(Q))),n(C,ee)}),n(f,V)};P(c,f=>{p(t()),u(()=>t().customInfo)&&f(g)})}var D=M(c,2);{var X=f=>{var V=U(),z=E(V);ve(z,1,()=>(p(t()),u(()=>t().badges.filter(C=>C.type==="forge"))),fe,(C,y)=>{var S=kr(),Q=i(S);Je(Q,()=>(p(st),e(y),p(a()),u(()=>st(e(y).field?a()?.[e(y).field]||"unknown":a()?.endpoint?.endpoint_type||"unknown"))));var ee=M(Q,2),te=i(ee,!0);o(ee),o(S),G(()=>F(te,(p(a()),u(()=>a()?.endpoint?.name||"Unknown")))),n(C,S)}),n(f,V)};P(D,f=>{p(t()),u(()=>t().badges)&&f(X)})}o(d),n(l,d)};P(K,l=>{p(t()),u(()=>t().customInfo||t().badges?.some(d=>d.type==="forge"))&&l(Z)})}o(L);var j=M(L,2),b=i(j);{var A=l=>{var d=U(),c=E(d);ve(c,1,()=>(p(t()),u(()=>t().badges.filter(g=>g.type!=="forge"))),fe,(g,D)=>{var X=U(),f=E(X);{var V=C=>{const y=$(()=>(e(D),u(()=>w(e(D)))));var S=yr(),Q=i(S,!0);o(S),G(()=>{Pe(S,1,`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ring-1 ring-inset ${p(e(y)),u(()=>e(y).variant==="success"?"bg-green-50 text-green-700 ring-green-600/20 dark:bg-green-900/50 dark:text-green-300 dark:ring-green-400/20":e(y).variant==="info"?"bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-900/50 dark:text-blue-300 dark:ring-blue-400/20":e(y).variant==="error"?"bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-900/50 dark:text-red-300 dark:ring-red-400/20":"bg-gray-50 text-gray-700 ring-gray-600/20 dark:bg-gray-900/50 dark:text-gray-300 dark:ring-gray-400/20")??""}`),F(Q,(p(e(y)),u(()=>e(y).text)))}),n(C,S)},z=C=>{const y=$(()=>(e(D),u(()=>w(e(D)))));Dt(C,{get variant(){return p(e(y)),u(()=>e(y).variant)},get text(){return p(e(y)),u(()=>e(y).text)}})};P(f,C=>{e(D),u(()=>e(D).type==="status")?C(V):C(z,!1)})}n(g,X)}),n(l,d)};P(b,l=>{p(t()),u(()=>t().badges)&&l(A)})}var T=M(b,2);{var W=l=>{var d=br();ve(d,5,()=>(p(t()),u(()=>t().actions)),fe,(c,g)=>{{let D=$(()=>(e(g),u(()=>e(g).type==="clone"?"copy":e(g).type))),X=$(()=>(e(g),p(t()),u(()=>e(g).type==="edit"?`Edit ${t().entityType}`:e(g).type==="delete"?`Delete ${t().entityType}`:e(g).type==="clone"?`Clone ${t().entityType}`:e(g).type))),f=$(()=>(e(g),p(t()),u(()=>e(g).type==="edit"?`Edit ${t().entityType}`:e(g).type==="delete"?`Delete ${t().entityType}`:e(g).type==="clone"?`Clone ${t().entityType}`:e(g).type)));Rt(c,{get action(){return e(D)},size:"sm",get title(){return e(X)},get ariaLabel(){return e(f)},$$events:{click:()=>H(e(g).type)}})}}),o(d),n(l,d)};P(T,l=>{p(t()),u(()=>t().actions)&&l(W)})}o(j),o(_),n(N,_),me()}var Mr=I('
'),Cr=I('
'),jr=I("
"),Tr=I("
"),zr=I(' ',1),Sr=I('
');function qr(N,r){he(r,!1);const v=He();let a=s(r,"columns",24,()=>[]),t=s(r,"data",24,()=>[]),x=s(r,"loading",8,!1),k=s(r,"error",8,""),h=s(r,"totalItems",8,0),H=s(r,"itemName",8,"results"),w=s(r,"searchTerm",12,""),_=s(r,"searchPlaceholder",8,"Search..."),L=s(r,"showSearch",8,!0),q=s(r,"searchType",8,"client"),R=s(r,"searchHelpText",8,""),B=s(r,"currentPage",8,1),K=s(r,"perPage",12,25),Z=s(r,"totalPages",8,1),j=s(r,"showPagination",8,!0),b=s(r,"showPerPageSelector",8,!0),A=s(r,"paginationComponent",8,null),T=s(r,"paginationProps",24,()=>({})),W=s(r,"emptyTitle",8,"No items found"),l=s(r,"emptyMessage",8,""),d=s(r,"emptyIconType",8,"document"),c=s(r,"errorTitle",8,"Error loading data"),g=s(r,"showRetry",8,!1),D=s(r,"showMobileCards",8,!0),X=s(r,"mobileCardConfig",8,null);const f=Be();function V(m){const re=typeof m.detail=="string"?m.detail:m.detail.term;f("search",{term:re})}function z(m){f("pageChange",m.detail)}function C(m){f("perPageChange",m.detail)}function y(){f("retry")}function S(m){f("edit",m.detail)}function Q(m){f("delete",m.detail)}function ee(m){f("clone",m.detail)}function te(m){f("shell",m.detail)}function oe(m){f("action",m.detail)}function ce(m){const re="px-6 py-4 text-sm",xe=m.align==="right"?"text-right":m.align==="center"?"text-center":"text-left",ke=m.key==="actions"?"font-medium":"text-gray-900 dark:text-white",_e=m.flexible?"min-w-0":"";return`${re} ${xe} ${ke} ${_e}`.trim()}function Re(){return a().map(m=>m.flexible?`${m.flexRatio||1}fr`:"auto").join(" ")}Se(()=>(p(l()),p(w()),p(H())),()=>{Ie(v,l()||(w()?`No items found matching "${w()}"`:`No ${H()} found`))}),Ee(),Ce();var pe=Sr(),Le=i(pe);{var De=m=>{var re=U(),xe=E(re);{var ke=J=>{vr(J,{get placeholder(){return _()},get helpText(){return R()},showButton:!1,get value(){return w()},set value(ae){w(ae)},$$events:{search:V},$$legacy:!0})},_e=J=>{ir(J,{get placeholder(){return _()},get showPerPageSelector(){return b()},get searchTerm(){return w()},set searchTerm(ae){w(ae)},get perPage(){return K()},set perPage(ae){K(ae)},$$events:{search:V,perPageChange:C},$$legacy:!0})};P(xe,J=>{q()==="backend"?J(ke):J(_e,!1)})}n(m,re)};P(Le,m=>{L()&&m(De)})}var Qe=M(Le,2),We=i(Qe);{var dt=m=>{Ot(m,{get message(){return`Loading ${H()??""}...`}})},vt=m=>{var re=U(),xe=E(re);{var ke=J=>{{let ae=$(()=>g()?y:void 0);Jt(J,{get title(){return c()},get message(){return k()},get showRetry(){return g()},get onRetry(){return e(ae)}})}},_e=J=>{var ae=U(),Ue=E(ae);{var Fe=ue=>{rr(ue,{get title(){return W()},get message(){return e(v)},get iconType(){return d()}})},Ge=ue=>{var Xe=zr(),Ye=E(Xe);{var gt=se=>{var O=Cr();ve(O,7,t,(le,ne)=>le.id||le.name||ne,(le,ne,Oe)=>{var Ve=Mr(),Y=i(Ve);{var je=ge=>{var ye=U(),ie=E(ye);it(ie,()=>(e(ne),u(()=>`${e(ne).id||e(ne).name}-${e(ne).updated_at}-mobile`)),be=>{Pr(be,{get item(){return e(ne)},get config(){return X()},$$events:{edit(de){Te.call(this,r,de)},delete(de){Te.call(this,r,de)},clone(de){Te.call(this,r,de)},action(de){Te.call(this,r,de)}}})}),n(ge,ye)},Ke=ge=>{var ye=U(),ie=E(ye);nt(ie,r,"mobile-card",{get item(){return e(ne)},get index(){return e(Oe)}}),n(ge,ye)};P(Y,ge=>{X()?ge(je):ge(Ke,!1)})}o(Ve),n(le,Ve)}),o(O),n(se,O)};P(Ye,se=>{D()&&se(gt)})}var $e=M(Ye,2),qe=i($e),et=i(qe);ve(et,1,a,fe,(se,O)=>{var le=jr(),ne=i(le,!0);o(le),G(()=>{Pe(le,1,`px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 ${e(O),u(()=>e(O).align==="right"?"text-right":e(O).align==="center"?"text-center":"text-left")??""}`),F(ne,(e(O),u(()=>e(O).title)))}),n(se,le)});var ft=M(et,2);ve(ft,3,t,(se,O)=>se.id||se.name||O,(se,O,le)=>{var ne=U(),Oe=E(ne);ve(Oe,1,a,fe,(Ve,Y)=>{var je=Tr(),Ke=i(je);{var ge=ie=>{var be=U(),de=E(be);it(de,()=>(e(O),e(Y),u(()=>`${e(O).id||e(O).name}-${e(O).updated_at}-${e(Y).key}`)),ht=>{var tt=U(),mt=E(tt);{let pt=$(()=>typeof e(Y).cellProps=="function"?e(Y).cellProps(e(O)):e(Y).cellProps);ot(mt,()=>e(Y).cellComponent,(xt,kt)=>{kt(xt,at({get item(){return e(O)}},()=>e(pt),{$$events:{edit:S,delete:Q,clone:ee,shell:te,action:oe}}))})}n(ht,tt)}),n(ie,be)},ye=ie=>{var be=U(),de=E(be);nt(de,r,"cell",{get item(){return e(O)},get column(){return e(Y)},get index(){return e(le)},get value(){return e(O),e(Y),u(()=>e(O)[e(Y).key])}}),n(ie,be)};P(Ke,ie=>{e(Y),u(()=>e(Y).cellComponent)?ie(ge):ie(ye,!1)})}o(je),G(ie=>Pe(je,1,`${ie??""} border-b border-gray-200 dark:border-gray-700`),[()=>(e(Y),u(()=>ce(e(Y))))]),n(Ve,je)}),n(se,ne)}),o(qe),o($e),G(se=>At(qe,`grid-template-columns: ${se??""}`),[()=>u(Re)]),n(ue,Xe)};P(Ue,ue=>{p(t()),u(()=>t().length===0)?ue(Fe):ue(Ge,!1)},!0)}n(J,ae)};P(xe,J=>{k()?J(ke):J(_e,!1)},!0)}n(m,re)};P(We,m=>{x()?m(dt):m(vt,!1)})}var ct=M(We,2);{var ut=m=>{var re=U(),xe=E(re);{var ke=J=>{var ae=U(),Ue=E(ae);ot(Ue,A,(Fe,Ge)=>{Ge(Fe,at({get currentPage(){return B()},get totalPages(){return Z()},get totalItems(){return h()},get pageSize(){return K()},get loading(){return x()},get itemName(){return H()}},T,{$$events:{pageChange:z,pageSizeChange:C,prefetch(ue){Te.call(this,r,ue)}}}))}),n(J,ae)},_e=J=>{gr(J,{get currentPage(){return B()},get totalPages(){return Z()},get perPage(){return K()},get totalItems(){return h()},get itemName(){return H()},$$events:{pageChange:z}})};P(xe,J=>{A()?J(ke):J(_e,!1)})}n(m,re)};P(ct,m=>{p(j()),p(x()),p(k()),p(t()),u(()=>j()&&!x()&&!k()&&t().length>0)&&m(ut)})}o(Qe),o(pe),n(N,pe),me()}var Ir=I(" "),Hr=I(" ");function Or(N,r){he(r,!1);const v=He(),a=He();let t=s(r,"item",8),x=s(r,"field",8,void 0),k=s(r,"getValue",8,void 0),h=s(r,"type",8,"text"),H=s(r,"truncateLength",8,50),w=s(r,"showTitle",8,!1);function _(){return t()?k()?k()(t()):x()&&x().split(".").reduce((j,b)=>j?.[b],t())||"":""}function L(){return h()==="date"?Ut(e(v)):h()==="truncated"&&e(v).length>H()?`${e(v).slice(0,H())}...`:e(v)}function q(){switch(h()){case"code":return"inline-block max-w-full truncate bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs font-mono";case"description":return"block w-full truncate text-sm text-gray-500 dark:text-gray-300";case"date":return"block w-full truncate text-sm text-gray-900 dark:text-white font-mono";default:return"block w-full truncate text-sm text-gray-900 dark:text-white"}}Se(()=>{},()=>{Ie(v,_())}),Se(()=>{},()=>{Ie(a,L())}),Ee(),Ce();var R=U(),B=E(R);{var K=j=>{var b=Ir(),A=i(b,!0);o(b),G(T=>{Pe(b,1,`${T??""} ${w()?"cursor-default":""}`),Ae(b,"title",w()?e(v):""),F(A,e(a))},[()=>u(q)]),n(j,b)},Z=j=>{var b=Hr(),A=i(b,!0);o(b),G(T=>{Pe(b,1,`${T??""} ${w()?"cursor-default":""}`),Ae(b,"title",w()?e(v):""),F(A,e(a))},[()=>u(q)]),n(j,b)};P(B,j=>{h()==="code"?j(K):j(Z,!1)})}n(N,R),me()}export{qr as D,Or as G,Ot as L,it as k}; diff --git a/webapp/assets/_app/immutable/chunks/DGDf0Obs.js b/webapp/assets/_app/immutable/chunks/DGDf0Obs.js new file mode 100644 index 00000000..67059627 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DGDf0Obs.js @@ -0,0 +1 @@ +import{f as z,s as g,a as h,t as mt,c as Z}from"./o8CdT7B0.js";import{i as O}from"./ChJfoPF0.js";import{p as Q,c as e,r as t,s,h as c,u as o,n as rt,t as q,a as X,v as ut,f as tt,g as P}from"./DUMcBckj.js";import{p as T,i as G,s as gt,a as pt}from"./i7pKks78.js";import{d as st,c as et,B as xt}from"./_9uqtkkk.js";import{b as R,e as ft}from"./DQsxKNC2.js";import{B as H}from"./Bi2FJHrT.js";import{e as yt}from"./zgwRPQVC.js";import{D as ht,G as at}from"./DG4LDt2Z.js";import{E as _t}from"./llowLxE6.js";import{S as kt}from"./C0gwpZbz.js";import{e as bt,i as wt}from"./DC7Aeygn.js";import{b as Ct}from"./DwF0DbKK.js";var Pt=z('

ID
Created At
Updated At
Status
Pool Balancer Type
');function Wt(L,v){Q(v,!1);let a=T(v,"entity",8),p=T(v,"entityType",8);function B(){return`${p().charAt(0).toUpperCase()+p().slice(1)} Information`}function n(){if(!a().endpoint?.base_url)return"#";const i=a().endpoint.base_url.replace(/\/$/,"");switch(p()){case"repository":const K=a();return`${i}/${K.owner}/${a().name}`;case"organization":return`${i}/${a().name}`;case"enterprise":return`${i}/enterprises/${a().name}`;default:return"#"}}function E(){return`${p().charAt(0).toUpperCase()+p().slice(1)} URL`}function V(){const i=a().pool_balancing_type;if(!i||i===""||i==="none")return"Round Robin (default)";switch(i){case"roundrobin":return"Round Robin";case"pack":return"Pack";default:return i}}O();var m=Pt(),x=e(m),_=e(x),I=e(_,!0);t(_);var k=s(_,2),d=e(k),f=s(e(d),2),b=e(f,!0);t(f),t(d);var u=s(d,2),D=s(e(u),2),M=e(D,!0);t(D),t(u);var w=s(u,2),S=s(e(w),2),$=e(S,!0);t(S),t(w);var r=s(w,2),C=s(e(r),2),l=e(C);{var U=i=>{H(i,{variant:"success",text:"Running"})},j=i=>{H(i,{variant:"error",text:"Stopped"})};G(l,i=>{c(a()),o(()=>a().pool_manager_status?.running)?i(U):i(j,!1)})}t(C),t(r);var N=s(r,2),A=s(e(N),2),y=e(A,!0);t(A),t(N);var W=s(N,2),F=e(W),ot=e(F,!0);t(F);var Y=s(F,2),J=e(Y),it=e(J);rt(),t(J),t(Y),t(W),t(k),t(x),t(m),q((i,K,dt,nt,lt,vt,ct)=>{g(I,i),g(b,(c(a()),o(()=>a().id))),g(M,K),g($,dt),g(y,nt),g(ot,lt),st(J,"href",vt),g(it,`${ct??""} `)},[()=>o(B),()=>(c(R),c(a()),o(()=>R(a().created_at))),()=>(c(R),c(a()),o(()=>R(a().updated_at))),()=>o(V),()=>o(E),()=>o(n),()=>o(n)]),h(L,m),X()}var Tt=z('

No pools configured

'),Et=z('');function qt(L,v){Q(v,!1);const[a,p]=gt(),B=()=>pt(yt,"$eagerCache",a);let n=T(v,"pools",8),E=T(v,"entityType",8),V=T(v,"entityId",8,""),m=T(v,"entityName",8,"");const x=ut();function _(){x("addPool",{entityType:E(),entityId:V(),entityName:m()})}const I=[{key:"id",title:"ID",flexible:!0,cellComponent:_t,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:at,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:at,cellProps:{field:"provider_name"}},{key:"status",title:"Status",cellComponent:kt,cellProps:{statusType:"enabled"}}],k={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:r=>ft(r,B())},badges:[{type:"custom",value:r=>({variant:r.enabled?"success":"error",text:r.enabled?"Enabled":"Disabled"})}]};O();var d=Et(),f=e(d),b=e(f),u=e(b),D=e(u);t(u);var M=s(u,2);t(b);var w=s(b,2);{var S=r=>{var C=Tt(),l=s(e(C),4),U=e(l);t(l);var j=s(l,2),N=e(j);xt(N,{variant:"primary",size:"sm",$$events:{click:_},children:(A,y)=>{rt();var W=mt("Add Pool");h(A,W)},$$slots:{default:!0}}),t(j),t(C),q(()=>g(U,`No pools configured for this ${E()??""}.`)),h(r,C)},$=r=>{ht(r,{get columns(){return I},get data(){return n()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return c(n()),o(()=>n().length)},totalPages:1,get totalItems(){return c(n()),o(()=>n().length)},itemName:"pools",emptyTitle:"No pools configured",get emptyMessage(){return`No pools configured for this ${E()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return k}})};G(w,r=>{c(n()),o(()=>n().length===0)?r(S):r($,!1)})}t(f),t(d),q(r=>{g(D,`Pools (${c(n()),o(()=>n().length)??""})`),st(M,"href",r)},[()=>(c(et),o(()=>et("/pools")))]),h(L,d),X(),p()}var It=z('

'),Nt=z('

Events

'),Bt=z('

Events

No events available

');function Ft(L,v){Q(v,!1);let a=T(v,"events",8),p=T(v,"eventsContainer",12,void 0);O();var B=Z(),n=tt(B);{var E=m=>{var x=Nt(),_=e(x),I=s(e(_),2);bt(I,5,a,wt,(k,d)=>{var f=It(),b=e(f),u=e(b),D=e(u,!0);t(u);var M=s(u,2),w=e(M);{var S=l=>{H(l,{variant:"error",text:"Error"})},$=l=>{var U=Z(),j=tt(U);{var N=y=>{H(y,{variant:"warning",text:"Warning"})},A=y=>{H(y,{variant:"info",text:"Info"})};G(j,y=>{P(d),o(()=>(P(d).event_level||"info").toLowerCase()==="warning")?y(N):y(A,!1)},!0)}h(l,U)};G(w,l=>{P(d),o(()=>(P(d).event_level||"info").toLowerCase()==="error")?l(S):l($,!1)})}var r=s(w,2),C=e(r,!0);t(r),t(M),t(b),t(f),q(l=>{g(D,(P(d),o(()=>P(d).message))),g(C,l)},[()=>(c(R),P(d),o(()=>R(P(d).created_at)))]),h(k,f)}),t(I),Ct(I,k=>p(k),()=>p()),t(_),t(x),h(m,x)},V=m=>{var x=Bt();h(m,x)};G(n,m=>{c(a()),o(()=>a()&&a().length>0)?m(E):m(V,!1)})}h(L,B),X()}export{Wt as E,qt as P,Ft as a}; diff --git a/webapp/assets/_app/immutable/chunks/DJUEiJtb.js b/webapp/assets/_app/immutable/chunks/DJUEiJtb.js new file mode 100644 index 00000000..0ded1119 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DJUEiJtb.js @@ -0,0 +1 @@ +import{w as m}from"./DUMcBckj.js";import{g as s}from"./_9uqtkkk.js";const z=!0,I=()=>window.location.port==="5173",_={isAuthenticated:!1,user:null,loading:!0,needsInitialization:!1},o=m(_);function f(t,a,e=7){const i=new Date;i.setTime(i.getTime()+e*24*60*60*1e3),document.cookie=`${t}=${a};expires=${i.toUTCString()};path=/;SameSite=Lax`}function d(t){const a=t+"=",e=document.cookie.split(";");for(let i=0;i({...i,loading:!0}));const e=await s.login({username:t,password:a});z&&(f("garm_token",e.token),f("garm_user",t)),s.setToken(e.token),o.set({isAuthenticated:!0,user:t,loading:!1,needsInitialization:!1})}catch(e){throw o.update(i=>({...i,loading:!1})),e}},logout(){g("garm_token"),g("garm_user"),o.set({isAuthenticated:!1,user:null,loading:!1,needsInitialization:!1})},async init(){try{o.update(e=>({...e,loading:!0})),await c.checkInitializationStatus();const t=d("garm_token"),a=d("garm_user");if(t&&a&&(s.setToken(t),await c.checkAuth())){o.set({isAuthenticated:!0,user:a,loading:!1,needsInitialization:!1});return}o.update(e=>({...e,loading:!1,needsInitialization:!1}))}catch{o.update(a=>({...a,loading:!1}))}},async checkInitializationStatus(){try{const t={Accept:"application/json"},a=d("garm_token"),e=I();e&&a&&(t.Authorization=`Bearer ${a}`);const i=await fetch("/api/v1/login",{method:"GET",headers:t,credentials:e?"omit":"include"});if(!i.ok){if(i.status===409&&(await i.json()).error==="init_required")throw o.update(l=>({...l,needsInitialization:!0,loading:!1})),new Error("Initialization required");return}return}catch(t){if(t instanceof Error&&t.message==="Initialization required")throw t;return}},async checkAuth(){try{return await c.checkInitializationStatus(),await s.getControllerInfo(),!0}catch(t){return t instanceof Error&&t.message==="Initialization required"?!1:t?.response?.status===409&&t?.response?.data?.error==="init_required"?(o.update(a=>({...a,needsInitialization:!0,loading:!1})),!1):(c.logout(),!1)}},async initialize(t,a,e,i,n){try{o.update(u=>({...u,loading:!0}));const l=await s.firstRun({username:t,email:a,password:e,full_name:i||t});await c.login(t,e);const r=window.location.origin,h=n?.metadataUrl||`${r}/api/v1/metadata`,p=n?.callbackUrl||`${r}/api/v1/callbacks`,k=n?.webhookUrl||`${r}/webhooks`,w=n?.agentUrl||`${r}/agent`;await s.updateController({metadata_url:h,callback_url:p,webhook_url:k,agent_url:w}),o.update(u=>({...u,needsInitialization:!1}))}catch(l){throw o.update(r=>({...r,loading:!1})),l}}};export{o as a,c as b}; diff --git a/webapp/assets/_app/immutable/chunks/DL1RlOO9.js b/webapp/assets/_app/immutable/chunks/DL1RlOO9.js deleted file mode 100644 index c2fc50f5..00000000 --- a/webapp/assets/_app/immutable/chunks/DL1RlOO9.js +++ /dev/null @@ -1 +0,0 @@ -import{c as R,a as N,s as c,b as m,t as L,l as S,f as P}from"./CxOx-TIJ.js";import{i as U}from"./3NxSoY2_.js";import{p as V,B as W,d as v,c as t,r as a,s as i,t as w,w as j,e as X,g as Y,a as Z,F as b}from"./DzFKsO_V.js";import{p as o,i as ee}from"./B_jyf0qs.js";import{w as k}from"./DoJxysSt.js";import{B as C,s as E}from"./BguOOs3x.js";import{M as te}from"./Pgjt70l7.js";e[b]="src/lib/components/DeleteModal.svelte";var ae=N(P('

'),e[b],[[36,5]]),re=N(P('

'),e[b],[[24,1,[[25,2,[[26,3,[[27,4]]]]],[31,2,[[32,3],[33,3,[[34,4]]]]],[41,2]]]]);function e(T,r){R(new.target),V(r,!1,e);let F=o(r,"title",8),q=o(r,"message",8),y=o(r,"itemName",8,""),f=o(r,"loading",8,!1),z=o(r,"confirmLabel",8,"Delete"),g=o(r,"danger",8,!0);const p=W();function A(){p("confirm")}return U(),v(()=>te(T,{$$events:{close:()=>p("close")},children:k(e,(I,se)=>{var u=re(),n=t(u),G=t(n);a(n);var x=i(n,2),_=t(x),H=t(_,!0);a(_);var $=i(_,2),h=t($),J=t(h,!0);a(h);var K=i(h,2);{var O=s=>{var l=ae(),d=t(l,!0);a(l),w(()=>c(d,y())),m(s,l)};v(()=>ee(K,s=>{y()&&s(O)}),"if",e,35,4)}a($),a(x);var M=i(x,2),B=t(M);v(()=>C(B,{variant:"secondary",get disabled(){return f()},$$events:{click:()=>p("close")},children:k(e,(s,l)=>{j();var d=L("Cancel");m(s,d)}),$$slots:{default:!0}}),"component",e,42,3,{componentTag:"Button"});var Q=i(B,2);{let s=X(()=>g()?"danger":"primary");v(()=>C(Q,{get variant(){return Y(s)},get disabled(){return f()},get loading(){return f()},$$events:{click:A},children:k(e,(l,d)=>{j();var D=L();w(()=>c(D,z())),m(l,D)}),$$slots:{default:!0}}),"component",e,49,3,{componentTag:"Button"})}a(M),a(u),w(()=>{E(n,1,`mx-auto flex items-center justify-center h-12 w-12 rounded-full ${g()?"bg-red-100 dark:bg-red-900":"bg-yellow-100 dark:bg-yellow-900"} mb-4`),E(G,0,`h-6 w-6 ${g()?"text-red-600 dark:text-red-400":"text-yellow-600 dark:text-yellow-400"}`),c(H,F()),c(J,q())}),m(I,u)}),$$slots:{default:!0}}),"component",e,23,0,{componentTag:"Modal"}),Z({...S()})}export{e as D}; diff --git a/webapp/assets/_app/immutable/chunks/DMKBQAZn.js b/webapp/assets/_app/immutable/chunks/DMKBQAZn.js new file mode 100644 index 00000000..f963535d --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DMKBQAZn.js @@ -0,0 +1 @@ +import{f as b,s as f,a as k}from"./o8CdT7B0.js";import{i as E}from"./ChJfoPF0.js";import{p as C,t as P,u as i,h as t,a as j,s as z,c as l,r as o}from"./DUMcBckj.js";import{d as N}from"./_9uqtkkk.js";import{p as n}from"./i7pKks78.js";import{j as x,e as u,i as c}from"./DQsxKNC2.js";var T=b('');function F(d,r){C(r,!1);let e=n(r,"item",8),m=n(r,"eagerCache",8,null);E();var s=T(),a=l(s),v=l(a,!0);o(a);var p=z(a,2),h=l(p,!0);o(p),o(s),P((g,y,_)=>{N(a,"href",g),f(v,y),f(h,_)},[()=>(t(x),t(e()),i(()=>x(e()))),()=>(t(u),t(e()),t(m()),i(()=>u(e(),m()))),()=>(t(c),t(e()),i(()=>c(e())))]),k(d,s),j()}export{F as P}; diff --git a/webapp/assets/_app/immutable/chunks/DMKMpIvH.js b/webapp/assets/_app/immutable/chunks/DMKMpIvH.js deleted file mode 100644 index ee8035a4..00000000 --- a/webapp/assets/_app/immutable/chunks/DMKMpIvH.js +++ /dev/null @@ -1 +0,0 @@ -import{c as ce,a as y,b as l,l as de,d as J,f as x,t as K,s as T}from"./CxOx-TIJ.js";import{i as ve}from"./3NxSoY2_.js";import{p as fe,B as me,l as Q,h as ue,j as i,g as a,m as I,b as pe,c as m,s as j,d as u,r as p,a as he,i as b,n as d,f as L,F as g,w as X,t as M,u as ge}from"./DzFKsO_V.js";import{p as O,i as k}from"./B_jyf0qs.js";import{w as Y}from"./DoJxysSt.js";import{l as _e}from"./BAcG6-Ep.js";import{g as h,B as Z}from"./BguOOs3x.js";import{t as z}from"./li_-Mkq2.js";import{e as be}from"./BZiHL9L3.js";t[g]="src/lib/components/WebhookSection.svelte";var ke=y(x('
Checking...
'),t[g],[[121,6,[[122,7],[123,7]]]]),ye=y(x('
'),t[g],[[133,7]]),xe=y(x('
Webhook installed
',1),t[g],[[126,6,[[127,7,[[128,8]]],[130,7]]]]),we=y(x('
No webhook installed
'),t[g],[[138,6,[[139,7,[[140,8]]],[142,7]]]]),We=y(x('

Webhook Status

'),t[g],[[112,0,[[113,1,[[114,2,[[115,3,[[116,4],[119,4]]],[148,3]]]]]]]]);function t(ee,w){ce(new.target),fe(w,!1,t);const B=I();let _=O(w,"entityType",8),r=O(w,"entityId",8),P=O(w,"entityName",8),o=I(null),n=I(!1),W=I(!0);const q=me();async function S(){if(r())try{i(W,!0),b(_(),"repository")?i(o,(await d(h.getRepositoryWebhookInfo(r())))()):i(o,(await d(h.getOrganizationWebhookInfo(r())))())}catch(e){e&&b(typeof e,"object")&&"response"in e&&b(e.response?.status,404)?i(o,null):(console.warn(..._e("warn","Failed to check webhook status:",e)),i(o,null))}finally{i(W,!1)}}async function te(){if(r())try{i(n,!0),b(_(),"repository")?(await d(h.installRepositoryWebhook(r())))():(await d(h.installOrganizationWebhook(r())))(),z.success("Webhook Installed",`Webhook for ${_()} ${P()} has been installed successfully.`),(await d(S()))(),q("webhookStatusChanged",{installed:!0})}catch(e){z.error("Webhook Installation Failed",e instanceof Error?e.message:"Failed to install webhook.")}finally{i(n,!1)}}async function ae(){if(r())try{i(n,!0),b(_(),"repository")?(await d(h.uninstallRepositoryWebhook(r())))():(await d(h.uninstallOrganizationWebhook(r())))(),z.success("Webhook Uninstalled",`Webhook for ${_()} ${P()} has been uninstalled successfully.`),(await d(S()))(),q("webhookStatusChanged",{installed:!1})}catch(e){z.error("Webhook Uninstall Failed",be(e))}finally{i(n,!1)}}Q(()=>ue(r()),()=>{r()&&S()}),Q(()=>a(o),()=>{i(B,a(o)&&a(o).active)}),pe(),ve();var F=We(),D=m(F),V=m(D),C=m(V),G=j(m(C),2),se=m(G);{var re=e=>{var v=ke();l(e,v)},ie=e=>{var v=J(),E=L(v);{var N=s=>{var c=xe(),$=j(L(c),2);{var f=A=>{var R=ye(),ne=m(R);p(R),M(()=>T(ne,`URL: ${a(o),ge(()=>a(o).url||"N/A")??""}`)),l(A,R)};u(()=>k($,A=>{a(o)&&A(f)}),"if",t,132,6)}l(s,c)},U=s=>{var c=we();l(s,c)};u(()=>k(E,s=>{a(B)?s(N):s(U,!1)},!0),"if",t,125,5)}l(e,v)};u(()=>k(se,e=>{a(W)?e(re):e(ie,!1)}),"if",t,120,5)}p(G),p(C);var H=j(C,2),oe=m(H);{var le=e=>{var v=J(),E=L(v);{var N=s=>{u(()=>Z(s,{variant:"danger",size:"sm",get disabled(){return a(n)},$$events:{click:ae},children:Y(t,(c,$)=>{X();var f=K();M(()=>T(f,a(n)?"Uninstalling...":"Uninstall")),l(c,f)}),$$slots:{default:!0}}),"component",t,151,6,{componentTag:"Button"})},U=s=>{u(()=>Z(s,{variant:"primary",size:"sm",get disabled(){return a(n)},$$events:{click:te},children:Y(t,(c,$)=>{X();var f=K();M(()=>T(f,a(n)?"Installing...":"Install Webhook")),l(c,f)}),$$slots:{default:!0}}),"component",t,160,6,{componentTag:"Button"})};u(()=>k(E,s=>{a(B)?s(N):s(U,!1)}),"if",t,150,5)}l(e,v)};u(()=>k(oe,e=>{a(W)||e(le)}),"if",t,149,4)}return p(H),p(V),p(D),p(F),l(ee,F),he({...de()})}export{t as W}; diff --git a/webapp/assets/_app/immutable/chunks/JkzpcrZD.js b/webapp/assets/_app/immutable/chunks/DQsxKNC2.js similarity index 99% rename from webapp/assets/_app/immutable/chunks/JkzpcrZD.js rename to webapp/assets/_app/immutable/chunks/DQsxKNC2.js index 262da75b..7108e720 100644 --- a/webapp/assets/_app/immutable/chunks/JkzpcrZD.js +++ b/webapp/assets/_app/immutable/chunks/DQsxKNC2.js @@ -1,4 +1,4 @@ -import{c as o}from"./BguOOs3x.js";function l(r){if(!r)return"N/A";try{return(typeof r=="string"?new Date(r):r).toLocaleString()}catch{return"Invalid Date"}}function f(r,e="w-4 h-4"){return r==="gitea"?``:r==="github"?`
`:` +import{c as o}from"./_9uqtkkk.js";function l(r){if(!r)return"N/A";try{return(typeof r=="string"?new Date(r):r).toLocaleString()}catch{return"Invalid Date"}}function f(r,e="w-4 h-4"){return r==="gitea"?``:r==="github"?`
`:` `}function d(r,e){if(r.repo_name)return r.repo_name;if(r.org_name)return r.org_name;if(r.enterprise_name)return r.enterprise_name;if(r.repo_id&&!r.repo_name&&e?.repositories){const n=e.repositories.find(t=>t.id===r.repo_id);return n?`${n.owner}/${n.name}`:"Unknown Entity"}if(r.org_id&&!r.org_name&&e?.organizations){const n=e.organizations.find(t=>t.id===r.org_id);return n&&n.name?n.name:"Unknown Entity"}if(r.enterprise_id&&!r.enterprise_name&&e?.enterprises){const n=e.enterprises.find(t=>t.id===r.enterprise_id);return n&&n.name?n.name:"Unknown Entity"}return"Unknown Entity"}function p(r){return r.repo_id?"repository":r.org_id?"organization":r.enterprise_id?"enterprise":"unknown"}function g(r){return r.repo_id?o(`/repositories/${r.repo_id}`):r.org_id?o(`/organizations/${r.org_id}`):r.enterprise_id?o(`/enterprises/${r.enterprise_id}`):"#"}function w(r){r&&(r.scrollTop=r.scrollHeight)}function m(r){return{newPerPage:r,newCurrentPage:1}}function v(r){return r.pool_manager_status?.running?{text:"Running",variant:"success"}:{text:"Stopped",variant:"error"}}function _(r){switch(r.toLowerCase()){case"error":return{text:"Error",variant:"error"};case"warning":return{text:"Warning",variant:"warning"};case"info":return{text:"Info",variant:"info"};default:return{text:r,variant:"info"}}}function i(r,e,n){if(!e.trim())return r;const t=e.toLowerCase();return r.filter(s=>typeof n=="function"?n(s).toLowerCase().includes(t):n.some(a=>s[a]?.toString().toLowerCase().includes(t)))}function h(r,e){return i(r,e,["name","owner"])}function x(r,e){return i(r,e,["name"])}function k(r,e){return i(r,e,n=>[n.name||"",n.description||"",n.endpoint?.name||""].join(" "))}function E(r,e){return i(r,e,["name","description","base_url","api_base_url"])}function L(r,e,n){return r.slice((e-1)*n,e*n)}export{E as a,l as b,m as c,_ as d,d as e,k as f,f as g,i as h,p as i,g as j,v as k,x as l,h as m,L as p,w as s}; diff --git a/webapp/assets/_app/immutable/chunks/DSHGoHxX.js b/webapp/assets/_app/immutable/chunks/DTRhxHIE.js similarity index 82% rename from webapp/assets/_app/immutable/chunks/DSHGoHxX.js rename to webapp/assets/_app/immutable/chunks/DTRhxHIE.js index 5706dbed..020fd83d 100644 --- a/webapp/assets/_app/immutable/chunks/DSHGoHxX.js +++ b/webapp/assets/_app/immutable/chunks/DTRhxHIE.js @@ -1 +1 @@ -import{z as C}from"./DzFKsO_V.js";function x(){const{subscribe:E,set:L,update:s}=C({connected:!1,connecting:!1,error:null,lastEvent:null});let e=null,b=0,W=50,k=1e3,f=1e3,m=3e4,d=null,r=[],i=!1;const l=new Map;function N(){const t=window.location.protocol==="https:"?"wss:":"ws:",n=window.location.host;return`${t}//${n}/api/v1/ws/events`}function u(){if(!(e&&(e.readyState===WebSocket.CONNECTING||e.readyState===WebSocket.OPEN))){i=!1,s(t=>({...t,connecting:!0,error:null}));try{const t=N();e=new WebSocket(t);const n=setTimeout(()=>{e&&e.readyState===WebSocket.CONNECTING&&e.close()},1e4);e.onopen=()=>{clearTimeout(n),b=0,f=k,s(a=>({...a,connected:!0,connecting:!1,error:null})),r.length>0&&g(r)},e.onmessage=a=>{try{const c=JSON.parse(a.data);s(o=>({...o,lastEvent:c})),(l.get(c["entity-type"])||[]).forEach(o=>{try{o(c)}catch(w){console.error("[WebSocket] Error in event callback:",w)}})}catch(c){console.error("[WebSocket] Error parsing message:",c)}},e.onclose=a=>{clearTimeout(n);const c=a.code===1e3&&i,S=a.code!==1e3?`Connection closed: ${a.reason||"Unknown reason"}`:null;s(o=>({...o,connected:!1,connecting:!1,error:S})),c||h()},e.onerror=a=>{clearTimeout(n),s(c=>({...c,connected:!1,connecting:!1,error:"WebSocket connection error"})),i||h()}}catch(t){s(n=>({...n,connected:!1,connecting:!1,error:t instanceof Error?t.message:"Failed to connect"}))}}}function M(){}function T(){}function h(){if(i)return;d&&clearTimeout(d),b++,b>W&&(b=1,f=k);const t=Math.min(f,m);d=window.setTimeout(()=>{if(!i){u();const n=Math.random()*1e3;f=Math.min(f*1.5+n,m)}},t)}function g(t){if(e&&e.readyState===WebSocket.OPEN){const n={"send-everything":!1,filters:t};e.send(JSON.stringify(n)),r=[...t]}}function y(){i=!0,d&&(clearTimeout(d),d=null),e&&(e.close(1e3,"Manual disconnect"),e=null),l.clear(),r=[],s(t=>({...t,connected:!1,connecting:!1,error:null,lastEvent:null}))}function O(){navigator.onLine&&!i&&setTimeout(()=>{(!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING)&&(b=0,f=k,u())},2e3)}typeof window<"u"&&(window.addEventListener("online",O),window.addEventListener("offline",()=>{s(t=>({...t,error:"Network offline"}))}),setInterval(()=>{i||(!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING)&&u()},1e4));function v(t,n,a){l.has(t)||l.set(t,[]),l.get(t).push(a);const c=r.findIndex(o=>o["entity-type"]===t),S={"entity-type":t,operations:n};if(c>=0){const o=r[c].operations;S.operations=Array.from(new Set([...o,...n])),r[c]=S}else r.push(S);return e&&e.readyState===WebSocket.OPEN&&g(r),(!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING)&&u(),()=>{const o=l.get(t);if(o){const w=o.indexOf(a);if(w>-1&&o.splice(w,1),o.length===0){l.delete(t);const p=r.findIndex(I=>I["entity-type"]===t);p>-1&&(r.splice(p,1),e&&e.readyState===WebSocket.OPEN&&g(r))}}}}return typeof window<"u"&&u(),{subscribe:E,connect:u,disconnect:y,subscribeToEntity:v}}const F=x();export{F as w}; +import{w as C}from"./DUMcBckj.js";function x(){const{subscribe:E,set:L,update:s}=C({connected:!1,connecting:!1,error:null,lastEvent:null});let e=null,w=0,W=50,k=1e3,f=1e3,m=3e4,d=null,r=[],i=!1;const l=new Map;function N(){const t=window.location.protocol==="https:"?"wss:":"ws:",n=window.location.host;return`${t}//${n}/api/v1/ws/events`}function u(){if(!(e&&(e.readyState===WebSocket.CONNECTING||e.readyState===WebSocket.OPEN))){i=!1,s(t=>({...t,connecting:!0,error:null}));try{const t=N();e=new WebSocket(t);const n=setTimeout(()=>{e&&e.readyState===WebSocket.CONNECTING&&e.close()},1e4);e.onopen=()=>{clearTimeout(n),w=0,f=k,s(a=>({...a,connected:!0,connecting:!1,error:null})),r.length>0&&g(r)},e.onmessage=a=>{try{const c=JSON.parse(a.data);s(o=>({...o,lastEvent:c})),(l.get(c["entity-type"])||[]).forEach(o=>{try{o(c)}catch(b){console.error("[WebSocket] Error in event callback:",b)}})}catch(c){console.error("[WebSocket] Error parsing message:",c)}},e.onclose=a=>{clearTimeout(n);const c=a.code===1e3&&i,S=a.code!==1e3?`Connection closed: ${a.reason||"Unknown reason"}`:null;s(o=>({...o,connected:!1,connecting:!1,error:S})),c||h()},e.onerror=a=>{clearTimeout(n),s(c=>({...c,connected:!1,connecting:!1,error:"WebSocket connection error"})),i||h()}}catch(t){s(n=>({...n,connected:!1,connecting:!1,error:t instanceof Error?t.message:"Failed to connect"}))}}}function M(){}function T(){}function h(){if(i)return;d&&clearTimeout(d),w++,w>W&&(w=1,f=k);const t=Math.min(f,m);d=window.setTimeout(()=>{if(!i){u();const n=Math.random()*1e3;f=Math.min(f*1.5+n,m)}},t)}function g(t){if(e&&e.readyState===WebSocket.OPEN){const n={"send-everything":!1,filters:t};e.send(JSON.stringify(n)),r=[...t]}}function y(){i=!0,d&&(clearTimeout(d),d=null),e&&(e.close(1e3,"Manual disconnect"),e=null),l.clear(),r=[],s(t=>({...t,connected:!1,connecting:!1,error:null,lastEvent:null}))}function O(){navigator.onLine&&!i&&setTimeout(()=>{(!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING)&&(w=0,f=k,u())},2e3)}typeof window<"u"&&(window.addEventListener("online",O),window.addEventListener("offline",()=>{s(t=>({...t,error:"Network offline"}))}),setInterval(()=>{i||(!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING)&&u()},1e4));function v(t,n,a){l.has(t)||l.set(t,[]),l.get(t).push(a);const c=r.findIndex(o=>o["entity-type"]===t),S={"entity-type":t,operations:n};if(c>=0){const o=r[c].operations;S.operations=Array.from(new Set([...o,...n])),r[c]=S}else r.push(S);return e&&e.readyState===WebSocket.OPEN&&g(r),(!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING)&&u(),()=>{const o=l.get(t);if(o){const b=o.indexOf(a);if(b>-1&&o.splice(b,1),o.length===0){l.delete(t);const p=r.findIndex(I=>I["entity-type"]===t);p>-1&&(r.splice(p,1),e&&e.readyState===WebSocket.OPEN&&g(r))}}}}return typeof window<"u"&&u(),{subscribe:E,connect:u,disconnect:y,subscribeToEntity:v}}const F=x();export{F as w}; diff --git a/webapp/assets/_app/immutable/chunks/DTko0dwG.js b/webapp/assets/_app/immutable/chunks/DTko0dwG.js deleted file mode 100644 index 0ae758e7..00000000 --- a/webapp/assets/_app/immutable/chunks/DTko0dwG.js +++ /dev/null @@ -1 +0,0 @@ -import{c as X,a as B,b as i,l as Y,f as P,d as F,s as y,t as Z}from"./CxOx-TIJ.js";import{i as $}from"./3NxSoY2_.js";import{p as tt,B as at,d as c,t as M,a as et,s as b,c as o,u as A,F as f,r as n,f as z,h as D,w as st}from"./DzFKsO_V.js";import{p as v,i as m}from"./B_jyf0qs.js";import{e as rt,f as I,B as it}from"./BguOOs3x.js";import{w as ot}from"./DoJxysSt.js";import"./C2FKJqnN.js";t[f]="src/lib/components/PageHeader.svelte";var nt=B(P('
'),t[f],[[29,2]]),ct=B(P('
'),t[f],[[33,2]]),dt=B(P('

'),t[f],[[21,0,[[22,1,[[23,2],[24,2]]]]]]);function t(N,a){X(new.target);const _=rt(a);tt(a,!1,t);const T=at();let q=v(a,"title",8),C=v(a,"description",8),d=v(a,"actionLabel",8,null),p=v(a,"showAction",8,!0);function G(){T("action")}$();var h=dt(),x=o(h),u=o(x),J=o(u,!0);n(u);var E=b(u,2),K=o(E,!0);n(E),n(x);var O=b(x,2);{var Q=s=>{var r=nt(),g=o(r);I(g,a,"actions",{}),n(r),i(s,r)},R=s=>{var r=F(),g=z(r);{var S=k=>{var w=ct(),H=o(w);{var U=e=>{var l=F(),L=z(l);I(L,a,"secondary-actions",{}),i(e,l)};c(()=>m(H,e=>{A(()=>_["secondary-actions"])&&e(U)}),"if",t,34,3)}var V=b(H,2);{var W=e=>{c(()=>it(e,{variant:"primary",icon:'',$$events:{click:G},children:ot(t,(l,L)=>{st();var j=Z();M(()=>y(j,d())),i(l,j)}),$$slots:{default:!0}}),"component",t,38,4,{componentTag:"Button"})};c(()=>m(V,e=>{p()&&d()&&e(W)}),"if",t,37,3)}n(w),i(k,w)};c(()=>m(g,k=>{D(p()),D(d()),A(()=>p()&&d()||_["secondary-actions"])&&k(S)},!0),"if",t,32,1)}i(s,r)};c(()=>m(O,s=>{A(()=>_.actions)?s(Q):s(R,!1)}),"if",t,28,1)}return n(h),M(()=>{y(J,q()),y(K,C())}),i(N,h),et({...Y()})}export{t as P}; diff --git a/webapp/assets/_app/immutable/chunks/DUMcBckj.js b/webapp/assets/_app/immutable/chunks/DUMcBckj.js new file mode 100644 index 00000000..2792025f --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DUMcBckj.js @@ -0,0 +1 @@ +var ae=Array.isArray,He=Array.prototype.indexOf,Mn=Array.from,Wt=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,Ue=Object.getOwnPropertyDescriptors,Be=Object.prototype,$e=Array.prototype,ie=Object.getPrototypeOf,Xt=Object.isExtensible;function Fn(t){return typeof t=="function"}const pt=()=>{};function qn(t){return t()}function ue(t){for(var e=0;e{t=r,e=a});return{promise:n,resolve:t,reject:e}}const T=2,Pt=4,At=8,_t=16,C=32,G=64,le=128,k=256,yt=512,y=1024,R=2048,P=4096,q=8192,nt=16384,Mt=32768,fe=65536,Zt=1<<17,ze=1<<18,Ft=1<<19,qt=1<<20,Ot=1<<21,jt=1<<22,L=1<<23,Y=Symbol("$state"),jn=Symbol("legacy props"),Ln=Symbol(""),Lt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},oe=3,ce=8;function Ke(){throw new Error("https://svelte.dev/e/await_outside_boundary")}function Yt(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Ge(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function We(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Xe(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ze(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Je(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Hn(){throw new Error("https://svelte.dev/e/hydration_failed")}function Un(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Qe(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function tn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function en(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}const Bn=1,$n=2,Vn=4,zn=8,Kn=16,Gn=1,Wn=2,Xn=4,Zn=8,Jn=16,Qn=1,tr=2,nn="[",rn="[!",sn="]",Ht={},E=Symbol(),er="http://www.w3.org/1999/xhtml",nr="@attach";function Ut(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function rr(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}let B=!1;function sr(t){B=t}let S;function lt(t){if(t===null)throw Ut(),Ht;return S=t}function ar(){return lt(W(S))}function ir(t){if(B){if(W(S)!==null)throw Ut(),Ht;S=t}}function ur(t=1){if(B){for(var e=t,n=S;e--;)n=W(n);S=n}}function lr(){for(var t=0,e=S;;){if(e.nodeType===ce){var n=e.data;if(n===sn){if(t===0)return e;t-=1}else(n===nn||n===rn)&&(t+=1)}var r=W(e);e.remove(),e=r}}function fr(t){if(!t||t.nodeType!==ce)throw Ut(),Ht;return t.data}function _e(t){return t===this.v}function ve(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function or(t,e){return t!==e}function he(t){return!ve(t,this.v)}let vt=!1;function cr(){vt=!0}let p=null;function Et(t){p=t}function _r(t,e=!1,n){p={p,c:null,e:null,s:t,x:null,l:vt&&!e?{s:null,u:null,$:[]}:null}}function vr(t){var e=p,n=e.e;if(n!==null){e.e=null;for(var r of n)Re(r)}return t!==void 0&&(e.x=t),p=e.p,t??{}}function ht(){return!vt||p!==null&&p.l===null}const an=new WeakMap;function un(t){var e=h;if(e===null)return c.f|=L,t;if((e.f&Mt)===0){if((e.f&le)===0)throw!e.parent&&t instanceof Error&&de(t),t;e.b.error(t)}else Bt(t,e)}function Bt(t,e){for(;e!==null;){if((e.f&le)!==0)try{e.b.error(t);return}catch(n){t=n}e=e.parent}throw t instanceof Error&&de(t),t}function de(t){const e=an.get(t);e&&(Wt(t,"message",{value:e.message}),Wt(t,"stack",{value:e.stack}))}const ln=typeof requestIdleCallback>"u"?t=>setTimeout(t,1):requestIdleCallback;let ft=[],ot=[];function pe(){var t=ft;ft=[],ue(t)}function we(){var t=ot;ot=[],ue(t)}function hr(t){ft.length===0&&queueMicrotask(pe),ft.push(t)}function dr(t){ot.length===0&&ln(we),ot.push(t)}function fn(){ft.length>0&&pe(),ot.length>0&&we()}function on(){for(var t=h.b;t!==null&&!t.has_pending_snippet();)t=t.parent;return t===null&&Ke(),t}function $t(t){var e=T|R,n=c!==null&&(c.f&T)!==0?c:null;return h===null||n!==null&&(n.f&k)!==0?e|=k:h.f|=Ft,{ctx:p,deps:null,effects:null,equals:_e,f:e,fn:t,reactions:null,rv:0,v:E,wv:0,parent:n??h,ac:null}}function cn(t,e){let n=h;n===null&&Ge();var r=n.b,a=void 0,s=zt(E),l=null,f=!c;return mn(()=>{try{var i=t()}catch(v){i=Promise.reject(v)}var u=()=>i;a=l?.then(u,u)??Promise.resolve(i),l=a;var o=w,_=r.pending;f&&(r.update_pending_count(1),_||o.increment());const d=(v,A=void 0)=>{l=null,_||o.activate(),A?A!==Lt&&(s.f|=L,gt(s,A)):((s.f&L)!==0&&(s.f^=L),gt(s,v)),f&&(r.update_pending_count(-1),_||o.decrement()),be()};if(a.then(d,v=>d(null,v||"unknown")),o)return()=>{queueMicrotask(()=>o.neuter())}}),new Promise(i=>{function u(o){function _(){o===a?i(s):u(a)}o.then(_,_)}u(a)})}function pr(t){const e=$t(t);return Pe(e),e}function _n(t){const e=$t(t);return e.equals=he,e}function ye(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;ncn(i))).then(i=>{a?.activate(),l();try{n([...t.map(r),...i])}catch(u){(s.f&nt)===0&&Bt(u,s)}a?.deactivate(),be()}).catch(i=>{f.error(i)})}function dn(){var t=h,e=c,n=p;return function(){mt(t),et(e),Et(n)}}function be(){mt(null),et(null),Et(null)}const at=new Set;let w=null,Rt=null,tt=null,Jt=new Set,bt=[];function ge(){const t=bt.shift();bt.length>0&&queueMicrotask(ge),t()}let $=[],xt=null,Dt=!1,wt=!1;class V{current=new Map;#s=new Map;#a=new Set;#t=0;#f=null;#o=!1;#n=[];#i=[];#r=[];#e=[];#u=[];#c=[];#_=[];skipped_effects=new Set;process(e){$=[],Rt=null;var n=null;if(at.size>1){n=new Map,tt=new Map;for(const[s,l]of this.current)n.set(s,{v:s.v,wv:s.wv}),s.v=l;for(const s of at)if(s!==this)for(const[l,f]of s.#s)n.has(l)||(n.set(l,{v:l.v,wv:l.wv}),l.v=f)}for(const s of e)this.#h(s);if(this.#n.length===0&&this.#t===0){this.#v();var r=this.#r,a=this.#e;this.#r=[],this.#e=[],this.#u=[],Rt=w,w=null,Qt(r),Qt(a),w===null?w=this:at.delete(this),this.#f?.resolve()}else this.#l(this.#r),this.#l(this.#e),this.#l(this.#u);if(n){for(const[s,{v:l,wv:f}]of n)s.wv<=f&&(s.v=l);tt=null}for(const s of this.#n)Q(s);for(const s of this.#i)Q(s);this.#n=[],this.#i=[]}#h(e){e.f^=y;for(var n=e.first;n!==null;){var r=n.f,a=(r&(C|G))!==0,s=a&&(r&y)!==0,l=s||(r&q)!==0||this.skipped_effects.has(n);if(!l&&n.fn!==null){if(a)n.f^=y;else if((r&y)===0)if((r&Pt)!==0)this.#e.push(n);else if((r&jt)!==0){var f=n.b?.pending?this.#i:this.#n;f.push(n)}else dt(n)&&((n.f&_t)!==0&&this.#u.push(n),Q(n));var i=n.first;if(i!==null){n=i;continue}}var u=n.parent;for(n=n.next;n===null&&u!==null;)n=u.next,u=u.parent}}#l(e){for(const n of e)((n.f&R)!==0?this.#c:this.#_).push(n),g(n,y);e.length=0}capture(e,n){this.#s.has(e)||this.#s.set(e,n),this.current.set(e,e.v)}activate(){w=this}deactivate(){w=null,Rt=null;for(const e of Jt)if(Jt.delete(e),e(),w!==null)break}neuter(){this.#o=!0}flush(){$.length>0?me():this.#v(),w===this&&(this.#t===0&&at.delete(this),this.deactivate())}#v(){if(!this.#o)for(const e of this.#a)e();this.#a.clear()}increment(){this.#t+=1}decrement(){if(this.#t-=1,this.#t===0){for(const e of this.#c)g(e,R),z(e);for(const e of this.#_)g(e,P),z(e);this.#r=[],this.#e=[],this.flush()}else this.deactivate()}add_callback(e){this.#a.add(e)}settled(){return(this.#f??=Ve()).promise}static ensure(){if(w===null){const e=w=new V;at.add(w),wt||V.enqueue(()=>{w===e&&e.flush()})}return w}static enqueue(e){bt.length===0&&queueMicrotask(ge),bt.unshift(e)}}function pn(t){var e=wt;wt=!0;try{for(var n;;){if(fn(),$.length===0&&(w?.flush(),$.length===0))return xt=null,n;me()}}finally{wt=e}}function me(){var t=J;Dt=!0;try{var e=0;for(ne(!0);$.length>0;){var n=V.ensure();if(e++>1e3){var r,a;wn()}n.process($),H.clear()}}finally{Dt=!1,ne(t),xt=null}}function wn(){try{Je()}catch(t){Bt(t,xt)}}function Qt(t){var e=t.length;if(e!==0){for(var n=0;na&&(r.f&qt)!==0)break}}for(;nj(t))),e}function I(t,e,n=!1){c!==null&&(!O||(c.f&Zt)!==0)&&ht()&&(c.f&(T|_t|jt|Zt))!==0&&!N?.includes(t)&&en();let r=n?it(e):e;return gt(t,r)}function gt(t,e){if(!t.equals(e)){var n=t.v;rt?H.set(t,e):H.set(t,n),t.v=e;var r=V.ensure();r.capture(t,n),(t.f&T)!==0&&((t.f&R)!==0&&Vt(t),g(t,(t.f&k)===0?y:P)),t.wv=Fe(),Te(t,R),ht()&&h!==null&&(h.f&y)!==0&&(h.f&(C|G))===0&&(x===null?Sn([t]):x.push(t))}return e}function Er(t,e=1){var n=j(t),r=e===1?n++:n--;return I(t,n),r}function St(t){I(t,t.v+1)}function Te(t,e){var n=t.reactions;if(n!==null)for(var r=ht(),a=n.length,s=0;s{if(U===s)return f();var i=c,u=U;et(null),se(s);var o=f();return et(i),se(u),o};return r&&n.set("length",M(t.length)),new Proxy(t,{defineProperty(f,i,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Qe();var o=n.get(i);return o===void 0?o=l(()=>{var _=M(u.value);return n.set(i,_),_}):I(o,u.value,!0),!0},deleteProperty(f,i){var u=n.get(i);if(u===void 0){if(i in f){const o=l(()=>M(E));n.set(i,o),St(a)}}else I(u,E),St(a);return!0},get(f,i,u){if(i===Y)return t;var o=n.get(i),_=i in f;if(o===void 0&&(!_||ut(f,i)?.writable)&&(o=l(()=>{var v=it(_?f[i]:E),A=M(v);return A}),n.set(i,o)),o!==void 0){var d=j(o);return d===E?void 0:d}return Reflect.get(f,i,u)},getOwnPropertyDescriptor(f,i){var u=Reflect.getOwnPropertyDescriptor(f,i);if(u&&"value"in u){var o=n.get(i);o&&(u.value=j(o))}else if(u===void 0){var _=n.get(i),d=_?.v;if(_!==void 0&&d!==E)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return u},has(f,i){if(i===Y)return!0;var u=n.get(i),o=u!==void 0&&u.v!==E||Reflect.has(f,i);if(u!==void 0||h!==null&&(!o||ut(f,i)?.writable)){u===void 0&&(u=l(()=>{var d=o?it(f[i]):E,v=M(d);return v}),n.set(i,u));var _=j(u);if(_===E)return!1}return o},set(f,i,u,o){var _=n.get(i),d=i in f;if(r&&i==="length")for(var v=u;v<_.v;v+=1){var A=n.get(v+"");A!==void 0?I(A,E):v in f&&(A=l(()=>M(E)),n.set(v+"",A))}if(_===void 0)(!d||ut(f,i)?.writable)&&(_=l(()=>M(void 0)),I(_,it(u)),n.set(i,_));else{d=_.v!==E;var Ye=l(()=>it(u));I(_,Ye)}var Kt=Reflect.getOwnPropertyDescriptor(f,i);if(Kt?.set&&Kt.set.call(o,u),!d){if(r&&typeof i=="string"){var Gt=n.get("length"),kt=Number(i);Number.isInteger(kt)&&kt>=Gt.v&&I(Gt,kt+1)}St(a)}return!0},ownKeys(f){j(a);var i=Reflect.ownKeys(f).filter(_=>{var d=n.get(_);return d===void 0||d.v!==E});for(var[u,o]of n)o.v!==E&&!(u in f)&&i.push(u);return i},setPrototypeOf(){tn()}})}function te(t){try{if(t!==null&&typeof t=="object"&&Y in t)return t[Y]}catch{}return t}function br(t,e){return Object.is(te(t),te(e))}var ee,yn,En,Ae,xe;function gr(){if(ee===void 0){ee=window,yn=document,En=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;Ae=ut(e,"firstChild").get,xe=ut(e,"nextSibling").get,Xt(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Xt(n)&&(n.__t=void 0)}}function It(t=""){return document.createTextNode(t)}function Nt(t){return Ae.call(t)}function W(t){return xe.call(t)}function mr(t,e){if(!B)return Nt(t);var n=Nt(S);if(n===null)n=S.appendChild(It());else if(e&&n.nodeType!==oe){var r=It();return n?.before(r),lt(r),r}return lt(n),n}function Tr(t,e){if(!B){var n=Nt(t);return n instanceof Comment&&n.data===""?W(n):n}return S}function Ar(t,e=1,n=!1){let r=B?S:t;for(var a;e--;)a=r,r=W(r);if(!B)return r;if(n&&r?.nodeType!==oe){var s=It();return r===null?a?.after(s):r.before(s),lt(s),s}return lt(r),r}function xr(t){t.textContent=""}function kr(){return!1}function ke(t){h===null&&c===null&&Ze(),c!==null&&(c.f&k)!==0&&h===null&&Xe(),rt&&We()}function bn(t,e){var n=e.last;n===null?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}function D(t,e,n,r=!0){var a=h;a!==null&&(a.f&q)!==0&&(t|=q);var s={ctx:p,deps:null,nodes_start:null,nodes_end:null,f:t|R,first:null,fn:e,last:null,next:null,parent:a,b:a&&a.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{Q(s),s.f|=Mt}catch(i){throw K(s),i}else e!==null&&z(s);var l=n&&s.deps===null&&s.first===null&&s.nodes_start===null&&s.teardown===null&&(s.f&Ft)===0;if(!l&&r&&(a!==null&&bn(s,a),c!==null&&(c.f&T)!==0&&(t&G)===0)){var f=c;(f.effects??=[]).push(s)}return s}function Rr(t){const e=D(At,null,!1);return g(e,y),e.teardown=t,e}function gn(t){ke();var e=h.f,n=!c&&(e&C)!==0&&(e&Mt)===0;if(n){var r=p;(r.e??=[]).push(t)}else return Re(t)}function Re(t){return D(Pt|qt,t,!1)}function Sr(t){return ke(),D(At|qt,t,!0)}function Or(t){V.ensure();const e=D(G,t,!0);return(n={})=>new Promise(r=>{n.outro?xn(e,()=>{K(e),r(void 0)}):(K(e),r(void 0))})}function Dr(t){return D(Pt,t,!1)}function Ir(t,e){var n=p,r={effect:null,ran:!1,deps:t};n.l.$.push(r),r.effect=Se(()=>{t(),!r.ran&&(r.ran=!0,st(e))})}function Nr(){var t=p;Se(()=>{for(var e of t.l.$){e.deps();var n=e.effect;(n.f&y)!==0&&g(n,P),dt(n)&&Q(n),e.ran=!1}})}function mn(t){return D(jt|Ft,t,!0)}function Se(t,e=0){return D(At|e,t,!0)}function Cr(t,e=[],n=[]){hn(e,n,r=>{D(At,()=>t(...r.map(j)),!0)})}function Pr(t,e=0){var n=D(_t|e,t,!0);return n}function Mr(t,e=!0){return D(C,t,!0,e)}function Oe(t){var e=t.teardown;if(e!==null){const n=rt,r=c;re(!0),et(null);try{e.call(null)}finally{re(n),et(r)}}}function De(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){n.ac?.abort(Lt);var r=n.next;(n.f&G)!==0?n.parent=null:K(n,e),n=r}}function Tn(t){for(var e=t.first;e!==null;){var n=e.next;(e.f&C)===0&&K(e),e=n}}function K(t,e=!0){var n=!1;(e||(t.f&ze)!==0)&&t.nodes_start!==null&&t.nodes_end!==null&&(An(t.nodes_start,t.nodes_end),n=!0),De(t,e&&!n),Tt(t,0),g(t,nt);var r=t.transitions;if(r!==null)for(const s of r)s.stop();Oe(t);var a=t.parent;a!==null&&a.first!==null&&Ie(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function An(t,e){for(;t!==null;){var n=t===e?null:W(t);t.remove(),t=n}}function Ie(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function xn(t,e){var n=[];Ne(t,n,!0),kn(n,()=>{K(t),e&&e()})}function kn(t,e){var n=t.length;if(n>0){var r=()=>--n||e();for(var a of t)a.out(r)}else e()}function Ne(t,e,n){if((t.f&q)===0){if(t.f^=q,t.transitions!==null)for(const l of t.transitions)(l.is_global||n)&&e.push(l);for(var r=t.first;r!==null;){var a=r.next,s=(r.f&fe)!==0||(r.f&C)!==0;Ne(r,e,s?n:!1),r=a}}}function Fr(t){Ce(t,!0)}function Ce(t,e){if((t.f&q)!==0){t.f^=q,(t.f&y)===0&&(g(t,R),z(t));for(var n=t.first;n!==null;){var r=n.next,a=(n.f&fe)!==0||(n.f&C)!==0;Ce(n,a?e:!1),n=r}if(t.transitions!==null)for(const s of t.transitions)(s.is_global||e)&&s.in()}}let Z=null;function Rn(t){var e=Z;try{if(Z=new Set,st(t),e!==null)for(var n of Z)e.add(n);return Z}finally{Z=e}}function qr(t){for(var e of Rn(t))gt(e,e.v)}let J=!1;function ne(t){J=t}let rt=!1;function re(t){rt=t}let c=null,O=!1;function et(t){c=t}let h=null;function mt(t){h=t}let N=null;function Pe(t){c!==null&&(N===null?N=[t]:N.push(t))}let b=null,m=0,x=null;function Sn(t){x=t}let Me=1,ct=0,U=ct;function se(t){U=t}let F=!1;function Fe(){return++Me}function dt(t){var e=t.f;if((e&R)!==0)return!0;if((e&P)!==0){var n=t.deps,r=(e&k)!==0;if(n!==null){var a,s,l=(e&yt)!==0,f=r&&h!==null&&!F,i=n.length;if((l||f)&&(h===null||(h.f&nt)===0)){var u=t,o=u.parent;for(a=0;at.wv)return!0}(!r||h!==null&&!F)&&g(t,y)}return!1}function qe(t,e,n=!0){var r=t.reactions;if(r!==null&&!N?.includes(t))for(var a=0;a0)for(d.length=m+b.length,v=0;vt.subscribe(e,n));return r.unsubscribe?()=>r.unsubscribe():r}const X=[];function Hr(t,e=pt){let n=null;const r=new Set;function a(f){if(ve(t,f)&&(t=f,n)){const i=!X.length;for(const u of r)u[1](),X.push(u,t);if(i){for(let u=0;u{r.delete(u),r.size===0&&n&&(n(),n=null)}}return{set:a,update:s,subscribe:l}}function Ur(t){let e;return In(t,n=>e=n)(),e}function Nn(t){p===null&&Yt(),vt&&p.l!==null?Pn(p).m.push(t):gn(()=>{const e=st(t);if(typeof e=="function")return e})}function Br(t){p===null&&Yt(),Nn(()=>()=>st(t))}function Cn(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function $r(){const t=p;return t===null&&Yt(),(e,n,r)=>{const a=t.s.$$events?.[e];if(a){const s=ae(a)?a.slice():[a],l=Cn(e,n,r);for(const f of s)f.call(t.x,l);return!l.defaultPrevented}return!0}}function Pn(t){var e=t.l;return e.u??={a:[],b:[],m:[]}}export{yn as $,Pr as A,It as B,Mr as C,w as D,fe as E,kr as F,S as G,xn as H,lt as I,Nt as J,fr as K,rn as L,lr as M,sr as N,ce as O,sn as P,gt as Q,zt as R,Mn as S,ae as T,$n as U,Fr as V,Bn as W,Kn as X,q as Y,K as Z,W as _,vr as a,er as a$,Ne as a0,xr as a1,kn as a2,h as a3,Vn as a4,hr as a5,zn as a6,Dr as a7,Se as a8,Y as a9,rt as aA,jn as aB,Fn as aC,pn as aD,M as aE,jr as aF,pr as aG,et as aH,c as aI,ze as aJ,nn as aK,En as aL,Qn as aM,tr as aN,oe as aO,gr as aP,Ht as aQ,Ut as aR,Hn as aS,Or as aT,ve as aU,or as aV,An as aW,rr as aX,br as aY,hn as aZ,Ln as a_,ht as aa,Rt as ab,p as ac,Sr as ad,gn as ae,qn as af,ue as ag,$t as ah,cr as ai,E as aj,pt as ak,In as al,Rr as am,Wt as an,ut as ao,Un as ap,Xn as aq,it as ar,nt as as,Zn as at,vt as au,Wn as av,Gn as aw,Er as ax,mt as ay,Jn as az,Nr as b,ie as b0,nr as b1,Ue as b2,dr as b3,Lr as b4,mr as c,I as d,ee as e,Tr as f,j as g,Yr as h,_n as i,yr as j,qr as k,Ir as l,wr as m,ur as n,Nn as o,_r as p,Br as q,ir as r,Ar as s,Cr as t,st as u,$r as v,Hr as w,Ur as x,B as y,ar as z}; diff --git a/webapp/assets/_app/immutable/chunks/DYis7hcW.js b/webapp/assets/_app/immutable/chunks/DYis7hcW.js new file mode 100644 index 00000000..34cc07be --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DYis7hcW.js @@ -0,0 +1 @@ +import{f as b,a as d,s as F}from"./o8CdT7B0.js";import{i as B}from"./ChJfoPF0.js";import{p as G,l,d as u,m as c,h as m,g as t,b as L,c as g,i as T,s as q,r as _,a as D,u as H,t as N}from"./DUMcBckj.js";import{p as v,i as V}from"./i7pKks78.js";import{d as j}from"./_9uqtkkk.js";import{B as z}from"./Bi2FJHrT.js";var A=b(' '),E=b('
');function Q(h,n){G(n,!1);const a=c(),r=c(),f=c();let s=v(n,"item",8),x=v(n,"showUrl",8,!0);function w(e){switch(e?.toLowerCase()){case"github":return"gray";case"gitea":return"green";default:return"secondary"}}function k(e){switch(e?.toLowerCase()){case"github":return"GitHub";case"gitea":return"Gitea";default:return e||"Unknown"}}l(()=>m(s()),()=>{u(a,s()?.endpoint?.endpoint_type||"Unknown")}),l(()=>m(s()),()=>{u(r,s()?.endpoint?.base_url)}),l(()=>t(a),()=>{u(f,w(t(a)))}),L(),B();var i=E(),p=g(i);{let e=T(()=>(t(a),H(()=>k(t(a)))));z(p,{get variant(){return t(f)},get text(){return t(e)}})}var y=q(p,2);{var U=e=>{var o=A(),C=g(o,!0);_(o),N(()=>{j(o,"href",t(r)),F(C,t(r))}),d(e,o)};V(y,e=>{x()&&t(r)&&e(U)})}_(i),d(h,i),D()}export{Q as F}; diff --git a/webapp/assets/_app/immutable/chunks/DaHsWCjd.js b/webapp/assets/_app/immutable/chunks/DaHsWCjd.js deleted file mode 100644 index db6cd745..00000000 --- a/webapp/assets/_app/immutable/chunks/DaHsWCjd.js +++ /dev/null @@ -1 +0,0 @@ -import{c as E,a as w,b as m,l as G,s as N,f as y}from"./CxOx-TIJ.js";import{i as j}from"./3NxSoY2_.js";import{p as q,l as c,j as u,m as p,h as _,g as t,b as A,c as v,d as b,e as D,s as H,r as h,a as I,u as M,t as V,F as f}from"./DzFKsO_V.js";import{p as x,i as z}from"./B_jyf0qs.js";import{d as J}from"./BguOOs3x.js";import{B as K}from"./1CdJgrM6.js";a[f]="src/lib/components/cells/ForgeTypeCell.svelte";var O=w(y(' '),a[f],[[37,2]]),P=w(y('
'),a[f],[[34,0]]);function a(k,i){E(new.target),q(i,!1,a);const r=p(),s=p(),d=p();let o=x(i,"item",8),F=x(i,"showUrl",8,!0);function U(e){switch(e?.toLowerCase()){case"github":return"gray";case"gitea":return"green";default:return"secondary"}}function C(e){switch(e?.toLowerCase()){case"github":return"GitHub";case"gitea":return"Gitea";default:return e||"Unknown"}}c(()=>_(o()),()=>{u(r,o()?.endpoint?.endpoint_type||"Unknown")}),c(()=>_(o()),()=>{u(s,o()?.endpoint?.base_url)}),c(()=>t(r),()=>{u(d,U(t(r)))}),A(),j();var l=P(),g=v(l);{let e=D(()=>(t(r),M(()=>C(t(r)))));b(()=>K(g,{get variant(){return t(d)},get text(){return t(e)}}),"component",a,35,1,{componentTag:"Badge"})}var T=H(g,2);{var B=e=>{var n=O(),L=v(n,!0);h(n),V(()=>{J(n,"href",t(s)),N(L,t(s))}),m(e,n)};b(()=>z(T,e=>{F()&&t(s)&&e(B)}),"if",a,36,1)}return h(l),m(k,l),I({...G()})}export{a as F}; diff --git a/webapp/assets/_app/immutable/chunks/Dah3498E.js b/webapp/assets/_app/immutable/chunks/Dah3498E.js new file mode 100644 index 00000000..11dc8551 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/Dah3498E.js @@ -0,0 +1 @@ +import{f as D,s as P,a as I}from"./o8CdT7B0.js";import{i as w}from"./ChJfoPF0.js";import{p as S,c as s,r as n,s as u,u as l,h as i,t as N,a as A}from"./DUMcBckj.js";import{c as f,d as F}from"./_9uqtkkk.js";import{p as m}from"./i7pKks78.js";import{D as E,G}from"./DG4LDt2Z.js";import{E as j}from"./llowLxE6.js";import{S as g}from"./C0gwpZbz.js";import{A as L}from"./7XD7ITBY.js";var M=D('');function Q(y,a){S(a,!1);let e=m(a,"instances",8),h=m(a,"entityType",8),v=m(a,"onDeleteInstance",8);const b=[{key:"name",title:"Name",cellComponent:j,cellProps:{entityType:"instance",nameField:"name"}},{key:"status",title:"Status",cellComponent:g,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:g,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"created",title:"Created",cellComponent:G,cellProps:{field:"created_at",type:"date"}},{key:"actions",title:"Actions",align:"right",cellComponent:L,cellProps:{actions:[{type:"delete",label:"Delete",title:"Delete instance",ariaLabel:"Delete instance",action:"delete"}]}}],x={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"}],actions:[{type:"delete",handler:t=>d(t)}]};function d(t){v()(t)}function C(t){d(t.detail.item)}w();var r=M(),p=s(r),o=s(p),c=s(o),T=s(c);n(c);var _=u(c,2);n(o);var k=u(o,2);E(k,{get columns(){return b},get data(){return e()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return i(e()),l(()=>e().length)},totalPages:1,get totalItems(){return i(e()),l(()=>e().length)},itemName:"instances",emptyTitle:"No instances running",get emptyMessage(){return`No instances running for this ${h()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return x},$$events:{delete:C}}),n(p),n(r),N(t=>{P(T,`Instances (${i(e()),l(()=>e().length)??""})`),F(_,"href",t)},[()=>(i(f),l(()=>f("/instances")))]),I(y,r),A()}export{Q as I}; diff --git a/webapp/assets/_app/immutable/chunks/DcWIrrGq.js b/webapp/assets/_app/immutable/chunks/DcWIrrGq.js deleted file mode 100644 index 03f0da0e..00000000 --- a/webapp/assets/_app/immutable/chunks/DcWIrrGq.js +++ /dev/null @@ -1 +0,0 @@ -import{D as f,E as _,G as g}from"./DzFKsO_V.js";function k(o,c){f(()=>{const r=new Map,e=o(),s=_(e)?e:e==null?[]:Array.from(e),i=s.length;for(let t=0;t{const e=t;return{page:{subscribe:e.page.subscribe},navigating:{subscribe:e.navigating.subscribe},updated:e.updated}},i={subscribe(e){return r("page").subscribe(e)}};function r(e){try{return s()[e]}catch{throw new Error(`Cannot subscribe to '${e}' store on the server outside of a Svelte component, as it is bound to the current request via component context. This prevents state from leaking between users.For more information, see https://svelte.dev/docs/kit/state-management#avoid-shared-state-on-the-server`)}}export{i as p}; diff --git a/webapp/assets/_app/immutable/chunks/Dk1ODhlO.js b/webapp/assets/_app/immutable/chunks/Dk1ODhlO.js new file mode 100644 index 00000000..1ffe64da --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/Dk1ODhlO.js @@ -0,0 +1 @@ +import{f as x,s as v,e as ye,a as u,t as He}from"./o8CdT7B0.js";import{i as Je}from"./ChJfoPF0.js";import{p as Qe,v as Ve,o as Xe,c as a,r,s,g as e,m as b,n as U,t as y,k as xe,u as c,h as $,d as n,a as Ye}from"./DUMcBckj.js";import{p as fe,i as B}from"./i7pKks78.js";import{e as Ze,i as et}from"./DC7Aeygn.js";import{r as ee,b as _e,g as tt}from"./_9uqtkkk.js";import{a as he,b as at}from"./BtzOUN4g.js";import{p as rt}from"./CdEA5IGF.js";import{e as ke}from"./BZiHL9L3.js";import{M as ot}from"./CYPHW1bs.js";var st=x('

'),nt=x('
Owner:
'),it=x('
'),dt=x(""),lt=x(''),ct=x('

Leave empty to auto-generate a new secret

'),vt=x('
Updating...
'),pt=x('

Name:
Endpoint:
Current Credentials:
Current Pool Balancer:

Leave unchanged to keep current credentials

Round Robin distributes jobs evenly across pools, Pack fills pools in order

');function wt(we,A){Qe(A,!1);let i=fe(A,"entity",8),C=fe(A,"entityType",8);const T=Ve();let M=b(!1),k=b(""),R=b([]),W=b(!1),f=b(""),_=b(""),h=b(""),g=b(!1),S=b(!1);function Ce(){if(C()==="repository"){const l=i();return`${l.owner}/${l.name}`}return i().name||""}function j(){return C().charAt(0).toUpperCase()+C().slice(1)}function Me(){return C()==="repository"&&i().owner||""}async function Se(){try{n(W,!0),n(R,await tt.listCredentials())}catch(l){n(k,ke(l))}finally{n(W,!1)}}function Ee(){n(f,i().credentials_name||""),n(_,i().pool_balancing_type||"roundrobin"),n(h,""),n(g,!1),n(S,i().agent_mode??!1)}async function Pe(){try{n(M,!0),n(k,"");const l={};let w=!1;if(e(f)&&e(f)!==i().credentials_name&&(l.credentials_name=e(f),w=!0),e(_)&&e(_)!==i().pool_balancing_type&&(l.pool_balancer_type=e(_),w=!0),e(S)!==i().agent_mode&&(l.agent_mode=e(S),w=!0),e(g)){if(!e(h).trim()){n(k,"Please enter a webhook secret or uncheck the option to change it");return}l.webhook_secret=e(h),w=!0}if(!w){T("close");return}T("submit",l)}catch(l){n(k,ke(l))}finally{n(M,!1)}}Xe(()=>{Se(),Ee()}),Je(),ot(we,{$$events:{close:()=>T("close")},children:(l,w)=>{var z=pt(),D=a(z),N=a(D),Ue=a(N);r(N);var te=s(N,2),Be=a(te,!0);r(te),r(D);var I=s(D,2),ae=a(I);{var Te=t=>{var o=st(),d=a(o),p=a(d,!0);r(d),r(o),y(()=>v(p,e(k))),u(t,o)};B(ae,t=>{e(k)&&t(Te)})}var L=s(ae,2),O=a(L),$e=a(O);r(O);var re=s(O,2),oe=a(re);{var Ae=t=>{var o=nt(),d=s(a(o),2),p=a(d,!0);r(d),r(o),y(E=>v(p,E),[()=>c(Me)]),u(t,o)};B(oe,t=>{C()==="repository"&&t(Ae)})}var q=s(oe,2),se=s(a(q),2),Re=a(se,!0);r(se),r(q);var F=s(q,2),ne=s(a(F),2),We=a(ne,!0);r(ne),r(F);var G=s(F,2),ie=s(a(G),2),je=a(ie,!0);r(ie),r(G);var de=s(G,2),le=s(a(de),2),ze=a(le,!0);r(le),r(de),r(re),r(L);var K=s(L,2),H=a(K),De=s(a(H),2);{var Ne=t=>{var o=it();u(t,o)},Ie=t=>{var o=lt();y(()=>{e(f),xe(()=>{e(R)})});var d=a(o);d.value=d.__value="";var p=s(d);Ze(p,1,()=>e(R),et,(E,m)=>{var P=dt(),Ke=a(P);r(P);var me={};y(()=>{v(Ke,`${e(m),c(()=>e(m).name)??""} (${e(m),c(()=>e(m).endpoint?.name||"Unknown")??""})`),me!==(me=(e(m),c(()=>e(m).name)))&&(P.value=(P.__value=(e(m),c(()=>e(m).name)))??"")}),u(E,P)}),r(o),_e(o,()=>e(f),E=>n(f,E)),u(t,o)};B(De,t=>{e(W)?t(Ne):t(Ie,!1)})}U(2),r(H);var J=s(H,2),Q=s(a(J),2);y(()=>{e(_),xe(()=>{})});var V=a(Q);V.value=V.__value="roundrobin";var ce=s(V);ce.value=ce.__value="pack",r(Q),U(2),r(J);var X=s(J,2),ve=a(X);ee(ve),U(4),r(X);var pe=s(X,2),Y=a(pe),ue=a(Y);ee(ue),U(2),r(Y);var Le=s(Y,2);{var Oe=t=>{var o=ct(),d=s(a(o),2);ee(d),U(2),r(o),y(()=>d.required=e(g)),at(d,()=>e(h),p=>n(h,p)),u(t,o)};B(Le,t=>{e(g)&&t(Oe)})}r(pe),r(K);var be=s(K,2),ge=a(be),Z=s(ge,2),qe=a(Z);{var Fe=t=>{var o=vt();u(t,o)},Ge=t=>{var o=He();y(d=>v(o,`Update ${d??""}`),[()=>c(j)]),u(t,o)};B(qe,t=>{e(M)?t(Fe):t(Ge,!1)})}r(Z),r(be),r(I),r(z),y((t,o,d,p)=>{v(Ue,`Update ${t??""}`),v(Be,o),v($e,`${d??""} Information`),v(Re,($(i()),c(()=>i().name))),v(We,($(i()),c(()=>i().endpoint?.name))),v(je,($(i()),c(()=>i().credentials_name))),v(ze,($(i()),c(()=>i().pool_balancing_type||"roundrobin"))),Z.disabled=p},[()=>c(j),()=>c(Ce),()=>c(j),()=>(e(M),e(g),e(h),c(()=>e(M)||e(g)&&!e(h).trim()))]),_e(Q,()=>e(_),t=>n(_,t)),he(ve,()=>e(S),t=>n(S,t)),he(ue,()=>e(g),t=>n(g,t)),ye("click",ge,()=>T("close")),ye("submit",I,rt(Pe)),u(l,z)},$$slots:{default:!0}}),Ye()}export{wt as U}; diff --git a/webapp/assets/_app/immutable/chunks/DoJxysSt.js b/webapp/assets/_app/immutable/chunks/DoJxysSt.js deleted file mode 100644 index 1b44ad89..00000000 --- a/webapp/assets/_app/immutable/chunks/DoJxysSt.js +++ /dev/null @@ -1 +0,0 @@ -import{aj as t,ak as _}from"./DzFKsO_V.js";import{b as c}from"./B_jyf0qs.js";function u(r,o){const n=(e,...i)=>{var p=_;t(r);try{return o(e,...i)}finally{t(p)}};return c(n),n}export{u as w}; diff --git a/webapp/assets/_app/immutable/chunks/Dtavz0EF.js b/webapp/assets/_app/immutable/chunks/Dtavz0EF.js deleted file mode 100644 index 52eaf4f7..00000000 --- a/webapp/assets/_app/immutable/chunks/Dtavz0EF.js +++ /dev/null @@ -1 +0,0 @@ -import{ae as t,D as b,u as c,ac as h,af as k}from"./DzFKsO_V.js";function u(r,a){return r===a||r?.[k]===a}function d(r={},a,i,S){return t(()=>{var f,s;return b(()=>{f=s,s=[],c(()=>{r!==i(...s)&&(a(r,...s),f&&u(i(...f),r)&&a(null,...f))})}),()=>{h(()=>{s&&u(i(...s),r)&&a(null,...s)})}}),r}export{d as b}; diff --git a/webapp/assets/_app/immutable/chunks/DvQW-lMP.js b/webapp/assets/_app/immutable/chunks/DvQW-lMP.js deleted file mode 100644 index e11da4ca..00000000 --- a/webapp/assets/_app/immutable/chunks/DvQW-lMP.js +++ /dev/null @@ -1 +0,0 @@ -import{c as G,a as I,s as q,e as u,b as A,l as B,f as D}from"./CxOx-TIJ.js";import{i as H}from"./3NxSoY2_.js";import{p as L,B as M,c as t,r,s as p,u as m,h as f,w as y,t as N,i as h,a as z,F as _}from"./DzFKsO_V.js";import{h as v,s as x}from"./BguOOs3x.js";import{p as k}from"./B_jyf0qs.js";import{g as o}from"./JkzpcrZD.js";n[_]="src/lib/components/ForgeTypeSelector.svelte";var C=I(D('
'),n[_],[[18,0,[[19,1],[22,1,[[23,2,[[29,3]]],[31,2,[[37,3]]]]]]]]);function n(F,s){G(new.target),L(s,!1,n);const w=M();let l=k(s,"selectedForgeType",12,""),T=k(s,"label",8,"Select Forge Type");function c(b){l(b),w("select",b)}H();var i=C(),d=t(i),E=t(d,!0);r(d);var g=p(d,2),e=t(g),S=t(e);v(S,()=>(f(o),m(()=>o("github","w-8 h-8")))),y(2),r(e);var a=p(e,2),j=t(a);return v(j,()=>(f(o),m(()=>o("gitea","w-8 h-8")))),y(2),r(a),r(g),r(i),N(()=>{q(E,T()),x(e,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${h(l(),"github")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),x(a,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${h(l(),"gitea")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`)}),u("click",e,()=>c("github")),u("click",a,()=>c("gitea")),A(F,i),z({...B()})}export{n as F}; diff --git a/webapp/assets/_app/immutable/chunks/DwF0DbKK.js b/webapp/assets/_app/immutable/chunks/DwF0DbKK.js new file mode 100644 index 00000000..7ce0d381 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/DwF0DbKK.js @@ -0,0 +1 @@ +import{a7 as t,a8 as b,u as h,a5 as k,a9 as S}from"./DUMcBckj.js";function u(r,a){return r===a||r?.[S]===a}function d(r={},a,f,T){return t(()=>{var i,s;return b(()=>{i=s,s=[],h(()=>{r!==f(...s)&&(a(r,...s),i&&u(f(...i),r)&&a(null,...i))})}),()=>{k(()=>{s&&u(f(...s),r)&&a(null,...s)})}}),r}export{d as b}; diff --git a/webapp/assets/_app/immutable/chunks/DzFKsO_V.js b/webapp/assets/_app/immutable/chunks/DzFKsO_V.js deleted file mode 100644 index 74d70739..00000000 --- a/webapp/assets/_app/immutable/chunks/DzFKsO_V.js +++ /dev/null @@ -1,54 +0,0 @@ -const vr=!0;var Tt=Array.isArray,_n=Array.prototype.indexOf,hr=Array.from,Q=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,dn=Object.getOwnPropertyDescriptors,vn=Object.prototype,hn=Array.prototype,kt=Object.getPrototypeOf,dt=Object.isExtensible;function pr(e){return typeof e=="function"}const Ae=()=>{};function wr(e){return e()}function xt(e){for(var t=0;t{e=r,t=i});return{promise:n,resolve:e,reject:t}}const k=2,Xe=4,je=8,ke=16,q=32,ie=64,$t=128,$=256,Ie=512,y=1024,S=2048,C=4096,H=8192,ve=16384,Je=32768,St=65536,Ne=1<<17,wn=1<<18,Qe=1<<19,et=1<<20,Ce=1<<21,Le=1<<22,K=1<<23,G=Symbol("$state"),br=Symbol("legacy props"),yr=Symbol(""),At=Symbol("proxy path"),tt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},mr=1,Ot=3,Rt=8,Er=11;function bn(){{const e=new Error("await_outside_boundary\nCannot await outside a `` with a `pending` snippet\nhttps://svelte.dev/e/await_outside_boundary");throw e.name="Svelte error",e}}function nt(e){{const t=new Error(`lifecycle_outside_component -\`${e}(...)\` can only be used during component initialisation -https://svelte.dev/e/lifecycle_outside_component`);throw t.name="Svelte error",t}}function Tr(){{const e=new Error("snippet_without_render_tag\nAttempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.\nhttps://svelte.dev/e/snippet_without_render_tag");throw e.name="Svelte error",e}}function kr(e){{const t=new Error(`store_invalid_shape -\`${e}\` is not a store with a \`subscribe\` method -https://svelte.dev/e/store_invalid_shape`);throw t.name="Svelte error",t}}function yn(){{const e=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw e.name="Svelte error",e}}function xr(){{const e=new Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw e.name="Svelte error",e}}function $r(e,t){{const n=new Error(`component_api_changed -Calling \`${e}\` on a component instance (of ${t}) is no longer valid in Svelte 5 -https://svelte.dev/e/component_api_changed`);throw n.name="Svelte error",n}}function Sr(e,t){{const n=new Error(`component_api_invalid_new -Attempted to instantiate ${e} with \`new ${t}\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \`compatibility.componentApi\` compiler option to \`4\` to keep it working. -https://svelte.dev/e/component_api_invalid_new`);throw n.name="Svelte error",n}}function gn(){{const e=new Error(`derived_references_self -A derived value cannot reference itself recursively -https://svelte.dev/e/derived_references_self`);throw e.name="Svelte error",e}}function Ar(e,t,n){{const r=new Error(`each_key_duplicate -${n?`Keyed each block has duplicate key \`${n}\` at indexes ${e} and ${t}`:`Keyed each block has duplicate key at indexes ${e} and ${t}`} -https://svelte.dev/e/each_key_duplicate`);throw r.name="Svelte error",r}}function mn(e){{const t=new Error(`effect_in_teardown -\`${e}\` cannot be used inside an effect cleanup function -https://svelte.dev/e/effect_in_teardown`);throw t.name="Svelte error",t}}function En(){{const e=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw e.name="Svelte error",e}}function Tn(e){{const t=new Error(`effect_orphan -\`${e}\` can only be used inside an effect (e.g. during component initialisation) -https://svelte.dev/e/effect_orphan`);throw t.name="Svelte error",t}}function kn(){{const e=new Error(`effect_update_depth_exceeded -Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state -https://svelte.dev/e/effect_update_depth_exceeded`);throw e.name="Svelte error",e}}function Or(){{const e=new Error(`hydration_failed -Failed to hydrate the application -https://svelte.dev/e/hydration_failed`);throw e.name="Svelte error",e}}function Rr(e){{const t=new Error(`props_invalid_value -Cannot do \`bind:${e}={undefined}\` when \`${e}\` has a fallback value -https://svelte.dev/e/props_invalid_value`);throw t.name="Svelte error",t}}function xn(e){{const t=new Error(`rune_outside_svelte -The \`${e}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files -https://svelte.dev/e/rune_outside_svelte`);throw t.name="Svelte error",t}}function $n(){{const e=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw e.name="Svelte error",e}}function Sn(){{const e=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw e.name="Svelte error",e}}function An(){{const e=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw e.name="Svelte error",e}}const Ir=1,Nr=2,Cr=4,Dr=8,Mr=16,Pr=1,qr=2,Fr=4,jr=8,Lr=16,Ur=1,Yr=2,On="[",Rn="[!",In="]",rt={},g=Symbol(),It=Symbol("filename"),Hr="http://www.w3.org/1999/xhtml",Br="@attach";var I="font-weight: bold",N="font-weight: normal";function Nn(e){console.warn(`%c[svelte] await_reactivity_loss -%cDetected reactivity loss when reading \`${e}\`. This happens when state is read in an async function after an earlier \`await\` -https://svelte.dev/e/await_reactivity_loss`,I,N)}function zr(e){console.warn(`%c[svelte] console_log_state -%cYour \`console.${e}\` contained \`$state\` proxies. Consider using \`$inspect(...)\` or \`$state.snapshot(...)\` instead -https://svelte.dev/e/console_log_state`,I,N)}function Kr(e,t){console.warn(`%c[svelte] event_handler_invalid -%c${e} should be a function. Did you mean to ${t}? -https://svelte.dev/e/event_handler_invalid`,I,N)}function Gr(e,t,n){console.warn(`%c[svelte] hydration_attribute_changed -%cThe \`${e}\` attribute on \`${t}\` changed its value between server and client renders. The client value, \`${n}\`, will be ignored in favour of the server value -https://svelte.dev/e/hydration_attribute_changed`,I,N)}function Vr(e){console.warn(`%c[svelte] hydration_html_changed -%c${e?`The value of an \`{@html ...}\` block ${e} changed between server and client renders. The client value will be ignored in favour of the server value`:"The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value"} -https://svelte.dev/e/hydration_html_changed`,I,N)}function st(e){console.warn(`%c[svelte] hydration_mismatch -%cHydration failed because the initial UI does not match what was rendered on the server -https://svelte.dev/e/hydration_mismatch`,I,N)}function Zr(){console.warn(`%c[svelte] lifecycle_double_unmount -%cTried to unmount a component that was not mounted -https://svelte.dev/e/lifecycle_double_unmount`,I,N)}function Wr(e,t,n,r){console.warn(`%c[svelte] ownership_invalid_binding -%c${e} passed property \`${t}\` to ${n} with \`bind:\`, but its parent component ${r} did not declare \`${t}\` as a binding. Consider creating a binding between ${r} and ${e} (e.g. \`bind:${t}={...}\` instead of \`${t}={...}\`) -https://svelte.dev/e/ownership_invalid_binding`,I,N)}function Xr(e,t,n,r){console.warn(`%c[svelte] ownership_invalid_mutation -%cMutating unbound props (\`${e}\`, at ${t}) is strongly discouraged. Consider using \`bind:${n}={...}\` in ${r} (or using a callback) instead -https://svelte.dev/e/ownership_invalid_mutation`,I,N)}function Jr(){console.warn("%c[svelte] select_multiple_invalid_value\n%cThe `value` property of a `

',1),p[x],[[470,7],[482,7]]),Qt=E(T('

Create a template first or proceed without a template to use default behavior.

'),p[x],[[487,7,[[488,8],[489,8,[[490,9]]]]]]),Vt=E(T(' '),p[x],[[619,9,[[621,10,[[627,11,[[628,12]]]]]]]]),Xt=E(T('
'),p[x],[[617,7]]),Yt=E(T('
'),p[x],[[690,6,[[691,7,[[692,8]]],[694,7,[[696,8]]]]]]),Zt=E(T('
Updating...
'),p[x],[[724,6,[[725,7]]]]),ea=E(T('

Pool Information (Read-only)

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Tags
Extra Specs (JSON)
'),p[x],[[365,1,[[366,2,[[367,3]]],[372,2,[[386,3,[[387,4],[388,4,[[389,5,[[390,6],[391,6]]],[393,5,[[394,6],[395,6]]]]]]],[403,3,[[404,4],[407,4,[[408,5,[[409,6],[412,6]]],[420,5,[[421,6],[424,6]]],[432,5,[[433,6],[436,6,[[441,7],[442,7]]]]],[445,5,[[446,6],[449,6,[[454,7],[455,7]]]]],[460,5,[[461,6]]]]]]],[501,3,[[502,4],[505,4,[[506,5,[[507,6],[510,6]]],[519,5,[[520,6],[523,6]]],[532,5,[[533,6],[536,6]]]]]]],[549,3,[[550,4],[553,4,[[554,5,[[555,6],[558,6]]],[566,5,[[567,6],[570,6]]],[579,5,[[580,6],[583,6]]]]],[594,4,[[595,5,[[596,6],[599,5,[[600,6,[[601,7],[608,7]]]]]]]]],[640,4,[[641,5,[[642,6]]]]],[654,4,[[655,5],[661,5]]],[667,4,[[668,5,[[669,6],[676,6],[679,6,[[680,7,[[681,8]]],[683,7,[[685,8]]]]]]]]]]],[710,3,[[711,4],[718,4]]]]]]]]),ra=E(T(" ",1),p[x],[]);function p(Qr,cr){kt(new.target),Tt(cr,!1,p);const[Vr,Xr]=At(),m=()=>(It(Kr,"eagerCache"),Pt(Kr,"$eagerCache",Vr)),A=c();let r=jt(cr,"pool",8);const Ue=$t();let le=c(!1),te=c(""),P=c(""),U=c([]),ze=c(!1),X=c(!1),Y=null,ue=c(r().image||""),pe=c(r().flavor||""),B=c(r().max_runners),L=c(r().min_idle_runners),fe=c(r().runner_bootstrap_timeout),ce=c(r().priority),ge=c(r().runner_prefix||""),z=c(r().os_type||"linux"),ae=c(r().os_arch||"amd64"),be=c(r()["github-runner-group"]||""),ve=c(r().enabled),ie=c(r().enable_shell??!1),j=c((r().tags||[]).map(a=>a.name||"").filter(Boolean)),Z=c(""),D=c("{}"),I=c(r().template_id);function Yr(a){if(a.repo_id){const t=m().repositories.find(u=>s(u.id,a.repo_id));return t?`${t.owner}/${t.name}`:"Unknown Entity"}if(a.org_id){const t=m().organizations.find(u=>s(u.id,a.org_id));return t&&t.name?t.name:"Unknown Entity"}if(a.enterprise_id){const t=m().enterprises.find(u=>s(u.id,a.enterprise_id));return t&&t.name?t.name:"Unknown Entity"}return"Unknown Entity"}function gr(a){return a.repo_id?"Repository":a.org_id?"Organization":a.enterprise_id?"Enterprise":"Unknown"}function je(){if(r().endpoint?.endpoint_type)return r().endpoint.endpoint_type;if(r().repo_id){const a=m().repositories.find(t=>s(t.id,r().repo_id));if(a?.endpoint?.endpoint_type)return a.endpoint.endpoint_type}if(r().org_id){const a=m().organizations.find(t=>s(t.id,r().org_id));if(a?.endpoint?.endpoint_type)return a.endpoint.endpoint_type}if(r().enterprise_id){const a=m().enterprises.find(t=>s(t.id,r().enterprise_id));if(a?.endpoint?.endpoint_type)return a.endpoint.endpoint_type}return null}function Zr(){return r().repo_id?m().repositories.find(t=>s(t.id,r().repo_id))?.agent_mode??!1:r().org_id?m().organizations.find(t=>s(t.id,r().org_id))?.agent_mode??!1:r().enterprise_id?m().enterprises.find(t=>s(t.id,r().enterprise_id))?.agent_mode??!1:!1}function Ae(a){if(s(a.operation,"update",!1))return;const t=a.payload;if(r().repo_id&&s(t.id,r().repo_id)){const u=m().repositories.find($=>s($.id,r().repo_id));u&&(Object.assign(u,t),"agent_mode"in t&&l(A,t.agent_mode??!1))}else if(r().org_id&&s(t.id,r().org_id)){const u=m().organizations.find($=>s($.id,r().org_id));u&&(Object.assign(u,t),"agent_mode"in t&&l(A,t.agent_mode??!1))}else if(r().enterprise_id&&s(t.id,r().enterprise_id)){const u=m().enterprises.find($=>s($.id,r().enterprise_id));u&&(Object.assign(u,t),"agent_mode"in t&&l(A,t.agent_mode??!1))}}async function Pe(a){try{if(r().repo_id){(await Re(Oe.updateRepository(r().repo_id,a)))();const t=m().repositories.find(u=>s(u.id,r().repo_id));t&&Object.assign(t,a)}else if(r().org_id){(await Re(Oe.updateOrganization(r().org_id,a)))();const t=m().organizations.find(u=>s(u.id,r().org_id));t&&Object.assign(t,a)}else if(r().enterprise_id){(await Re(Oe.updateEnterprise(r().enterprise_id,a)))();const t=m().enterprises.find(u=>s(u.id,r().enterprise_id));t&&Object.assign(t,a)}l(X,!1)}catch(t){throw t}}function et(){return r().repo_id?m().repositories.find(a=>s(a.id,r().repo_id))||null:r().org_id?m().organizations.find(a=>s(a.id,r().org_id))||null:r().enterprise_id&&m().enterprises.find(a=>s(a.id,r().enterprise_id))||null}async function br(){try{l(ze,!0);const a=je();if(!a){l(U,[]);return}if(l(U,(await Re(Oe.listTemplates(e(z),void 0,a)))()),!e(I)||!e(U).find(t=>s(t.id,e(I)))){const t=e(U).find(u=>s(u.owner_id,"system"));t?l(I,t.id):e(U).length>0&&l(I,e(U)[0].id)}}catch(a){l(te,Hr(a))}finally{l(ze,!1)}}Mt(()=>{if(r().extra_specs)try{if(s(typeof r().extra_specs,"object"))l(D,JSON.stringify(r().extra_specs,null,2));else{const a=JSON.parse(r().extra_specs);l(D,JSON.stringify(a,null,2))}}catch{l(D,r().extra_specs||"{}")}br(),r().repo_id?Y=fr.subscribeToEntity("repository",["update"],Ae):r().org_id?Y=fr.subscribeToEntity("organization",["update"],Ae):r().enterprise_id&&(Y=fr.subscribeToEntity("enterprise",["update"],Ae))}),St(()=>{Y&&(Y(),Y=null)});function vr(){e(Z).trim()&&!e(j).includes(e(Z).trim())&&(l(j,[...e(j),e(Z).trim()]),l(Z,""))}function rt(a){l(j,e(j).filter((t,u)=>s(u,a,!1)))}function tt(a){s(a.key,"Enter")&&(a.preventDefault(),vr())}async function at(){try{if(l(le,!0),l(te,""),e(P))throw new Error(e(P));let a={};if(e(D).trim())try{a=JSON.parse(e(D))}catch{throw new Error("Invalid JSON in extra specs")}const t={image:s(e(ue),r().image,!1)?e(ue):void 0,flavor:s(e(pe),r().flavor,!1)?e(pe):void 0,max_runners:s(e(B),r().max_runners,!1)?e(B):void 0,min_idle_runners:s(e(L),r().min_idle_runners,!1)?e(L):void 0,runner_bootstrap_timeout:s(e(fe),r().runner_bootstrap_timeout,!1)?e(fe):void 0,priority:s(e(ce),r().priority,!1)?e(ce):void 0,runner_prefix:s(e(ge),r().runner_prefix,!1)?e(ge):void 0,os_type:s(e(z),r().os_type,!1)?e(z):void 0,os_arch:s(e(ae),r().os_arch,!1)?e(ae):void 0,"github-runner-group":s(e(be),r()["github-runner-group"],!1)&&e(be)||void 0,enabled:s(e(ve),r().enabled,!1)?e(ve):void 0,enable_shell:s(e(ie),r().enable_shell,!1)?e(ie):void 0,tags:s(JSON.stringify(e(j)),JSON.stringify((r().tags||[]).map(u=>u.name||"").filter(Boolean)),!1)?e(j):void 0,extra_specs:s(e(D).trim(),JSON.stringify(r().extra_specs||{},null,2).trim(),!1)?a:void 0,template_id:s(e(I),r().template_id,!1)?e(I):void 0};Object.keys(t).forEach(u=>{s(t[u],void 0)&&delete t[u]}),Ue("submit",t)}catch(a){l(te,Hr(a))}finally{l(le,!1)}}Se(()=>{},()=>{l(A,Zr())}),Se(()=>e(A),()=>{e(A)||l(ie,!1)}),Se(()=>e(z),()=>{e(z)&&br()}),Se(()=>(e(L),e(B)),()=>{s(e(L),null,!1)&&s(e(L),void 0,!1)&&s(e(B),null,!1)&&s(e(B),void 0,!1)&&e(L)>e(B)?l(P,"Min idle runners cannot be greater than max runners"):l(P,"")}),Rt(),Et();var mr=ra(),yr=V(mr);g(()=>Ct(yr,{$$events:{close:()=>Ue("close")},children:Jt(p,(a,t)=>{var u=ea(),$=d(u),me=d($),oe=d(me);o(me),o($);var ee=n($,2),ye=d(ee);{var Ie=i=>{var f=Ft(),h=d(f),M=d(h,!0);o(h),o(f),w(()=>R(M,e(te))),v(i,f)};g(()=>_(ye,i=>{e(te)&&i(Ie)}),"if",p,373,3)}var _e=n(ye,2);{var G=i=>{var f=qt(),h=d(f),M=d(h,!0);o(h),o(f),w(()=>R(M,e(P))),v(i,f)};g(()=>_(_e,i=>{e(P)&&i(G)}),"if",p,379,3)}var F=n(_e,2),xe=n(d(F),2),ne=d(xe),he=n(d(ne),2),q=d(he,!0);o(he),o(ne);var W=n(ne,2),ke=n(d(W),2),Je=d(ke);o(ke),o(W),o(xe),o(F);var H=n(F,2),we=n(d(H),2),Ne=d(we),_r=n(d(Ne),2);O(_r),o(Ne);var Ce=n(Ne,2),xr=n(d(Ce),2);O(xr),o(Ce);var Be=n(Ce,2),Le=n(d(Be),2);w(()=>{e(z),sr(()=>{})});var De=d(Le);De.value=De.__value="linux";var hr=n(De);hr.value=hr.__value="windows",o(Le),o(Be);var Ge=n(Be,2),Fe=n(d(Ge),2);w(()=>{e(ae),sr(()=>{})});var qe=d(Fe);qe.value=qe.__value="amd64";var kr=n(qe);kr.value=kr.__value="arm64",o(Fe),o(Ge);var wr=n(Ge,2),dt=n(d(wr),2);{var st=i=>{var f=Wt();v(i,f)},lt=i=>{var f=se(),h=V(f);{var M=k=>{var J=Kt(),S=V(J);w(()=>{e(I),sr(()=>{e(U)})}),g(()=>Dr(S,5,()=>e(U),Gr,(K,y)=>{var Q=Ht(),Nr=d(Q),xt=n(Nr);{var ht=dr=>{var Br=Lr();w(()=>R(Br,`- ${e(y),b(()=>e(y).description)??""}`)),v(dr,Br)};g(()=>_(xt,dr=>{e(y),b(()=>e(y).description)&&dr(ht)}),"if",p,478,10)}o(Q);var Cr={};w(()=>{R(Nr,`${e(y),b(()=>e(y).name)??""} ${e(y),b(()=>s(e(y).owner_id,"system")?"(System)":"")??""} `),Cr!==(Cr=(e(y),b(()=>e(y).id)))&&(Q.value=(Q.__value=(e(y),b(()=>e(y).id)))??"")}),v(K,Q)}),"each",p,475,8),o(S);var $e=n(S,2),Me=d($e);o($e),w(K=>R(Me,`Templates define how the runner software is installed and configured. - Showing templates for ${K??""} ${e(z)??""}.`),[()=>b(je)]),ur(S,()=>e(I),K=>l(I,K)),v(k,J)},de=k=>{var J=Qt(),S=d(J),$e=d(S);o(S);var Me=n(S,2),K=d(Me);lr(),o(Me),o(J),w((y,Q)=>{R($e,`No templates found for ${y??""} ${e(z)??""}.`),Fr(K,"href",Q)},[()=>b(je),()=>(N(qr),b(()=>qr("/templates")))]),v(k,J)};g(()=>_(h,k=>{e(U),b(()=>e(U).length>0)?k(M):k(de,!1)},!0),"if",p,469,6)}v(i,f)};g(()=>_(dt,i=>{e(ze)?i(st):i(lt,!1)}),"if",p,464,6)}o(wr),o(we),o(H);var We=n(H,2),Er=n(d(We),2),He=d(Er),Ke=n(d(He),2);O(Ke),o(He);var Qe=n(He,2),Ve=n(d(Qe),2);O(Ve),o(Qe);var Tr=n(Qe,2),$r=n(d(Tr),2);O($r),o(Tr),o(Er),o(We);var Xe=n(We,2),Ye=n(d(Xe),2),Ze=d(Ye),Mr=n(d(Ze),2);O(Mr),o(Ze);var er=n(Ze,2),Sr=n(d(er),2);O(Sr),o(er);var Rr=n(er,2),Or=n(d(Rr),2);O(Or),o(Rr),o(Ye);var rr=n(Ye,2),Ur=d(rr),zr=n(d(Ur),2),tr=d(zr),Ee=d(tr);O(Ee);var ut=n(Ee,2);o(tr);var pt=n(tr,2);{var ft=i=>{var f=Xt();g(()=>Dr(f,5,()=>e(j),Gr,(h,M,de)=>{var k=Vt(),J=d(k),S=n(J);o(k),w(()=>{R(J,`${e(M)??""} `),Fr(S,"aria-label",`Remove tag ${e(M)??""}`)}),re("click",S,()=>rt(de)),v(h,k)}),"each",p,618,8),o(f),v(i,f)};g(()=>_(pt,i=>{e(j),b(()=>e(j).length>0)&&i(ft)}),"if",p,616,6)}o(zr),o(Ur),o(rr);var ar=n(rr,2),jr=d(ar),ct=n(d(jr),2);g(()=>Bt(ct,{rows:4,placeholder:"{}",get value(){return e(D)},set value(i){l(D,i)},$$legacy:!0}),"component",p,645,5,{componentTag:"JsonEditor"}),o(jr),o(ar);var ir=n(ar,2),Ar=d(ir);O(Ar),lr(2),o(ir);var Pr=n(ir,2),or=d(Pr),Te=d(or);O(Te);var gt=n(Te,2);lr(2),o(or);var bt=n(or,2);{var vt=i=>{var f=Yt(),h=n(d(f),2),M=d(h),de=n(M);o(h),o(f),w(k=>R(M,`Shell access requires agent mode to be enabled on the ${k??""}. `),[()=>(N(r()),b(()=>gr(r()).toLowerCase()))]),re("click",de,()=>l(X,!0)),v(i,f)};g(()=>_(bt,i=>{e(A)||i(vt)}),"if",p,689,5)}o(Pr),o(Xe);var Ir=n(Xe,2),Jr=d(Ir),nr=n(Jr,2),mt=d(nr);{var yt=i=>{var f=Zt();v(i,f)},_t=i=>{var f=Lr("Update Pool");v(i,f)};g(()=>_(mt,i=>{e(le)?i(yt):i(_t,!1)}),"if",p,723,5)}o(nr),o(Ir),o(ee),o(u),w((i,f)=>{R(oe,`Update Pool ${N(r()),b(()=>r().id)??""}`),R(q,(N(r()),b(()=>r().provider_name))),R(Je,`${i??""}: ${f??""}`),pr(Ke,1,`w-full px-3 py-2 border ${e(P)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),pr(Ve,1,`w-full px-3 py-2 border ${e(P)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),Te.disabled=!e(A),pr(gt,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(A)?"":"opacity-50"}`),nr.disabled=e(le)||s(e(P),"",!1)},[()=>(N(r()),b(()=>gr(r()))),()=>(N(r()),b(()=>Yr(r())))]),C(_r,()=>e(ue),i=>l(ue,i)),C(xr,()=>e(pe),i=>l(pe,i)),ur(Le,()=>e(z),i=>l(z,i)),ur(Fe,()=>e(ae),i=>l(ae,i)),C(Ke,()=>e(L),i=>l(L,i)),C(Ve,()=>e(B),i=>l(B,i)),C($r,()=>e(fe),i=>l(fe,i)),C(Mr,()=>e(ge),i=>l(ge,i)),C(Sr,()=>e(ce),i=>l(ce,i)),C(Or,()=>e(be),i=>l(be,i)),C(Ee,()=>e(Z),i=>l(Z,i)),re("keydown",Ee,tt),re("click",ut,vr),Wr(Ar,()=>e(ve),i=>l(ve,i)),Wr(Te,()=>e(ie),i=>l(ie,i)),re("click",Jr,()=>Ue("close")),re("submit",ee,Nt(at)),v(a,u)}),$$slots:{default:!0}}),"component",p,364,0,{componentTag:"Modal"});var it=n(yr,2);{var ot=a=>{const t=Ut(zt(()=>b(et)),"entity");e(t);var u=se(),$=V(u);{var me=oe=>{var ee=se(),ye=V(ee);{var Ie=G=>{g(()=>Lt(G,{get repository(){return e(t)},$$events:{close:()=>l(X,!1),submit:F=>Pe(F.detail)}}),"component",p,742,3,{componentTag:"UpdateRepositoryModal"})},_e=G=>{var F=se(),xe=V(F);{var ne=q=>{g(()=>Dt(q,{get organization(){return e(t)},$$events:{close:()=>l(X,!1),submit:W=>Pe(W.detail)}}),"component",p,748,3,{componentTag:"UpdateOrganizationModal"})},he=q=>{var W=se(),ke=V(W);{var Je=H=>{g(()=>Gt(H,{get enterprise(){return e(t)},$$events:{close:()=>l(X,!1),submit:we=>Pe(we.detail)}}),"component",p,754,3,{componentTag:"UpdateEnterpriseModal"})};g(()=>_(ke,H=>{N(r()),b(()=>r().enterprise_id)&&H(Je)},!0),"if",p,753,2)}v(q,W)};g(()=>_(xe,q=>{N(r()),b(()=>r().org_id)?q(ne):q(he,!1)},!0),"if",p,747,2)}v(G,F)};g(()=>_(ye,G=>{N(r()),b(()=>r().repo_id)?G(Ie):G(_e,!1)}),"if",p,741,2)}v(oe,ee)};g(()=>_($,oe=>{e(t)&&oe(me)}),"if",p,740,1)}v(a,u)};g(()=>_(it,a=>{e(X)&&a(ot)}),"if",p,738,0)}v(Qr,mr);var nt=Ot({...wt()});return Xr(),nt}export{p as U}; diff --git a/webapp/assets/_app/immutable/chunks/llowLxE6.js b/webapp/assets/_app/immutable/chunks/llowLxE6.js new file mode 100644 index 00000000..4ea49714 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/llowLxE6.js @@ -0,0 +1 @@ +import{f as x,a as k,s as j,e as I}from"./o8CdT7B0.js";import{i as Z}from"./ChJfoPF0.js";import{p as ee,o as te,q as ne,l as T,b as re,f as ae,t as L,a as se,s as b,c as l,d as a,m as v,r as c,h as d,u as p,g as r}from"./DUMcBckj.js";import{p as w,i as $}from"./i7pKks78.js";import{d as D,s as oe,c as i,i as ie}from"./_9uqtkkk.js";import{b as le}from"./DwF0DbKK.js";var ce=x('
'),de=x('
'),ve=x('
Description:
'),ue=x(' ',1);function ge(N,u){ee(u,!1);const y=v(),B=v();let t=w(u,"item",8),s=w(u,"entityType",8,"repository"),O=w(u,"showOwner",8,!1),R=w(u,"showId",8,!1),Y=w(u,"fontMono",8,!1),h=v(null),_=v(!1),C=v(0),U=v(0),E=v(!1);function f(){if(r(h)){const e=r(h).getBoundingClientRect();a(C,e.left),window.innerHeight-e.bottom<150?(a(E,!0),a(U,e.top)):(a(E,!1),a(U,e.bottom+4))}}function q(){a(_,!0),f()}function A(){a(_,!1)}te(()=>{window.addEventListener("scroll",f,!0),window.addEventListener("resize",f)}),ne(()=>{window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",f)});function P(){if(!t())return"Unknown";switch(s()){case"repository":return O()?`${t().owner||"Unknown"}/${t().name||"Unknown"}`:t().name||"Unknown";case"organization":case"enterprise":return t().name||"Unknown";case"pool":return R()?t().id||"Unknown":t().name||"Unknown";case"scaleset":return t().name||"Unknown";case"instance":return t().name||"Unknown";case"template":return t().name||"Unknown";case"object":return t().name||"Unknown";case"credentials":return t().name||"Unknown";default:return t().name||t().id||"Unknown"}}function X(){if(!t())return"#";let e;switch(s()){case"instance":e=t().name;break;default:e=t().id||t().name;break}if(!e)return"#";switch(s()){case"repository":return i(`/repositories/${e}`);case"organization":return i(`/organizations/${e}`);case"enterprise":return i(`/enterprises/${e}`);case"pool":return i(`/pools/${e}`);case"scaleset":return i(`/scalesets/${e}`);case"instance":return i(`/instances/${encodeURIComponent(e)}`);case"template":return i(`/templates/${e}`);case"object":return i(`/objects/${e}`);case"credentials":return i(`/credentials/${e}`);default:return"#"}}T(()=>{},()=>{a(y,P())}),T(()=>{},()=>{a(B,X())}),re(),Z();var H=ue(),z=ae(H),M=l(z),m=l(M),F=l(m,!0);c(m);var G=b(m,2);{var J=e=>{var n=ce(),o=l(n);le(o,g=>a(h,g),()=>r(h)),c(n),I("mouseenter",o,q),I("mouseleave",o,A),k(e,n)};$(G,e=>{d(s()),d(t()),p(()=>s()==="object"&&t()?.description)&&e(J)})}c(M);var K=b(M,2);{var Q=e=>{var n=de(),o=l(n,!0);c(n),L(()=>j(o,(d(t()),p(()=>t().provider_id)))),k(e,n)};$(K,e=>{d(s()),d(t()),p(()=>s()==="instance"&&t()?.provider_id)&&e(Q)})}c(z);var S=b(z,2);{var V=e=>{var n=ve(),o=l(n),g=b(l(o),2),W=l(g,!0);c(g),c(o),c(n),L(()=>{ie(n,`left: ${r(C)??""}px; top: ${r(U)??""}px; transform: translateY(${r(E)?"-100%":"0"});`),j(W,(d(t()),p(()=>t().description)))}),k(e,n)};$(S,e=>{d(s()),d(t()),r(_),p(()=>s()==="object"&&t()?.description&&r(_))&&e(V)})}L(()=>{D(m,"href",r(B)),oe(m,1,`truncate text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 ${Y()?"font-mono":""}`),D(m,"title",r(y)),j(F,r(y))}),k(N,H),se()}export{ge as E}; diff --git a/webapp/assets/_app/immutable/chunks/mBfsYUjq.js b/webapp/assets/_app/immutable/chunks/mBfsYUjq.js new file mode 100644 index 00000000..c0df6718 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/mBfsYUjq.js @@ -0,0 +1 @@ +import{f as j,t as $,a as n,s as v}from"./o8CdT7B0.js";import{i as J}from"./ChJfoPF0.js";import{p as K,v as O,c as e,r as t,s as i,n as D,t as h,g as Q,i as R,a as S}from"./DUMcBckj.js";import{p as l,i as T}from"./i7pKks78.js";import{B as L,s as M}from"./_9uqtkkk.js";import{M as U}from"./CYPHW1bs.js";var V=j('

'),W=j('

');function se(B,a){K(a,!1);let C=l(a,"title",8),P=l(a,"message",8),_=l(a,"itemName",8,""),c=l(a,"loading",8,!1),N=l(a,"confirmLabel",8,"Delete"),m=l(a,"danger",8,!0);const f=O();function q(){f("confirm")}J(),U(B,{$$events:{close:()=>f("close")},children:(z,X)=>{var u=W(),d=e(u),E=e(d);t(d);var x=i(d,2),g=e(x),A=e(g,!0);t(g);var k=i(g,2),p=e(k),F=e(p,!0);t(p);var G=i(p,2);{var H=r=>{var s=V(),o=e(s,!0);t(s),h(()=>v(o,_())),n(r,s)};T(G,r=>{_()&&r(H)})}t(k),t(x);var b=i(x,2),w=e(b);L(w,{variant:"secondary",get disabled(){return c()},$$events:{click:()=>f("close")},children:(r,s)=>{D();var o=$("Cancel");n(r,o)},$$slots:{default:!0}});var I=i(w,2);{let r=R(()=>m()?"danger":"primary");L(I,{get variant(){return Q(r)},get disabled(){return c()},get loading(){return c()},$$events:{click:q},children:(s,o)=>{D();var y=$();h(()=>v(y,N())),n(s,y)},$$slots:{default:!0}})}t(b),t(u),h(()=>{M(d,1,`mx-auto flex items-center justify-center h-12 w-12 rounded-full ${m()?"bg-red-100 dark:bg-red-900":"bg-yellow-100 dark:bg-yellow-900"} mb-4`),M(E,0,`h-6 w-6 ${m()?"text-red-600 dark:text-red-400":"text-yellow-600 dark:text-yellow-400"}`),v(A,C()),v(F,P())}),n(z,u)},$$slots:{default:!0}}),S()}export{se as D}; diff --git a/webapp/assets/_app/immutable/chunks/o8CdT7B0.js b/webapp/assets/_app/immutable/chunks/o8CdT7B0.js new file mode 100644 index 00000000..0b59de0a --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/o8CdT7B0.js @@ -0,0 +1,2 @@ +import{a5 as F,y as p,J as m,a1 as H,aH as A,ay as M,a3 as O,aI as W,am as K,an as Q,T as X,B as N,A as Z,aJ as ee,O as P,aK as B,_ as C,N as w,I as L,G as u,aL as te,aM as $,aN as re,aO as ae,z as j,aP as D,aQ as k,P as ne,aR as oe,aS as ie,S as se,aT as ue,C as le,p as de,ac as ce,a as fe}from"./DUMcBckj.js";function Ne(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const _e=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Le(e){return _e.includes(e)}const ve={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Oe(e){return e=e.toLowerCase(),ve[e]??e}const pe=["touchstart","touchmove"];function he(e){return pe.includes(e)}function Se(e,t){if(t){const r=document.body;e.autofocus=!0,F(()=>{document.activeElement===r&&e.focus()})}}function Ae(e){p&&m(e)!==null&&H(e)}let V=!1;function me(){V||(V=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function q(e){var t=W,r=O;A(null),M(null);try{return e()}finally{A(t),M(r)}}function Me(e,t,r,i=r){e.addEventListener(t,()=>q(r));const n=e.__on_r;n?e.__on_r=()=>{n(),i(!0)}:e.__on_r=()=>i(!0),me()}const G=new Set,I=new Set;function ye(e,t,r,i={}){function n(a){if(i.capture||b.call(t,a),!a.cancelBubble)return q(()=>r?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?F(()=>{t.addEventListener(e,n,i)}):t.addEventListener(e,n,i),n}function ke(e,t,r,i,n){var a={capture:i,passive:n},o=ye(e,t,r,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&K(()=>{t.removeEventListener(e,o,a)})}function Pe(e){for(var t=0;t{throw S});throw s}}finally{e.__root=t,delete e.currentTarget,A(T),M(_)}}}let v;function ge(){v=void 0}function Ce(e){let t=null,r=p;var i;if(p){for(t=u,v===void 0&&(v=m(document.head));v!==null&&(v.nodeType!==P||v.data!==B);)v=C(v);v===null?w(!1):v=L(C(v))}p||(i=document.head.appendChild(N()));try{Z(()=>e(i),ee)}finally{r&&(w(!0),v=u,L(t))}}function U(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function h(e,t){var r=O;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function De(e,t){var r=(t&$)!==0,i=(t&re)!==0,n,a=!e.startsWith("");return()=>{if(p)return h(u,null),u;n===void 0&&(n=U(a?e:""+e),r||(n=m(n)));var o=i||te?document.importNode(n,!0):n.cloneNode(!0);if(r){var c=m(o),d=o.lastChild;h(c,d)}else h(o,o);return o}}function Ee(e,t,r="svg"){var i=!e.startsWith(""),n=(t&$)!==0,a=`<${r}>${i?e:""+e}`,o;return()=>{if(p)return h(u,null),u;if(!o){var c=U(a),d=m(c);if(n)for(o=document.createDocumentFragment();m(d);)o.appendChild(m(d));else o=m(d)}var f=o.cloneNode(!0);if(n){var T=m(f),_=f.lastChild;h(T,_)}else h(f,f);return f}}function Ie(e,t){return Ee(e,t,"svg")}function Re(e=""){if(!p){var t=N(e+"");return h(t,t),t}var r=u;return r.nodeType!==ae&&(r.before(r=N()),L(r)),h(r,r),r}function Ve(){if(p)return h(u,null),u;var e=document.createDocumentFragment(),t=document.createComment(""),r=N();return e.append(t,r),h(t,r),e}function xe(e,t){if(p){O.nodes_end=u,j();return}e!==null&&e.before(t)}function Fe(e,t){var r=t==null?"":typeof t=="object"?t+"":t;r!==(e.__t??=e.nodeValue)&&(e.__t=r,e.nodeValue=r+"")}function we(e,t){return Y(e,t)}function He(e,t){D(),t.intro=t.intro??!1;const r=t.target,i=p,n=u;try{for(var a=m(r);a&&(a.nodeType!==P||a.data!==B);)a=C(a);if(!a)throw k;w(!0),L(a),j();const o=Y(e,{...t,anchor:a});if(u===null||u.nodeType!==P||u.data!==ne)throw oe(),k;return w(!1),o}catch(o){if(o instanceof Error&&o.message.split(` +`).some(c=>c.startsWith("https://svelte.dev/e/")))throw o;return o!==k&&console.warn("Failed to hydrate: ",o),t.recover===!1&&ie(),D(),H(r),w(!1),we(e,t)}finally{w(i),L(n),ge()}}const E=new Map;function Y(e,{target:t,anchor:r,props:i={},events:n,context:a,intro:o=!0}){D();var c=new Set,d=_=>{for(var s=0;s<_.length;s++){var l=_[s];if(!c.has(l)){c.add(l);var g=he(l);t.addEventListener(l,b,{passive:g});var y=E.get(l);y===void 0?(document.addEventListener(l,b,{passive:g}),E.set(l,1)):E.set(l,y+1)}}};d(se(G)),I.add(d);var f=void 0,T=ue(()=>{var _=r??t.appendChild(N());return le(()=>{if(a){de({});var s=ce;s.c=a}n&&(i.$$events=n),p&&h(_,null),f=e(_,i)||{},p&&(O.nodes_end=u),a&&fe()}),()=>{for(var s of c){t.removeEventListener(s,b);var l=E.get(s);--l===0?(document.removeEventListener(s,b),E.delete(s)):E.set(s,l)}I.delete(d),_!==r&&_.parentNode?.removeChild(_)}});return R.set(f,T),f}let R=new WeakMap;function We(e,t){const r=R.get(e);return r?(R.delete(e),r(t)):Promise.resolve()}const Te="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Te);export{xe as a,Ie as b,Ve as c,He as d,ke as e,De as f,h as g,Ce as h,U as i,Ne as j,ye as k,Me as l,we as m,Pe as n,Se as o,Oe as p,me as q,Ae as r,Fe as s,Re as t,We as u,Le as v}; diff --git a/webapp/assets/_app/immutable/chunks/rDPsLaF8.js b/webapp/assets/_app/immutable/chunks/rDPsLaF8.js new file mode 100644 index 00000000..47bcdedc --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/rDPsLaF8.js @@ -0,0 +1 @@ +import{w as R,o as m,aE as c,g as u,d as f}from"./DUMcBckj.js";import{a as T}from"./CnZ9nHem.js";new URL("sveltekit-internal://");function j(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function G(t){return t.split("%25").map(decodeURI).join("%25")}function Y(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function q({href:t}){return t.split("#")[0]}function D(t,e,n,r=!1){const s=new URL(t);Object.defineProperty(s,"searchParams",{value:new Proxy(s.searchParams,{get(a,o){if(o==="get"||o==="getAll"||o==="has")return(g,...k)=>(n(g),a[o](g,...k));e();const l=Reflect.get(a,o);return typeof l=="function"?l.bind(a):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];r&&i.push("hash");for(const a of i)Object.defineProperty(s,a,{get(){return e(),t[a]},enumerable:!0,configurable:!0});return s}function O(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function x(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r((t instanceof Request?t.method:e?.method||"GET")!=="GET"&&h.delete(w(t)),N(t,e));const h=new Map;function H(t,e){const n=w(t,e),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:s,...i}=JSON.parse(r.textContent);const a=r.getAttribute("data-ttl");return a&&h.set(n,{body:s,init:i,ttl:1e3*Number(a)}),r.getAttribute("data-b64")!==null&&(s=x(s)),Promise.resolve(new Response(s,i))}return window.fetch(t,e)}function K(t,e,n){if(h.size>0){const r=w(t,n),s=h.get(r);if(s){if(performance.now()a)}function s(a){n=!1,e.set(a)}function i(a){let o;return e.subscribe(l=>{(o===void 0||n&&l!==o)&&a(o=l)})}return{notify:r,set:s,subscribe:i}}const E={v:()=>{}};function re(){const{set:t,subscribe:e}=R(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${T}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const a=(await s.json()).version!==I;return a&&(t(!0),E.v(),clearTimeout(n)),a}catch{return!1}}return{subscribe:e,check:r}}function L(t,e,n){return t.origin!==S||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function se(t){}const U=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...U];const P=new Set([...U]);[...P];let b,y,p;const $=m.toString().includes("$$")||/function \w+\(\) \{\}/.test(m.toString());$?(b={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},y={current:null},p={current:!1}):(b=new class{#e=c({});get data(){return u(this.#e)}set data(e){f(this.#e,e)}#t=c(null);get form(){return u(this.#t)}set form(e){f(this.#t,e)}#n=c(null);get error(){return u(this.#n)}set error(e){f(this.#n,e)}#r=c({});get params(){return u(this.#r)}set params(e){f(this.#r,e)}#s=c({id:null});get route(){return u(this.#s)}set route(e){f(this.#s,e)}#a=c({});get state(){return u(this.#a)}set state(e){f(this.#a,e)}#o=c(-1);get status(){return u(this.#o)}set status(e){f(this.#o,e)}#i=c(new URL("https://example.com"));get url(){return u(this.#i)}set url(e){f(this.#i,e)}},y=new class{#e=c(null);get current(){return u(this.#e)}set current(e){f(this.#e,e)}},p=new class{#e=c(!1);get current(){return u(this.#e)}set current(e){f(this.#e,e)}},E.v=()=>p.current=!0);function le(t){Object.assign(b,t)}export{z as H,M as N,X as P,W as S,te as a,q as b,re as c,ne as d,Y as e,Z as f,ee as g,j as h,L as i,_ as j,G as k,B as l,D as m,y as n,S as o,b as p,K as q,F as r,Q as s,H as t,J as u,le as v,se as w}; diff --git a/webapp/assets/_app/immutable/chunks/Penjr-j0.js b/webapp/assets/_app/immutable/chunks/zgwRPQVC.js similarity index 98% rename from webapp/assets/_app/immutable/chunks/Penjr-j0.js rename to webapp/assets/_app/immutable/chunks/zgwRPQVC.js index 717ed94a..8432ce0d 100644 --- a/webapp/assets/_app/immutable/chunks/Penjr-j0.js +++ b/webapp/assets/_app/immutable/chunks/zgwRPQVC.js @@ -1 +1 @@ -import{z as p,C as l}from"./DzFKsO_V.js";import{g as d}from"./BguOOs3x.js";import{w as r}from"./DSHGoHxX.js";const f={repositories:[],organizations:[],enterprises:[],pools:[],scalesets:[],credentials:[],endpoints:[],controllerInfo:null,templates:[],loading:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1,templates:!1},loaded:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1,templates:!1},errorMessages:{repositories:"",organizations:"",enterprises:"",pools:"",scalesets:"",credentials:"",endpoints:"",controllerInfo:"",templates:""}},a=p(f);class u{unsubscribers=[];loadingPromises=new Map;retryAttempts=new Map;MAX_RETRIES=3;RETRY_DELAY_MS=1e3;websocketStatusUnsubscriber=null;async loadResource(e,t=!1){if(this.loadingPromises.has(e))return this.loadingPromises.get(e);a.update(o=>({...o,loading:{...o.loading,[e]:!0},errorMessages:{...o.errorMessages,[e]:""}}));const s=this.attemptLoad(e);this.loadingPromises.set(e,s);try{const o=await s;return a.update(n=>({...n,[e]:o,loading:{...n.loading,[e]:!1},loaded:{...n.loaded,[e]:!0},errorMessages:{...n.errorMessages,[e]:""}})),this.retryAttempts.delete(e),t&&this.startBackgroundLoading(e),o}catch(o){const n=o instanceof Error?o.message:"Failed to load data";throw a.update(i=>({...i,loading:{...i.loading,[e]:!1},errorMessages:{...i.errorMessages,[e]:n}})),console.error(`Failed to load ${e}:`,o),o}finally{this.loadingPromises.delete(e)}}async attemptLoad(e){const t=(this.retryAttempts.get(e)||0)+1;this.retryAttempts.set(e,t);try{let s;switch(e){case"repositories":s=d.listRepositories();break;case"organizations":s=d.listOrganizations();break;case"enterprises":s=d.listEnterprises();break;case"pools":s=d.listAllPools();break;case"scalesets":s=d.listScaleSets();break;case"credentials":s=d.listAllCredentials();break;case"endpoints":s=d.listAllEndpoints();break;case"controllerInfo":s=d.getControllerInfo();break;case"templates":s=d.listTemplates();break;default:throw new Error(`Unknown resource type: ${e}`)}return await s}catch(s){if(tsetTimeout(n,o)),this.attemptLoad(e)}else throw console.error(`All ${this.MAX_RETRIES} attempts failed for ${e}:`,s),s}}async startBackgroundLoading(e){const s=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints","templates"].filter(o=>o!==e);for(const o of s)setTimeout(()=>{this.loadResource(o,!1).catch(n=>{console.warn(`Background loading failed for ${o}:`,n)})},100*s.indexOf(o))}retryResource(e){return this.retryAttempts.delete(e),this.loadResource(e,!0)}setupWebSocketSubscriptions(){this.cleanup();const e=[r.subscribeToEntity("repository",["create","update","delete"],this.handleRepositoryEvent.bind(this)),r.subscribeToEntity("organization",["create","update","delete"],this.handleOrganizationEvent.bind(this)),r.subscribeToEntity("enterprise",["create","update","delete"],this.handleEnterpriseEvent.bind(this)),r.subscribeToEntity("pool",["create","update","delete"],this.handlePoolEvent.bind(this)),r.subscribeToEntity("scaleset",["create","update","delete"],this.handleScaleSetEvent.bind(this)),r.subscribeToEntity("controller",["update"],this.handleControllerEvent.bind(this)),r.subscribeToEntity("github_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("gitea_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("github_endpoint",["create","update","delete"],this.handleEndpointEvent.bind(this)),r.subscribeToEntity("template",["create","update","delete"],this.handleTemplateEvent.bind(this))];this.unsubscribers=e,this.setupWebSocketStatusMonitoring()}setupWebSocketStatusMonitoring(){this.websocketStatusUnsubscriber&&this.websocketStatusUnsubscriber();let e=!1;this.websocketStatusUnsubscriber=r.subscribe(t=>{t.connected&&!e&&(console.log("[EagerCache] WebSocket connected - reinitializing cache"),this.initializeAllResources()),e=t.connected})}async initializeAllResources(){const t=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints","controllerInfo","templates"].map(s=>this.loadResource(s,!0).catch(o=>{console.warn(`Failed to reload ${s} on WebSocket reconnect:`,o)}));await Promise.allSettled(t)}handleRepositoryEvent(e){a.update(t=>{if(!t.loaded.repositories)return t;const s=[...t.repositories],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,repositories:s}})}handleOrganizationEvent(e){a.update(t=>{if(!t.loaded.organizations)return t;const s=[...t.organizations],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,organizations:s}})}handleEnterpriseEvent(e){a.update(t=>{if(!t.loaded.enterprises)return t;const s=[...t.enterprises],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,enterprises:s}})}handlePoolEvent(e){a.update(t=>{if(!t.loaded.pools)return t;const s=[...t.pools],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,pools:s}})}handleScaleSetEvent(e){a.update(t=>{if(!t.loaded.scalesets)return t;const s=[...t.scalesets],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,scalesets:s}})}handleCredentialsEvent(e){a.update(t=>{if(!t.loaded.credentials)return t;const s=[...t.credentials],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,credentials:s}})}handleEndpointEvent(e){a.update(t=>{if(!t.loaded.endpoints)return t;const s=[...t.endpoints],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.name===o.name);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.name:o,i=s.findIndex(c=>c.name===n);i!==-1&&s.splice(i,1)}return{...t,endpoints:s}})}cleanup(){this.unsubscribers.forEach(e=>e()),this.unsubscribers=[],this.websocketStatusUnsubscriber&&(this.websocketStatusUnsubscriber(),this.websocketStatusUnsubscriber=null)}shouldUseCache(){return l(r).connected}async getRepositories(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching repositories directly from API"),await d.listRepositories();const t=l(a);return t.loaded.repositories?t.repositories:this.loadResource("repositories",!0)}async getOrganizations(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching organizations directly from API"),await d.listOrganizations();const t=l(a);return t.loaded.organizations?t.organizations:this.loadResource("organizations",!0)}async getEnterprises(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching enterprises directly from API"),await d.listEnterprises();const t=l(a);return t.loaded.enterprises?t.enterprises:this.loadResource("enterprises",!0)}async getPools(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching pools directly from API"),await d.listAllPools();const t=l(a);return t.loaded.pools?t.pools:this.loadResource("pools",!0)}async getScaleSets(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching scalesets directly from API"),await d.listScaleSets();const t=l(a);return t.loaded.scalesets?t.scalesets:this.loadResource("scalesets",!0)}async getCredentials(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching credentials directly from API"),await d.listAllCredentials();const t=l(a);return t.loaded.credentials?t.credentials:this.loadResource("credentials",!0)}async getEndpoints(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching endpoints directly from API"),await d.listAllEndpoints();const t=l(a);return t.loaded.endpoints?t.endpoints:this.loadResource("endpoints",!0)}async getControllerInfo(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching controller info directly from API"),await d.getControllerInfo();const t=l(a);return t.loaded.controllerInfo?t.controllerInfo:this.loadResource("controllerInfo",!0)}async getTemplates(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching templates directly from API"),await d.listTemplates();const t=l(a);return t.loaded.templates?t.templates:this.loadResource("templates",!0)}handleControllerEvent(e){a.update(t=>{if(!t.loaded.controllerInfo)return t;const s=e.payload;return e.operation==="update"?{...t,controllerInfo:s}:t})}handleTemplateEvent(e){a.update(t=>{if(!t.loaded.templates)return t;const s=[...t.templates],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,templates:s}})}}const h=new u;typeof window<"u"&&h.setupWebSocketSubscriptions();export{h as a,a as e}; +import{w as p,x as l}from"./DUMcBckj.js";import{g as d}from"./_9uqtkkk.js";import{w as r}from"./DTRhxHIE.js";const f={repositories:[],organizations:[],enterprises:[],pools:[],scalesets:[],credentials:[],endpoints:[],controllerInfo:null,templates:[],loading:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1,templates:!1},loaded:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1,templates:!1},errorMessages:{repositories:"",organizations:"",enterprises:"",pools:"",scalesets:"",credentials:"",endpoints:"",controllerInfo:"",templates:""}},a=p(f);class u{unsubscribers=[];loadingPromises=new Map;retryAttempts=new Map;MAX_RETRIES=3;RETRY_DELAY_MS=1e3;websocketStatusUnsubscriber=null;async loadResource(e,t=!1){if(this.loadingPromises.has(e))return this.loadingPromises.get(e);a.update(o=>({...o,loading:{...o.loading,[e]:!0},errorMessages:{...o.errorMessages,[e]:""}}));const s=this.attemptLoad(e);this.loadingPromises.set(e,s);try{const o=await s;return a.update(n=>({...n,[e]:o,loading:{...n.loading,[e]:!1},loaded:{...n.loaded,[e]:!0},errorMessages:{...n.errorMessages,[e]:""}})),this.retryAttempts.delete(e),t&&this.startBackgroundLoading(e),o}catch(o){const n=o instanceof Error?o.message:"Failed to load data";throw a.update(i=>({...i,loading:{...i.loading,[e]:!1},errorMessages:{...i.errorMessages,[e]:n}})),console.error(`Failed to load ${e}:`,o),o}finally{this.loadingPromises.delete(e)}}async attemptLoad(e){const t=(this.retryAttempts.get(e)||0)+1;this.retryAttempts.set(e,t);try{let s;switch(e){case"repositories":s=d.listRepositories();break;case"organizations":s=d.listOrganizations();break;case"enterprises":s=d.listEnterprises();break;case"pools":s=d.listAllPools();break;case"scalesets":s=d.listScaleSets();break;case"credentials":s=d.listAllCredentials();break;case"endpoints":s=d.listAllEndpoints();break;case"controllerInfo":s=d.getControllerInfo();break;case"templates":s=d.listTemplates();break;default:throw new Error(`Unknown resource type: ${e}`)}return await s}catch(s){if(tsetTimeout(n,o)),this.attemptLoad(e)}else throw console.error(`All ${this.MAX_RETRIES} attempts failed for ${e}:`,s),s}}async startBackgroundLoading(e){const s=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints","templates"].filter(o=>o!==e);for(const o of s)setTimeout(()=>{this.loadResource(o,!1).catch(n=>{console.warn(`Background loading failed for ${o}:`,n)})},100*s.indexOf(o))}retryResource(e){return this.retryAttempts.delete(e),this.loadResource(e,!0)}setupWebSocketSubscriptions(){this.cleanup();const e=[r.subscribeToEntity("repository",["create","update","delete"],this.handleRepositoryEvent.bind(this)),r.subscribeToEntity("organization",["create","update","delete"],this.handleOrganizationEvent.bind(this)),r.subscribeToEntity("enterprise",["create","update","delete"],this.handleEnterpriseEvent.bind(this)),r.subscribeToEntity("pool",["create","update","delete"],this.handlePoolEvent.bind(this)),r.subscribeToEntity("scaleset",["create","update","delete"],this.handleScaleSetEvent.bind(this)),r.subscribeToEntity("controller",["update"],this.handleControllerEvent.bind(this)),r.subscribeToEntity("github_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("gitea_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("github_endpoint",["create","update","delete"],this.handleEndpointEvent.bind(this)),r.subscribeToEntity("template",["create","update","delete"],this.handleTemplateEvent.bind(this))];this.unsubscribers=e,this.setupWebSocketStatusMonitoring()}setupWebSocketStatusMonitoring(){this.websocketStatusUnsubscriber&&this.websocketStatusUnsubscriber();let e=!1;this.websocketStatusUnsubscriber=r.subscribe(t=>{t.connected&&!e&&(console.log("[EagerCache] WebSocket connected - reinitializing cache"),this.initializeAllResources()),e=t.connected})}async initializeAllResources(){const t=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints","controllerInfo","templates"].map(s=>this.loadResource(s,!0).catch(o=>{console.warn(`Failed to reload ${s} on WebSocket reconnect:`,o)}));await Promise.allSettled(t)}handleRepositoryEvent(e){a.update(t=>{if(!t.loaded.repositories)return t;const s=[...t.repositories],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,repositories:s}})}handleOrganizationEvent(e){a.update(t=>{if(!t.loaded.organizations)return t;const s=[...t.organizations],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,organizations:s}})}handleEnterpriseEvent(e){a.update(t=>{if(!t.loaded.enterprises)return t;const s=[...t.enterprises],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,enterprises:s}})}handlePoolEvent(e){a.update(t=>{if(!t.loaded.pools)return t;const s=[...t.pools],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,pools:s}})}handleScaleSetEvent(e){a.update(t=>{if(!t.loaded.scalesets)return t;const s=[...t.scalesets],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,scalesets:s}})}handleCredentialsEvent(e){a.update(t=>{if(!t.loaded.credentials)return t;const s=[...t.credentials],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,credentials:s}})}handleEndpointEvent(e){a.update(t=>{if(!t.loaded.endpoints)return t;const s=[...t.endpoints],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.name===o.name);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.name:o,i=s.findIndex(c=>c.name===n);i!==-1&&s.splice(i,1)}return{...t,endpoints:s}})}cleanup(){this.unsubscribers.forEach(e=>e()),this.unsubscribers=[],this.websocketStatusUnsubscriber&&(this.websocketStatusUnsubscriber(),this.websocketStatusUnsubscriber=null)}shouldUseCache(){return l(r).connected}async getRepositories(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching repositories directly from API"),await d.listRepositories();const t=l(a);return t.loaded.repositories?t.repositories:this.loadResource("repositories",!0)}async getOrganizations(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching organizations directly from API"),await d.listOrganizations();const t=l(a);return t.loaded.organizations?t.organizations:this.loadResource("organizations",!0)}async getEnterprises(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching enterprises directly from API"),await d.listEnterprises();const t=l(a);return t.loaded.enterprises?t.enterprises:this.loadResource("enterprises",!0)}async getPools(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching pools directly from API"),await d.listAllPools();const t=l(a);return t.loaded.pools?t.pools:this.loadResource("pools",!0)}async getScaleSets(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching scalesets directly from API"),await d.listScaleSets();const t=l(a);return t.loaded.scalesets?t.scalesets:this.loadResource("scalesets",!0)}async getCredentials(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching credentials directly from API"),await d.listAllCredentials();const t=l(a);return t.loaded.credentials?t.credentials:this.loadResource("credentials",!0)}async getEndpoints(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching endpoints directly from API"),await d.listAllEndpoints();const t=l(a);return t.loaded.endpoints?t.endpoints:this.loadResource("endpoints",!0)}async getControllerInfo(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching controller info directly from API"),await d.getControllerInfo();const t=l(a);return t.loaded.controllerInfo?t.controllerInfo:this.loadResource("controllerInfo",!0)}async getTemplates(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching templates directly from API"),await d.listTemplates();const t=l(a);return t.loaded.templates?t.templates:this.loadResource("templates",!0)}handleControllerEvent(e){a.update(t=>{if(!t.loaded.controllerInfo)return t;const s=e.payload;return e.operation==="update"?{...t,controllerInfo:s}:t})}handleTemplateEvent(e){a.update(t=>{if(!t.loaded.templates)return t;const s=[...t.templates],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,templates:s}})}}const h=new u;typeof window<"u"&&h.setupWebSocketSubscriptions();export{h as a,a as e}; diff --git a/webapp/assets/_app/immutable/chunks/g1bAVjVL.js b/webapp/assets/_app/immutable/chunks/zrfkhNmc.js similarity index 65% rename from webapp/assets/_app/immutable/chunks/g1bAVjVL.js rename to webapp/assets/_app/immutable/chunks/zrfkhNmc.js index 90455520..2ad95c70 100644 --- a/webapp/assets/_app/immutable/chunks/g1bAVjVL.js +++ b/webapp/assets/_app/immutable/chunks/zrfkhNmc.js @@ -1,19 +1,19 @@ -import{c as Gh,a as On,b as wt,l as Zh,f as Yh,d as kd,t as El,s as Pn,g as Vo}from"./CxOx-TIJ.js";import{i as Kh}from"./3NxSoY2_.js";import{ao as wd,aD as vd,p as Jh,B as ec,o as Td,x as Cd,g as j,m as Fi,l as It,j as Xi,i as ye,h as Vt,b as tc,a as ic,F as ii,d as Di,c as Lt,t as si,f as Pd,r as Wt,s as Qn,w as ql,e as Qd}from"./DzFKsO_V.js";import{p as We,a as Ad,s as Md,v as Rd,i as $l}from"./B_jyf0qs.js";import{b as Dd}from"./Dtavz0EF.js";import{t as Bl}from"./B7m7LjX-.js";import{w as sr}from"./DoJxysSt.js";import{s as An,B as Ll}from"./BguOOs3x.js";import{M as Ed}from"./Pgjt70l7.js";function qd(n,e,t){var i=wd(n,e);i&&i.set&&(n[e]=t,vd(()=>{n[e]=null}))}let Ir=[],nc=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=nc[i])e=i+1;else return!0;if(e==t)return!1}}function Wl(n){return n>=127462&&n<=127487}const zl=8205;function Bd(n,e,t=!0,i=!0){return(t?sc:Ld)(n,e,i)}function sc(n,e,t){if(e==n.length)return e;e&&rc(n.charCodeAt(e))&&oc(n.charCodeAt(e-1))&&e--;let i=rr(n,e);for(e+=Il(i);e=0&&Wl(rr(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function Ld(n,e,t){for(;e>0;){let i=sc(n,e-2,t);if(i=56320&&n<57344}function oc(n){return n>=55296&&n<56320}function Il(n){return n<65536?1:2}class V{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Oi(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),Je.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Oi(this,e,t);let i=[];return this.decompose(e,t,i,0),Je.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new _i(this),r=new _i(e);for(let o=t,l=t;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new _i(this,e)}iterRange(e,t=this.length){return new lc(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new ac(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?V.empty:e.length<=32?new J(e):Je.from(J.split(e,[]))}}class J extends V{constructor(e,t=Wd(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((t?i:l)>=e)return new zd(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let r=e<=0&&t>=this.length?this:new J(Vl(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=ts(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new J(l,o.length+r.length));else{let a=l.length>>1;i.push(new J(l.slice(0,a)),new J(l.slice(a)))}}else i.push(r)}replace(e,t,i){if(!(i instanceof J))return super.replace(e,t,i);[e,t]=Oi(this,e,t);let s=ts(this.text,ts(i.text,Vl(this.text,0,e)),t),r=this.length+i.length-(t-e);return s.length<=32?new J(s,r):Je.from(J.split(s,[]),r)}sliceString(e,t=this.length,i=` -`){[e,t]=Oi(this,e,t);let s="";for(let r=0,o=0;r<=t&&oe&&o&&(s+=i),er&&(s+=l.slice(Math.max(0,e-r),t-r)),r=a+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let r of e)i.push(r),s+=r.length+1,i.length==32&&(t.push(new J(i,s)),i=[],s=-1);return s>-1&&t.push(new J(i,s)),t}}class Je extends V{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.children[r],l=s+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,s);s=l+1,i=a+1}}decompose(e,t,i,s){for(let r=0,o=0;o<=t&&r=o){let h=s&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if([e,t]=Oi(this,e,t),i.lines=r&&t<=l){let a=o.replace(e-r,t-r,i),h=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>h>>6){let c=this.children.slice();return c[s]=a,new Je(c,this.length-(t-e)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=` -`){[e,t]=Oi(this,e,t);let s="";for(let r=0,o=0;re&&r&&(s+=i),eo&&(s+=l.sliceString(e-o,t-o,i)),o=a+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Je))return 0;let i=0,[s,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==l)return i;let a=this.children[s],h=e.children[r];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new J(d,t)}let s=Math.max(32,i>>5),r=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function f(d){let p;if(d.lines>r&&d instanceof Je)for(let m of d.children)f(m);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof J&&a&&(p=c[c.length-1])instanceof J&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new J(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>s&&u(),a+=d.lines,h+=d.length+1,c.push(d))}function u(){a!=0&&(l.push(c.length==1?c[0]:Je.from(c,h)),h=-1,a=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new Je(l,t)}}V.empty=new J([""],0);function Wd(n){let e=-1;for(let t of n)e+=t.length+1;return e}function ts(n,e,t=0,i=1e9){for(let s=0,r=0,o=!0;r=t&&(a>i&&(l=l.slice(0,i-s)),s0?1:(e instanceof J?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],o=r>>1,l=s instanceof J?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(s instanceof J){let a=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof J?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class lc{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new _i(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class ac{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(V.prototype[Symbol.iterator]=function(){return this.iter()},_i.prototype[Symbol.iterator]=lc.prototype[Symbol.iterator]=ac.prototype[Symbol.iterator]=function(){return this});class zd{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}function Oi(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Oe(n,e,t=!0,i=!0){return Bd(n,e,t,i)}function Id(n){return n>=56320&&n<57344}function Vd(n){return n>=55296&&n<56320}function Qe(n,e){let t=n.charCodeAt(e);if(!Vd(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return Id(i)?(t-55296<<10)+(i-56320)+65536:t}function No(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function et(n){return n<65536?1:2}const Vr=/\r\n?|\n/;var ge=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(ge||(ge={}));class ot{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return r+(e-s);r+=l}else{if(i!=ge.Simple&&h>=e&&(i==ge.TrackDel&&se||i==ge.TrackBefore&&se))return null;if(h>e||h==e&&t<0&&!l)return e==s||t<0?r:r+a;r+=a}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return r}touchesRange(e,t=e){for(let i=0,s=0;i=0&&s<=t&&l>=e)return st?"cover":!0;s=l}return!1}toString(){let e="";for(let t=0;t=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ot(e)}static create(e){return new ot(e)}}class ae extends ot{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Nr(this,(t,i,s,r,o)=>e=e.replace(s,s+(i-t),o),!1),e}mapDesc(e,t=!1){return Fr(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,r=0;s=0){t[s]=l,t[s+1]=o;let a=s>>1;for(;i.length0&&Pt(i,t,r.text),r.forward(c),l+=c}let h=e[o++];for(;l>1].toJSON()))}return e}static of(e,t,i){let s=[],r=[],o=0,l=null;function a(c=!1){if(!c&&!s.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=d?typeof d=="string"?V.of(d.split(i||Vr)):d:V.empty,m=p.length;if(f==u&&m==0)return;fo&&be(s,f-o,-1),be(s,u-f,m),Pt(r,s,p),o=u}}return h(e),a(!l),l}static empty(e){return new ae(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let s=0;sl&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)t.push(r[0],0);else{for(;i.length=0&&t<=0&&t==n[s+1]?n[s]+=e:s>=0&&e==0&&n[s]==0?n[s+1]+=t:i?(n[s]+=e,n[s+1]+=t):n.push(e,t)}function Pt(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)l=n.sections[o++],a=n.sections[o++];e(s,h,r,c,f),s=h,r=c}}}function Fr(n,e,t,i=!1){let s=[],r=i?[]:null,o=new Yi(n),l=new Yi(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let h=Math.min(o.len,l.len);be(s,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len=0&&a=0){let h=0,c=o.len;for(;c;)if(l.ins==-1){let f=Math.min(c,l.len);h+=f,c-=f,l.forward(f)}else if(l.ins==0&&l.lena||o.ins>=0&&o.len>a)&&(l||i.length>h),r.forward2(a),o.forward(a)}}}}class Yi{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?V.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?V.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Xt{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,s;return this.empty?i=s=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),i==this.from&&s==this.to?this:new Xt(i,s,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return b.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return b.range(this.anchor,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return b.range(e.anchor,e.head)}static create(e,t,i){return new Xt(e,t,i)}}class b{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:b.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new b(e.ranges.map(t=>Xt.fromJSON(t)),e.main)}static single(e,t=e){return new b([b.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,s=0;se?8:0)|r)}static normalized(e,t=0){let i=e[t];e.sort((s,r)=>s.from-r.from),t=e.indexOf(i);for(let s=1;sr.head?b.range(a,l):b.range(l,a))}}return new b(e,t)}}function cc(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Fo=0;class M{constructor(e,t,i,s,r){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=s,this.id=Fo++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new M(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Xo),!!e.static,e.enables)}of(e){return new is([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new is(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new is(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function Xo(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class is{constructor(e,t,i,s){this.dependencies=e,this.facet=t,this.type=i,this.value=s,this.id=Fo++}dynamicSlot(e){var t;let i=this.value,s=this.facet.compareInput,r=this.id,o=e[r]>>1,l=this.type==2,a=!1,h=!1,c=[];for(let f of this.dependencies)f=="doc"?a=!0:f=="selection"?h=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&c.push(e[f.id]);return{create(f){return f.values[o]=i(f),1},update(f,u){if(a&&u.docChanged||h&&(u.docChanged||u.selection)||Xr(f,c)){let d=i(f);if(l?!Nl(d,f.values[o],s):!s(d,f.values[o]))return f.values[o]=d,1}return 0},reconfigure:(f,u)=>{let d,p=u.config.address[r];if(p!=null){let m=gs(u,p);if(this.dependencies.every(g=>g instanceof M?u.facet(g)===f.facet(g):g instanceof ue?u.field(g,!1)==f.field(g,!1):!0)||(l?Nl(d=i(f),m,s):s(d=i(f),m)))return f.values[o]=m,0}else d=i(f);return f.values[o]=d,1}}}}function Nl(n,e,t){if(n.length!=e.length)return!1;for(let i=0;in[a.id]),s=t.map(a=>a.type),r=i.filter(a=>!(a&1)),o=n[e.id]>>1;function l(a){let h=[];for(let c=0;ci===s),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Mn).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,s)=>{let r=i.values[t],o=this.updateF(r,s);return this.compareF(r,o)?0:(i.values[t]=o,1)},reconfigure:(i,s)=>{let r=i.facet(Mn),o=s.facet(Mn),l;return(l=r.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[t]=l.create(i),1):s.config.address[this.id]!=null?(i.values[t]=s.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Mn.of({field:this,create:e})]}get extension(){return this}}const Nt={lowest:4,low:3,default:2,high:1,highest:0};function Ei(n){return e=>new fc(e,n)}const $t={highest:Ei(Nt.highest),high:Ei(Nt.high),default:Ei(Nt.default),low:Ei(Nt.low),lowest:Ei(Nt.lowest)};class fc{constructor(e,t){this.inner=e,this.prec=t}}class Vs{of(e){return new _r(this,e)}reconfigure(e){return Vs.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class _r{constructor(e,t){this.compartment=e,this.inner=t}}class ms{constructor(e,t,i,s,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=s,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let s=[],r=Object.create(null),o=new Map;for(let u of Fd(e,t,o))u instanceof ue?s.push(u):(r[u.facet.id]||(r[u.facet.id]=[])).push(u);let l=Object.create(null),a=[],h=[];for(let u of s)l[u.id]=h.length<<1,h.push(d=>u.slot(d));let c=i?.config.facets;for(let u in r){let d=r[u],p=d[0].facet,m=c&&c[u]||[];if(d.every(g=>g.type==0))if(l[p.id]=a.length<<1|1,Xo(m,d))a.push(i.facet(p));else{let g=p.combine(d.map(y=>y.value));a.push(i&&p.compare(g,i.facet(p))?i.facet(p):g)}else{for(let g of d)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=h.length<<1,h.push(y=>g.dynamicSlot(y)));l[p.id]=h.length<<1,h.push(g=>Nd(g,p,d))}}let f=h.map(u=>u(l));return new ms(e,o,f,l,a,r)}}function Fd(n,e,t){let i=[[],[],[],[],[]],s=new Map;function r(o,l){let a=s.get(o);if(a!=null){if(a<=l)return;let h=i[a].indexOf(o);h>-1&&i[a].splice(h,1),o instanceof _r&&t.delete(o.compartment)}if(s.set(o,l),Array.isArray(o))for(let h of o)r(h,l);else if(o instanceof _r){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(o.compartment)||o.inner;t.set(o.compartment,h),r(h,l)}else if(o instanceof fc)r(o.inner,o.prec);else if(o instanceof ue)i[l].push(o),o.provides&&r(o.provides,l);else if(o instanceof is)i[l].push(o),o.facet.extensions&&r(o.facet.extensions,Nt.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(h,l)}}return r(n,Nt.default),i.reduce((o,l)=>o.concat(l))}function Ui(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let s=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|s}function gs(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const uc=M.define(),Ur=M.define({combine:n=>n.some(e=>e),static:!0}),dc=M.define({combine:n=>n.length?n[0]:void 0,static:!0}),pc=M.define(),mc=M.define(),gc=M.define(),Oc=M.define({combine:n=>n.length?n[0]:!1});class St{constructor(e,t){this.type=e,this.value=t}static define(){return new Xd}}class Xd{of(e){return new St(this,e)}}class _d{constructor(e){this.map=e}of(e){return new L(this,e)}}class L{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new L(this.type,t)}is(e){return this.type==e}static define(e={}){return new _d(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let s of e){let r=s.map(t);r&&i.push(r)}return i}}L.reconfigure=L.define();L.appendConfig=L.define();class oe{constructor(e,t,i,s,r,o){this.startState=e,this.changes=t,this.selection=i,this.effects=s,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,i&&cc(i,t.newLength),r.some(l=>l.type==oe.time)||(this.annotations=r.concat(oe.time.of(Date.now())))}static create(e,t,i,s,r,o){return new oe(e,t,i,s,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(oe.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}oe.time=St.define();oe.userEvent=St.define();oe.addToHistory=St.define();oe.remote=St.define();function Ud(n,e){let t=[];for(let i=0,s=0;;){let r,o;if(i=n[i]))r=n[i++],o=n[i++];else if(s=0;s--){let r=i[s](n);r instanceof oe?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof oe?n=r[0]:n=bc(e,fi(r),!1)}return n}function jd(n){let e=n.startState,t=e.facet(gc),i=n;for(let s=t.length-1;s>=0;s--){let r=t[s](n);r&&Object.keys(r).length&&(i=yc(i,Hr(e,r,n.changes.newLength),!0))}return i==n?n:oe.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const Gd=[];function fi(n){return n==null?Gd:Array.isArray(n)?n:[n]}var Y=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Y||(Y={}));const Zd=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let jr;try{jr=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function Yd(n){if(jr)return jr.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||Zd.test(t)))return!0}return!1}function Kd(n){return e=>{if(!/\S/.test(e))return Y.Space;if(Yd(e))return Y.Word;for(let t=0;t-1)return Y.Word;return Y.Other}}class I{constructor(e,t,i,s,r,o){this.config=e,this.doc=t,this.selection=i,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let l=0;ls.set(h,a)),t=null),s.set(l.value.compartment,l.value.extension)):l.is(L.reconfigure)?(t=null,i=l.value):l.is(L.appendConfig)&&(t=null,i=fi(i).concat(l.value));let r;t?r=e.startState.values.slice():(t=ms.resolve(i,s,this),r=new I(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=e.startState.facet(Ur)?e.newSelection:e.newSelection.asSingle();new I(t,e.newDoc,o,r,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:b.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),s=this.changes(i.changes),r=[i.range],o=fi(i.effects);for(let l=1;lo.spec.fromJSON(l,a)))}}return I.create({doc:e.doc,selection:b.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=ms.resolve(e.extensions||[],new Map),i=e.doc instanceof V?e.doc:V.of((e.doc||"").split(t.staticFacet(I.lineSeparator)||Vr)),s=e.selection?e.selection instanceof b?e.selection:b.single(e.selection.anchor,e.selection.head):b.single(0);return cc(s,i.length),t.staticFacet(Ur)||(s=s.asSingle()),new I(t,i,s,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(I.tabSize)}get lineBreak(){return this.facet(I.lineSeparator)||` -`}get readOnly(){return this.facet(Oc)}phrase(e,...t){for(let i of this.facet(I.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let r=+(s||1);return!r||r>t.length?i:t[r-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let r of this.facet(uc))for(let o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){return Kd(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=Oe(t,o,!1);if(r(t.slice(a,o))!=Y.Word)break;o=a}for(;ln.length?n[0]:4});I.lineSeparator=dc;I.readOnly=Oc;I.phrases=M.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(s=>n[s]==e[s])}});I.languageData=uc;I.changeFilter=pc;I.transactionFilter=mc;I.transactionExtender=gc;Vs.reconfigure=L.define();function at(n,e,t={}){let i={};for(let s of n)for(let r of Object.keys(s)){let o=s[r],l=i[r];if(l===void 0)i[r]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,r))i[r]=t[r](l,o);else throw new Error("Config merge conflict for field "+r)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}class Gt{eq(e){return this==e}range(e,t=e){return Gr.create(e,t,this)}}Gt.prototype.startSide=Gt.prototype.endSide=0;Gt.prototype.point=!1;Gt.prototype.mapMode=ge.TrackDel;let Gr=class xc{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new xc(e,t,i)}};function Zr(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class _o{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let r=i?this.to:this.from;for(let o=s,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,s){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,r);rd||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),s.push(u-o),r.push(d-o))}return{mapped:i.length?new _o(s,r,i,l):null,pos:o}}}class F{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new F(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(Zr)),this.isEmpty)return t.length?F.of(t):this;let l=new Sc(this,null,-1).goto(0),a=0,h=[],c=new yt;for(;l.value||a=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndexthis.chunkEnd(l.chunkIndex)||rl.to||r=r&&e<=r+o.length&&o.between(r,e-r,t-r,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Ki.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ki.from(e).goto(t)}static compare(e,t,i,s,r=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),l=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),a=Fl(o,l,i),h=new qi(o,a,r),c=new qi(l,a,r);i.iterGaps((f,u,d)=>Xl(h,f,c,u,d,s)),i.empty&&i.length==0&&Xl(h,0,c,0,0,s)}static eq(e,t,i=0,s){s==null&&(s=999999999);let r=e.filter(c=>!c.isEmpty&&t.indexOf(c)<0),o=t.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let l=Fl(r,o),a=new qi(r,l,0).goto(i),h=new qi(o,l,0).goto(i);for(;;){if(a.to!=h.to||!Yr(a.active,h.active)||a.point&&(!h.point||!a.point.eq(h.point)))return!1;if(a.to>s)return!0;a.next(),h.next()}}static spans(e,t,i,s,r=-1){let o=new qi(e,null,r).goto(t),l=t,a=o.openStart;for(;;){let h=Math.min(o.to,i);if(o.point){let c=o.activeForPoint(o.to),f=o.pointFroml&&(s.span(l,h,o.active,a),a=o.openEnd(h));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(e,t=!1){let i=new yt;for(let s of e instanceof Gr?[e]:t?Jd(e):e)i.add(s.from,s.to,s.value);return i.finish()}static join(e){if(!e.length)return F.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let s=e[i];s!=F.empty;s=s.nextLayer)t=new F(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}F.empty=new F([],[],null,-1);function Jd(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(Zr);e=i}return n}F.empty.nextLayer=F.empty;class yt{finishChunk(e){this.chunks.push(new _o(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new yt)).add(e,t,i)}addInner(e,t,i){let s=e-this.lastTo||i.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(F.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=F.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Fl(n,e,t){let i=new Map;for(let r of n)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&s.push(new Sc(o,t,i,r));return s.length==1?s[0]:new Ki(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)or(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)or(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),or(this.heap,0)}}}function or(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let s=n[i];if(i+1=0&&(s=n[i+1],i++),t.compare(s)<0)break;n[i]=t,n[e]=s,e=i}}class qi{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ki.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Rn(this.active,e),Rn(this.activeTo,e),Rn(this.activeRank,e),this.minActive=_l(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:s,rank:r}=this.cursor;for(;t0;)t++;Dn(this.active,t,i),Dn(this.activeTo,t,s),Dn(this.activeRank,t,r),e&&Dn(e,t,this.cursor.from),this.minActive=_l(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),i&&Rn(i,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[s]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Xl(n,e,t,i,s,r){n.goto(e),t.goto(i);let o=i+s,l=i,a=i-e;for(;;){let h=n.to+a-t.to,c=h||n.endSide-t.endSide,f=c<0?n.to+a:t.to,u=Math.min(f,o);if(n.point||t.point?n.point&&t.point&&(n.point==t.point||n.point.eq(t.point))&&Yr(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(l,u,n.point,t.point):u>l&&!Yr(n.active,t.active)&&r.compareRange(l,u,n.active,t.active),f>o)break;(h||n.openEnd!=t.openEnd)&&r.boundChange&&r.boundChange(f),l=f,c<=0&&n.next(),c>=0&&t.next()}}function Yr(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;i--)n[i+1]=n[i];n[e]=t}function _l(n,e){let t=-1,i=1e9;for(let s=0;s=e)return s;if(s==n.length)break;r+=n.charCodeAt(s)==9?t-r%t:1,s=Oe(n,s)}return i===!0?-1:n.length}const Jr="ͼ",Ul=typeof Symbol>"u"?"__"+Jr:Symbol.for(Jr),eo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Hl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};let yi=class{constructor(e,t){this.rules=[];let{finish:i}=t||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,l,a,h){let c=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))r(d.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(s(d),p,c,u)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(c.length||u)&&a.push((i&&!f&&!h?o.map(i):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)r(s(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=Hl[Ul]||1;return Hl[Ul]=e+1,Jr+e.toString(36)}static mount(e,t,i){let s=e[eo],r=i&&i.nonce;s?r&&s.setNonce(r):s=new ep(e,r),s.mount(Array.isArray(t)?t:[t],e)}},jl=new Map,ep=class{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let r=jl.get(i);if(r)return e[eo]=r;this.sheet=new s.CSSStyleSheet,jl.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[eo]=this}mount(e,t){let i=this.sheet,s=0,r=0;for(let o=0;o-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;h",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tp=typeof navigator<"u"&&/Mac/.test(navigator.platform),ip=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var me=0;me<10;me++)Rt[48+me]=Rt[96+me]=String(me);for(var me=1;me<=24;me++)Rt[me+111]="F"+me;for(var me=65;me<=90;me++)Rt[me]=String.fromCharCode(me+32),Ji[me]=String.fromCharCode(me);for(var lr in Rt)Ji.hasOwnProperty(lr)||(Ji[lr]=Rt[lr]);function np(n){var e=tp&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||ip&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Ji:Rt)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function en(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function to(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function ns(n,e){if(!e.anchorNode)return!1;try{return to(n,e.anchorNode)}catch{return!1}}function tn(n){return n.nodeType==3?Yt(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Hi(n,e,t,i){return t?Gl(n,e,t,i,-1)||Gl(n,e,t,i,1):!1}function Zt(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Os(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Gl(n,e,t,i,s){for(;;){if(n==t&&e==i)return!0;if(e==(s<0?0:lt(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=Zt(n)+(s<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?lt(n):0}else return!1}}function lt(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Ns(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function sp(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function kc(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function rp(n,e,t,i,s,r,o,l){let a=n.ownerDocument,h=a.defaultView||window;for(let c=n,f=!1;c&&!f;)if(c.nodeType==1){let u,d=c==a.body,p=1,m=1;if(d)u=sp(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(f=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let S=c.getBoundingClientRect();({scaleX:p,scaleY:m}=kc(c,S)),u={left:S.left,right:S.left+c.clientWidth*p,top:S.top,bottom:S.top+c.clientHeight*m}}let g=0,y=0;if(s=="nearest")e.top0&&e.bottom>u.bottom+y&&(y=e.bottom-u.bottom+o)):e.bottom>u.bottom&&(y=e.bottom-u.bottom+o,t<0&&e.top-y0&&e.right>u.right+g&&(g=e.right-u.right+r)):e.right>u.right&&(g=e.right-u.right+r,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function op(n){let e=n.ownerDocument,t,i;for(let s=n.parentNode;s&&!(s==e.body||t&&i);)if(s.nodeType==1)!i&&s.scrollHeight>s.clientHeight&&(i=s),!t&&s.scrollWidth>s.clientWidth&&(t=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:t,y:i}}class lp{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?lt(t):0),i,Math.min(e.focusOffset,i?lt(i):0))}set(e,t,i,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=s}}let ri=null;function wc(n){if(n.setActive)return n.setActive();if(ri)return n.focus(ri);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(ri==null?{get preventScroll(){return ri={preventScroll:!0},!0}}:void 0),!ri){ri=!1;for(let t=0;tMath.max(1,n.scrollHeight-n.clientHeight-4)}function Cc(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=lt(t)}else if(t.parentNode&&!Os(t))i=Zt(t),t=t.parentNode;else return null}}function Pc(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&it)return f.domBoundsAround(e,t,h);if(u>=e&&s==-1&&(s=a,r=h),h>t&&f.dom.parentNode==this.dom){o=a,l=c;break}c=u,h=u+f.breakAfter}return{from:r,to:l<0?i+this.length:l,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=Uo){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function Ac(n,e,t,i,s,r,o,l,a){let{children:h}=n,c=h.length?h[e]:null,f=r.length?r[r.length-1]:null,u=f?f.breakAfter:o;if(!(e==i&&c&&!o&&!u&&r.length<2&&c.merge(t,s,r.length?f:null,t==0,l,a))){if(i0&&(!o&&r.length&&c.merge(t,c.length,r[0],!1,l,0)?c.breakAfter=r.shift().breakAfter:(t2);var A={mac:Jl||/Mac/.test(Ae.platform),windows:/Win/.test(Ae.platform),linux:/Linux|X11/.test(Ae.platform),ie:Fs,ie_version:Rc?io.documentMode||6:so?+so[1]:no?+no[1]:0,gecko:Kl,gecko_version:Kl?+(/Firefox\/(\d+)/.exec(Ae.userAgent)||[0,0])[1]:0,chrome:!!ar,chrome_version:ar?+ar[1]:0,ios:Jl,android:/Android\b/.test(Ae.userAgent),safari:Dc,webkit_version:cp?+(/\bAppleWebKit\/(\d+)/.exec(Ae.userAgent)||[0,0])[1]:0,tabSize:io.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const fp=256;class Ue extends _{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,i){return this.flags&8||i&&(!(i instanceof Ue)||this.length-(t-e)+i.length>fp||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Ue(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new xe(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return up(this.dom,e,t)}}class bt extends _{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let s of t)s.setParent(this)}setAttrs(e){if(vc(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,s,r,o){return i&&(!(i instanceof bt&&i.mark.eq(this.mark))||e&&r<=0||te&&t.push(i=e&&(s=r),i=a,r++}let o=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new bt(this.mark,t,o)}domAtPos(e){return Ec(this,e)}coordsAt(e,t){return $c(this,e,t)}}function up(n,e,t){let i=n.nodeValue.length;e>i&&(e=i);let s=e,r=e,o=0;e==0&&t<0||e==i&&t>=0?A.chrome||A.gecko||(e?(s--,o=1):r=0)?0:l.length-1];return A.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(l,h=>h.width)||a),o?Ns(a,o<0):a||null}class Qt extends _{static create(e,t,i){return new Qt(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=Qt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,s,r,o){return i&&(!(i instanceof Qt)||!this.widget.compare(i.widget)||e>0&&r<=0||t0)?xe.before(this.dom):xe.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let s=this.dom.getClientRects(),r=null;if(!s.length)return null;let o=this.side?this.side<0:e>0;for(let l=o?s.length-1:0;r=s[l],!(e>0?l==0:l==s.length-1||r.top0?xe.before(this.dom):xe.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return V.empty}get isHidden(){return!0}}Ue.prototype.children=Qt.prototype.children=bi.prototype.children=Uo;function Ec(n,e){let t=n.dom,{children:i}=n,s=0;for(let r=0;sr&&e0;r--){let o=i[r-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let r=s;r0&&e instanceof bt&&s.length&&(i=s[s.length-1])instanceof bt&&i.mark.eq(e.mark)?qc(i,e.children[0],t-1):(s.push(e),e.setParent(n)),n.length+=e.length}function $c(n,e,t){let i=null,s=-1,r=null,o=-1;function l(h,c){for(let f=0,u=0;f=c&&(d.children.length?l(d,c-u):(!r||r.isHidden&&(t>0||pp(r,d)))&&(p>c||u==p&&d.getSide()>0)?(r=d,o=c-u):(u-1?1:0)!=s.length-(t&&s.indexOf(t)>-1?1:0))return!1;for(let r of i)if(r!=t&&(s.indexOf(r)==-1||n[r]!==e[r]))return!1;return!0}function oo(n,e,t){let i=!1;if(e)for(let s in e)t&&s in t||(i=!0,s=="style"?n.style.cssText="":n.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(i=!0,s=="style"?n.style.cssText=t[s]:n.setAttribute(s,t[s]));return i}function mp(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Dt(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,s;if(e.isBlockGap)i=-5e8,s=4e8;else{let{start:r,end:o}=Bc(e,t);i=(r?t?-3e8:-1:5e8)-1,s=(o?t?2e8:1:-6e8)+1}return new Dt(e,i,s,t,e.widget||null,!0)}static line(e){return new bn(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}D.none=F.empty;class yn extends D{constructor(e){let{start:t,end:i}=Bc(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof yn&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&ys(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}yn.prototype.point=!1;class bn extends D{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof bn&&this.spec.class==e.spec.class&&ys(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}bn.prototype.mapMode=ge.TrackBefore;bn.prototype.point=!0;class Dt extends D{constructor(e,t,i,s,r,o){super(t,i,r,e),this.block=s,this.isReplace=o,this.mapMode=s?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ve.WidgetRange:this.startSide<=0?ve.WidgetBefore:ve.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Dt&&gp(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Dt.prototype.point=!0;function Bc(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function gp(n,e){return n==e||!!(n&&e&&n.compare(e))}function ss(n,e,t,i=0){let s=t.length-1;s>=0&&t[s]+i>=n?t[s]=Math.max(t[s],e):t.push(n,e)}class re extends _{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,s,r,o){if(i){if(!(i instanceof re))return!1;this.dom||i.transferDOM(this)}return s&&this.setDeco(i?i.attrs:null),Mc(this,e,t,i?i.children.slice():[],r,o),!0}split(e){let t=new re;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i,off:s}=this.childPos(e);s&&(t.append(this.children[i].split(s),0),this.children[i].merge(s,this.children[i].length,null,!1,0,0),i++);for(let r=i;r0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){ys(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){qc(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=ro(t,this.attrs||{})),i&&(this.attrs=ro({class:i},this.attrs||{}))}domAtPos(e){return Ec(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?this.flags&4&&(vc(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(oo(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let s=this.dom.lastChild;for(;s&&_.get(s)instanceof bt;)s=s.lastChild;if(!s||!this.length||s.nodeName!="BR"&&((i=_.get(s))===null||i===void 0?void 0:i.isEditable)==!1&&(!A.ios||!this.children.some(r=>r instanceof Ue))){let r=document.createElement("BR");r.cmIgnore=!0,this.dom.appendChild(r)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let i of this.children){if(!(i instanceof Ue)||/[^ -~]/.test(i.text))return null;let s=tn(i.dom);if(s.length!=1)return null;e+=s[0].width,t=s[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let i=$c(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:s}=this.parent.view.viewState,r=i.bottom-i.top;if(Math.abs(r-s.lineHeight)<2&&s.textHeight=t){if(r instanceof re)return r;if(o>t)break}s=o+r.breakAfter}return null}}class Ot extends _{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,s,r,o){return i&&(!(i instanceof Ot)||!this.widget.compare(i.widget)||e>0&&r<=0||t0}}class lo extends kt{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class ji{constructor(e,t,i,s){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=s,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof Ot&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new re),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(En(new bi(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof Ot)&&this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:r,lineBreak:o,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=r,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(En(new Ue(this.text.slice(this.textOff,this.textOff+s)),t),i),this.atCursorPos=!0,this.textOff+=s,e-=s,i=0}}span(e,t,i,s){this.buildText(t-e,i,s),this.pos=t,this.openStart<0&&(this.openStart=s)}point(e,t,i,s,r,o){if(this.disallowBlockEffectsFor[o]&&i instanceof Dt){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=t-e;if(i instanceof Dt)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Ot(i.widget||xi.block,l,i));else{let a=Qt.create(i.widget||xi.inline,l,l?0:i.startSide),h=this.atCursorPos&&!a.isEditable&&r<=s.length&&(e0),c=!a.isEditable&&(es.length||i.startSide<=0),f=this.getLine();this.pendingBuffer==2&&!h&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(s),h&&(f.append(En(new bi(1),s),r),r=s.length+Math.max(0,r-s.length)),f.append(En(a,s),r),this.atCursorPos=c,this.pendingBuffer=c?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=r)}static build(e,t,i,s,r){let o=new ji(e,t,i,r);return o.openEnd=F.spans(s,t,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function En(n,e){for(let t of e)n=new bt(t,[n],n.length);return n}class xi extends kt{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}xi.inline=new xi("span");xi.block=new xi("div");var Z=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Z||(Z={}));const Kt=Z.LTR,Ho=Z.RTL;function Lc(n){let e=[];for(let t=0;t=t){if(l.level==i)return o;(r<0||(s!=0?s<0?l.fromt:e[r].level>l.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}}function zc(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;m-=3)if(Ge[m+1]==-d){let g=Ge[m+2],y=g&2?s:g&4?g&1?r:s:0;y&&(X[f]=X[Ge[m]]=y),l=m;break}}else{if(Ge.length==189)break;Ge[l++]=f,Ge[l++]=u,Ge[l++]=a}else if((p=X[f])==2||p==1){let m=p==s;a=m?0:1;for(let g=l-3;g>=0;g-=3){let y=Ge[g+2];if(y&2)break;if(m)Ge[g+2]|=2;else{if(y&4)break;Ge[g+2]|=4}}}}}function kp(n,e,t,i){for(let s=0,r=i;s<=t.length;s++){let o=s?t[s-1].to:n,l=sa;)p==g&&(p=t[--m].from,g=m?t[m-1].to:n),X[--p]=d;a=c}else r=h,a++}}}function ho(n,e,t,i,s,r,o){let l=i%2?2:1;if(i%2==s%2)for(let a=e,h=0;aa&&o.push(new At(a,m.from,d));let g=m.direction==Kt!=!(d%2);co(n,g?i+1:i,s,m.inner,m.from,m.to,o),a=m.to}p=m.to}else{if(p==t||(c?X[p]!=l:X[p]==l))break;p++}u?ho(n,a,p,i+1,s,u,o):ae;){let c=!0,f=!1;if(!h||a>r[h-1].to){let m=X[a-1];m!=l&&(c=!1,f=m==16)}let u=!c&&l==1?[]:null,d=c?i:i+1,p=a;e:for(;;)if(h&&p==r[h-1].to){if(f)break e;let m=r[--h];if(!c)for(let g=m.from,y=h;;){if(g==e)break e;if(y&&r[y-1].to==g)g=r[--y].from;else{if(X[g-1]==l)break e;break}}if(u)u.push(m);else{m.toX.length;)X[X.length]=256;let i=[],s=e==Kt?0:1;return co(n,s,s,t,0,n.length,i),i}function Ic(n){return[new At(0,n,0)]}let Vc="";function vp(n,e,t,i,s){var r;let o=i.head-n.from,l=At.find(e,o,(r=i.bidiLevel)!==null&&r!==void 0?r:-1,i.assoc),a=e[l],h=a.side(s,t);if(o==h){let u=l+=s?1:-1;if(u<0||u>=e.length)return null;a=e[l=u],o=a.side(!s,t),h=a.side(s,t)}let c=Oe(n.text,o,a.forward(s,t));(ca.to)&&(c=h),Vc=n.text.slice(Math.min(o,c),Math.max(o,c));let f=l==(s?e.length-1:0)?null:e[l+(s?1:-1)];return f&&c==h&&f.level+(s?0:1)n.some(e=>e)}),Gc=M.define({combine:n=>n.some(e=>e)}),Zc=M.define();class di{constructor(e,t="nearest",i="nearest",s=5,r=5,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=s,this.xMargin=r,this.isSnapshot=o}map(e){return e.empty?this:new di(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new di(b.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const qn=L.define({map:(n,e)=>n.map(e)}),Yc=L.define();function Re(n,e,t){let i=n.facet(_c);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const gt=M.define({combine:n=>n.length?n[0]:!0});let Cp=0;const ai=M.define({combine(n){return n.filter((e,t)=>{for(let i=0;i{let a=[];return o&&a.push(nn.of(h=>{let c=h.plugin(l);return c?o(c):D.none})),r&&a.push(r(l)),a})}static fromClass(e,t){return le.define((i,s)=>new e(i,s),t)}}class hr{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Re(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Re(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Re(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Kc=M.define(),Zo=M.define(),nn=M.define(),Jc=M.define(),Yo=M.define(),ef=M.define();function ta(n,e){let t=n.state.facet(ef);if(!t.length)return t;let i=t.map(r=>r instanceof Function?r(n):r),s=[];return F.spans(i,e.from,e.to,{point(){},span(r,o,l,a){let h=r-e.from,c=o-e.from,f=s;for(let u=l.length-1;u>=0;u--,a--){let d=l[u].spec.bidiIsolate,p;if(d==null&&(d=Tp(e.text,h,c)),a>0&&f.length&&(p=f[f.length-1]).to==h&&p.direction==d)p.to=c,f=p.inner;else{let m={from:h,to:c,direction:d,inner:[]};f.push(m),f=m.inner}}}}),s}const tf=M.define();function Ko(n){let e=0,t=0,i=0,s=0;for(let r of n.state.facet(tf)){let o=r(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(s=Math.max(s,o.bottom)))}return{left:e,right:t,top:i,bottom:s}}const zi=M.define();class Fe{constructor(e,t,i,s){this.fromA=e,this.toA=t,this.fromB=i,this.toB=s}join(e){return new Fe(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>i.toA)){if(s.toAc)break;r+=2}if(!a)return i;new Fe(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),o=a.toA,l=a.toB}}}class bs{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=ae.empty(this.startState.doc.length);for(let r of i)this.changes=this.changes.compose(r.changes);let s=[];this.changes.iterChangedRanges((r,o,l,a)=>s.push(new Fe(r,o,l,a))),this.changedRanges=s}static create(e,t,i){return new bs(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class ia extends _{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=D.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new re],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Fe(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:c})=>cthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?s=this.domChanged.newSel.head:!Ep(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let r=s>-1?Qp(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:h,to:c}=this.hasComposition;i=new Fe(h,c,e.changes.mapPos(h,-1),e.changes.mapPos(c,1)).addToSet(i.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(A.ie||A.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.updateDeco(),a=Rp(o,l,e.changes);return i=Fe.extendWithRanges(i,a),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=A.chrome||A.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||s.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let r=[];if(this.view.viewport.from||this.view.viewport.to=0?s[o]:null;if(!l)break;let{fromA:a,toA:h,fromB:c,toB:f}=l,u,d,p,m;if(i&&i.range.fromBc){let v=ji.build(this.view.state.doc,c,i.range.fromB,this.decorations,this.dynamicDecorationMap),x=ji.build(this.view.state.doc,i.range.toB,f,this.decorations,this.dynamicDecorationMap);d=v.breakAtStart,p=v.openStart,m=x.openEnd;let w=this.compositionView(i);x.breakAtStart?w.breakAfter=1:x.content.length&&w.merge(w.length,w.length,x.content[0],!1,x.openStart,0)&&(w.breakAfter=x.content[0].breakAfter,x.content.shift()),v.content.length&&w.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),u=v.content.concat(w).concat(x.content)}else({content:u,breakAtStart:d,openStart:p,openEnd:m}=ji.build(this.view.state.doc,c,f,this.decorations,this.dynamicDecorationMap));let{i:g,off:y}=r.findPos(h,1),{i:S,off:k}=r.findPos(a,-1);Ac(this,S,k,g,y,u,d,p,m)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(Yc)&&(this.editContextFormatting=i.value)}compositionView(e){let t=new Ue(e.text.nodeValue);t.flags|=8;for(let{deco:s}of e.marks)t=new bt(s,[t],t.length);let i=new re;return i.append(t,0),i}fixCompositionDOM(e){let t=(r,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let l=_.get(r);l&&l!=o&&(l.dom=null),o.setDOM(r)},i=this.childPos(e.range.fromB,1),s=this.children[i.i];t(e.line,s);for(let r=e.marks.length-1;r>=-1;r--)i=s.childPos(i.off,1),s=s.children[i.i],t(r>=0?e.marks[r].node:e.text,s)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,s=i==this.dom,r=!s&&!(this.view.state.facet(gt)||this.dom.tabIndex>-1)&&ns(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(s||t||r))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),h=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(A.gecko&&l.empty&&!this.hasComposition&&Pp(a)){let f=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(f,a.node.childNodes[a.offset]||null)),a=h=new xe(f,0),o=!0}let c=this.view.observer.selectionRange;(o||!c.focusNode||(!Hi(a.node,a.offset,c.anchorNode,c.anchorOffset)||!Hi(h.node,h.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,l))&&(this.view.observer.ignore(()=>{A.android&&A.chrome&&this.dom.contains(c.focusNode)&&Dp(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let f=en(this.view.root);if(f)if(l.empty){if(A.gecko){let u=Ap(a.node,a.offset);if(u&&u!=3){let d=(u==1?Cc:Pc)(a.node,a.offset);d&&(a=new xe(d.node,d.offset))}}f.collapse(a.node,a.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(a.node,a.offset);try{f.extend(h.node,h.offset)}catch{}}else{let u=document.createRange();l.anchor>l.head&&([a,h]=[h,a]),u.setEnd(h.node,h.offset),u.setStart(a.node,a.offset),f.removeAllRanges(),f.addRange(u)}r&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,h)),this.impreciseAnchor=a.precise?null:new xe(c.anchorNode,c.anchorOffset),this.impreciseHead=h.precise?null:new xe(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Hi(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=en(e.root),{anchorNode:s,anchorOffset:r}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let o=re.find(this,t.head);if(!o)return;let l=o.posAtStart;if(t.head==l||t.head==l+o.length)return;let a=this.coordsAt(t.head,-1),h=this.coordsAt(t.head,1);if(!a||!h||a.bottom>h.top)return;let c=this.domAtPos(t.head+t.assoc);i.collapse(c.node,c.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&i.collapse(s,r)}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let s=e.offset;!i&&s=0;s--){let r=_.get(t.childNodes[s]);r instanceof re&&(i=r.domAtPos(r.length))}return i?new xe(i.node,i.offset,!0):e}nearest(e){for(let t=e;t;){let i=_.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;o--){let l=this.children[o],a=r-l.breakAfter,h=a-l.length;if(ae||l.covers(1))&&(!i||l instanceof re&&!(i instanceof re&&t>=0)))i=l,s=h;else if(i&&h==e&&a==e&&l instanceof Ot&&Math.abs(t)<2){if(l.deco.startSide<0)break;o&&(i=null)}r=h}return i?i.coordsAt(e-s,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),s=this.children[t];if(!(s instanceof re))return null;for(;s.children.length;){let{i:l,off:a}=s.childPos(i,1);for(;;l++){if(l==s.children.length)return null;if((s=s.children[l]).length)break}i=a}if(!(s instanceof Ue))return null;let r=Oe(s.text,i);if(r==i)return null;let o=Yt(s.dom,i,r).getClientRects();for(let l=0;lMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Z.LTR;for(let h=0,c=0;cs)break;if(h>=i){let d=f.dom.getBoundingClientRect();if(t.push(d.height),o){let p=f.dom.lastChild,m=p?tn(p):[];if(m.length){let g=m[m.length-1],y=a?g.right-d.left:d.right-g.left;y>l&&(l=y,this.minWidth=r,this.minWidthFrom=h,this.minWidthTo=u)}}}h=u+f.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Z.RTL:Z.LTR}measureTextSize(){for(let r of this.children)if(r instanceof re){let o=r.measureTextSize();if(o)return o}let e=document.createElement("div"),t,i,s;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let r=tn(e.firstChild)[0];t=e.getBoundingClientRect().height,i=r?r.width/27:7,s=r?r.height:t,e.remove()}),{lineHeight:t,charWidth:i,textHeight:s}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Qc(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,s=0;;s++){let r=s==t.viewports.length?null:t.viewports[s],o=r?r.from-1:this.length;if(o>i){let l=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(D.replace({widget:new lo(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!r)break;i=r.to+1}return D.set(e)}updateDeco(){let e=1,t=this.view.state.facet(nn).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),i=!1,s=this.view.state.facet(Jc).map((r,o)=>{let l=typeof r=="function";return l&&(i=!0),l?r(this.view):r});for(s.length&&(this.dynamicDecorationMap[e++]=i,t.push(F.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];et.anchor?-1:1),s;if(!i)return;!t.empty&&(s=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,s.left),top:Math.min(i.top,s.top),right:Math.max(i.right,s.right),bottom:Math.max(i.bottom,s.bottom)});let r=Ko(this.view),o={left:i.left-r.left,top:i.top-r.top,right:i.right+r.right,bottom:i.bottom+r.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;rp(this.view.scrollDOM,o,t.head{ie.from&&(t=!0)}),t}function qp(n,e,t=1){let i=n.charCategorizer(e),s=n.doc.lineAt(e),r=e-s.from;if(s.length==0)return b.cursor(e);r==0?t=1:r==s.length&&(t=-1);let o=r,l=r;t<0?o=Oe(s.text,r,!1):l=Oe(s.text,r);let a=i(s.text.slice(o,l));for(;o>0;){let h=Oe(s.text,o,!1);if(i(s.text.slice(h,o))!=a)break;o=h}for(;ln?e.left-n:Math.max(0,n-e.right)}function Bp(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function cr(n,e){return n.tope.top+1}function na(n,e){return en.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function uo(n,e,t){let i,s,r,o,l=!1,a,h,c,f;for(let p=n.firstChild;p;p=p.nextSibling){let m=tn(p);for(let g=0;gk||o==k&&r>S)&&(i=p,s=y,r=S,o=k,l=S?e0:gy.bottom&&(!c||c.bottomy.top)&&(h=p,f=y):c&&cr(c,y)?c=sa(c,y.bottom):f&&cr(f,y)&&(f=na(f,y.top))}}if(c&&c.bottom>=t?(i=a,s=c):f&&f.top<=t&&(i=h,s=f),!i)return{node:n,offset:0};let u=Math.max(s.left,Math.min(s.right,e));if(i.nodeType==3)return ra(i,u,t);if(l&&i.contentEditable!="false")return uo(i,u,t);let d=Array.prototype.indexOf.call(n.childNodes,i)+(e>=(s.left+s.right)/2?1:0);return{node:n,offset:d}}function ra(n,e,t){let i=n.nodeValue.length,s=-1,r=1e9,o=0;for(let l=0;lt?c.top-t:t-c.bottom)-1;if(c.left-1<=e&&c.right+1>=e&&f=(c.left+c.right)/2,d=u;if((A.chrome||A.gecko)&&Yt(n,l).getBoundingClientRect().left==c.right&&(d=!u),f<=0)return{node:n,offset:l+(d?1:0)};s=l+(d?1:0),r=f}}}return{node:n,offset:s>-1?s:o>0?n.nodeValue.length:0}}function sf(n,e,t,i=-1){var s,r;let o=n.contentDOM.getBoundingClientRect(),l=o.top+n.viewState.paddingTop,a,{docHeight:h}=n.viewState,{x:c,y:f}=e,u=f-l;if(u<0)return 0;if(u>h)return n.state.doc.length;for(let v=n.viewState.heightOracle.textHeight/2,x=!1;a=n.elementAtHeight(u),a.type!=ve.Text;)for(;u=i>0?a.bottom+v:a.top-v,!(u>=0&&u<=h);){if(x)return t?null:0;x=!0,i=-i}f=l+u;let d=a.from;if(dn.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:oa(n,o,a,c,f);let p=n.dom.ownerDocument,m=n.root.elementFromPoint?n.root:p,g=m.elementFromPoint(c,f);g&&!n.contentDOM.contains(g)&&(g=null),g||(c=Math.max(o.left+1,Math.min(o.right-1,c)),g=m.elementFromPoint(c,f),g&&!n.contentDOM.contains(g)&&(g=null));let y,S=-1;if(g&&((s=n.docView.nearest(g))===null||s===void 0?void 0:s.isEditable)!=!1){if(p.caretPositionFromPoint){let v=p.caretPositionFromPoint(c,f);v&&({offsetNode:y,offset:S}=v)}else if(p.caretRangeFromPoint){let v=p.caretRangeFromPoint(c,f);v&&({startContainer:y,startOffset:S}=v,(!n.contentDOM.contains(y)||A.safari&&Lp(y,S,c)||A.chrome&&Wp(y,S,c))&&(y=void 0))}y&&(S=Math.min(lt(y),S))}if(!y||!n.docView.dom.contains(y)){let v=re.find(n.docView,d);if(!v)return u>a.top+a.height/2?a.to:a.from;({node:y,offset:S}=uo(v.dom,c,f))}let k=n.docView.nearest(y);if(!k)return null;if(k.isWidget&&((r=k.dom)===null||r===void 0?void 0:r.nodeType)==1){let v=k.dom.getBoundingClientRect();return e.yn.defaultLineHeight*1.5){let l=n.viewState.heightOracle.textHeight,a=Math.floor((s-t.top-(n.defaultLineHeight-l)*.5)/l);r+=a*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Kr(o,r,n.state.tabSize)}function Lp(n,e,t){let i,s=n;if(n.nodeType!=3||e!=(i=n.nodeValue.length))return!1;for(;;){let r=s.nextSibling;if(r){if(r.nodeName=="BR")break;return!1}else{let o=s.parentNode;if(!o||o.nodeName=="DIV")break;s=o}}return Yt(n,i-1,i).getBoundingClientRect().right>t}function Wp(n,e,t){if(e!=0)return!1;for(let s=n;;){let r=s.parentNode;if(!r||r.nodeType!=1||r.firstChild!=s)return!1;if(r.classList.contains("cm-line"))break;s=r}let i=n.nodeType==1?n.getBoundingClientRect():Yt(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}function po(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let s;for(let r of i.type){if(r.from>e)break;if(!(r.toe)return r;(!s||r.type==ve.Text&&(s.type!=r.type||(t<0?r.frome)))&&(s=r)}}return s||i}return i}function zp(n,e,t,i){let s=po(n,e.head,e.assoc||-1),r=!i||s.type!=ve.Text||!(n.lineWrapping||s.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(r){let o=n.dom.getBoundingClientRect(),l=n.textDirectionAt(s.from),a=n.posAtCoords({x:t==(l==Z.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(a!=null)return b.cursor(a,t?-1:1)}return b.cursor(t?s.to:s.from,t?-1:1)}function la(n,e,t,i){let s=n.state.doc.lineAt(e.head),r=n.bidiSpans(s),o=n.textDirectionAt(s.from);for(let l=e,a=null;;){let h=vp(s,r,o,l,t),c=Vc;if(!h){if(s.number==(t?n.state.doc.lines:1))return l;c=` -`,s=n.state.doc.line(s.number+(t?1:-1)),r=n.bidiSpans(s),h=n.visualLineSide(s,!t)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function Ip(n,e,t){let i=n.state.charCategorizer(e),s=i(t);return r=>{let o=i(r);return s==Y.Space&&(s=o),s==o}}function Vp(n,e,t,i){let s=e.head,r=t?1:-1;if(s==(t?n.state.doc.length:0))return b.cursor(s,e.assoc);let o=e.goalColumn,l,a=n.contentDOM.getBoundingClientRect(),h=n.coordsAtPos(s,e.assoc||-1),c=n.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let d=n.viewState.lineBlockAt(s);o==null&&(o=Math.min(a.right-a.left,n.defaultCharacterWidth*(s-d.from))),l=(r<0?d.top:d.bottom)+c}let f=a.left+o,u=i??n.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(u+d)*r,m=sf(n,{x:f,y:p},!1,r);if(pa.bottom||(r<0?ms)){let g=n.docView.coordsForChar(m),y=!g||p{if(e>r&&es(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:b.cursor(i,ir)&&this.lineBreak(),s=o}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,o=1,l;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=s.exec(t))&&(r=l.index,o=l[0].length),this.append(t.slice(i,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);i=r+o}}readNode(e){if(e.cmIgnore)return;let t=_.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let s=i.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(Fp(e,i.node,i.offset)?t:0))}}function Fp(n,e,t){for(;;){if(!e||t-1;let{impreciseHead:r,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let l=r||o?[]:Hp(e),a=new Np(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=jp(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!to(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!to(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),c=e.viewport;if((A.ios||A.chrome)&&e.state.selection.main.empty&&a!=h&&(c.from>0||c.toDate.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:l}=e.bounds,a=s.from,h=null;(r===8||A.android&&e.text.length=s.from&&t.to<=s.to&&(t.from!=s.from||t.to!=s.to)&&s.to-s.from-(t.to-t.from)<=4?t={from:s.from,to:s.to,insert:n.state.doc.slice(s.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,s.to))}:A.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&n.lineWrapping&&(i&&(i=b.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:V.of([" "])}),t)return Jo(n,t,i,r);if(i&&!i.main.eq(s)){let o=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),l=n.inputState.lastSelectionOrigin),n.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function Jo(n,e,t,i=-1){if(A.ios&&n.inputState.flushIOSKey(e))return!0;let s=n.state.selection.main;if(A.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&n.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ui(n.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||i==8&&e.insert.lengths.head)&&ui(n.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&ui(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,l=()=>o||(o=_p(n,e,t));return n.state.facet(Uc).some(a=>a(n,e.from,e.to,r,l))||n.dispatch(l()),!0}function _p(n,e,t){let i,s=n.state,r=s.selection.main;if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=r.frome.to?s.sliceDoc(e.to,r.to):"";i=s.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+a))}else{let l=s.changes(e),a=t&&t.main.to<=l.newLength?t.main:void 0;if(s.selection.ranges.length>1&&n.inputState.composing>=0&&e.to<=r.to&&e.to>=r.to-10){let h=n.state.sliceDoc(e.from,e.to),c,f=t&&nf(n,t.main.head);if(f){let p=e.insert.length-(e.to-e.from);c={from:f.from,to:f.to-p}}else c=n.state.doc.lineAt(r.head);let u=r.to-e.to,d=r.to-r.from;i=s.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:l,range:a||p.map(l)};let m=p.to-u,g=m-h.length;if(p.to-p.from!=d||n.state.sliceDoc(g,m)!=h||p.to>=c.from&&p.from<=c.to)return{range:p};let y=s.changes({from:g,to:m,insert:e.insert}),S=p.to-r.to;return{changes:y,range:a?b.range(Math.max(0,a.anchor+S),Math.max(0,a.head+S)):p.map(y)}})}else i={changes:l,selection:a&&s.selection.replaceRange(a)}}let o="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,o+=".compose",n.inputState.compositionFirstChange&&(o+=".start",n.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:o,scrollIntoView:!0})}function Up(n,e,t,i){let s=Math.min(n.length,e.length),r=0;for(;r0&&l>0&&n.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));t-=o+a-r}if(o=o?r-t:0;r-=a,l=r+(l-o),o=r}else if(l=l?r-t:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function Hp(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new aa(t,i)),(s!=t||r!=i)&&e.push(new aa(s,r))),e}function jp(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?b.single(t+e,i+e):null}class Gp{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,A.safari&&e.contentDOM.addEventListener("input",()=>null),A.gecko&&fm(e.contentDOM.ownerDocument)}handleEvent(e){!nm(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let s of i.observers)s(this.view,t);for(let s of i.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Zp(e),i=this.handlers,s=this.view.contentDOM;for(let r in t)if(r!="scroll"){let o=!t[r].handlers.length,l=i[r];l&&o!=!l.handlers.length&&(s.removeEventListener(r,this.handleEvent),l=null),l||s.addEventListener(r,this.handleEvent,{passive:o})}for(let r in i)r!="scroll"&&!t[r]&&s.removeEventListener(r,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&lf.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),A.android&&A.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return A.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=of.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||Yp.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:A.safari&&!A.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function ha(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(s){Re(t.state,s)}}}function Zp(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let s=i.spec,r=s&&s.plugin.domEventHandlers,o=s&&s.plugin.domEventObservers;if(r)for(let l in r){let a=r[l];a&&t(l).handlers.push(ha(i.value,a))}if(o)for(let l in o){let a=o[l];a&&t(l).observers.push(ha(i.value,a))}}for(let i in He)t(i).handlers.push(He[i]);for(let i in Xe)t(i).observers.push(Xe[i]);return e}const of=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Yp="dthko",lf=[16,17,18,20,91,92,224,225],$n=6;function Bn(n){return Math.max(0,n)*.7+8}function Kp(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class Jp{constructor(e,t,i,s){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=op(e.contentDOM),this.atoms=e.state.facet(Yo).map(o=>o(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(I.allowMultipleSelections)&&em(e,t),this.dragging=im(e,t)&&cf(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Kp(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,s=0,r=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=Ko(this.view);e.clientX-a.left<=s+$n?t=-Bn(s-e.clientX):e.clientX+a.right>=o-$n&&(t=Bn(e.clientX-o)),e.clientY-a.top<=r+$n?i=-Bn(r-e.clientY):e.clientY+a.bottom>=l-$n&&(i=Bn(e.clientY-l)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;it.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function em(n,e){let t=n.state.facet(Nc);return t.length?t[0](e):A.mac?e.metaKey:e.ctrlKey}function tm(n,e){let t=n.state.facet(Fc);return t.length?t[0](e):A.mac?!e.altKey:!e.ctrlKey}function im(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=en(n.root);if(!i||i.rangeCount==0)return!0;let s=i.getRangeAt(0).getClientRects();for(let r=0;r=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function nm(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=_.get(t))&&i.ignoreEvent(e))return!1;return!0}const He=Object.create(null),Xe=Object.create(null),af=A.ie&&A.ie_version<15||A.ios&&A.webkit_version<604;function sm(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),hf(n,t.value)},50)}function Xs(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function hf(n,e){e=Xs(n.state,jo,e);let{state:t}=n,i,s=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(mo!=null&&t.selection.ranges.every(a=>a.empty)&&mo==r.toString()){let a=-1;i=t.changeByRange(h=>{let c=t.doc.lineAt(h.from);if(c.from==a)return{range:h};a=c.from;let f=t.toText((o?r.line(s++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:f},range:b.cursor(h.from+f.length)}})}else o?i=t.changeByRange(a=>{let h=r.line(s++);return{changes:{from:a.from,to:a.to,insert:h.text},range:b.cursor(a.from+h.length)}}):i=t.replaceSelection(r);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Xe.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};He.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Xe.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Xe.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};He.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(Xc))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=lm(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new Jp(n,e,t,i)),i&&n.observer.ignore(()=>{wc(n.contentDOM);let r=n.root.activeElement;r&&!r.contains(n.contentDOM)&&r.blur()});let s=n.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}return!1};function ca(n,e,t,i){if(i==1)return b.cursor(e,t);if(i==2)return qp(n.state,e,t);{let s=re.find(n.docView,e),r=n.state.doc.lineAt(s?s.posAtEnd:e),o=s?s.posAtStart:r.from,l=s?s.posAtEnd:r.to;return le>=t.top&&e<=t.bottom&&n>=t.left&&n<=t.right;function rm(n,e,t,i){let s=re.find(n.docView,e);if(!s)return 1;let r=e-s.posAtStart;if(r==0)return 1;if(r==s.length)return-1;let o=s.coordsAt(r,-1);if(o&&fa(t,i,o))return-1;let l=s.coordsAt(r,1);return l&&fa(t,i,l)?1:o&&o.bottom>=i?-1:1}function ua(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:rm(n,t,e.clientX,e.clientY)}}const om=A.ie&&A.ie_version<=11;let da=null,pa=0,ma=0;function cf(n){if(!om)return n.detail;let e=da,t=ma;return da=n,ma=Date.now(),pa=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(pa+1)%3:1}function lm(n,e){let t=ua(n,e),i=cf(e),s=n.state.selection;return{update(r){r.docChanged&&(t.pos=r.changes.mapPos(t.pos),s=s.map(r.changes))},get(r,o,l){let a=ua(n,r),h,c=ca(n,a.pos,a.bias,i);if(t.pos!=a.pos&&!o){let f=ca(n,t.pos,t.bias,i),u=Math.min(f.from,c.from),d=Math.max(f.to,c.to);c=u1&&(h=am(s,a.pos))?h:l?s.addRange(c):b.create([c])}}}function am(n,e){for(let t=0;t=e)return b.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}He.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let s=n.docView.nearest(e.target);if(s&&s.isWidget){let r=s.posAtStart,o=r+s.length;(r>=t.to||o<=t.from)&&(t=b.range(r,o))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Xs(n.state,Go,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};He.dragend=n=>(n.inputState.draggedContent=null,!1);function ga(n,e,t,i){if(t=Xs(n.state,jo,t),!t)return;let s=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=i&&r&&tm(n,e)?{from:r.from,to:r.to}:null,l={from:s,insert:t},a=n.state.changes(o?[o,l]:l);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(s,-1),head:a.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}He.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),s=0,r=()=>{++s==t.length&&ga(n,e,i.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(i[o]=l.result),r()},l.readAsText(t[o])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return ga(n,e,i,!0),!0}return!1};He.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=af?null:e.clipboardData;return t?(hf(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(sm(n),!1)};function hm(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function cm(n){let e=[],t=[],i=!1;for(let s of n.selection.ranges)s.empty||(e.push(n.sliceDoc(s.from,s.to)),t.push(s));if(!e.length){let s=-1;for(let{from:r}of n.selection.ranges){let o=n.doc.lineAt(r);o.number>s&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),s=o.number}i=!0}return{text:Xs(n,Go,e.join(n.lineBreak)),ranges:t,linewise:i}}let mo=null;He.copy=He.cut=(n,e)=>{let{text:t,ranges:i,linewise:s}=cm(n.state);if(!t&&!s)return!1;mo=s?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let r=af?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(hm(n,t),!1)};const ff=St.define();function uf(n,e){let t=[];for(let i of n.facet(Hc)){let s=i(n,e);s&&t.push(s)}return t.length?n.update({effects:t,annotations:ff.of(!0)}):null}function df(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=uf(n.state,e);t?n.dispatch(t):n.update([])}},10)}Xe.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),df(n)};Xe.blur=n=>{n.observer.clearSelectionRange(),df(n)};Xe.compositionstart=Xe.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Xe.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,A.chrome&&A.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Xe.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};He.beforeinput=(n,e)=>{var t,i;if(e.inputType=="insertReplacementText"&&n.observer.editContext){let r=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(r&&o.length){let l=o[0],a=n.posAtDOM(l.startContainer,l.startOffset),h=n.posAtDOM(l.endContainer,l.endOffset);return Jo(n,{from:a,to:h,insert:n.state.toText(r)},null),!0}}let s;if(A.chrome&&A.android&&(s=of.find(r=>r.inputType==e.inputType))&&(n.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let r=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>r+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return A.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),A.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Xe.compositionend(n,e),20),!1};const Oa=new Set;function fm(n){Oa.has(n)||(Oa.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const ya=["pre-wrap","normal","pre-line","break-spaces"];let Si=!1;function ba(){Si=!1}class um{constructor(e){this.lineWrapping=e,this.doc=V.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return ya.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=i,this.textHeight=s,this.lineLength=r,a){this.heightSamples={};for(let h=0;h0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>os&&(Si=!0),this.height=e)}replace(e,t,i){return Te.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,s){let r=this,o=i.doc;for(let l=s.length-1;l>=0;l--){let{fromA:a,toA:h,fromB:c,toB:f}=s[l],u=r.lineAt(a,G.ByPosNoHeight,i.setDoc(t),0,0),d=u.to>=h?u:r.lineAt(h,G.ByPosNoHeight,i,0,0);for(f+=d.to-h,h=d.to;l>0&&u.from<=s[l-1].toA;)a=s[l-1].fromA,c=s[l-1].fromB,l--,ar*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),i+=1+l.break,s-=l.size}else if(r>s*2){let l=e[i];l.break?e.splice(i,1,l.left,null,l.right):e.splice(i,1,l.left,l.right),i+=2+l.break,r-=l.size}else break;else if(s=r&&o(this.blockAt(0,i,s,r))}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Be extends pf{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,s){return new tt(s,this.length,i,this.height,this.breaks)}replace(e,t,i){let s=i[0];return i.length==1&&(s instanceof Be||s instanceof pe&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof pe?s=new Be(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):Te.of(i)}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more?this.setHeight(s.heights[s.index++]):(i||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class pe extends Te{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,r=s-i+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*r);o=a/r,this.length>r+1&&(l=(this.height-a)/(this.length-r-1))}else o=this.height/r;return{firstLine:i,lastLine:s,perLine:o,perChar:l}}blockAt(e,t,i,s){let{firstLine:r,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(t,s);if(t.lineWrapping){let h=s+(e0){let r=i[i.length-1];r instanceof pe?i[i.length-1]=new pe(r.length+s):i.push(null,new pe(s-1))}if(e>0){let r=i[0];r instanceof pe?i[0]=new pe(e+r.length):i.unshift(new pe(e-1),null)}return Te.of(i)}decomposeLeft(e,t){t.push(new pe(e-1),null)}decomposeRight(e,t){t.push(null,new pe(this.length-e-1))}updateHeight(e,t=0,i=!1,s){let r=t+this.length;if(s&&s.from<=t+this.length&&s.more){let o=[],l=Math.max(t,s.from),a=-1;for(s.from>t&&o.push(new pe(s.from-t-1).updateHeight(e,t));l<=r&&s.more;){let c=e.doc.lineAt(l).length;o.length&&o.push(null);let f=s.heights[s.index++];a==-1?a=f:Math.abs(f-a)>=os&&(a=-2);let u=new Be(c,f);u.outdated=!1,o.push(u),l+=c+1}l<=r&&o.push(null,new pe(r-l).updateHeight(e,l));let h=Te.of(o);return(a<0||Math.abs(h.height-this.height)>=os||Math.abs(a-this.heightMetrics(e,t).perLine)>=os)&&(Si=!0),xs(this,h)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class pm extends Te{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,s){let r=i+this.left.height;return el))return h;let c=t==G.ByPosNoHeight?G.ByPosNoHeight:G.ByPos;return a?h.join(this.right.lineAt(l,c,i,o,l)):this.left.lineAt(l,c,i,s,r).join(h)}forEachLine(e,t,i,s,r,o){let l=s+this.left.height,a=r+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,i,l,a,o);else{let h=this.lineAt(a,G.ByPos,i,s,r);e=e&&h.from<=t&&o(h),t>h.to&&this.right.forEachLine(h.to+1,t,i,l,a,o)}}replace(e,t,i){let s=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,i));let r=[];e>0&&this.decomposeLeft(e,r);let o=r.length;for(let l of i)r.push(l);if(e>0&&xa(r,o-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,s=i+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e2*t.size||t.size>2*e.size?Te.of(this.break?[e,null,t]:[e,t]):(this.left=xs(this.left,e),this.right=xs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,s){let{left:r,right:o}=this,l=t+r.length+this.break,a=null;return s&&s.from<=t+r.length&&s.more?a=r=r.updateHeight(e,t,i,s):r.updateHeight(e,t,i),s&&s.from<=l+o.length&&s.more?a=o=o.updateHeight(e,l,i,s):o.updateHeight(e,l,i),a?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function xa(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof pe&&(i=n[e+1])instanceof pe&&n.splice(e-1,3,new pe(t.length+1+i.length))}const mm=5;class el{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof Be?s.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Be(i-this.pos,-1)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=mm)&&this.addLineDeco(s,r,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Be(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new pe(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Be)return e;let t=new Be(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let s=this.ensureLine();s.length+=i,s.collapsed+=i,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Be)&&!this.isCovered?this.nodes.push(new Be(0,-1)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&f.overflow!="visible"){let u=c.getBoundingClientRect();r=Math.max(r,u.left),o=Math.min(o,u.right),l=Math.max(l,u.top),a=Math.min(h==n.parentNode?s.innerHeight:a,u.bottom)}h=f.position=="absolute"||f.position=="fixed"?c.offsetParent:c.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:r-t.left,right:Math.max(r,o)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function bm(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function xm(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class ur{constructor(e,t,i,s){this.from=e,this.to=t,this.size=i,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new um(t),this.stateDeco=e.facet(nn).filter(i=>typeof i!="function"),this.heightMap=Te.empty().applyChanges(this.stateDeco,V.empty,this.heightOracle.setDoc(e.doc),[new Fe(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=D.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let s=i?t.head:t.anchor;if(!e.some(({from:r,to:o})=>s>=r&&s<=o)){let{from:r,to:o}=this.lineBlockAt(s);e.push(new Ln(r,o))}}return this.viewports=e.sort((i,s)=>i.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?ka:new tl(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Vi(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(nn).filter(c=>typeof c!="function");let s=e.changedRanges,r=Fe.extendWithRanges(s,gm(i,this.stateDeco,e?e.changes:ae.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);ba(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=o||Si)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let h=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(h||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Gc)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),s=this.heightOracle,r=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?Z.RTL:Z.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),l=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let h=0,c=0;if(l.width&&l.height){let{scaleX:v,scaleY:x}=kc(t,l);(v>.005&&Math.abs(this.scaleX-v)>.005||x>.005&&Math.abs(this.scaleY-x)>.005)&&(this.scaleX=v,this.scaleY=x,h|=16,o=a=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,u=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=Tc(e.scrollDOM);let p=(this.printing?xm:ym)(t,this.paddingTop),m=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(a=!0)),!this.inView&&!this.scrollTarget&&!bm(e.dom))return 0;let S=l.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),a){let v=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(v)&&(o=!0),o||s.lineWrapping&&Math.abs(S-this.contentDOMWidth)>s.charWidth){let{lineHeight:x,charWidth:w,textHeight:T}=e.docView.measureTextSize();o=x>0&&s.refresh(r,x,w,T,Math.max(5,S/w),v),o&&(e.docView.minWidth=0,h|=16)}m>0&&g>0?c=Math.max(m,g):m<0&&g<0&&(c=Math.min(m,g)),ba();for(let x of this.viewports){let w=x.from==this.viewport.from?v:e.docView.measureVisibleLineHeights(x);this.heightMap=(o?Te.empty().applyChanges(this.stateDeco,V.empty,this.heightOracle,[new Fe(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new dm(x.from,w))}Si&&(h|=2)}let k=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return k&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),h|=this.updateForViewport()),(h&2||k)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new Ln(s.lineAt(o-i*1e3,G.ByHeight,r,0,0).from,s.lineAt(l+(1-i)*1e3,G.ByHeight,r,0,0).to);if(t){let{head:h}=t.range;if(ha.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=s.lineAt(h,G.ByPos,r,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-c/2:t.y=="start"||t.y=="nearest"&&h=l+Math.max(10,Math.min(i,250)))&&s>o-2*1e3&&r>1,o=s<<1;if(this.defaultTextDirection!=Z.LTR&&!i)return[];let l=[],a=(c,f,u,d)=>{if(f-cc&&yy.from>=u.from&&y.to<=u.to&&Math.abs(y.from-c)y.fromS));if(!g){if(fk.from<=f&&k.to>=f)){let k=t.moveToLineBoundary(b.cursor(f),!1,!0).head;k>c&&(f=k)}let y=this.gapSize(u,c,f,d),S=i||y<2e6?y:2e6;g=new ur(c,f,y,S)}l.push(g)},h=c=>{if(c.length2e6)for(let w of e)w.from>=c.from&&w.fromc.from&&a(c.from,d,c,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];F.spans(t,this.viewport.from,this.viewport.to,{span(r,o){i.push({from:r,to:o})},point(){}},20);let s=0;if(i.length!=this.visibleRanges.length)s=12;else for(let r=0;r=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Vi(this.heightMap.lineAt(e,G.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Vi(this.heightMap.lineAt(this.scaler.fromDOM(e),G.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Vi(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Ln{constructor(e,t){this.from=e,this.to=t}}function km(n,e,t){let i=[],s=n,r=0;return F.spans(t,n,e,{span(){},point(o,l){o>s&&(i.push({from:s,to:o}),r+=o-s),s=l}},20),s=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let s=0;;s++){let{from:r,to:o}=e[s],l=o-r;if(i<=l)return r+i;i-=l}}function zn(n,e){let t=0;for(let{from:i,to:s}of n.ranges){if(e<=s){t+=e-i;break}t+=s-i}return t/n.total}function wm(n,e){for(let t of n)if(e(t))return t}const ka={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class tl{constructor(e,t,i){let s=0,r=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let h=t.lineAt(l,G.ByPos,e,0,0).top,c=t.lineAt(a,G.ByPos,e,0,0).bottom;return s+=c-h,{from:l,to:a,top:h,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let l of this.viewports)l.domTop=o+(l.top-r)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),r=l.bottom}toDOM(e){for(let t=0,i=0,s=0;;t++){let r=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}}function Vi(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new tt(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(s=>Vi(s,e)):n._content)}const In=M.define({combine:n=>n.join(" ")}),go=M.define({combine:n=>n.indexOf(!0)>-1}),Oo=yi.newName(),mf=yi.newName(),gf=yi.newName(),Of={"&light":"."+mf,"&dark":"."+gf};function yo(n,e,t){return new yi(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,s=>{if(s=="&")return n;if(!t||!t[s])throw new RangeError(`Unsupported selector: ${s}`);return t[s]}):n+" "+i}})}const vm=yo("."+Oo,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Of),Tm={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},dr=A.ie&&A.ie_version<=11;class Cm{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new lp,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(A.ie&&A.ie_version<=11||A.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&A.android&&e.constructor.EDIT_CONTEXT!==!1&&!(A.chrome&&A.chrome_version<126)&&(this.editContext=new Qm(e),e.state.facet(gt)&&(e.contentDOM.editContext=this.editContext.editContext)),dr&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,s=this.selectionRange;if(i.state.facet(gt)?i.root.activeElement!=this.dom:!ns(this.dom,s))return;let r=s.anchorNode&&i.docView.nearest(s.anchorNode);if(r&&r.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(A.ie&&A.ie_version<=11||A.android&&A.chrome)&&!i.state.selection.main.empty&&s.focusNode&&Hi(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=en(e.root);if(!t)return!1;let i=A.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Pm(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let s=ns(this.dom,i);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&ui(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,s=!1;for(let r of e){let o=this.readMutation(r);o&&(o.typeOver&&(s=!0),t==-1?{from:t,to:i}=o:(t=Math.min(o.from,t),i=Math.max(o.to,i)))}return{from:t,to:i,typeOver:s}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),s=this.selectionChanged&&ns(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new Xp(this.view,e,t,i);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,s=rf(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let i=wa(t,e.previousSibling||e.target.previousSibling,-1),s=wa(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(gt)!=e.state.facet(gt)&&(e.view.contentDOM.editContext=e.state.facet(gt)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function wa(n,e,t){for(;e;){let i=_.get(e);if(i&&i.parent==n)return i;let s=e.parentNode;e=s!=n.dom?s:t>0?e.nextSibling:e.previousSibling}return null}function va(n,e){let t=e.startContainer,i=e.startOffset,s=e.endContainer,r=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor);return Hi(o.node,o.offset,s,r)&&([t,i,s,r]=[s,r,t,i]),{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:r}}function Pm(n,e){if(e.getComposedRanges){let s=e.getComposedRanges(n.root)[0];if(s)return va(n,s)}let t=null;function i(s){s.preventDefault(),s.stopImmediatePropagation(),t=s.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?va(n,t):null}class Qm{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let s=e.state.selection.main,{anchor:r,head:o}=s,l=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1});let h={from:l,to:a,insert:V.of(i.text.split(` -`))};if(h.from==this.from&&rthis.to&&(h.to=r),h.from==h.to&&!h.insert.length){let c=b.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));c.main.eq(s)||e.dispatch({selection:c,userEvent:"select"});return}if((A.mac||A.android)&&h.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:l,to:a,insert:V.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let c=this.to-this.from+(h.to-h.from+h.insert.length);Jo(e,h,b.single(this.toEditorPos(i.selectionStart,c),this.toEditorPos(i.selectionEnd,c)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=i=>{let s=[],r=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o{let s=[];for(let r of i.getTextFormats()){let o=r.underlineStyle,l=r.underlineThickness;if(o!="None"&&l!="None"){let a=this.toEditorPos(r.rangeStart),h=this.toEditorPos(r.rangeEnd);if(a{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let s=en(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,s=this.pendingContextChange;return e.changes.iterChanges((r,o,l,a,h)=>{if(i)return;let c=h.length-(o-r);if(s&&o>=s.to)if(s.from==r&&s.to==o&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=c,this.to+=c;return}else s=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(rthis.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),h.toString()),this.to+=c}t+=c}),s&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Q{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(s=>s.forEach(r=>i(r,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||ap(e.parent)||document,this.viewState=new Sa(e.state||I.create(e)),e.scrollTo&&e.scrollTo.is(qn)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(ai).map(s=>new hr(s));for(let s of this.plugins)s.update(this);this.observer=new Cm(this),this.inputState=new Gp(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ia(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof oe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,s,r=this.state;for(let u of e){if(u.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=u.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,l=0,a=null;e.some(u=>u.annotation(ff))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=uf(r,o),a||(l=1));let h=this.observer.delayedAndroidKey,c=null;if(h?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(c=null)):this.observer.clear(),r.facet(I.phrases)!=this.state.facet(I.phrases))return this.setState(r);s=bs.create(this,r,e),s.flags|=l;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:d}=u.state.selection;f=new di(d.empty?d:b.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of u.effects)d.is(qn)&&(f=d.value.clip(this.state))}this.viewState.update(s,f),this.bidiCache=Ss.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),t=this.docView.update(s),this.state.facet(zi)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(In)!=s.state.facet(In)&&(this.viewState.mustMeasureContent=!0),(t||i||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!s.empty)for(let u of this.state.facet(fo))try{u(s)}catch(d){Re(this.state,d,"update listener")}(a||c)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),c&&!rf(this,c)&&h.force&&ui(this.contentDOM,h.key,h.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Sa(e),this.plugins=e.facet(ai).map(i=>new hr(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new ia(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(ai),i=e.state.facet(ai);if(t!=i){let s=[];for(let r of i){let o=t.indexOf(r);if(o<0)s.push(new hr(r));else{let l=this.plugins[o];l.mustUpdate=e,s.push(l)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,s=i.scrollTop*this.scaleY,{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(Tc(i))r=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(s);r=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];a&4||([this.measureRequests,h]=[h,this.measureRequests]);let c=h.map(d=>{try{return d.read(this)}catch(p){return Re(this.state,p),Ta}}),f=bs.create(this,this.state,[]),u=!1;f.flags|=a,t?t.flags|=a:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let d=0;d1||p<-1){s=s+p,i.scrollTop=s/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(fo))l(t)}get themeClasses(){return Oo+" "+(this.state.facet(go)?gf:mf)+" "+this.state.facet(In)}updateAttrs(){let e=Ca(this,Kc,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(gt)?"true":"false",class:"cm-content",style:`${A.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Ca(this,Zo,t);let i=this.observer.ignore(()=>{let s=oo(this.contentDOM,this.contentAttrs,t),r=oo(this.dom,this.editorAttrs,e);return s||r});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let s of i.effects)if(s.is(Q.announce)){t&&(this.announceDOM.textContent=""),t=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(zi);let e=this.state.facet(Q.cspNonce);yi.mount(this.root,this.styleModules.concat(vm).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ti.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return fr(this,e,la(this,e,t,i))}moveByGroup(e,t){return fr(this,e,la(this,e,t,i=>Ip(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),s=this.textDirectionAt(e.from),r=i[t?i.length-1:0];return b.cursor(r.side(t,s)+e.from,r.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,i=!0){return zp(this,e,t,i)}moveVertically(e,t,i){return fr(this,e,Vp(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),sf(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let s=this.state.doc.lineAt(e),r=this.bidiSpans(s),o=r[At.find(r,e-s.from,-1,t)];return Ns(i,o.dir==Z.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(jc)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Am)return Ic(e.length);let t=this.textDirectionAt(e.from),i;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||zc(r.isolates,i=ta(this,e))))return r.order;i||(i=ta(this,e));let s=wp(e.text,t,i);return this.bidiCache.push(new Ss(e.from,e.to,t,i,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||A.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{wc(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return qn.of(new di(typeof e=="number"?b.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return qn.of(new di(b.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return le.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return le.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=yi.newName(),s=[In.of(i),zi.of(yo(`.${i}`,e))];return t&&t.dark&&s.push(go.of(!0)),s}static baseTheme(e){return $t.lowest(zi.of(yo("."+Oo,e,Of)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),s=i&&_.get(i)||_.get(e);return((t=s?.rootView)===null||t===void 0?void 0:t.view)||null}}Q.styleModule=zi;Q.inputHandler=Uc;Q.clipboardInputFilter=jo;Q.clipboardOutputFilter=Go;Q.scrollHandler=Zc;Q.focusChangeEffect=Hc;Q.perLineTextDirection=jc;Q.exceptionSink=_c;Q.updateListener=fo;Q.editable=gt;Q.mouseSelectionStyle=Xc;Q.dragMovesSelection=Fc;Q.clickAddsSelectionRange=Nc;Q.decorations=nn;Q.outerDecorations=Jc;Q.atomicRanges=Yo;Q.bidiIsolatedRanges=ef;Q.scrollMargins=tf;Q.darkTheme=go;Q.cspNonce=M.define({combine:n=>n.length?n[0]:""});Q.contentAttributes=Zo;Q.editorAttributes=Kc;Q.lineWrapping=Q.contentAttributes.of({class:"cm-lineWrapping"});Q.announce=L.define();const Am=4096,Ta={};class Ss{constructor(e,t,i,s,r,o){this.from=e,this.to=t,this.dir=i,this.isolates=s,this.fresh=r,this.order=o}static update(e,t){if(t.empty&&!e.some(r=>r.fresh))return e;let i=[],s=e.length?e[e.length-1].dir:Z.LTR;for(let r=Math.max(0,e.length-10);r=0;s--){let r=i[s],o=typeof r=="function"?r(n):r;o&&ro(o,t)}return t}const Mm=A.mac?"mac":A.windows?"win":A.linux?"linux":"key";function Rm(n,e){const t=n.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let s,r,o,l;for(let a=0;ai.concat(s),[]))),t}function Em(n,e,t){return bf(yf(n.state),e,n,t)}let Ct=null;const qm=4e3;function $m(n,e=Mm){let t=Object.create(null),i=Object.create(null),s=(o,l)=>{let a=i[o];if(a==null)i[o]=l;else if(a!=l)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},r=(o,l,a,h,c)=>{var f,u;let d=t[o]||(t[o]=Object.create(null)),p=l.split(/ (?!$)/).map(y=>Rm(y,e));for(let y=1;y{let v=Ct={view:k,prefix:S,scope:o};return setTimeout(()=>{Ct==v&&(Ct=null)},qm),!0}]})}let m=p.join(" ");s(m,!1);let g=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=d._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});a&&g.run.push(a),h&&(g.preventDefault=!0),c&&(g.stopPropagation=!0)};for(let o of n){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let h of l){let c=t[h]||(t[h]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in c)c[u].run.push(d=>f(d,bo))}let a=o[e]||o.key;if(a)for(let h of l)r(h,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&r(h,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return t}let bo=null;function bf(n,e,t,i){bo=e;let s=np(e),r=Qe(s,0),o=et(r)==s.length&&s!=" ",l="",a=!1,h=!1,c=!1;Ct&&Ct.view==t&&Ct.scope==i&&(l=Ct.prefix+" ",lf.indexOf(e.keyCode)<0&&(h=!0,Ct=null));let f=new Set,u=g=>{if(g){for(let y of g.run)if(!f.has(y)&&(f.add(y),y(t)))return g.stopPropagation&&(c=!0),!0;g.preventDefault&&(g.stopPropagation&&(c=!0),h=!0)}return!1},d=n[i],p,m;return d&&(u(d[l+Vn(s,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(A.windows&&e.ctrlKey&&e.altKey)&&!(A.mac&&e.altKey&&!e.ctrlKey)&&(p=Rt[e.keyCode])&&p!=s?(u(d[l+Vn(p,e,!0)])||e.shiftKey&&(m=Ji[e.keyCode])!=s&&m!=p&&u(d[l+Vn(m,e,!1)]))&&(a=!0):o&&e.shiftKey&&u(d[l+Vn(s,e,!0)])&&(a=!0),!a&&u(d._any)&&(a=!0)),h&&(a=!0),a&&c&&e.stopPropagation(),bo=null,a}class xn{constructor(e,t,i,s,r){this.className=e,this.left=t,this.top=i,this.width=s,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let s=e.coordsAtPos(i.head,i.assoc||1);if(!s)return[];let r=xf(e);return[new xn(t,s.left-r.left,s.top-r.top,null,s.bottom-s.top)]}else return Bm(e,t,i)}}function xf(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Z.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Qa(n,e,t,i){let s=n.coordsAtPos(e,t*2);if(!s)return i;let r=n.dom.getBoundingClientRect(),o=(s.top+s.bottom)/2,l=n.posAtCoords({x:r.left+1,y:o}),a=n.posAtCoords({x:r.right-1,y:o});return l==null||a==null?i:{from:Math.max(i.from,Math.min(l,a)),to:Math.min(i.to,Math.max(l,a))}}function Bm(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),s=Math.min(t.to,n.viewport.to),r=n.textDirection==Z.LTR,o=n.contentDOM,l=o.getBoundingClientRect(),a=xf(n),h=o.querySelector(".cm-line"),c=h&&window.getComputedStyle(h),f=l.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),u=l.right-(c?parseInt(c.paddingRight):0),d=po(n,i,1),p=po(n,s,-1),m=d.type==ve.Text?d:null,g=p.type==ve.Text?p:null;if(m&&(n.lineWrapping||d.widgetLineBreaks)&&(m=Qa(n,i,1,m)),g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=Qa(n,s,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return S(k(t.from,t.to,m));{let x=m?k(t.from,null,m):v(d,!1),w=g?k(null,t.to,g):v(p,!0),T=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&x.bottom+n.defaultLineHeight/2C&&q.from=ee)break;ke>N&&$(Math.max(ie,N),x==null&&ie<=C,Math.min(ke,ee),w==null&&ke>=E,te.dir)}if(N=K.to+1,N>=ee)break}return R.length==0&&$(C,x==null,E,w==null,n.textDirection),{top:B,bottom:W,horizontal:R}}function v(x,w){let T=l.top+(w?x.top:x.bottom);return{top:T,bottom:T,horizontal:[]}}}function Lm(n,e){return n.constructor==e.constructor&&n.eq(e)}class Wm{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(ls)!=e.state.facet(ls)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(ls);for(;t!Lm(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[i].constructor&&s.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(s.draw(),t);for(;t;){let s=t.nextSibling;t.remove(),t=s}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const ls=M.define();function Sf(n){return[le.define(e=>new Wm(e,n)),ls.of(n)]}const sn=M.define({combine(n){return at(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function zm(n={}){return[sn.of(n),Im,Vm,Nm,Gc.of(!0)]}function kf(n){return n.startState.facet(sn)!=n.state.facet(sn)}const Im=Sf({above:!0,markers(n){let{state:e}=n,t=e.facet(sn),i=[];for(let s of e.selection.ranges){let r=s==e.selection.main;if(s.empty||t.drawRangeCursor){let o=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=s.empty?s:b.cursor(s.head,s.head>s.anchor?-1:1);for(let a of xn.forRange(n,o,l))i.push(a)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=kf(n);return t&&Aa(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Aa(e.state,n)},class:"cm-cursorLayer"});function Aa(n,e){e.style.animationDuration=n.facet(sn).cursorBlinkRate+"ms"}const Vm=Sf({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:xn.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||kf(n)},class:"cm-selectionLayer"}),Nm=$t.highest(Q.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),wf=L.define({map(n,e){return n==null?null:e.mapPos(n)}}),Ni=ue.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(wf)?i.value:t,n)}}),Fm=le.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(Ni);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(Ni)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(Ni),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(Ni)!=n&&this.view.dispatch({effects:wf.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Xm(){return[Ni,Fm]}function Ma(n,e,t,i,s){e.lastIndex=0;for(let r=n.iterRange(t,i),o=t,l;!r.next().done;o+=r.value.length)if(!r.lineBreak)for(;l=e.exec(r.value);)s(o+l.index,l)}function _m(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let i=[];for(let{from:s,to:r}of t)s=Math.max(n.state.doc.lineAt(s).from,s-e),r=Math.min(n.state.doc.lineAt(r).to,r+e),i.length&&i[i.length-1].to>=s?i[i.length-1].to=r:i.push({from:s,to:r});return i}class Um{constructor(e){const{regexp:t,decoration:i,decorate:s,boundary:r,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(l,a,h,c)=>s(c,h,h+l[0].length,l,a);else if(typeof i=="function")this.addMatch=(l,a,h,c)=>{let f=i(l,a,h);f&&c(h,h+l[0].length,f)};else if(i)this.addMatch=(l,a,h,c)=>c(h,h+l[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=r,this.maxLength=o}createDeco(e){let t=new yt,i=t.add.bind(t);for(let{from:s,to:r}of _m(e,this.maxLength))Ma(e.state.doc,this.regexp,s,r,(o,l)=>this.addMatch(l,e,o,i));return t.finish()}updateDeco(e,t){let i=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((r,o,l,a)=>{a>=e.view.viewport.from&&l<=e.view.viewport.to&&(i=Math.min(l,i),s=Math.max(a,s))}),e.viewportMoved||s-i>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),i,s):t}updateRange(e,t,i,s){for(let r of e.visibleRanges){let o=Math.max(r.from,i),l=Math.min(r.to,s);if(l>=o){let a=e.state.doc.lineAt(o),h=a.toa.from;o--)if(this.boundary.test(a.text[o-1-a.from])){c=o;break}for(;lu.push(y.range(m,g));if(a==h)for(this.regexp.lastIndex=c-a.from;(d=this.regexp.exec(a.text))&&d.indexthis.addMatch(g,e,m,p));t=t.update({filterFrom:c,filterTo:f,filter:(m,g)=>mf,add:u})}}return t}}const xo=/x/.unicode!=null?"gu":"g",Hm=new RegExp(`[\0-\b ---Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,xo),jm={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let pr=null;function Gm(){var n;if(pr==null&&typeof document<"u"&&document.body){let e=document.body.style;pr=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return pr||!1}const as=M.define({combine(n){let e=at(n,{render:null,specialChars:Hm,addSpecialChars:null});return(e.replaceTabs=!Gm())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,xo)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,xo)),e}});function Zm(n={}){return[as.of(n),Ym()]}let Ra=null;function Ym(){return Ra||(Ra=le.fromClass(class{constructor(n){this.view=n,this.decorations=D.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(as)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Um({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:s}=t.state,r=Qe(e[0],0);if(r==9){let o=s.lineAt(i),l=t.state.tabSize,a=Qi(o.text,l,i-o.from);return D.replace({widget:new tg((l-a%l)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=D.replace({widget:new eg(n,r)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(as);n.startState.facet(as)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const Km="•";function Jm(n){return n>=32?Km:n==10?"␤":String.fromCharCode(9216+n)}class eg extends kt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Jm(this.code),i=e.state.phrase("Control character")+" "+(jm[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,t);if(s)return s;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class tg extends kt{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function ig(){return sg}const ng=D.line({class:"cm-activeLine"}),sg=le.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let s=n.lineBlockAt(i.head);s.from>e&&(t.push(ng.range(s.from)),e=s.from)}return D.set(t)}},{decorations:n=>n.decorations}),So=2e3;function rg(n,e,t){let i=Math.min(e.line,t.line),s=Math.max(e.line,t.line),r=[];if(e.off>So||t.off>So||e.col<0||t.col<0){let o=Math.min(e.off,t.off),l=Math.max(e.off,t.off);for(let a=i;a<=s;a++){let h=n.doc.line(a);h.length<=l&&r.push(b.range(h.from+o,h.to+l))}}else{let o=Math.min(e.col,t.col),l=Math.max(e.col,t.col);for(let a=i;a<=s;a++){let h=n.doc.line(a),c=Kr(h.text,o,n.tabSize,!0);if(c<0)r.push(b.cursor(h.to));else{let f=Kr(h.text,l,n.tabSize);r.push(b.range(h.from+c,h.from+f))}}}return r}function og(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function Da(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),s=t-i.from,r=s>So?-1:s==i.length?og(n,e.clientX):Qi(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:r,off:s}}function lg(n,e){let t=Da(n,e),i=n.state.selection;return t?{update(s){if(s.docChanged){let r=s.changes.mapPos(s.startState.doc.line(t.line).from),o=s.state.doc.lineAt(r);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(s.changes)}},get(s,r,o){let l=Da(n,s);if(!l)return i;let a=rg(n.state,t,l);return a.length?o?b.create(a.concat(i.ranges)):b.create(a):i}}:null}function ag(n){let e=t=>t.altKey&&t.button==0;return Q.mouseSelectionStyle.of((t,i)=>e(i)?lg(t,i):null)}const hg={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},cg={style:"cursor: crosshair"};function fg(n={}){let[e,t]=hg[n.key||"Alt"],i=le.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||t(s))},keyup(s){(s.keyCode==e||!t(s))&&this.set(!1)},mousemove(s){this.set(t(s))}}});return[i,Q.contentAttributes.of(s=>{var r;return!((r=s.plugin(i))===null||r===void 0)&&r.isDown?cg:null})]}const $i="-10000px";class vf{constructor(e,t,i,s){this.facet=t,this.createTooltipView=i,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let r=null;this.tooltipViews=this.tooltips.map(o=>r=i(o,r))}update(e,t){var i;let s=e.state.facet(this.facet),r=s.filter(a=>a);if(s===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let o=[],l=t?[]:null;for(let a=0;at[h]=a),t.length=l.length),this.input=s,this.tooltips=r,this.tooltipViews=o,!0}}function ug(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const mr=M.define({combine:n=>{var e,t,i;return{position:A.ios?"absolute":((e=n.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(s=>s.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=n.find(s=>s.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||ug}}}),Ea=new WeakMap,il=le.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(mr);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new vf(n,nl,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,i=n.state.facet(mr);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",t.dom.appendChild(s)}return t.dom.style.position=this.position,t.dom.style.top=$i,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(n=i.destroy)===null||n===void 0||n.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:r}=this.manager.tooltipViews[0];if(A.gecko)t=r.offsetParent!=this.container.ownerDocument.body;else if(r.style.top==$i&&r.style.left=="0px"){let o=r.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}}if(t||this.position=="absolute")if(this.parent){let r=this.parent.getBoundingClientRect();r.width&&r.height&&(n=r.width/this.parent.offsetWidth,e=r.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),s=Ko(this.view);return{visible:{left:i.left+s.left,top:i.top+s.top,right:i.right-s.right,bottom:i.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((r,o)=>{let l=this.manager.tooltipViews[o];return l.getCoords?l.getCoords(r.pos):this.view.coordsAtPos(r.pos)}),size:this.manager.tooltipViews.map(({dom:r})=>r.getBoundingClientRect()),space:this.view.state.facet(mr).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let l of this.manager.tooltipViews)l.dom.style.position="absolute"}let{visible:t,space:i,scaleX:s,scaleY:r}=n,o=[];for(let l=0;l=Math.min(t.bottom,i.bottom)||f.rightMath.min(t.right,i.right)+.1)){c.style.top=$i;continue}let d=a.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,p=d?7:0,m=u.right-u.left,g=(e=Ea.get(h))!==null&&e!==void 0?e:u.bottom-u.top,y=h.offset||pg,S=this.view.textDirection==Z.LTR,k=u.width>i.right-i.left?S?i.left:i.right-u.width:S?Math.max(i.left,Math.min(f.left-(d?14:0)+y.x,i.right-m)):Math.min(Math.max(i.left,f.left-m+(d?14:0)-y.x),i.right-m),v=this.above[l];!a.strictSide&&(v?f.top-g-p-y.yi.bottom)&&v==i.bottom-f.bottom>f.top-i.top&&(v=this.above[l]=!v);let x=(v?f.top-i.top:i.bottom-f.bottom)-p;if(xk&&B.topw&&(w=v?B.top-g-2-p:B.bottom+p+2);if(this.position=="absolute"?(c.style.top=(w-n.parent.top)/r+"px",qa(c,(k-n.parent.left)/s)):(c.style.top=w/r+"px",qa(c,k/s)),d){let B=f.left+(S?y.x:-y.x)-(k+14-7);d.style.left=B/s+"px"}h.overlap!==!0&&o.push({left:k,top:w,right:T,bottom:w+g}),c.classList.toggle("cm-tooltip-above",v),c.classList.toggle("cm-tooltip-below",!v),h.positioned&&h.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=$i}},{eventObservers:{scroll(){this.maybeMeasure()}}});function qa(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const dg=Q.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),pg={x:0,y:0},nl=M.define({enables:[il,dg]}),ks=M.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class _s{static create(e){return new _s(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new vf(e,ks,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let s=i[e];if(s!==void 0){if(t===void 0)t=s;else if(t!==s)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const mg=nl.compute([ks],n=>{let e=n.facet(ks);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:_s.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class gg{constructor(e,t,i,s,r){this.view=e,this.source=t,this.field=i,this.setHover=s,this.hoverTime=r,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;el.bottom||t.xl.right+e.defaultCharacterWidth)return;let a=e.bidiSpans(e.state.doc.lineAt(s)).find(c=>c.from<=s&&c.to>=s),h=a&&a.dir==Z.RTL?-1:1;r=t.x{this.pending==l&&(this.pending=null,a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])}))},a=>Re(e.state,a,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(il),t=e?e.manager.tooltips.findIndex(i=>i.create==_s.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:r}=this;if(s.length&&r&&!Og(r.dom,e)||this.pending){let{pos:o}=s[0]||this.pending,l=(i=(t=s[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:o;(o==l?this.view.posAtCoords(this.lastMove)!=o:!yg(this.view,o,l,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Nn=4;function Og(n,e){let{left:t,right:i,top:s,bottom:r}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let l=o.getBoundingClientRect();s=Math.min(l.top,s),r=Math.max(l.bottom,r)}return e.clientX>=t-Nn&&e.clientX<=i+Nn&&e.clientY>=s-Nn&&e.clientY<=r+Nn}function yg(n,e,t,i,s,r){let o=n.scrollDOM.getBoundingClientRect(),l=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>i||o.rights||Math.min(o.bottom,l)=e&&a<=t}function bg(n,e={}){let t=L.define(),i=ue.define({create(){return[]},update(s,r){if(s.length&&(e.hideOnChange&&(r.docChanged||r.selection)?s=[]:e.hideOn&&(s=s.filter(o=>!e.hideOn(r,o))),r.docChanged)){let o=[];for(let l of s){let a=r.changes.mapPos(l.pos,-1,ge.TrackDel);if(a!=null){let h=Object.assign(Object.create(null),l);h.pos=a,h.end!=null&&(h.end=r.changes.mapPos(h.end)),o.push(h)}}s=o}for(let o of r.effects)o.is(t)&&(s=o.value),o.is(xg)&&(s=[]);return s},provide:s=>ks.from(s)});return{active:i,extension:[i,le.define(s=>new gg(s,n,i,t,e.hoverTime||300)),mg]}}function Tf(n,e){let t=n.plugin(il);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const xg=L.define(),$a=M.define({combine(n){let e,t;for(let i of n)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function rn(n,e){let t=n.plugin(Cf),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const Cf=le.fromClass(class{constructor(n){this.input=n.state.facet(on),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet($a);this.top=new Fn(n,!0,e.topContainer),this.bottom=new Fn(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet($a);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Fn(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Fn(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(on);if(t!=this.input){let i=t.filter(a=>a),s=[],r=[],o=[],l=[];for(let a of i){let h=this.specs.indexOf(a),c;h<0?(c=a(n.view),l.push(c)):(c=this.panels[h],c.update&&c.update(n)),s.push(c),(c.top?r:o).push(c)}this.specs=i,this.panels=s,this.top.sync(r),this.bottom.sync(o);for(let a of l)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let i of this.panels)i.update&&i.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Q.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Fn{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Ba(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Ba(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Ba(n){let e=n.nextSibling;return n.remove(),e}const on=M.define({enables:Cf});class xt extends Gt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}xt.prototype.elementClass="";xt.prototype.toDOM=void 0;xt.prototype.mapMode=ge.TrackBefore;xt.prototype.startSide=xt.prototype.endSide=-1;xt.prototype.point=!0;const hs=M.define(),Sg=M.define(),kg={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>F.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Gi=M.define();function wg(n){return[Pf(),Gi.of({...kg,...n})]}const La=M.define({combine:n=>n.some(e=>e)});function Pf(n){return[vg]}const vg=le.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Gi).map(e=>new za(n,e)),this.fixed=!n.state.facet(La);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(La)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=F.iter(this.view.state.facet(hs),this.view.viewport.from),i=[],s=this.gutters.map(r=>new Tg(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(r.type)){let o=!0;for(let l of r.type)if(l.type==ve.Text&&o){ko(t,i,l.from);for(let a of s)a.line(this.view,l,i);o=!1}else if(l.widget)for(let a of s)a.widget(this.view,l)}else if(r.type==ve.Text){ko(t,i,r.from);for(let o of s)o.line(this.view,r,i)}else if(r.widget)for(let o of s)o.widget(this.view,r);for(let r of s)r.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Gi),t=n.state.facet(Gi),i=n.docChanged||n.heightChanged||n.viewportChanged||!F.eq(n.startState.facet(hs),n.state.facet(hs),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let s of this.gutters)s.update(n)&&(i=!0);else{i=!0;let s=[];for(let r of t){let o=e.indexOf(r);o<0?s.push(new za(this.view,r)):(this.gutters[o].update(n),s.push(this.gutters[o]))}for(let r of this.gutters)r.dom.remove(),s.indexOf(r)<0&&r.destroy();for(let r of s)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=s}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Q.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,s=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Z.LTR?{left:i,right:s}:{right:i,left:s}})});function Wa(n){return Array.isArray(n)?n:[n]}function ko(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class Tg{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:s}=this,r=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==s.elements.length){let l=new Qf(e,o,r,i);s.elements.push(l),s.dom.appendChild(l.dom)}else s.elements[this.i].update(e,o,r,i);this.height=t.bottom,this.i++}line(e,t,i){let s=[];ko(this.cursor,s,t.from),i.length&&(s=s.concat(i));let r=this.gutter.config.lineMarker(e,t,s);r&&s.unshift(r);let o=this.gutter;s.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,s)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),s=i?[i]:null;for(let r of e.state.facet(Sg)){let o=r(e,t.widget,t);o&&(s||(s=[])).push(o)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class za{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,s=>{let r=s.target,o;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let a=r.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=s.clientY;let l=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[i](e,l,s)&&s.preventDefault()});this.markers=Wa(t.markers(e)),t.initialSpacer&&(this.spacer=new Qf(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Wa(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let i=e.view.viewport;return!F.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class Qf{constructor(e,t,i,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,s)}update(e,t,i,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),Cg(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,t){let i="cm-gutterElement",s=this.dom.firstChild;for(let r=0,o=0;;){let l=o,a=rr(l,a,h)||o(l,a,h):o}return i}})}});class gr extends xt{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Or(n,e){return n.state.facet(hi).formatNumber(e,n.state)}const Ag=Gi.compute([hi],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Pg)},lineMarker(e,t,i){return i.some(s=>s.toDOM)?null:new gr(Or(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let s of e.state.facet(Qg)){let r=s(e,t,i);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(hi)!=e.state.facet(hi),initialSpacer(e){return new gr(Or(e,Ia(e.state.doc.lines)))},updateSpacer(e,t){let i=Or(t.view,Ia(t.view.state.doc.lines));return i==e.number?e:new gr(i)},domEventHandlers:n.facet(hi).domEventHandlers,side:"before"}));function Mg(n={}){return[hi.of(n),Pf(),Ag]}function Ia(n){let e=9;for(;e{let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head).from;s>t&&(t=s,e.push(Rg.range(s)))}return F.of(e)});function Eg(){return Dg}const Af=1024;let qg=0;class yr{constructor(e,t){this.from=e,this.to=t}}class z{constructor(e={}){this.id=qg++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Ce.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}z.closedBy=new z({deserialize:n=>n.split(" ")});z.openedBy=new z({deserialize:n=>n.split(" ")});z.group=new z({deserialize:n=>n.split(" ")});z.isolate=new z({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});z.contextHash=new z({perNode:!0});z.lookAhead=new z({perNode:!0});z.mounted=new z({perNode:!0});class ws{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[z.mounted.id]}}const $g=Object.create(null);class Ce{constructor(e,t,i,s=0){this.name=e,this.props=t,this.id=i,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):$g,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new Ce(e.name||"",t,e.id,i);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(s)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(z.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let s of i.split(" "))t[s]=e[i];return i=>{for(let s=i.prop(z.group),r=-1;r<(s?s.length:0);r++){let o=t[r<0?i.name:s[r]];if(o)return o}}}}Ce.none=new Ce("",Object.create(null),0,8);class Us{constructor(e){this.types=e;for(let t=0;t0;for(let a=this.cursor(o|he.IncludeAnonymous);;){let h=!1;if(a.from<=r&&a.to>=s&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ol(Ce.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,s)=>new U(this.type,t,i,s,this.propValues),e.makeTree||((t,i,s)=>new U(Ce.none,t,i,s)))}static build(e){return zg(e)}}U.empty=new U(Ce.none,[],[],0);class sl{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new sl(this.buffer,this.index)}}class Et{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Ce.none}toString(){let e=[];for(let t=0;t0));a=o[a+3]);return l}slice(e,t,i){let s=this.buffer,r=new Uint16Array(t-e),o=0;for(let l=e,a=0;l=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function ln(n,e,t,i){for(var s;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?l.length:-1;e!=h;e+=t){let c=l[e],f=a[e]+o.from;if(Mf(s,i,f,f+c.length)){if(c instanceof Et){if(r&he.ExcludeBuffers)continue;let u=c.findChild(0,c.buffer.length,t,i-f,s);if(u>-1)return new nt(new Bg(o,c,e,f),null,u)}else if(r&he.IncludeAnonymous||!c.type.isAnonymous||rl(c)){let u;if(!(r&he.IgnoreMounts)&&(u=ws.get(c))&&!u.overlay)return new Ee(u.tree,f,e,o);let d=new Ee(c,f,e,o);return r&he.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?c.children.length-1:0,t,i,s)}}}if(r&he.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,i=0){let s;if(!(i&he.IgnoreOverlays)&&(s=ws.get(this._tree))&&s.overlay){let r=e-this.from;for(let{from:o,to:l}of s.overlay)if((t>0?o<=r:o=r:l>r))return new Ee(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Na(n,e,t,i){let s=n.cursor(),r=[];if(!s.firstChild())return r;if(t!=null){for(let o=!1;!o;)if(o=s.type.is(t),!s.nextSibling())return r}for(;;){if(i!=null&&s.type.is(i))return r;if(s.type.is(e)&&r.push(s.node),!s.nextSibling())return i==null?r:[]}}function wo(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class Bg{constructor(e,t,i,s){this.parent=e,this.buffer=t,this.index=i,this.start=s}}class nt extends Rf{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,i);return r<0?null:new nt(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){if(i&he.ExcludeBuffers)return null;let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new nt(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new nt(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new nt(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,s=this.index+4,r=i.buffer[this.index+3];if(r>s){let o=i.buffer[this.index+1];e.push(i.slice(s,r,o)),t.push(0)}return new U(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Df(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let l=new Ee(o.tree,o.overlay[0].from+r.from,-1,r);(s||(s=[i])).push(ln(l,e,t,!1))}}return s?Df(s):i}class vo{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Ee)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:s}=this.buffer;return this.type=t||s.set.types[s.buffer[e]],this.from=i+s.buffer[e+1],this.to=i+s.buffer[e+2],!0}yield(e){return e?e instanceof Ee?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:s}=this.buffer,r=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.buffer.start,i);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&he.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&he.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&he.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let s=i<0?0:this.stack[i]+4;if(this.index!=s)return this.yieldBuf(t.findChild(s,this.index,-1,0,4))}else{let s=t.buffer[this.index+3];if(s<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(s)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:s}=this;if(s){if(e>0){if(this.index-1)for(let r=t+e,o=e<0?-1:i._tree.children.length;r!=o;r+=e){let l=i._tree.children[r];if(this.mode&he.IncludeAnonymous||l instanceof Et||!l.type.isAnonymous||rl(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==s){if(s==this.index)return o;t=o,i=r+1;break e}s=this.stack[--r]}for(let s=i;s=0;r--){if(r<0)return wo(this._tree,e,s);let o=i[t.buffer[this.stack[r]]];if(!o.isAnonymous){if(e[s]&&e[s]!=o.name)return!1;s--}}return!0}}function rl(n){return n.children.some(e=>e instanceof Et||!e.type.isAnonymous||rl(e))}function zg(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:s=Af,reused:r=[],minRepeatType:o=i.types.length}=n,l=Array.isArray(t)?new sl(t,t.length):t,a=i.types,h=0,c=0;function f(x,w,T,B,W,R){let{id:$,start:C,end:E,size:q}=l,N=c,ee=h;for(;q<0;)if(l.next(),q==-1){let H=r[$];T.push(H),B.push(C-x);return}else if(q==-3){h=$;return}else if(q==-4){c=$;return}else throw new RangeError(`Unrecognized record size: ${q}`);let K=a[$],te,ie,ke=C-x;if(E-C<=s&&(ie=g(l.pos-w,W))){let H=new Uint16Array(ie.size-ie.skip),we=l.pos-ie.size,ne=H.length;for(;l.pos>we;)ne=y(ie.start,H,ne);te=new Et(H,E-ie.start,i),ke=ie.start-x}else{let H=l.pos-q;l.next();let we=[],ne=[],se=$>=o?$:-1,ni=0,Cn=E;for(;l.pos>H;)se>=0&&l.id==se&&l.size>=0?(l.end<=Cn-s&&(p(we,ne,C,ni,l.end,Cn,se,N,ee),ni=we.length,Cn=l.end),l.next()):R>2500?u(C,H,we,ne):f(C,H,we,ne,se,R+1);if(se>=0&&ni>0&&ni-1&&ni>0){let Dl=d(K,ee);te=ol(K,we,ne,0,we.length,0,E-C,Dl,Dl)}else te=m(K,we,ne,E-C,N-E,ee)}T.push(te),B.push(ke)}function u(x,w,T,B){let W=[],R=0,$=-1;for(;l.pos>w;){let{id:C,start:E,end:q,size:N}=l;if(N>4)l.next();else{if($>-1&&E<$)break;$<0&&($=q-s),W.push(C,E,q),R++,l.next()}}if(R){let C=new Uint16Array(R*4),E=W[W.length-2];for(let q=W.length-3,N=0;q>=0;q-=3)C[N++]=W[q],C[N++]=W[q+1]-E,C[N++]=W[q+2]-E,C[N++]=N;T.push(new Et(C,W[2]-E,i)),B.push(E-x)}}function d(x,w){return(T,B,W)=>{let R=0,$=T.length-1,C,E;if($>=0&&(C=T[$])instanceof U){if(!$&&C.type==x&&C.length==W)return C;(E=C.prop(z.lookAhead))&&(R=B[$]+C.length+E)}return m(x,T,B,W,R,w)}}function p(x,w,T,B,W,R,$,C,E){let q=[],N=[];for(;x.length>B;)q.push(x.pop()),N.push(w.pop()+T-W);x.push(m(i.types[$],q,N,R-W,C-R,E)),w.push(W-T)}function m(x,w,T,B,W,R,$){if(R){let C=[z.contextHash,R];$=$?[C].concat($):[C]}if(W>25){let C=[z.lookAhead,W];$=$?[C].concat($):[C]}return new U(x,w,T,B,$)}function g(x,w){let T=l.fork(),B=0,W=0,R=0,$=T.end-s,C={size:0,start:0,skip:0};e:for(let E=T.pos-x;T.pos>E;){let q=T.size;if(T.id==w&&q>=0){C.size=B,C.start=W,C.skip=R,R+=4,B+=4,T.next();continue}let N=T.pos-q;if(q<0||N=o?4:0,K=T.start;for(T.next();T.pos>N;){if(T.size<0)if(T.size==-3)ee+=4;else break e;else T.id>=o&&(ee+=4);T.next()}W=K,B+=q,R+=ee}return(w<0||B==x)&&(C.size=B,C.start=W,C.skip=R),C.size>4?C:void 0}function y(x,w,T){let{id:B,start:W,end:R,size:$}=l;if(l.next(),$>=0&&B4){let E=l.pos-($-4);for(;l.pos>E;)T=y(x,w,T)}w[--T]=C,w[--T]=R-x,w[--T]=W-x,w[--T]=B}else $==-3?h=B:$==-4&&(c=B);return T}let S=[],k=[];for(;l.pos>0;)f(n.start||0,n.bufferStart||0,S,k,-1,0);let v=(e=n.length)!==null&&e!==void 0?e:S.length?k[0]+S[0].length:0;return new U(a[n.topID],S.reverse(),k.reverse(),v)}const Fa=new WeakMap;function cs(n,e){if(!n.isAnonymous||e instanceof Et||e.type!=n)return 1;let t=Fa.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof U)){t=1;break}t+=cs(n,i)}Fa.set(e,t)}return t}function ol(n,e,t,i,s,r,o,l,a){let h=0;for(let p=i;p=c)break;w+=T}if(k==v+1){if(w>c){let T=p[v];d(T.children,T.positions,0,T.children.length,m[v]+S);continue}f.push(p[v])}else{let T=m[k-1]+p[k-1].length-x;f.push(ol(n,p,m,v,k,x,T,null,a))}u.push(x+S-r)}}return d(e,t,i,s,0),(l||a)(f,u,o)}class Ig{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let s=this.map.get(e);s||this.map.set(e,s=new Map),s.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof nt?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ee&&this.map.set(e.tree,t)}get(e){return e instanceof nt?this.getBuffer(e.context.buffer,e.index):e instanceof Ee?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Ht{constructor(e,t,i,s,r=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=s,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let s=[new Ht(0,e.length,e,0,!1,i)];for(let r of t)r.to>e.length&&s.push(r);return s}static applyChanges(e,t,i=128){if(!t.length)return e;let s=[],r=1,o=e.length?e[0]:null;for(let l=0,a=0,h=0;;l++){let c=l=i)for(;o&&o.from=u.from||f<=u.to||h){let d=Math.max(u.from,a)-h,p=Math.min(u.to,f)-h;u=d>=p?null:new Ht(d,p,u.tree,u.offset+h,l>0,!!c)}if(u&&s.push(u),o.to>f)break;o=rnew yr(s.from,s.to)):[new yr(0,0)]:[new yr(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let s=this.startParse(e,t,i);for(;;){let r=s.advance();if(r)return r}}}class Vg{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new z({perNode:!0});let Ng=0;class ze{constructor(e,t,i,s){this.name=e,this.set=t,this.base=i,this.modified=s,this.id=Ng++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof ze&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let s=new ze(i,[],null,[]);if(s.set.push(s),t)for(let r of t.set)s.set.push(r);return s}static defineModifier(e){let t=new vs(e);return i=>i.modified.indexOf(t)>-1?i:vs.get(i.base||i,i.modified.concat(t).sort((s,r)=>s.id-r.id))}}let Fg=0;class vs{constructor(e){this.name=e,this.instances=[],this.id=Fg++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(l=>l.base==e&&Xg(t,l.modified));if(i)return i;let s=[],r=new ze(e.name,s,e,t);for(let l of t)l.instances.push(r);let o=_g(t);for(let l of e.set)if(!l.modified.length)for(let a of o)s.push(vs.get(l,a));return r}}function Xg(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function _g(n){let e=[[]];for(let t=0;ti.length-t.length)}function Ef(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let s of t.split(" "))if(s){let r=[],o=2,l=s;for(let f=0;;){if(l=="..."&&f>0&&f+3==s.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!u)throw new RangeError("Invalid path: "+s);if(r.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==s.length)break;let d=s[f++];if(f==s.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+s);l=s.slice(f)}let a=r.length-1,h=r[a];if(!h)throw new RangeError("Invalid path: "+s);let c=new Ts(i,o,a>0?r.slice(0,a):null);e[h]=c.sort(e[h])}}return qf.add(e)}const qf=new z;class Ts{constructor(e,t,i,s){this.tags=e,this.mode=t,this.context=i,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=s;for(let l of r)for(let a of l.set){let h=t[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:i}}function Ug(n,e){let t=null;for(let i of n){let s=i.style(e);s&&(t=t?t+" "+s:s)}return t}function Hg(n,e,t,i=0,s=n.length){let r=new jg(i,Array.isArray(e)?e:[e],t);r.highlightRange(n.cursor(),i,s,"",r.highlighters),r.flush(s)}class jg{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,s,r){let{type:o,from:l,to:a}=e;if(l>=i||a<=t)return;o.isTop&&(r=this.highlighters.filter(d=>!d.scope||d.scope(o)));let h=s,c=Gg(e)||Ts.empty,f=Ug(r,c.tags);if(f&&(h&&(h+=" "),h+=f,c.mode==1&&(s+=(s?" ":"")+f)),this.startSpan(Math.max(t,l),h),c.opaque)return;let u=e.tree&&e.tree.prop(z.mounted);if(u&&u.overlay){let d=e.node.enter(u.overlay[0].from+l,1),p=this.highlighters.filter(g=>!g.scope||g.scope(u.tree.type)),m=e.firstChild();for(let g=0,y=l;;g++){let S=g=k||!e.nextSibling())););if(!S||k>i)break;y=S.to+l,y>t&&(this.highlightRange(d.cursor(),Math.max(t,S.from+l),Math.min(i,y),"",p),this.startSpan(Math.min(i,y),h))}m&&e.parent()}else if(e.firstChild()){u&&(s="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,s,r),this.startSpan(Math.min(i,e.to),h)}while(e.nextSibling());e.parent()}}}function Gg(n){let e=n.type.prop(qf);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const P=ze.define,_n=P(),vt=P(),Xa=P(vt),_a=P(vt),Tt=P(),Un=P(Tt),br=P(Tt),Ke=P(),zt=P(Ke),Ze=P(),Ye=P(),To=P(),Bi=P(To),Hn=P(),O={comment:_n,lineComment:P(_n),blockComment:P(_n),docComment:P(_n),name:vt,variableName:P(vt),typeName:Xa,tagName:P(Xa),propertyName:_a,attributeName:P(_a),className:P(vt),labelName:P(vt),namespace:P(vt),macroName:P(vt),literal:Tt,string:Un,docString:P(Un),character:P(Un),attributeValue:P(Un),number:br,integer:P(br),float:P(br),bool:P(Tt),regexp:P(Tt),escape:P(Tt),color:P(Tt),url:P(Tt),keyword:Ze,self:P(Ze),null:P(Ze),atom:P(Ze),unit:P(Ze),modifier:P(Ze),operatorKeyword:P(Ze),controlKeyword:P(Ze),definitionKeyword:P(Ze),moduleKeyword:P(Ze),operator:Ye,derefOperator:P(Ye),arithmeticOperator:P(Ye),logicOperator:P(Ye),bitwiseOperator:P(Ye),compareOperator:P(Ye),updateOperator:P(Ye),definitionOperator:P(Ye),typeOperator:P(Ye),controlOperator:P(Ye),punctuation:To,separator:P(To),bracket:Bi,angleBracket:P(Bi),squareBracket:P(Bi),paren:P(Bi),brace:P(Bi),content:Ke,heading:zt,heading1:P(zt),heading2:P(zt),heading3:P(zt),heading4:P(zt),heading5:P(zt),heading6:P(zt),contentSeparator:P(Ke),list:P(Ke),quote:P(Ke),emphasis:P(Ke),strong:P(Ke),link:P(Ke),monospace:P(Ke),strikethrough:P(Ke),inserted:P(),deleted:P(),changed:P(),invalid:P(),meta:Hn,documentMeta:P(Hn),annotation:P(Hn),processingInstruction:P(Hn),definition:ze.defineModifier("definition"),constant:ze.defineModifier("constant"),function:ze.defineModifier("function"),standard:ze.defineModifier("standard"),local:ze.defineModifier("local"),special:ze.defineModifier("special")};for(let n in O){let e=O[n];e instanceof ze&&(e.name=n)}$f([{tag:O.link,class:"tok-link"},{tag:O.heading,class:"tok-heading"},{tag:O.emphasis,class:"tok-emphasis"},{tag:O.strong,class:"tok-strong"},{tag:O.keyword,class:"tok-keyword"},{tag:O.atom,class:"tok-atom"},{tag:O.bool,class:"tok-bool"},{tag:O.url,class:"tok-url"},{tag:O.labelName,class:"tok-labelName"},{tag:O.inserted,class:"tok-inserted"},{tag:O.deleted,class:"tok-deleted"},{tag:O.literal,class:"tok-literal"},{tag:O.string,class:"tok-string"},{tag:O.number,class:"tok-number"},{tag:[O.regexp,O.escape,O.special(O.string)],class:"tok-string2"},{tag:O.variableName,class:"tok-variableName"},{tag:O.local(O.variableName),class:"tok-variableName tok-local"},{tag:O.definition(O.variableName),class:"tok-variableName tok-definition"},{tag:O.special(O.variableName),class:"tok-variableName2"},{tag:O.definition(O.propertyName),class:"tok-propertyName tok-definition"},{tag:O.typeName,class:"tok-typeName"},{tag:O.namespace,class:"tok-namespace"},{tag:O.className,class:"tok-className"},{tag:O.macroName,class:"tok-macroName"},{tag:O.propertyName,class:"tok-propertyName"},{tag:O.operator,class:"tok-operator"},{tag:O.comment,class:"tok-comment"},{tag:O.meta,class:"tok-meta"},{tag:O.invalid,class:"tok-invalid"},{tag:O.punctuation,class:"tok-punctuation"}]);const Co="ͼ",Ua=typeof Symbol>"u"?"__"+Co:Symbol.for(Co),Po=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Ha=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class ja{constructor(e,t){this.rules=[];let{finish:i}=t||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,l,a,h){let c=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))r(d.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(s(d),p,c,u)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(c.length||u)&&a.push((i&&!f&&!h?o.map(i):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)r(s(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=Ha[Ua]||1;return Ha[Ua]=e+1,Co+e.toString(36)}static mount(e,t,i){let s=e[Po],r=i&&i.nonce;s?r&&s.setNonce(r):s=new Zg(e,r),s.mount(Array.isArray(t)?t:[t],e)}}let Ga=new Map;class Zg{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let r=Ga.get(i);if(r)return e[Po]=r;this.sheet=new s.CSSStyleSheet,Ga.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Po]=this}mount(e,t){let i=this.sheet,s=0,r=0;for(let o=0;o-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;he.concat(n):void 0})}const Yg=new z;class Ie{constructor(e,t,i=[],s=""){this.data=e,this.name=s,I.prototype.hasOwnProperty("tree")||Object.defineProperty(I.prototype,"tree",{get(){return fe(this)}}),this.parser=t,this.extension=[qt.of(this),I.languageData.of((r,o,l)=>{let a=Za(r,o,l),h=a.type.prop(_t);if(!h)return[];let c=r.facet(h),f=a.type.prop(Yg);if(f){let u=a.resolve(o-a.from,l);for(let d of f)if(d.test(u,r)){let p=r.facet(d.facet);return d.type=="replace"?p:p.concat(c)}}return c})].concat(i)}isActiveAt(e,t,i=-1){return Za(e,t,i).type.prop(_t)==this.data}findRegions(e){let t=e.facet(qt);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],s=(r,o)=>{if(r.prop(_t)==this.data){i.push({from:o,to:o+r.length});return}let l=r.prop(z.mounted);if(l){if(l.tree.prop(_t)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+r.length});return}else if(l.overlay){let a=i.length;if(s(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;ai.isTop?t:void 0)]}),e.name)}configure(e,t){return new Cs(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function fe(n){let e=n.field(Ie.state,!1);return e?e.tree:U.empty}class Kg{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Li=null;class wi{constructor(e,t,i=[],s,r,o,l,a){this.parser=e,this.state=t,this.fragments=i,this.tree=s,this.treeLen=r,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new wi(e,t,[],U.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Kg(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=U.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Ht.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Li;Li=this;try{return e()}finally{Li=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ya(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:s,treeLen:r,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((h,c,f,u)=>a.push({fromA:h,toA:c,fromB:f,toB:u})),i=Ht.applyChanges(i,a),s=U.empty,r=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let h of this.skipped){let c=e.mapPos(h.from,1),f=e.mapPos(h.to,-1);ce.from&&(this.fragments=Ya(this.fragments,s,r),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends ll{createParse(t,i,s){let r=s[0].from,o=s[s.length-1].to;return{parsedPos:r,advance(){let a=Li;if(a){for(let h of s)a.tempSkipped.push(h);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new U(Ce.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Li}}function Ya(n,e,t){return Ht.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class vi{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new vi(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=wi.create(e.facet(qt).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new vi(i)}}Ie.state=ue.define({create:vi.init,update(n,e){for(let t of e.effects)if(t.is(Ie.setState))return t.value;return e.startState.facet(qt)!=e.state.facet(qt)?vi.init(e.state):n.apply(e)}});let Lf=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Lf=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Sr=typeof navigator<"u"&&(!((xr=navigator.scheduling)===null||xr===void 0)&&xr.isInputPending)?()=>navigator.scheduling.isInputPending():null,Jg=le.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ie.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ie.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Lf(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnds+1e3,a=r.context.work(()=>Sr&&Sr()||Date.now()>o,s+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Ie.setState.of(new vi(r.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Re(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),qt=M.define({combine(n){return n.length?n[0]:null},enables:n=>[Ie.state,Jg,Q.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class eO{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const tO=M.define(),Hs=M.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Jt(n){let e=n.facet(Hs);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function an(n,e){let t="",i=n.tabSize,s=n.facet(Hs)[0];if(s==" "){for(;e>=i;)t+=" ",e-=i;s=" "}for(let r=0;r=e?iO(n,t,e):null}class js{constructor(e,t={}){this.state=e,this.options=t,this.unit=Jt(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:r}=this.options;return s!=null&&s>=i.from&&s<=i.to?r&&s==e?{text:"",from:e}:(t<0?s-1&&(r+=o-this.countColumn(i,i.search(/\S|$/))),r}countColumn(e,t=e.length){return Qi(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:s}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let o=r(s);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const hl=new z;function iO(n,e,t){let i=e.resolveStack(t),s=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(s!=i.node){let r=[];for(let o=s;o&&!(o.fromi.node.to||o.from==i.node.from&&o.type==i.node.type);o=o.parent)r.push(o);for(let o=r.length-1;o>=0;o--)i={node:r[o],next:i}}return Wf(i,n,t)}function Wf(n,e,t){for(let i=n;i;i=i.next){let s=sO(i.node);if(s)return s(cl.create(e,t,i))}return 0}function nO(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function sO(n){let e=n.type.prop(hl);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(z.closedBy))){let s=n.lastChild,r=s&&i.indexOf(s.name)>-1;return o=>zf(o,!0,1,void 0,r&&!nO(o)?s.from:void 0)}return n.parent==null?rO:null}function rO(){return 0}class cl extends js{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new cl(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(oO(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Wf(this.context.next,this.base,this.pos)}}function oO(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function lO(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let s=n.options.simulateBreak,r=n.state.doc.lineAt(t.from),o=s==null||s<=r.from?r.to:Math.min(r.to,s);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let h=/^ */.exec(r.text.slice(t.to-r.from))[0].length;return{from:t.from,to:t.to+h}}l=a.to}}function kr({closing:n,align:e=!0,units:t=1}){return i=>zf(i,e,t,n)}function zf(n,e,t,i,s){let r=n.textAfter,o=r.match(/^\s*/)[0].length,l=i&&r.slice(o,o+i.length)==i||s==n.pos+o,a=e?lO(n):null;return a?l?n.column(a.from):n.column(a.to):n.baseIndent+(l?0:n.unit*t)}const aO=200;function hO(){return I.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:i}=n.newSelection.main,s=t.lineAt(i);if(i>s.from+aO)return n;let r=t.sliceString(s.from,i);if(!e.some(h=>h.test(r)))return n;let{state:o}=n,l=-1,a=[];for(let{head:h}of o.selection.ranges){let c=o.doc.lineAt(h);if(c.from==l)continue;l=c.from;let f=al(o,c.from);if(f==null)continue;let u=/^\s*/.exec(c.text)[0],d=an(o,f);u!=d&&a.push({from:c.from,to:c.from+u.length,insert:d})}return a.length?[n,{changes:a,sequential:!0}]:n})}const cO=M.define(),If=new z;function fO(n){let e=n.firstChild,t=n.lastChild;return e&&e.tot)continue;if(r&&l.from=e&&h.to>t&&(r=h)}}return r}function dO(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function Ps(n,e,t){for(let i of n.facet(cO)){let s=i(n,e,t);if(s)return s}return uO(n,e,t)}function Vf(n,e){let t=e.mapPos(n.from,1),i=e.mapPos(n.to,-1);return t>=i?void 0:{from:t,to:i}}const Gs=L.define({map:Vf}),Sn=L.define({map:Vf});function Nf(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(n.lineBlockAt(t));return e}const ei=ue.define({create(){return D.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>n=Ka(n,t,i)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Gs)&&!pO(n,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(_f),s=i?D.replace({widget:new SO(i(e.state,t.value))}):Ja;n=n.update({add:[s.range(t.value.from,t.value.to)]})}else t.is(Sn)&&(n=n.update({filter:(i,s)=>t.value.from!=i||t.value.to!=s,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=Ka(n,e.selection.main.head)),n},provide:n=>Q.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(i,s)=>{t.push(i,s)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{se&&(i=!0)}),i?n.update({filterFrom:e,filterTo:t,filter:(s,r)=>s>=t||r<=e}):n}function Qs(n,e,t){var i;let s=null;return(i=n.field(ei,!1))===null||i===void 0||i.between(e,t,(r,o)=>{(!s||s.from>r)&&(s={from:r,to:o})}),s}function pO(n,e,t){let i=!1;return n.between(e,e,(s,r)=>{s==e&&r==t&&(i=!0)}),i}function Ff(n,e){return n.field(ei,!1)?e:e.concat(L.appendConfig.of(Uf()))}const mO=n=>{for(let e of Nf(n)){let t=Ps(n.state,e.from,e.to);if(t)return n.dispatch({effects:Ff(n.state,[Gs.of(t),Xf(n,t)])}),!0}return!1},gO=n=>{if(!n.state.field(ei,!1))return!1;let e=[];for(let t of Nf(n)){let i=Qs(n.state,t.from,t.to);i&&e.push(Sn.of(i),Xf(n,i,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function Xf(n,e,t=!0){let i=n.state.doc.lineAt(e.from).number,s=n.state.doc.lineAt(e.to).number;return Q.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${n.state.phrase("to")} ${s}.`)}const OO=n=>{let{state:e}=n,t=[];for(let i=0;i{let e=n.state.field(ei,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(i,s)=>{t.push(Sn.of({from:i,to:s}))}),n.dispatch({effects:t}),!0},bO=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:mO},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:gO},{key:"Ctrl-Alt-[",run:OO},{key:"Ctrl-Alt-]",run:yO}],xO={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},_f=M.define({combine(n){return at(n,xO)}});function Uf(n){return[ei,vO]}function Hf(n,e){let{state:t}=n,i=t.facet(_f),s=o=>{let l=n.lineBlockAt(n.posAtDOM(o.target)),a=Qs(n.state,l.from,l.to);a&&n.dispatch({effects:Sn.of(a)}),o.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(n,s,e);let r=document.createElement("span");return r.textContent=i.placeholderText,r.setAttribute("aria-label",t.phrase("folded code")),r.title=t.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=s,r}const Ja=D.replace({widget:new class extends kt{toDOM(n){return Hf(n,null)}}});class SO extends kt{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Hf(e,this.value)}}const kO={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class wr extends xt{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function wO(n={}){let e={...kO,...n},t=new wr(e,!0),i=new wr(e,!1),s=le.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(qt)!=o.state.facet(qt)||o.startState.field(ei,!1)!=o.state.field(ei,!1)||fe(o.startState)!=fe(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let l=new yt;for(let a of o.viewportLineBlocks){let h=Qs(o.state,a.from,a.to)?i:Ps(o.state,a.from,a.to)?t:null;h&&l.add(a.from,a.from,h)}return l.finish()}}),{domEventHandlers:r}=e;return[s,wg({class:"cm-foldGutter",markers(o){var l;return((l=o.plugin(s))===null||l===void 0?void 0:l.markers)||F.empty},initialSpacer(){return new wr(e,!1)},domEventHandlers:{...r,click:(o,l,a)=>{if(r.click&&r.click(o,l,a))return!0;let h=Qs(o.state,l.from,l.to);if(h)return o.dispatch({effects:Sn.of(h)}),!0;let c=Ps(o.state,l.from,l.to);return c?(o.dispatch({effects:Gs.of(c)}),!0):!1}}}),Uf()]}const vO=Q.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class kn{constructor(e,t){this.specs=e;let i;function s(l){let a=ja.newName();return(i||(i=Object.create(null)))["."+a]=l,a}const r=typeof t.all=="string"?t.all:t.all?s(t.all):void 0,o=t.scope;this.scope=o instanceof Ie?l=>l.prop(_t)==o.data:o?l=>l==o:void 0,this.style=$f(e.map(l=>({tag:l.tag,class:l.class||s(Object.assign({},l,{tag:null}))})),{all:r}).style,this.module=i?new ja(i):null,this.themeType=t.themeType}static define(e,t){return new kn(e,t||{})}}const Qo=M.define(),jf=M.define({combine(n){return n.length?[n[0]]:null}});function vr(n){let e=n.facet(Qo);return e.length?e:n.facet(jf)}function Gf(n,e){let t=[CO],i;return n instanceof kn&&(n.module&&t.push(Q.styleModule.of(n.module)),i=n.themeType),e?.fallback?t.push(jf.of(n)):i?t.push(Qo.computeN([Q.darkTheme],s=>s.facet(Q.darkTheme)==(i=="dark")?[n]:[])):t.push(Qo.of(n)),t}class TO{constructor(e){this.markCache=Object.create(null),this.tree=fe(e.state),this.decorations=this.buildDeco(e,vr(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=fe(e.state),i=vr(e.state),s=i!=vr(e.startState),{viewport:r}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=r.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=r.to)}buildDeco(e,t){if(!t||!this.tree.length)return D.none;let i=new yt;for(let{from:s,to:r}of e.visibleRanges)Hg(this.tree,t,(o,l,a)=>{i.add(o,l,this.markCache[a]||(this.markCache[a]=D.mark({class:a})))},s,r);return i.finish()}}const CO=$t.high(le.fromClass(TO,{decorations:n=>n.decorations})),PO=kn.define([{tag:O.meta,color:"#404740"},{tag:O.link,textDecoration:"underline"},{tag:O.heading,textDecoration:"underline",fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strong,fontWeight:"bold"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.keyword,color:"#708"},{tag:[O.atom,O.bool,O.url,O.contentSeparator,O.labelName],color:"#219"},{tag:[O.literal,O.inserted],color:"#164"},{tag:[O.string,O.deleted],color:"#a11"},{tag:[O.regexp,O.escape,O.special(O.string)],color:"#e40"},{tag:O.definition(O.variableName),color:"#00f"},{tag:O.local(O.variableName),color:"#30a"},{tag:[O.typeName,O.namespace],color:"#085"},{tag:O.className,color:"#167"},{tag:[O.special(O.variableName),O.macroName],color:"#256"},{tag:O.definition(O.propertyName),color:"#00c"},{tag:O.comment,color:"#940"},{tag:O.invalid,color:"#f00"}]),QO=Q.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Zf=1e4,Yf="()[]{}",Kf=M.define({combine(n){return at(n,{afterCursor:!0,brackets:Yf,maxScanDistance:Zf,renderMatch:RO})}}),AO=D.mark({class:"cm-matchingBracket"}),MO=D.mark({class:"cm-nonmatchingBracket"});function RO(n){let e=[],t=n.matched?AO:MO;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const DO=ue.define({create(){return D.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],i=e.state.facet(Kf);for(let s of e.state.selection.ranges){if(!s.empty)continue;let r=st(e.state,s.head,-1,i)||s.head>0&&st(e.state,s.head-1,1,i)||i.afterCursor&&(st(e.state,s.head,1,i)||s.headQ.decorations.from(n)}),EO=[DO,QO];function qO(n={}){return[Kf.of(n),EO]}const $O=new z;function Ao(n,e,t){let i=n.prop(e<0?z.openedBy:z.closedBy);if(i)return i;if(n.name.length==1){let s=t.indexOf(n.name);if(s>-1&&s%2==(e<0?1:0))return[t[s+e]]}return null}function Mo(n){let e=n.type.prop($O);return e?e(n.node):n}function st(n,e,t,i={}){let s=i.maxScanDistance||Zf,r=i.brackets||Yf,o=fe(n),l=o.resolveInner(e,t);for(let a=l;a;a=a.parent){let h=Ao(a.type,t,r);if(h&&a.from0?e>=c.from&&ec.from&&e<=c.to))return BO(n,e,t,a,c,h,r)}}return LO(n,e,t,o,l.type,s,r)}function BO(n,e,t,i,s,r,o){let l=i.parent,a={from:s.from,to:s.to},h=0,c=l?.cursor();if(c&&(t<0?c.childBefore(i.from):c.childAfter(i.to)))do if(t<0?c.to<=i.from:c.from>=i.to){if(h==0&&r.indexOf(c.type.name)>-1&&c.from0)return null;let h={from:t<0?e-1:e,to:t>0?e+1:e},c=n.doc.iterRange(e,t>0?n.doc.length:0),f=0;for(let u=0;!c.next().done&&u<=r;){let d=c.value;t<0&&(u+=d.length);let p=e+u*t;for(let m=t>0?0:d.length-1,g=t>0?d.length:-1;m!=g;m+=t){let y=o.indexOf(d[m]);if(!(y<0||i.resolveInner(p+m,1).type!=s))if(y%2==0==t>0)f++;else{if(f==1)return{start:h,end:{from:p+m,to:p+m+1},matched:y>>1==a>>1};f--}}t>0&&(u+=d.length)}return c.done?{start:h,matched:!1}:null}function eh(n,e,t,i=0,s=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let r=s;for(let o=i;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosi?o.toLowerCase():o,r=this.string.substr(this.pos,e.length);return s(r)==s(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let s=this.string.slice(this.pos).match(e);return s&&s.index>0?null:(s&&t!==!1&&(this.pos+=s[0].length),s)}}current(){return this.string.slice(this.start,this.pos)}}function WO(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||zO,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||ul,mergeTokens:n.mergeTokens!==!1}}function zO(n){if(typeof n!="object")return n;let e={};for(let t in n){let i=n[t];e[t]=i instanceof Array?i.slice():i}return e}const th=new WeakMap;class As extends Ie{constructor(e){let t=Bf(e.languageData),i=WO(e),s,r=new class extends ll{createParse(o,l,a){return new VO(s,o,l,a)}};super(t,r,[],e.name),this.topNode=XO(t,this),s=this,this.streamParser=i,this.stateAfter=new z({perNode:!0}),this.tokenTable=e.tokenTable?new nu(i.tokenTable):FO}static define(e){return new As(e)}getIndent(e){let t,{overrideIndentation:i}=e.options;i&&(t=th.get(e.state),t!=null&&t1e4)return null;for(;r=i&&t+e.length<=s&&e.prop(n.stateAfter);if(r)return{state:n.streamParser.copyState(r),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let l=e.children[o],a=t+e.positions[o],h=l instanceof U&&a=e.length)return e;!s&&t==0&&e.type==n.topNode&&(s=!0);for(let r=e.children.length-1;r>=0;r--){let o=e.positions[r],l=e.children[r],a;if(ot&&fl(n,r.tree,0-r.offset,t,l),h;if(a&&a.pos<=i&&(h=eu(n,r.tree,t+r.offset,a.pos+r.offset,!1)))return{state:a.state,tree:h}}return{state:n.streamParser.startState(s?Jt(s):4),tree:U.empty}}let VO=class{constructor(e,t,i,s){this.lang=e,this.input=t,this.fragments=i,this.ranges=s,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=s[s.length-1].to;let r=wi.get(),o=s[0].from,{state:l,tree:a}=IO(e,i,o,this.to,r?.state);this.state=l,this.parsedPos=this.chunkStart=o+a.length;for(let h=0;hh.from<=r.viewport.from&&h.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(Jt(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(t,this.chunkStart+512);for(e&&(i=Math.min(i,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +import{f as Vh,a as St,t as Cl,s as kn,b as $o,c as ud}from"./o8CdT7B0.js";import{i as Nh}from"./ChJfoPF0.js";import{ao as dd,am as pd,p as Fh,v as Xh,o as md,q as gd,g as j,m as zi,l as Wt,d as Ii,h as zt,b as _h,a as Uh,c as $t,r as Bt,s as wn,n as Pl,t as ti,i as Od,f as yd}from"./DUMcBckj.js";import{b as bd}from"./DwF0DbKK.js";import{p as Be,a as xd,s as Sd,i as Ql}from"./i7pKks78.js";import{t as kd}from"./ByzrGryl.js";import{B as Al,s as vn}from"./_9uqtkkk.js";import{M as wd}from"./CYPHW1bs.js";function vd(n,e,t){var i=dd(n,e);i&&i.set&&(n[e]=t,pd(()=>{n[e]=null}))}let qr=[],Hh=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=Hh[i])e=i+1;else return!0;if(e==t)return!1}}function Ml(n){return n>=127462&&n<=127487}const Rl=8205;function Cd(n,e,t=!0,i=!0){return(t?jh:Pd)(n,e,i)}function jh(n,e,t){if(e==n.length)return e;e&&Gh(n.charCodeAt(e))&&Zh(n.charCodeAt(e-1))&&e--;let i=Js(n,e);for(e+=Dl(i);e=0&&Ml(Js(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function Pd(n,e,t){for(;e>0;){let i=jh(n,e-2,t);if(i=56320&&n<57344}function Zh(n){return n>=55296&&n<56320}function Dl(n){return n<65536?1:2}class V{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=pi(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),Ye.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=pi(this,e,t);let i=[];return this.decompose(e,t,i,0),Ye.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new Vi(this),r=new Vi(e);for(let o=t,l=t;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new Vi(this,e)}iterRange(e,t=this.length){return new Yh(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Kh(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?V.empty:e.length<=32?new J(e):Ye.from(J.split(e,[]))}}class J extends V{constructor(e,t=Qd(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((t?i:l)>=e)return new Ad(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let r=e<=0&&t>=this.length?this:new J(El(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=Zn(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new J(l,o.length+r.length));else{let a=l.length>>1;i.push(new J(l.slice(0,a)),new J(l.slice(a)))}}else i.push(r)}replace(e,t,i){if(!(i instanceof J))return super.replace(e,t,i);[e,t]=pi(this,e,t);let s=Zn(this.text,Zn(i.text,El(this.text,0,e)),t),r=this.length+i.length-(t-e);return s.length<=32?new J(s,r):Ye.from(J.split(s,[]),r)}sliceString(e,t=this.length,i=` +`){[e,t]=pi(this,e,t);let s="";for(let r=0,o=0;r<=t&&oe&&o&&(s+=i),er&&(s+=l.slice(Math.max(0,e-r),t-r)),r=a+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let r of e)i.push(r),s+=r.length+1,i.length==32&&(t.push(new J(i,s)),i=[],s=-1);return s>-1&&t.push(new J(i,s)),t}}class Ye extends V{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.children[r],l=s+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,s);s=l+1,i=a+1}}decompose(e,t,i,s){for(let r=0,o=0;o<=t&&r=o){let h=s&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if([e,t]=pi(this,e,t),i.lines=r&&t<=l){let a=o.replace(e-r,t-r,i),h=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>h>>6){let c=this.children.slice();return c[s]=a,new Ye(c,this.length-(t-e)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=` +`){[e,t]=pi(this,e,t);let s="";for(let r=0,o=0;re&&r&&(s+=i),eo&&(s+=l.sliceString(e-o,t-o,i)),o=a+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Ye))return 0;let i=0,[s,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==l)return i;let a=this.children[s],h=e.children[r];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new J(d,t)}let s=Math.max(32,i>>5),r=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function f(d){let p;if(d.lines>r&&d instanceof Ye)for(let m of d.children)f(m);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof J&&a&&(p=c[c.length-1])instanceof J&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new J(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>s&&u(),a+=d.lines,h+=d.length+1,c.push(d))}function u(){a!=0&&(l.push(c.length==1?c[0]:Ye.from(c,h)),h=-1,a=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new Ye(l,t)}}V.empty=new J([""],0);function Qd(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Zn(n,e,t=0,i=1e9){for(let s=0,r=0,o=!0;r=t&&(a>i&&(l=l.slice(0,i-s)),s0?1:(e instanceof J?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],o=r>>1,l=s instanceof J?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(s instanceof J){let a=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof J?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Yh{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Vi(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Kh{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(V.prototype[Symbol.iterator]=function(){return this.iter()},Vi.prototype[Symbol.iterator]=Yh.prototype[Symbol.iterator]=Kh.prototype[Symbol.iterator]=function(){return this});class Ad{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}function pi(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Oe(n,e,t=!0,i=!0){return Cd(n,e,t,i)}function Md(n){return n>=56320&&n<57344}function Rd(n){return n>=55296&&n<56320}function Ce(n,e){let t=n.charCodeAt(e);if(!Rd(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return Md(i)?(t-55296<<10)+(i-56320)+65536:t}function Bo(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Ke(n){return n<65536?1:2}const $r=/\r\n?|\n/;var ge=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(ge||(ge={}));class st{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return r+(e-s);r+=l}else{if(i!=ge.Simple&&h>=e&&(i==ge.TrackDel&&se||i==ge.TrackBefore&&se))return null;if(h>e||h==e&&t<0&&!l)return e==s||t<0?r:r+a;r+=a}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return r}touchesRange(e,t=e){for(let i=0,s=0;i=0&&s<=t&&l>=e)return st?"cover":!0;s=l}return!1}toString(){let e="";for(let t=0;t=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new st(e)}static create(e){return new st(e)}}class ae extends st{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Br(this,(t,i,s,r,o)=>e=e.replace(s,s+(i-t),o),!1),e}mapDesc(e,t=!1){return Lr(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,r=0;s=0){t[s]=l,t[s+1]=o;let a=s>>1;for(;i.length0&&Tt(i,t,r.text),r.forward(c),l+=c}let h=e[o++];for(;l>1].toJSON()))}return e}static of(e,t,i){let s=[],r=[],o=0,l=null;function a(c=!1){if(!c&&!s.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=d?typeof d=="string"?V.of(d.split(i||$r)):d:V.empty,m=p.length;if(f==u&&m==0)return;fo&&ye(s,f-o,-1),ye(s,u-f,m),Tt(r,s,p),o=u}}return h(e),a(!l),l}static empty(e){return new ae(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let s=0;sl&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)t.push(r[0],0);else{for(;i.length=0&&t<=0&&t==n[s+1]?n[s]+=e:s>=0&&e==0&&n[s]==0?n[s+1]+=t:i?(n[s]+=e,n[s+1]+=t):n.push(e,t)}function Tt(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)l=n.sections[o++],a=n.sections[o++];e(s,h,r,c,f),s=h,r=c}}}function Lr(n,e,t,i=!1){let s=[],r=i?[]:null,o=new Hi(n),l=new Hi(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let h=Math.min(o.len,l.len);ye(s,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len=0&&a=0){let h=0,c=o.len;for(;c;)if(l.ins==-1){let f=Math.min(c,l.len);h+=f,c-=f,l.forward(f)}else if(l.ins==0&&l.lena||o.ins>=0&&o.len>a)&&(l||i.length>h),r.forward2(a),o.forward(a)}}}}class Hi{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?V.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?V.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Nt{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,s;return this.empty?i=s=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),i==this.from&&s==this.to?this:new Nt(i,s,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return b.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return b.range(this.anchor,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return b.range(e.anchor,e.head)}static create(e,t,i){return new Nt(e,t,i)}}class b{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:b.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new b(e.ranges.map(t=>Nt.fromJSON(t)),e.main)}static single(e,t=e){return new b([b.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,s=0;se?8:0)|r)}static normalized(e,t=0){let i=e[t];e.sort((s,r)=>s.from-r.from),t=e.indexOf(i);for(let s=1;sr.head?b.range(a,l):b.range(l,a))}}return new b(e,t)}}function ec(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Lo=0;class M{constructor(e,t,i,s,r){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=s,this.id=Lo++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new M(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Wo),!!e.static,e.enables)}of(e){return new Yn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Yn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Yn(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function Wo(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class Yn{constructor(e,t,i,s){this.dependencies=e,this.facet=t,this.type=i,this.value=s,this.id=Lo++}dynamicSlot(e){var t;let i=this.value,s=this.facet.compareInput,r=this.id,o=e[r]>>1,l=this.type==2,a=!1,h=!1,c=[];for(let f of this.dependencies)f=="doc"?a=!0:f=="selection"?h=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&c.push(e[f.id]);return{create(f){return f.values[o]=i(f),1},update(f,u){if(a&&u.docChanged||h&&(u.docChanged||u.selection)||Wr(f,c)){let d=i(f);if(l?!ql(d,f.values[o],s):!s(d,f.values[o]))return f.values[o]=d,1}return 0},reconfigure:(f,u)=>{let d,p=u.config.address[r];if(p!=null){let m=fs(u,p);if(this.dependencies.every(g=>g instanceof M?u.facet(g)===f.facet(g):g instanceof ue?u.field(g,!1)==f.field(g,!1):!0)||(l?ql(d=i(f),m,s):s(d=i(f),m)))return f.values[o]=m,0}else d=i(f);return f.values[o]=d,1}}}}function ql(n,e,t){if(n.length!=e.length)return!1;for(let i=0;in[a.id]),s=t.map(a=>a.type),r=i.filter(a=>!(a&1)),o=n[e.id]>>1;function l(a){let h=[];for(let c=0;ci===s),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Tn).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,s)=>{let r=i.values[t],o=this.updateF(r,s);return this.compareF(r,o)?0:(i.values[t]=o,1)},reconfigure:(i,s)=>{let r=i.facet(Tn),o=s.facet(Tn),l;return(l=r.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[t]=l.create(i),1):s.config.address[this.id]!=null?(i.values[t]=s.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Tn.of({field:this,create:e})]}get extension(){return this}}const It={lowest:4,low:3,default:2,high:1,highest:0};function Ai(n){return e=>new tc(e,n)}const Et={highest:Ai(It.highest),high:Ai(It.high),default:Ai(It.default),low:Ai(It.low),lowest:Ai(It.lowest)};class tc{constructor(e,t){this.inner=e,this.prec=t}}class Bs{of(e){return new zr(this,e)}reconfigure(e){return Bs.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class zr{constructor(e,t){this.compartment=e,this.inner=t}}class cs{constructor(e,t,i,s,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=s,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let s=[],r=Object.create(null),o=new Map;for(let u of Ed(e,t,o))u instanceof ue?s.push(u):(r[u.facet.id]||(r[u.facet.id]=[])).push(u);let l=Object.create(null),a=[],h=[];for(let u of s)l[u.id]=h.length<<1,h.push(d=>u.slot(d));let c=i?.config.facets;for(let u in r){let d=r[u],p=d[0].facet,m=c&&c[u]||[];if(d.every(g=>g.type==0))if(l[p.id]=a.length<<1|1,Wo(m,d))a.push(i.facet(p));else{let g=p.combine(d.map(y=>y.value));a.push(i&&p.compare(g,i.facet(p))?i.facet(p):g)}else{for(let g of d)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=h.length<<1,h.push(y=>g.dynamicSlot(y)));l[p.id]=h.length<<1,h.push(g=>Dd(g,p,d))}}let f=h.map(u=>u(l));return new cs(e,o,f,l,a,r)}}function Ed(n,e,t){let i=[[],[],[],[],[]],s=new Map;function r(o,l){let a=s.get(o);if(a!=null){if(a<=l)return;let h=i[a].indexOf(o);h>-1&&i[a].splice(h,1),o instanceof zr&&t.delete(o.compartment)}if(s.set(o,l),Array.isArray(o))for(let h of o)r(h,l);else if(o instanceof zr){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(o.compartment)||o.inner;t.set(o.compartment,h),r(h,l)}else if(o instanceof tc)r(o.inner,o.prec);else if(o instanceof ue)i[l].push(o),o.provides&&r(o.provides,l);else if(o instanceof Yn)i[l].push(o),o.facet.extensions&&r(o.facet.extensions,It.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(h,l)}}return r(n,It.default),i.reduce((o,l)=>o.concat(l))}function Ni(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let s=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|s}function fs(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const ic=M.define(),Ir=M.define({combine:n=>n.some(e=>e),static:!0}),nc=M.define({combine:n=>n.length?n[0]:void 0,static:!0}),sc=M.define(),rc=M.define(),oc=M.define(),lc=M.define({combine:n=>n.length?n[0]:!1});class bt{constructor(e,t){this.type=e,this.value=t}static define(){return new qd}}class qd{of(e){return new bt(this,e)}}class $d{constructor(e){this.map=e}of(e){return new L(this,e)}}class L{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new L(this.type,t)}is(e){return this.type==e}static define(e={}){return new $d(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let s of e){let r=s.map(t);r&&i.push(r)}return i}}L.reconfigure=L.define();L.appendConfig=L.define();class oe{constructor(e,t,i,s,r,o){this.startState=e,this.changes=t,this.selection=i,this.effects=s,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,i&&ec(i,t.newLength),r.some(l=>l.type==oe.time)||(this.annotations=r.concat(oe.time.of(Date.now())))}static create(e,t,i,s,r,o){return new oe(e,t,i,s,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(oe.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}oe.time=bt.define();oe.userEvent=bt.define();oe.addToHistory=bt.define();oe.remote=bt.define();function Bd(n,e){let t=[];for(let i=0,s=0;;){let r,o;if(i=n[i]))r=n[i++],o=n[i++];else if(s=0;s--){let r=i[s](n);r instanceof oe?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof oe?n=r[0]:n=hc(e,ai(r),!1)}return n}function Wd(n){let e=n.startState,t=e.facet(oc),i=n;for(let s=t.length-1;s>=0;s--){let r=t[s](n);r&&Object.keys(r).length&&(i=ac(i,Vr(e,r,n.changes.newLength),!0))}return i==n?n:oe.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const zd=[];function ai(n){return n==null?zd:Array.isArray(n)?n:[n]}var Y=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Y||(Y={}));const Id=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Nr;try{Nr=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function Vd(n){if(Nr)return Nr.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||Id.test(t)))return!0}return!1}function Nd(n){return e=>{if(!/\S/.test(e))return Y.Space;if(Vd(e))return Y.Word;for(let t=0;t-1)return Y.Word;return Y.Other}}class I{constructor(e,t,i,s,r,o){this.config=e,this.doc=t,this.selection=i,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let l=0;ls.set(h,a)),t=null),s.set(l.value.compartment,l.value.extension)):l.is(L.reconfigure)?(t=null,i=l.value):l.is(L.appendConfig)&&(t=null,i=ai(i).concat(l.value));let r;t?r=e.startState.values.slice():(t=cs.resolve(i,s,this),r=new I(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=e.startState.facet(Ir)?e.newSelection:e.newSelection.asSingle();new I(t,e.newDoc,o,r,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:b.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),s=this.changes(i.changes),r=[i.range],o=ai(i.effects);for(let l=1;lo.spec.fromJSON(l,a)))}}return I.create({doc:e.doc,selection:b.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=cs.resolve(e.extensions||[],new Map),i=e.doc instanceof V?e.doc:V.of((e.doc||"").split(t.staticFacet(I.lineSeparator)||$r)),s=e.selection?e.selection instanceof b?e.selection:b.single(e.selection.anchor,e.selection.head):b.single(0);return ec(s,i.length),t.staticFacet(Ir)||(s=s.asSingle()),new I(t,i,s,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(I.tabSize)}get lineBreak(){return this.facet(I.lineSeparator)||` +`}get readOnly(){return this.facet(lc)}phrase(e,...t){for(let i of this.facet(I.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let r=+(s||1);return!r||r>t.length?i:t[r-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let r of this.facet(ic))for(let o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){return Nd(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=Oe(t,o,!1);if(r(t.slice(a,o))!=Y.Word)break;o=a}for(;ln.length?n[0]:4});I.lineSeparator=nc;I.readOnly=lc;I.phrases=M.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(s=>n[s]==e[s])}});I.languageData=ic;I.changeFilter=sc;I.transactionFilter=rc;I.transactionExtender=oc;Bs.reconfigure=L.define();function ot(n,e,t={}){let i={};for(let s of n)for(let r of Object.keys(s)){let o=s[r],l=i[r];if(l===void 0)i[r]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,r))i[r]=t[r](l,o);else throw new Error("Config merge conflict for field "+r)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}class Ht{eq(e){return this==e}range(e,t=e){return Fr.create(e,t,this)}}Ht.prototype.startSide=Ht.prototype.endSide=0;Ht.prototype.point=!1;Ht.prototype.mapMode=ge.TrackDel;let Fr=class cc{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new cc(e,t,i)}};function Xr(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class zo{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let r=i?this.to:this.from;for(let o=s,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,s){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,r);rd||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),s.push(u-o),r.push(d-o))}return{mapped:i.length?new zo(s,r,i,l):null,pos:o}}}class F{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new F(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(Xr)),this.isEmpty)return t.length?F.of(t):this;let l=new fc(this,null,-1).goto(0),a=0,h=[],c=new gt;for(;l.value||a=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndexthis.chunkEnd(l.chunkIndex)||rl.to||r=r&&e<=r+o.length&&o.between(r,e-r,t-r,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return ji.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return ji.from(e).goto(t)}static compare(e,t,i,s,r=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),l=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),a=$l(o,l,i),h=new Mi(o,a,r),c=new Mi(l,a,r);i.iterGaps((f,u,d)=>Bl(h,f,c,u,d,s)),i.empty&&i.length==0&&Bl(h,0,c,0,0,s)}static eq(e,t,i=0,s){s==null&&(s=999999999);let r=e.filter(c=>!c.isEmpty&&t.indexOf(c)<0),o=t.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let l=$l(r,o),a=new Mi(r,l,0).goto(i),h=new Mi(o,l,0).goto(i);for(;;){if(a.to!=h.to||!_r(a.active,h.active)||a.point&&(!h.point||!a.point.eq(h.point)))return!1;if(a.to>s)return!0;a.next(),h.next()}}static spans(e,t,i,s,r=-1){let o=new Mi(e,null,r).goto(t),l=t,a=o.openStart;for(;;){let h=Math.min(o.to,i);if(o.point){let c=o.activeForPoint(o.to),f=o.pointFroml&&(s.span(l,h,o.active,a),a=o.openEnd(h));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(e,t=!1){let i=new gt;for(let s of e instanceof Fr?[e]:t?Fd(e):e)i.add(s.from,s.to,s.value);return i.finish()}static join(e){if(!e.length)return F.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let s=e[i];s!=F.empty;s=s.nextLayer)t=new F(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}F.empty=new F([],[],null,-1);function Fd(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(Xr);e=i}return n}F.empty.nextLayer=F.empty;class gt{finishChunk(e){this.chunks.push(new zo(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new gt)).add(e,t,i)}addInner(e,t,i){let s=e-this.lastTo||i.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(F.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=F.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function $l(n,e,t){let i=new Map;for(let r of n)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&s.push(new fc(o,t,i,r));return s.length==1?s[0]:new ji(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)er(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)er(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),er(this.heap,0)}}}function er(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let s=n[i];if(i+1=0&&(s=n[i+1],i++),t.compare(s)<0)break;n[i]=t,n[e]=s,e=i}}class Mi{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=ji.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Cn(this.active,e),Cn(this.activeTo,e),Cn(this.activeRank,e),this.minActive=Ll(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:s,rank:r}=this.cursor;for(;t0;)t++;Pn(this.active,t,i),Pn(this.activeTo,t,s),Pn(this.activeRank,t,r),e&&Pn(e,t,this.cursor.from),this.minActive=Ll(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),i&&Cn(i,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[s]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Bl(n,e,t,i,s,r){n.goto(e),t.goto(i);let o=i+s,l=i,a=i-e;for(;;){let h=n.to+a-t.to,c=h||n.endSide-t.endSide,f=c<0?n.to+a:t.to,u=Math.min(f,o);if(n.point||t.point?n.point&&t.point&&(n.point==t.point||n.point.eq(t.point))&&_r(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(l,u,n.point,t.point):u>l&&!_r(n.active,t.active)&&r.compareRange(l,u,n.active,t.active),f>o)break;(h||n.openEnd!=t.openEnd)&&r.boundChange&&r.boundChange(f),l=f,c<=0&&n.next(),c>=0&&t.next()}}function _r(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;i--)n[i+1]=n[i];n[e]=t}function Ll(n,e){let t=-1,i=1e9;for(let s=0;s=e)return s;if(s==n.length)break;r+=n.charCodeAt(s)==9?t-r%t:1,s=Oe(n,s)}return i===!0?-1:n.length}const Hr="ͼ",Wl=typeof Symbol>"u"?"__"+Hr:Symbol.for(Hr),jr=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),zl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};let mi=class{constructor(e,t){this.rules=[];let{finish:i}=t||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,l,a,h){let c=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))r(d.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(s(d),p,c,u)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(c.length||u)&&a.push((i&&!f&&!h?o.map(i):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)r(s(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=zl[Wl]||1;return zl[Wl]=e+1,Hr+e.toString(36)}static mount(e,t,i){let s=e[jr],r=i&&i.nonce;s?r&&s.setNonce(r):s=new Xd(e,r),s.mount(Array.isArray(t)?t:[t],e)}},Il=new Map,Xd=class{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let r=Il.get(i);if(r)return e[jr]=r;this.sheet=new s.CSSStyleSheet,Il.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[jr]=this}mount(e,t){let i=this.sheet,s=0,r=0;for(let o=0;o-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;h",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},_d=typeof navigator<"u"&&/Mac/.test(navigator.platform),Ud=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var me=0;me<10;me++)At[48+me]=At[96+me]=String(me);for(var me=1;me<=24;me++)At[me+111]="F"+me;for(var me=65;me<=90;me++)At[me]=String.fromCharCode(me+32),Gi[me]=String.fromCharCode(me);for(var tr in At)Gi.hasOwnProperty(tr)||(Gi[tr]=At[tr]);function Hd(n){var e=_d&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||Ud&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Gi:At)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Zi(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Gr(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Kn(n,e){if(!e.anchorNode)return!1;try{return Gr(n,e.anchorNode)}catch{return!1}}function Yi(n){return n.nodeType==3?Gt(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Fi(n,e,t,i){return t?Vl(n,e,t,i,-1)||Vl(n,e,t,i,1):!1}function jt(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function us(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Vl(n,e,t,i,s){for(;;){if(n==t&&e==i)return!0;if(e==(s<0?0:rt(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=jt(n)+(s<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?rt(n):0}else return!1}}function rt(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Ls(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function jd(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function uc(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function Gd(n,e,t,i,s,r,o,l){let a=n.ownerDocument,h=a.defaultView||window;for(let c=n,f=!1;c&&!f;)if(c.nodeType==1){let u,d=c==a.body,p=1,m=1;if(d)u=jd(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(f=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let S=c.getBoundingClientRect();({scaleX:p,scaleY:m}=uc(c,S)),u={left:S.left,right:S.left+c.clientWidth*p,top:S.top,bottom:S.top+c.clientHeight*m}}let g=0,y=0;if(s=="nearest")e.top0&&e.bottom>u.bottom+y&&(y=e.bottom-u.bottom+o)):e.bottom>u.bottom&&(y=e.bottom-u.bottom+o,t<0&&e.top-y0&&e.right>u.right+g&&(g=e.right-u.right+r)):e.right>u.right&&(g=e.right-u.right+r,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function Zd(n){let e=n.ownerDocument,t,i;for(let s=n.parentNode;s&&!(s==e.body||t&&i);)if(s.nodeType==1)!i&&s.scrollHeight>s.clientHeight&&(i=s),!t&&s.scrollWidth>s.clientWidth&&(t=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:t,y:i}}class Yd{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?rt(t):0),i,Math.min(e.focusOffset,i?rt(i):0))}set(e,t,i,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=s}}let ii=null;function dc(n){if(n.setActive)return n.setActive();if(ii)return n.focus(ii);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(ii==null?{get preventScroll(){return ii={preventScroll:!0},!0}}:void 0),!ii){ii=!1;for(let t=0;tMath.max(1,n.scrollHeight-n.clientHeight-4)}function gc(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=rt(t)}else if(t.parentNode&&!us(t))i=jt(t),t=t.parentNode;else return null}}function Oc(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&it)return f.domBoundsAround(e,t,h);if(u>=e&&s==-1&&(s=a,r=h),h>t&&f.dom.parentNode==this.dom){o=a,l=c;break}c=u,h=u+f.breakAfter}return{from:r,to:l<0?i+this.length:l,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=Io){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function bc(n,e,t,i,s,r,o,l,a){let{children:h}=n,c=h.length?h[e]:null,f=r.length?r[r.length-1]:null,u=f?f.breakAfter:o;if(!(e==i&&c&&!o&&!u&&r.length<2&&c.merge(t,s,r.length?f:null,t==0,l,a))){if(i0&&(!o&&r.length&&c.merge(t,c.length,r[0],!1,l,0)?c.breakAfter=r.shift().breakAfter:(t2);var A={mac:_l||/Mac/.test(Pe.platform),windows:/Win/.test(Pe.platform),linux:/Linux|X11/.test(Pe.platform),ie:Ws,ie_version:Sc?Zr.documentMode||6:Kr?+Kr[1]:Yr?+Yr[1]:0,gecko:Xl,gecko_version:Xl?+(/Firefox\/(\d+)/.exec(Pe.userAgent)||[0,0])[1]:0,chrome:!!ir,chrome_version:ir?+ir[1]:0,ios:_l,android:/Android\b/.test(Pe.userAgent),safari:kc,webkit_version:ep?+(/\bAppleWebKit\/(\d+)/.exec(Pe.userAgent)||[0,0])[1]:0,tabSize:Zr.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const tp=256;class Xe extends _{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,i){return this.flags&8||i&&(!(i instanceof Xe)||this.length-(t-e)+i.length>tp||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Xe(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new be(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return ip(this.dom,e,t)}}class Ot extends _{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let s of t)s.setParent(this)}setAttrs(e){if(pc(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,s,r,o){return i&&(!(i instanceof Ot&&i.mark.eq(this.mark))||e&&r<=0||te&&t.push(i=e&&(s=r),i=a,r++}let o=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new Ot(this.mark,t,o)}domAtPos(e){return wc(this,e)}coordsAt(e,t){return Tc(this,e,t)}}function ip(n,e,t){let i=n.nodeValue.length;e>i&&(e=i);let s=e,r=e,o=0;e==0&&t<0||e==i&&t>=0?A.chrome||A.gecko||(e?(s--,o=1):r=0)?0:l.length-1];return A.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(l,h=>h.width)||a),o?Ls(a,o<0):a||null}class Ct extends _{static create(e,t,i){return new Ct(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=Ct.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,s,r,o){return i&&(!(i instanceof Ct)||!this.widget.compare(i.widget)||e>0&&r<=0||t0)?be.before(this.dom):be.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let s=this.dom.getClientRects(),r=null;if(!s.length)return null;let o=this.side?this.side<0:e>0;for(let l=o?s.length-1:0;r=s[l],!(e>0?l==0:l==s.length-1||r.top0?be.before(this.dom):be.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return V.empty}get isHidden(){return!0}}Xe.prototype.children=Ct.prototype.children=gi.prototype.children=Io;function wc(n,e){let t=n.dom,{children:i}=n,s=0;for(let r=0;sr&&e0;r--){let o=i[r-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let r=s;r0&&e instanceof Ot&&s.length&&(i=s[s.length-1])instanceof Ot&&i.mark.eq(e.mark)?vc(i,e.children[0],t-1):(s.push(e),e.setParent(n)),n.length+=e.length}function Tc(n,e,t){let i=null,s=-1,r=null,o=-1;function l(h,c){for(let f=0,u=0;f=c&&(d.children.length?l(d,c-u):(!r||r.isHidden&&(t>0||sp(r,d)))&&(p>c||u==p&&d.getSide()>0)?(r=d,o=c-u):(u-1?1:0)!=s.length-(t&&s.indexOf(t)>-1?1:0))return!1;for(let r of i)if(r!=t&&(s.indexOf(r)==-1||n[r]!==e[r]))return!1;return!0}function eo(n,e,t){let i=!1;if(e)for(let s in e)t&&s in t||(i=!0,s=="style"?n.style.cssText="":n.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(i=!0,s=="style"?n.style.cssText=t[s]:n.setAttribute(s,t[s]));return i}function rp(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Mt(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,s;if(e.isBlockGap)i=-5e8,s=4e8;else{let{start:r,end:o}=Cc(e,t);i=(r?t?-3e8:-1:5e8)-1,s=(o?t?2e8:1:-6e8)+1}return new Mt(e,i,s,t,e.widget||null,!0)}static line(e){return new pn(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}D.none=F.empty;class dn extends D{constructor(e){let{start:t,end:i}=Cc(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof dn&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&ds(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}dn.prototype.point=!1;class pn extends D{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof pn&&this.spec.class==e.spec.class&&ds(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}pn.prototype.mapMode=ge.TrackBefore;pn.prototype.point=!0;class Mt extends D{constructor(e,t,i,s,r,o){super(t,i,r,e),this.block=s,this.isReplace=o,this.mapMode=s?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?we.WidgetRange:this.startSide<=0?we.WidgetBefore:we.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Mt&&op(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Mt.prototype.point=!0;function Cc(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function op(n,e){return n==e||!!(n&&e&&n.compare(e))}function Jn(n,e,t,i=0){let s=t.length-1;s>=0&&t[s]+i>=n?t[s]=Math.max(t[s],e):t.push(n,e)}class re extends _{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,s,r,o){if(i){if(!(i instanceof re))return!1;this.dom||i.transferDOM(this)}return s&&this.setDeco(i?i.attrs:null),xc(this,e,t,i?i.children.slice():[],r,o),!0}split(e){let t=new re;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i,off:s}=this.childPos(e);s&&(t.append(this.children[i].split(s),0),this.children[i].merge(s,this.children[i].length,null,!1,0,0),i++);for(let r=i;r0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){ds(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){vc(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=Jr(t,this.attrs||{})),i&&(this.attrs=Jr({class:i},this.attrs||{}))}domAtPos(e){return wc(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?this.flags&4&&(pc(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(eo(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let s=this.dom.lastChild;for(;s&&_.get(s)instanceof Ot;)s=s.lastChild;if(!s||!this.length||s.nodeName!="BR"&&((i=_.get(s))===null||i===void 0?void 0:i.isEditable)==!1&&(!A.ios||!this.children.some(r=>r instanceof Xe))){let r=document.createElement("BR");r.cmIgnore=!0,this.dom.appendChild(r)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let i of this.children){if(!(i instanceof Xe)||/[^ -~]/.test(i.text))return null;let s=Yi(i.dom);if(s.length!=1)return null;e+=s[0].width,t=s[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let i=Tc(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:s}=this.parent.view.viewState,r=i.bottom-i.top;if(Math.abs(r-s.lineHeight)<2&&s.textHeight=t){if(r instanceof re)return r;if(o>t)break}s=o+r.breakAfter}return null}}class mt extends _{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,s,r,o){return i&&(!(i instanceof mt)||!this.widget.compare(i.widget)||e>0&&r<=0||t0}}class to extends xt{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class Xi{constructor(e,t,i,s){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=s,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof mt&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new re),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Qn(new gi(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof mt)&&this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:r,lineBreak:o,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=r,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(Qn(new Xe(this.text.slice(this.textOff,this.textOff+s)),t),i),this.atCursorPos=!0,this.textOff+=s,e-=s,i=0}}span(e,t,i,s){this.buildText(t-e,i,s),this.pos=t,this.openStart<0&&(this.openStart=s)}point(e,t,i,s,r,o){if(this.disallowBlockEffectsFor[o]&&i instanceof Mt){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=t-e;if(i instanceof Mt)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new mt(i.widget||Oi.block,l,i));else{let a=Ct.create(i.widget||Oi.inline,l,l?0:i.startSide),h=this.atCursorPos&&!a.isEditable&&r<=s.length&&(e0),c=!a.isEditable&&(es.length||i.startSide<=0),f=this.getLine();this.pendingBuffer==2&&!h&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(s),h&&(f.append(Qn(new gi(1),s),r),r=s.length+Math.max(0,r-s.length)),f.append(Qn(a,s),r),this.atCursorPos=c,this.pendingBuffer=c?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=r)}static build(e,t,i,s,r){let o=new Xi(e,t,i,r);return o.openEnd=F.spans(s,t,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function Qn(n,e){for(let t of e)n=new Ot(t,[n],n.length);return n}class Oi extends xt{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Oi.inline=new Oi("span");Oi.block=new Oi("div");var Z=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Z||(Z={}));const Zt=Z.LTR,Vo=Z.RTL;function Pc(n){let e=[];for(let t=0;t=t){if(l.level==i)return o;(r<0||(s!=0?s<0?l.fromt:e[r].level>l.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}}function Ac(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;m-=3)if(He[m+1]==-d){let g=He[m+2],y=g&2?s:g&4?g&1?r:s:0;y&&(X[f]=X[He[m]]=y),l=m;break}}else{if(He.length==189)break;He[l++]=f,He[l++]=u,He[l++]=a}else if((p=X[f])==2||p==1){let m=p==s;a=m?0:1;for(let g=l-3;g>=0;g-=3){let y=He[g+2];if(y&2)break;if(m)He[g+2]|=2;else{if(y&4)break;He[g+2]|=4}}}}}function up(n,e,t,i){for(let s=0,r=i;s<=t.length;s++){let o=s?t[s-1].to:n,l=sa;)p==g&&(p=t[--m].from,g=m?t[m-1].to:n),X[--p]=d;a=c}else r=h,a++}}}function no(n,e,t,i,s,r,o){let l=i%2?2:1;if(i%2==s%2)for(let a=e,h=0;aa&&o.push(new Pt(a,m.from,d));let g=m.direction==Zt!=!(d%2);so(n,g?i+1:i,s,m.inner,m.from,m.to,o),a=m.to}p=m.to}else{if(p==t||(c?X[p]!=l:X[p]==l))break;p++}u?no(n,a,p,i+1,s,u,o):ae;){let c=!0,f=!1;if(!h||a>r[h-1].to){let m=X[a-1];m!=l&&(c=!1,f=m==16)}let u=!c&&l==1?[]:null,d=c?i:i+1,p=a;e:for(;;)if(h&&p==r[h-1].to){if(f)break e;let m=r[--h];if(!c)for(let g=m.from,y=h;;){if(g==e)break e;if(y&&r[y-1].to==g)g=r[--y].from;else{if(X[g-1]==l)break e;break}}if(u)u.push(m);else{m.toX.length;)X[X.length]=256;let i=[],s=e==Zt?0:1;return so(n,s,s,t,0,n.length,i),i}function Mc(n){return[new Pt(0,n,0)]}let Rc="";function pp(n,e,t,i,s){var r;let o=i.head-n.from,l=Pt.find(e,o,(r=i.bidiLevel)!==null&&r!==void 0?r:-1,i.assoc),a=e[l],h=a.side(s,t);if(o==h){let u=l+=s?1:-1;if(u<0||u>=e.length)return null;a=e[l=u],o=a.side(!s,t),h=a.side(s,t)}let c=Oe(n.text,o,a.forward(s,t));(ca.to)&&(c=h),Rc=n.text.slice(Math.min(o,c),Math.max(o,c));let f=l==(s?e.length-1:0)?null:e[l+(s?1:-1)];return f&&c==h&&f.level+(s?0:1)n.some(e=>e)}),zc=M.define({combine:n=>n.some(e=>e)}),Ic=M.define();class ci{constructor(e,t="nearest",i="nearest",s=5,r=5,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=s,this.xMargin=r,this.isSnapshot=o}map(e){return e.empty?this:new ci(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ci(b.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const An=L.define({map:(n,e)=>n.map(e)}),Vc=L.define();function Ae(n,e,t){let i=n.facet($c);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const pt=M.define({combine:n=>n.length?n[0]:!0});let gp=0;const ri=M.define({combine(n){return n.filter((e,t)=>{for(let i=0;i{let a=[];return o&&a.push(Ki.of(h=>{let c=h.plugin(l);return c?o(c):D.none})),r&&a.push(r(l)),a})}static fromClass(e,t){return le.define((i,s)=>new e(i,s),t)}}class nr{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Ae(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Ae(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Ae(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Nc=M.define(),Xo=M.define(),Ki=M.define(),Fc=M.define(),_o=M.define(),Xc=M.define();function Hl(n,e){let t=n.state.facet(Xc);if(!t.length)return t;let i=t.map(r=>r instanceof Function?r(n):r),s=[];return F.spans(i,e.from,e.to,{point(){},span(r,o,l,a){let h=r-e.from,c=o-e.from,f=s;for(let u=l.length-1;u>=0;u--,a--){let d=l[u].spec.bidiIsolate,p;if(d==null&&(d=mp(e.text,h,c)),a>0&&f.length&&(p=f[f.length-1]).to==h&&p.direction==d)p.to=c,f=p.inner;else{let m={from:h,to:c,direction:d,inner:[]};f.push(m),f=m.inner}}}}),s}const _c=M.define();function Uo(n){let e=0,t=0,i=0,s=0;for(let r of n.state.facet(_c)){let o=r(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(s=Math.max(s,o.bottom)))}return{left:e,right:t,top:i,bottom:s}}const $i=M.define();class Ve{constructor(e,t,i,s){this.fromA=e,this.toA=t,this.fromB=i,this.toB=s}join(e){return new Ve(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>i.toA)){if(s.toAc)break;r+=2}if(!a)return i;new Ve(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),o=a.toA,l=a.toB}}}class ps{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=ae.empty(this.startState.doc.length);for(let r of i)this.changes=this.changes.compose(r.changes);let s=[];this.changes.iterChangedRanges((r,o,l,a)=>s.push(new Ve(r,o,l,a))),this.changedRanges=s}static create(e,t,i){return new ps(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class jl extends _{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=D.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new re],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Ve(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:c})=>cthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?s=this.domChanged.newSel.head:!wp(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let r=s>-1?yp(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:h,to:c}=this.hasComposition;i=new Ve(h,c,e.changes.mapPos(h,-1),e.changes.mapPos(c,1)).addToSet(i.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(A.ie||A.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.updateDeco(),a=Sp(o,l,e.changes);return i=Ve.extendWithRanges(i,a),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=A.chrome||A.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||s.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let r=[];if(this.view.viewport.from||this.view.viewport.to=0?s[o]:null;if(!l)break;let{fromA:a,toA:h,fromB:c,toB:f}=l,u,d,p,m;if(i&&i.range.fromBc){let v=Xi.build(this.view.state.doc,c,i.range.fromB,this.decorations,this.dynamicDecorationMap),x=Xi.build(this.view.state.doc,i.range.toB,f,this.decorations,this.dynamicDecorationMap);d=v.breakAtStart,p=v.openStart,m=x.openEnd;let w=this.compositionView(i);x.breakAtStart?w.breakAfter=1:x.content.length&&w.merge(w.length,w.length,x.content[0],!1,x.openStart,0)&&(w.breakAfter=x.content[0].breakAfter,x.content.shift()),v.content.length&&w.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),u=v.content.concat(w).concat(x.content)}else({content:u,breakAtStart:d,openStart:p,openEnd:m}=Xi.build(this.view.state.doc,c,f,this.decorations,this.dynamicDecorationMap));let{i:g,off:y}=r.findPos(h,1),{i:S,off:k}=r.findPos(a,-1);bc(this,S,k,g,y,u,d,p,m)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(Vc)&&(this.editContextFormatting=i.value)}compositionView(e){let t=new Xe(e.text.nodeValue);t.flags|=8;for(let{deco:s}of e.marks)t=new Ot(s,[t],t.length);let i=new re;return i.append(t,0),i}fixCompositionDOM(e){let t=(r,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let l=_.get(r);l&&l!=o&&(l.dom=null),o.setDOM(r)},i=this.childPos(e.range.fromB,1),s=this.children[i.i];t(e.line,s);for(let r=e.marks.length-1;r>=-1;r--)i=s.childPos(i.off,1),s=s.children[i.i],t(r>=0?e.marks[r].node:e.text,s)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,s=i==this.dom,r=!s&&!(this.view.state.facet(pt)||this.dom.tabIndex>-1)&&Kn(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(s||t||r))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),h=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(A.gecko&&l.empty&&!this.hasComposition&&Op(a)){let f=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(f,a.node.childNodes[a.offset]||null)),a=h=new be(f,0),o=!0}let c=this.view.observer.selectionRange;(o||!c.focusNode||(!Fi(a.node,a.offset,c.anchorNode,c.anchorOffset)||!Fi(h.node,h.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,l))&&(this.view.observer.ignore(()=>{A.android&&A.chrome&&this.dom.contains(c.focusNode)&&kp(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let f=Zi(this.view.root);if(f)if(l.empty){if(A.gecko){let u=bp(a.node,a.offset);if(u&&u!=3){let d=(u==1?gc:Oc)(a.node,a.offset);d&&(a=new be(d.node,d.offset))}}f.collapse(a.node,a.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(a.node,a.offset);try{f.extend(h.node,h.offset)}catch{}}else{let u=document.createRange();l.anchor>l.head&&([a,h]=[h,a]),u.setEnd(h.node,h.offset),u.setStart(a.node,a.offset),f.removeAllRanges(),f.addRange(u)}r&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,h)),this.impreciseAnchor=a.precise?null:new be(c.anchorNode,c.anchorOffset),this.impreciseHead=h.precise?null:new be(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fi(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Zi(e.root),{anchorNode:s,anchorOffset:r}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let o=re.find(this,t.head);if(!o)return;let l=o.posAtStart;if(t.head==l||t.head==l+o.length)return;let a=this.coordsAt(t.head,-1),h=this.coordsAt(t.head,1);if(!a||!h||a.bottom>h.top)return;let c=this.domAtPos(t.head+t.assoc);i.collapse(c.node,c.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&i.collapse(s,r)}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let s=e.offset;!i&&s=0;s--){let r=_.get(t.childNodes[s]);r instanceof re&&(i=r.domAtPos(r.length))}return i?new be(i.node,i.offset,!0):e}nearest(e){for(let t=e;t;){let i=_.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;o--){let l=this.children[o],a=r-l.breakAfter,h=a-l.length;if(ae||l.covers(1))&&(!i||l instanceof re&&!(i instanceof re&&t>=0)))i=l,s=h;else if(i&&h==e&&a==e&&l instanceof mt&&Math.abs(t)<2){if(l.deco.startSide<0)break;o&&(i=null)}r=h}return i?i.coordsAt(e-s,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),s=this.children[t];if(!(s instanceof re))return null;for(;s.children.length;){let{i:l,off:a}=s.childPos(i,1);for(;;l++){if(l==s.children.length)return null;if((s=s.children[l]).length)break}i=a}if(!(s instanceof Xe))return null;let r=Oe(s.text,i);if(r==i)return null;let o=Gt(s.dom,i,r).getClientRects();for(let l=0;lMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Z.LTR;for(let h=0,c=0;cs)break;if(h>=i){let d=f.dom.getBoundingClientRect();if(t.push(d.height),o){let p=f.dom.lastChild,m=p?Yi(p):[];if(m.length){let g=m[m.length-1],y=a?g.right-d.left:d.right-g.left;y>l&&(l=y,this.minWidth=r,this.minWidthFrom=h,this.minWidthTo=u)}}}h=u+f.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Z.RTL:Z.LTR}measureTextSize(){for(let r of this.children)if(r instanceof re){let o=r.measureTextSize();if(o)return o}let e=document.createElement("div"),t,i,s;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let r=Yi(e.firstChild)[0];t=e.getBoundingClientRect().height,i=r?r.width/27:7,s=r?r.height:t,e.remove()}),{lineHeight:t,charWidth:i,textHeight:s}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new yc(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,s=0;;s++){let r=s==t.viewports.length?null:t.viewports[s],o=r?r.from-1:this.length;if(o>i){let l=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(D.replace({widget:new to(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!r)break;i=r.to+1}return D.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ki).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),i=!1,s=this.view.state.facet(Fc).map((r,o)=>{let l=typeof r=="function";return l&&(i=!0),l?r(this.view):r});for(s.length&&(this.dynamicDecorationMap[e++]=i,t.push(F.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];et.anchor?-1:1),s;if(!i)return;!t.empty&&(s=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,s.left),top:Math.min(i.top,s.top),right:Math.max(i.right,s.right),bottom:Math.max(i.bottom,s.bottom)});let r=Uo(this.view),o={left:i.left-r.left,top:i.top-r.top,right:i.right+r.right,bottom:i.bottom+r.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;Gd(this.view.scrollDOM,o,t.head{ie.from&&(t=!0)}),t}function vp(n,e,t=1){let i=n.charCategorizer(e),s=n.doc.lineAt(e),r=e-s.from;if(s.length==0)return b.cursor(e);r==0?t=1:r==s.length&&(t=-1);let o=r,l=r;t<0?o=Oe(s.text,r,!1):l=Oe(s.text,r);let a=i(s.text.slice(o,l));for(;o>0;){let h=Oe(s.text,o,!1);if(i(s.text.slice(h,o))!=a)break;o=h}for(;ln?e.left-n:Math.max(0,n-e.right)}function Cp(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function sr(n,e){return n.tope.top+1}function Gl(n,e){return en.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function oo(n,e,t){let i,s,r,o,l=!1,a,h,c,f;for(let p=n.firstChild;p;p=p.nextSibling){let m=Yi(p);for(let g=0;gk||o==k&&r>S)&&(i=p,s=y,r=S,o=k,l=S?e0:gy.bottom&&(!c||c.bottomy.top)&&(h=p,f=y):c&&sr(c,y)?c=Zl(c,y.bottom):f&&sr(f,y)&&(f=Gl(f,y.top))}}if(c&&c.bottom>=t?(i=a,s=c):f&&f.top<=t&&(i=h,s=f),!i)return{node:n,offset:0};let u=Math.max(s.left,Math.min(s.right,e));if(i.nodeType==3)return Yl(i,u,t);if(l&&i.contentEditable!="false")return oo(i,u,t);let d=Array.prototype.indexOf.call(n.childNodes,i)+(e>=(s.left+s.right)/2?1:0);return{node:n,offset:d}}function Yl(n,e,t){let i=n.nodeValue.length,s=-1,r=1e9,o=0;for(let l=0;lt?c.top-t:t-c.bottom)-1;if(c.left-1<=e&&c.right+1>=e&&f=(c.left+c.right)/2,d=u;if((A.chrome||A.gecko)&&Gt(n,l).getBoundingClientRect().left==c.right&&(d=!u),f<=0)return{node:n,offset:l+(d?1:0)};s=l+(d?1:0),r=f}}}return{node:n,offset:s>-1?s:o>0?n.nodeValue.length:0}}function Hc(n,e,t,i=-1){var s,r;let o=n.contentDOM.getBoundingClientRect(),l=o.top+n.viewState.paddingTop,a,{docHeight:h}=n.viewState,{x:c,y:f}=e,u=f-l;if(u<0)return 0;if(u>h)return n.state.doc.length;for(let v=n.viewState.heightOracle.textHeight/2,x=!1;a=n.elementAtHeight(u),a.type!=we.Text;)for(;u=i>0?a.bottom+v:a.top-v,!(u>=0&&u<=h);){if(x)return t?null:0;x=!0,i=-i}f=l+u;let d=a.from;if(dn.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:Kl(n,o,a,c,f);let p=n.dom.ownerDocument,m=n.root.elementFromPoint?n.root:p,g=m.elementFromPoint(c,f);g&&!n.contentDOM.contains(g)&&(g=null),g||(c=Math.max(o.left+1,Math.min(o.right-1,c)),g=m.elementFromPoint(c,f),g&&!n.contentDOM.contains(g)&&(g=null));let y,S=-1;if(g&&((s=n.docView.nearest(g))===null||s===void 0?void 0:s.isEditable)!=!1){if(p.caretPositionFromPoint){let v=p.caretPositionFromPoint(c,f);v&&({offsetNode:y,offset:S}=v)}else if(p.caretRangeFromPoint){let v=p.caretRangeFromPoint(c,f);v&&({startContainer:y,startOffset:S}=v,(!n.contentDOM.contains(y)||A.safari&&Pp(y,S,c)||A.chrome&&Qp(y,S,c))&&(y=void 0))}y&&(S=Math.min(rt(y),S))}if(!y||!n.docView.dom.contains(y)){let v=re.find(n.docView,d);if(!v)return u>a.top+a.height/2?a.to:a.from;({node:y,offset:S}=oo(v.dom,c,f))}let k=n.docView.nearest(y);if(!k)return null;if(k.isWidget&&((r=k.dom)===null||r===void 0?void 0:r.nodeType)==1){let v=k.dom.getBoundingClientRect();return e.yn.defaultLineHeight*1.5){let l=n.viewState.heightOracle.textHeight,a=Math.floor((s-t.top-(n.defaultLineHeight-l)*.5)/l);r+=a*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Ur(o,r,n.state.tabSize)}function Pp(n,e,t){let i,s=n;if(n.nodeType!=3||e!=(i=n.nodeValue.length))return!1;for(;;){let r=s.nextSibling;if(r){if(r.nodeName=="BR")break;return!1}else{let o=s.parentNode;if(!o||o.nodeName=="DIV")break;s=o}}return Gt(n,i-1,i).getBoundingClientRect().right>t}function Qp(n,e,t){if(e!=0)return!1;for(let s=n;;){let r=s.parentNode;if(!r||r.nodeType!=1||r.firstChild!=s)return!1;if(r.classList.contains("cm-line"))break;s=r}let i=n.nodeType==1?n.getBoundingClientRect():Gt(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}function lo(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let s;for(let r of i.type){if(r.from>e)break;if(!(r.toe)return r;(!s||r.type==we.Text&&(s.type!=r.type||(t<0?r.frome)))&&(s=r)}}return s||i}return i}function Ap(n,e,t,i){let s=lo(n,e.head,e.assoc||-1),r=!i||s.type!=we.Text||!(n.lineWrapping||s.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(r){let o=n.dom.getBoundingClientRect(),l=n.textDirectionAt(s.from),a=n.posAtCoords({x:t==(l==Z.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(a!=null)return b.cursor(a,t?-1:1)}return b.cursor(t?s.to:s.from,t?-1:1)}function Jl(n,e,t,i){let s=n.state.doc.lineAt(e.head),r=n.bidiSpans(s),o=n.textDirectionAt(s.from);for(let l=e,a=null;;){let h=pp(s,r,o,l,t),c=Rc;if(!h){if(s.number==(t?n.state.doc.lines:1))return l;c=` +`,s=n.state.doc.line(s.number+(t?1:-1)),r=n.bidiSpans(s),h=n.visualLineSide(s,!t)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function Mp(n,e,t){let i=n.state.charCategorizer(e),s=i(t);return r=>{let o=i(r);return s==Y.Space&&(s=o),s==o}}function Rp(n,e,t,i){let s=e.head,r=t?1:-1;if(s==(t?n.state.doc.length:0))return b.cursor(s,e.assoc);let o=e.goalColumn,l,a=n.contentDOM.getBoundingClientRect(),h=n.coordsAtPos(s,e.assoc||-1),c=n.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let d=n.viewState.lineBlockAt(s);o==null&&(o=Math.min(a.right-a.left,n.defaultCharacterWidth*(s-d.from))),l=(r<0?d.top:d.bottom)+c}let f=a.left+o,u=i??n.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(u+d)*r,m=Hc(n,{x:f,y:p},!1,r);if(pa.bottom||(r<0?ms)){let g=n.docView.coordsForChar(m),y=!g||p{if(e>r&&es(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:b.cursor(i,ir)&&this.lineBreak(),s=o}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,o=1,l;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=s.exec(t))&&(r=l.index,o=l[0].length),this.append(t.slice(i,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);i=r+o}}readNode(e){if(e.cmIgnore)return;let t=_.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let s=i.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(Ep(e,i.node,i.offset)?t:0))}}function Ep(n,e,t){for(;;){if(!e||t-1;let{impreciseHead:r,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let l=r||o?[]:Lp(e),a=new Dp(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=Wp(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!Gr(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Gr(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),c=e.viewport;if((A.ios||A.chrome)&&e.state.selection.main.empty&&a!=h&&(c.from>0||c.toDate.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:l}=e.bounds,a=s.from,h=null;(r===8||A.android&&e.text.length=s.from&&t.to<=s.to&&(t.from!=s.from||t.to!=s.to)&&s.to-s.from-(t.to-t.from)<=4?t={from:s.from,to:s.to,insert:n.state.doc.slice(s.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,s.to))}:A.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&n.lineWrapping&&(i&&(i=b.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:V.of([" "])}),t)return Ho(n,t,i,r);if(i&&!i.main.eq(s)){let o=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),l=n.inputState.lastSelectionOrigin),n.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function Ho(n,e,t,i=-1){if(A.ios&&n.inputState.flushIOSKey(e))return!0;let s=n.state.selection.main;if(A.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&n.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&hi(n.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||i==8&&e.insert.lengths.head)&&hi(n.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&hi(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,l=()=>o||(o=$p(n,e,t));return n.state.facet(Bc).some(a=>a(n,e.from,e.to,r,l))||n.dispatch(l()),!0}function $p(n,e,t){let i,s=n.state,r=s.selection.main;if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=r.frome.to?s.sliceDoc(e.to,r.to):"";i=s.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+a))}else{let l=s.changes(e),a=t&&t.main.to<=l.newLength?t.main:void 0;if(s.selection.ranges.length>1&&n.inputState.composing>=0&&e.to<=r.to&&e.to>=r.to-10){let h=n.state.sliceDoc(e.from,e.to),c,f=t&&Uc(n,t.main.head);if(f){let p=e.insert.length-(e.to-e.from);c={from:f.from,to:f.to-p}}else c=n.state.doc.lineAt(r.head);let u=r.to-e.to,d=r.to-r.from;i=s.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:l,range:a||p.map(l)};let m=p.to-u,g=m-h.length;if(p.to-p.from!=d||n.state.sliceDoc(g,m)!=h||p.to>=c.from&&p.from<=c.to)return{range:p};let y=s.changes({from:g,to:m,insert:e.insert}),S=p.to-r.to;return{changes:y,range:a?b.range(Math.max(0,a.anchor+S),Math.max(0,a.head+S)):p.map(y)}})}else i={changes:l,selection:a&&s.selection.replaceRange(a)}}let o="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,o+=".compose",n.inputState.compositionFirstChange&&(o+=".start",n.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:o,scrollIntoView:!0})}function Bp(n,e,t,i){let s=Math.min(n.length,e.length),r=0;for(;r0&&l>0&&n.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));t-=o+a-r}if(o=o?r-t:0;r-=a,l=r+(l-o),o=r}else if(l=l?r-t:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function Lp(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new ea(t,i)),(s!=t||r!=i)&&e.push(new ea(s,r))),e}function Wp(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?b.single(t+e,i+e):null}class zp{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,A.safari&&e.contentDOM.addEventListener("input",()=>null),A.gecko&&tm(e.contentDOM.ownerDocument)}handleEvent(e){!Hp(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let s of i.observers)s(this.view,t);for(let s of i.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ip(e),i=this.handlers,s=this.view.contentDOM;for(let r in t)if(r!="scroll"){let o=!t[r].handlers.length,l=i[r];l&&o!=!l.handlers.length&&(s.removeEventListener(r,this.handleEvent),l=null),l||s.addEventListener(r,this.handleEvent,{passive:o})}for(let r in i)r!="scroll"&&!t[r]&&s.removeEventListener(r,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Zc.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),A.android&&A.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return A.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Gc.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||Vp.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:A.safari&&!A.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function ta(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(s){Ae(t.state,s)}}}function Ip(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let s=i.spec,r=s&&s.plugin.domEventHandlers,o=s&&s.plugin.domEventObservers;if(r)for(let l in r){let a=r[l];a&&t(l).handlers.push(ta(i.value,a))}if(o)for(let l in o){let a=o[l];a&&t(l).observers.push(ta(i.value,a))}}for(let i in _e)t(i).handlers.push(_e[i]);for(let i in Ne)t(i).observers.push(Ne[i]);return e}const Gc=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Vp="dthko",Zc=[16,17,18,20,91,92,224,225],Mn=6;function Rn(n){return Math.max(0,n)*.7+8}function Np(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class Fp{constructor(e,t,i,s){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Zd(e.contentDOM),this.atoms=e.state.facet(_o).map(o=>o(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(I.allowMultipleSelections)&&Xp(e,t),this.dragging=Up(e,t)&&Jc(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Np(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,s=0,r=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=Uo(this.view);e.clientX-a.left<=s+Mn?t=-Rn(s-e.clientX):e.clientX+a.right>=o-Mn&&(t=Rn(e.clientX-o)),e.clientY-a.top<=r+Mn?i=-Rn(r-e.clientY):e.clientY+a.bottom>=l-Mn&&(i=Rn(e.clientY-l)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;it.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Xp(n,e){let t=n.state.facet(Dc);return t.length?t[0](e):A.mac?e.metaKey:e.ctrlKey}function _p(n,e){let t=n.state.facet(Ec);return t.length?t[0](e):A.mac?!e.altKey:!e.ctrlKey}function Up(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=Zi(n.root);if(!i||i.rangeCount==0)return!0;let s=i.getRangeAt(0).getClientRects();for(let r=0;r=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Hp(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=_.get(t))&&i.ignoreEvent(e))return!1;return!0}const _e=Object.create(null),Ne=Object.create(null),Yc=A.ie&&A.ie_version<15||A.ios&&A.webkit_version<604;function jp(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),Kc(n,t.value)},50)}function zs(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function Kc(n,e){e=zs(n.state,No,e);let{state:t}=n,i,s=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(ao!=null&&t.selection.ranges.every(a=>a.empty)&&ao==r.toString()){let a=-1;i=t.changeByRange(h=>{let c=t.doc.lineAt(h.from);if(c.from==a)return{range:h};a=c.from;let f=t.toText((o?r.line(s++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:f},range:b.cursor(h.from+f.length)}})}else o?i=t.changeByRange(a=>{let h=r.line(s++);return{changes:{from:a.from,to:a.to,insert:h.text},range:b.cursor(a.from+h.length)}}):i=t.replaceSelection(r);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Ne.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};_e.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Ne.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Ne.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};_e.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(qc))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=Yp(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new Fp(n,e,t,i)),i&&n.observer.ignore(()=>{dc(n.contentDOM);let r=n.root.activeElement;r&&!r.contains(n.contentDOM)&&r.blur()});let s=n.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}return!1};function ia(n,e,t,i){if(i==1)return b.cursor(e,t);if(i==2)return vp(n.state,e,t);{let s=re.find(n.docView,e),r=n.state.doc.lineAt(s?s.posAtEnd:e),o=s?s.posAtStart:r.from,l=s?s.posAtEnd:r.to;return le>=t.top&&e<=t.bottom&&n>=t.left&&n<=t.right;function Gp(n,e,t,i){let s=re.find(n.docView,e);if(!s)return 1;let r=e-s.posAtStart;if(r==0)return 1;if(r==s.length)return-1;let o=s.coordsAt(r,-1);if(o&&na(t,i,o))return-1;let l=s.coordsAt(r,1);return l&&na(t,i,l)?1:o&&o.bottom>=i?-1:1}function sa(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:Gp(n,t,e.clientX,e.clientY)}}const Zp=A.ie&&A.ie_version<=11;let ra=null,oa=0,la=0;function Jc(n){if(!Zp)return n.detail;let e=ra,t=la;return ra=n,la=Date.now(),oa=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(oa+1)%3:1}function Yp(n,e){let t=sa(n,e),i=Jc(e),s=n.state.selection;return{update(r){r.docChanged&&(t.pos=r.changes.mapPos(t.pos),s=s.map(r.changes))},get(r,o,l){let a=sa(n,r),h,c=ia(n,a.pos,a.bias,i);if(t.pos!=a.pos&&!o){let f=ia(n,t.pos,t.bias,i),u=Math.min(f.from,c.from),d=Math.max(f.to,c.to);c=u1&&(h=Kp(s,a.pos))?h:l?s.addRange(c):b.create([c])}}}function Kp(n,e){for(let t=0;t=e)return b.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}_e.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let s=n.docView.nearest(e.target);if(s&&s.isWidget){let r=s.posAtStart,o=r+s.length;(r>=t.to||o<=t.from)&&(t=b.range(r,o))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",zs(n.state,Fo,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};_e.dragend=n=>(n.inputState.draggedContent=null,!1);function aa(n,e,t,i){if(t=zs(n.state,No,t),!t)return;let s=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=i&&r&&_p(n,e)?{from:r.from,to:r.to}:null,l={from:s,insert:t},a=n.state.changes(o?[o,l]:l);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(s,-1),head:a.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}_e.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),s=0,r=()=>{++s==t.length&&aa(n,e,i.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(i[o]=l.result),r()},l.readAsText(t[o])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return aa(n,e,i,!0),!0}return!1};_e.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Yc?null:e.clipboardData;return t?(Kc(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(jp(n),!1)};function Jp(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function em(n){let e=[],t=[],i=!1;for(let s of n.selection.ranges)s.empty||(e.push(n.sliceDoc(s.from,s.to)),t.push(s));if(!e.length){let s=-1;for(let{from:r}of n.selection.ranges){let o=n.doc.lineAt(r);o.number>s&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),s=o.number}i=!0}return{text:zs(n,Fo,e.join(n.lineBreak)),ranges:t,linewise:i}}let ao=null;_e.copy=_e.cut=(n,e)=>{let{text:t,ranges:i,linewise:s}=em(n.state);if(!t&&!s)return!1;ao=s?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let r=Yc?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(Jp(n,t),!1)};const ef=bt.define();function tf(n,e){let t=[];for(let i of n.facet(Lc)){let s=i(n,e);s&&t.push(s)}return t.length?n.update({effects:t,annotations:ef.of(!0)}):null}function nf(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=tf(n.state,e);t?n.dispatch(t):n.update([])}},10)}Ne.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),nf(n)};Ne.blur=n=>{n.observer.clearSelectionRange(),nf(n)};Ne.compositionstart=Ne.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Ne.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,A.chrome&&A.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Ne.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};_e.beforeinput=(n,e)=>{var t,i;if(e.inputType=="insertReplacementText"&&n.observer.editContext){let r=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(r&&o.length){let l=o[0],a=n.posAtDOM(l.startContainer,l.startOffset),h=n.posAtDOM(l.endContainer,l.endOffset);return Ho(n,{from:a,to:h,insert:n.state.toText(r)},null),!0}}let s;if(A.chrome&&A.android&&(s=Gc.find(r=>r.inputType==e.inputType))&&(n.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let r=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>r+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return A.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),A.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Ne.compositionend(n,e),20),!1};const ha=new Set;function tm(n){ha.has(n)||(ha.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const ca=["pre-wrap","normal","pre-line","break-spaces"];let yi=!1;function fa(){yi=!1}class im{constructor(e){this.lineWrapping=e,this.doc=V.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return ca.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=i,this.textHeight=s,this.lineLength=r,a){this.heightSamples={};for(let h=0;h0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ts&&(yi=!0),this.height=e)}replace(e,t,i){return ve.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,s){let r=this,o=i.doc;for(let l=s.length-1;l>=0;l--){let{fromA:a,toA:h,fromB:c,toB:f}=s[l],u=r.lineAt(a,G.ByPosNoHeight,i.setDoc(t),0,0),d=u.to>=h?u:r.lineAt(h,G.ByPosNoHeight,i,0,0);for(f+=d.to-h,h=d.to;l>0&&u.from<=s[l-1].toA;)a=s[l-1].fromA,c=s[l-1].fromB,l--,ar*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),i+=1+l.break,s-=l.size}else if(r>s*2){let l=e[i];l.break?e.splice(i,1,l.left,null,l.right):e.splice(i,1,l.left,l.right),i+=2+l.break,r-=l.size}else break;else if(s=r&&o(this.blockAt(0,i,s,r))}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class qe extends sf{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,s){return new Je(s,this.length,i,this.height,this.breaks)}replace(e,t,i){let s=i[0];return i.length==1&&(s instanceof qe||s instanceof pe&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof pe?s=new qe(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):ve.of(i)}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more?this.setHeight(s.heights[s.index++]):(i||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class pe extends ve{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,r=s-i+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*r);o=a/r,this.length>r+1&&(l=(this.height-a)/(this.length-r-1))}else o=this.height/r;return{firstLine:i,lastLine:s,perLine:o,perChar:l}}blockAt(e,t,i,s){let{firstLine:r,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(t,s);if(t.lineWrapping){let h=s+(e0){let r=i[i.length-1];r instanceof pe?i[i.length-1]=new pe(r.length+s):i.push(null,new pe(s-1))}if(e>0){let r=i[0];r instanceof pe?i[0]=new pe(e+r.length):i.unshift(new pe(e-1),null)}return ve.of(i)}decomposeLeft(e,t){t.push(new pe(e-1),null)}decomposeRight(e,t){t.push(null,new pe(this.length-e-1))}updateHeight(e,t=0,i=!1,s){let r=t+this.length;if(s&&s.from<=t+this.length&&s.more){let o=[],l=Math.max(t,s.from),a=-1;for(s.from>t&&o.push(new pe(s.from-t-1).updateHeight(e,t));l<=r&&s.more;){let c=e.doc.lineAt(l).length;o.length&&o.push(null);let f=s.heights[s.index++];a==-1?a=f:Math.abs(f-a)>=ts&&(a=-2);let u=new qe(c,f);u.outdated=!1,o.push(u),l+=c+1}l<=r&&o.push(null,new pe(r-l).updateHeight(e,l));let h=ve.of(o);return(a<0||Math.abs(h.height-this.height)>=ts||Math.abs(a-this.heightMetrics(e,t).perLine)>=ts)&&(yi=!0),ms(this,h)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class sm extends ve{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,s){let r=i+this.left.height;return el))return h;let c=t==G.ByPosNoHeight?G.ByPosNoHeight:G.ByPos;return a?h.join(this.right.lineAt(l,c,i,o,l)):this.left.lineAt(l,c,i,s,r).join(h)}forEachLine(e,t,i,s,r,o){let l=s+this.left.height,a=r+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,i,l,a,o);else{let h=this.lineAt(a,G.ByPos,i,s,r);e=e&&h.from<=t&&o(h),t>h.to&&this.right.forEachLine(h.to+1,t,i,l,a,o)}}replace(e,t,i){let s=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,i));let r=[];e>0&&this.decomposeLeft(e,r);let o=r.length;for(let l of i)r.push(l);if(e>0&&ua(r,o-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,s=i+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e2*t.size||t.size>2*e.size?ve.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,s){let{left:r,right:o}=this,l=t+r.length+this.break,a=null;return s&&s.from<=t+r.length&&s.more?a=r=r.updateHeight(e,t,i,s):r.updateHeight(e,t,i),s&&s.from<=l+o.length&&s.more?a=o=o.updateHeight(e,l,i,s):o.updateHeight(e,l,i),a?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function ua(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof pe&&(i=n[e+1])instanceof pe&&n.splice(e-1,3,new pe(t.length+1+i.length))}const rm=5;class jo{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof qe?s.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new qe(i-this.pos,-1)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=rm)&&this.addLineDeco(s,r,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new qe(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new pe(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof qe)return e;let t=new qe(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let s=this.ensureLine();s.length+=i,s.collapsed+=i,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof qe)&&!this.isCovered?this.nodes.push(new qe(0,-1)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&f.overflow!="visible"){let u=c.getBoundingClientRect();r=Math.max(r,u.left),o=Math.min(o,u.right),l=Math.max(l,u.top),a=Math.min(h==n.parentNode?s.innerHeight:a,u.bottom)}h=f.position=="absolute"||f.position=="fixed"?c.offsetParent:c.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:r-t.left,right:Math.max(r,o)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function hm(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function cm(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class or{constructor(e,t,i,s){this.from=e,this.to=t,this.size=i,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new im(t),this.stateDeco=e.facet(Ki).filter(i=>typeof i!="function"),this.heightMap=ve.empty().applyChanges(this.stateDeco,V.empty,this.heightOracle.setDoc(e.doc),[new Ve(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=D.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let s=i?t.head:t.anchor;if(!e.some(({from:r,to:o})=>s>=r&&s<=o)){let{from:r,to:o}=this.lineBlockAt(s);e.push(new Dn(r,o))}}return this.viewports=e.sort((i,s)=>i.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?pa:new Go(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Li(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Ki).filter(c=>typeof c!="function");let s=e.changedRanges,r=Ve.extendWithRanges(s,om(i,this.stateDeco,e?e.changes:ae.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);fa(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=o||yi)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let h=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(h||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(zc)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),s=this.heightOracle,r=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?Z.RTL:Z.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),l=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let h=0,c=0;if(l.width&&l.height){let{scaleX:v,scaleY:x}=uc(t,l);(v>.005&&Math.abs(this.scaleX-v)>.005||x>.005&&Math.abs(this.scaleY-x)>.005)&&(this.scaleX=v,this.scaleY=x,h|=16,o=a=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,u=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=mc(e.scrollDOM);let p=(this.printing?cm:am)(t,this.paddingTop),m=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(a=!0)),!this.inView&&!this.scrollTarget&&!hm(e.dom))return 0;let S=l.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),a){let v=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(v)&&(o=!0),o||s.lineWrapping&&Math.abs(S-this.contentDOMWidth)>s.charWidth){let{lineHeight:x,charWidth:w,textHeight:T}=e.docView.measureTextSize();o=x>0&&s.refresh(r,x,w,T,Math.max(5,S/w),v),o&&(e.docView.minWidth=0,h|=16)}m>0&&g>0?c=Math.max(m,g):m<0&&g<0&&(c=Math.min(m,g)),fa();for(let x of this.viewports){let w=x.from==this.viewport.from?v:e.docView.measureVisibleLineHeights(x);this.heightMap=(o?ve.empty().applyChanges(this.stateDeco,V.empty,this.heightOracle,[new Ve(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new nm(x.from,w))}yi&&(h|=2)}let k=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return k&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),h|=this.updateForViewport()),(h&2||k)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new Dn(s.lineAt(o-i*1e3,G.ByHeight,r,0,0).from,s.lineAt(l+(1-i)*1e3,G.ByHeight,r,0,0).to);if(t){let{head:h}=t.range;if(ha.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=s.lineAt(h,G.ByPos,r,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-c/2:t.y=="start"||t.y=="nearest"&&h=l+Math.max(10,Math.min(i,250)))&&s>o-2*1e3&&r>1,o=s<<1;if(this.defaultTextDirection!=Z.LTR&&!i)return[];let l=[],a=(c,f,u,d)=>{if(f-cc&&yy.from>=u.from&&y.to<=u.to&&Math.abs(y.from-c)y.fromS));if(!g){if(fk.from<=f&&k.to>=f)){let k=t.moveToLineBoundary(b.cursor(f),!1,!0).head;k>c&&(f=k)}let y=this.gapSize(u,c,f,d),S=i||y<2e6?y:2e6;g=new or(c,f,y,S)}l.push(g)},h=c=>{if(c.length2e6)for(let w of e)w.from>=c.from&&w.fromc.from&&a(c.from,d,c,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];F.spans(t,this.viewport.from,this.viewport.to,{span(r,o){i.push({from:r,to:o})},point(){}},20);let s=0;if(i.length!=this.visibleRanges.length)s=12;else for(let r=0;r=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Li(this.heightMap.lineAt(e,G.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Li(this.heightMap.lineAt(this.scaler.fromDOM(e),G.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Li(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Dn{constructor(e,t){this.from=e,this.to=t}}function um(n,e,t){let i=[],s=n,r=0;return F.spans(t,n,e,{span(){},point(o,l){o>s&&(i.push({from:s,to:o}),r+=o-s),s=l}},20),s=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let s=0;;s++){let{from:r,to:o}=e[s],l=o-r;if(i<=l)return r+i;i-=l}}function qn(n,e){let t=0;for(let{from:i,to:s}of n.ranges){if(e<=s){t+=e-i;break}t+=s-i}return t/n.total}function dm(n,e){for(let t of n)if(e(t))return t}const pa={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Go{constructor(e,t,i){let s=0,r=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let h=t.lineAt(l,G.ByPos,e,0,0).top,c=t.lineAt(a,G.ByPos,e,0,0).bottom;return s+=c-h,{from:l,to:a,top:h,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let l of this.viewports)l.domTop=o+(l.top-r)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),r=l.bottom}toDOM(e){for(let t=0,i=0,s=0;;t++){let r=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}}function Li(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new Je(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(s=>Li(s,e)):n._content)}const $n=M.define({combine:n=>n.join(" ")}),ho=M.define({combine:n=>n.indexOf(!0)>-1}),co=mi.newName(),rf=mi.newName(),of=mi.newName(),lf={"&light":"."+rf,"&dark":"."+of};function fo(n,e,t){return new mi(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,s=>{if(s=="&")return n;if(!t||!t[s])throw new RangeError(`Unsupported selector: ${s}`);return t[s]}):n+" "+i}})}const pm=fo("."+co,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},lf),mm={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},lr=A.ie&&A.ie_version<=11;class gm{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Yd,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(A.ie&&A.ie_version<=11||A.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&A.android&&e.constructor.EDIT_CONTEXT!==!1&&!(A.chrome&&A.chrome_version<126)&&(this.editContext=new ym(e),e.state.facet(pt)&&(e.contentDOM.editContext=this.editContext.editContext)),lr&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,s=this.selectionRange;if(i.state.facet(pt)?i.root.activeElement!=this.dom:!Kn(this.dom,s))return;let r=s.anchorNode&&i.docView.nearest(s.anchorNode);if(r&&r.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(A.ie&&A.ie_version<=11||A.android&&A.chrome)&&!i.state.selection.main.empty&&s.focusNode&&Fi(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Zi(e.root);if(!t)return!1;let i=A.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Om(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let s=Kn(this.dom,i);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&hi(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,s=!1;for(let r of e){let o=this.readMutation(r);o&&(o.typeOver&&(s=!0),t==-1?{from:t,to:i}=o:(t=Math.min(o.from,t),i=Math.max(o.to,i)))}return{from:t,to:i,typeOver:s}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),s=this.selectionChanged&&Kn(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new qp(this.view,e,t,i);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,s=jc(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let i=ma(t,e.previousSibling||e.target.previousSibling,-1),s=ma(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(pt)!=e.state.facet(pt)&&(e.view.contentDOM.editContext=e.state.facet(pt)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function ma(n,e,t){for(;e;){let i=_.get(e);if(i&&i.parent==n)return i;let s=e.parentNode;e=s!=n.dom?s:t>0?e.nextSibling:e.previousSibling}return null}function ga(n,e){let t=e.startContainer,i=e.startOffset,s=e.endContainer,r=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor);return Fi(o.node,o.offset,s,r)&&([t,i,s,r]=[s,r,t,i]),{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:r}}function Om(n,e){if(e.getComposedRanges){let s=e.getComposedRanges(n.root)[0];if(s)return ga(n,s)}let t=null;function i(s){s.preventDefault(),s.stopImmediatePropagation(),t=s.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?ga(n,t):null}class ym{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let s=e.state.selection.main,{anchor:r,head:o}=s,l=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1});let h={from:l,to:a,insert:V.of(i.text.split(` +`))};if(h.from==this.from&&rthis.to&&(h.to=r),h.from==h.to&&!h.insert.length){let c=b.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));c.main.eq(s)||e.dispatch({selection:c,userEvent:"select"});return}if((A.mac||A.android)&&h.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:l,to:a,insert:V.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let c=this.to-this.from+(h.to-h.from+h.insert.length);Ho(e,h,b.single(this.toEditorPos(i.selectionStart,c),this.toEditorPos(i.selectionEnd,c)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=i=>{let s=[],r=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o{let s=[];for(let r of i.getTextFormats()){let o=r.underlineStyle,l=r.underlineThickness;if(o!="None"&&l!="None"){let a=this.toEditorPos(r.rangeStart),h=this.toEditorPos(r.rangeEnd);if(a{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let s=Zi(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,s=this.pendingContextChange;return e.changes.iterChanges((r,o,l,a,h)=>{if(i)return;let c=h.length-(o-r);if(s&&o>=s.to)if(s.from==r&&s.to==o&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=c,this.to+=c;return}else s=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(rthis.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),h.toString()),this.to+=c}t+=c}),s&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Q{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(s=>s.forEach(r=>i(r,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Kd(e.parent)||document,this.viewState=new da(e.state||I.create(e)),e.scrollTo&&e.scrollTo.is(An)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(ri).map(s=>new nr(s));for(let s of this.plugins)s.update(this);this.observer=new gm(this),this.inputState=new zp(this),this.inputState.ensureHandlers(this.plugins),this.docView=new jl(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof oe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,s,r=this.state;for(let u of e){if(u.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=u.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,l=0,a=null;e.some(u=>u.annotation(ef))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=tf(r,o),a||(l=1));let h=this.observer.delayedAndroidKey,c=null;if(h?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(c=null)):this.observer.clear(),r.facet(I.phrases)!=this.state.facet(I.phrases))return this.setState(r);s=ps.create(this,r,e),s.flags|=l;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:d}=u.state.selection;f=new ci(d.empty?d:b.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of u.effects)d.is(An)&&(f=d.value.clip(this.state))}this.viewState.update(s,f),this.bidiCache=gs.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),t=this.docView.update(s),this.state.facet($i)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet($n)!=s.state.facet($n)&&(this.viewState.mustMeasureContent=!0),(t||i||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!s.empty)for(let u of this.state.facet(ro))try{u(s)}catch(d){Ae(this.state,d,"update listener")}(a||c)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),c&&!jc(this,c)&&h.force&&hi(this.contentDOM,h.key,h.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new da(e),this.plugins=e.facet(ri).map(i=>new nr(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new jl(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(ri),i=e.state.facet(ri);if(t!=i){let s=[];for(let r of i){let o=t.indexOf(r);if(o<0)s.push(new nr(r));else{let l=this.plugins[o];l.mustUpdate=e,s.push(l)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,s=i.scrollTop*this.scaleY,{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(mc(i))r=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(s);r=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];a&4||([this.measureRequests,h]=[h,this.measureRequests]);let c=h.map(d=>{try{return d.read(this)}catch(p){return Ae(this.state,p),Oa}}),f=ps.create(this,this.state,[]),u=!1;f.flags|=a,t?t.flags|=a:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let d=0;d1||p<-1){s=s+p,i.scrollTop=s/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(ro))l(t)}get themeClasses(){return co+" "+(this.state.facet(ho)?of:rf)+" "+this.state.facet($n)}updateAttrs(){let e=ya(this,Nc,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(pt)?"true":"false",class:"cm-content",style:`${A.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ya(this,Xo,t);let i=this.observer.ignore(()=>{let s=eo(this.contentDOM,this.contentAttrs,t),r=eo(this.dom,this.editorAttrs,e);return s||r});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let s of i.effects)if(s.is(Q.announce)){t&&(this.announceDOM.textContent=""),t=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet($i);let e=this.state.facet(Q.cspNonce);mi.mount(this.root,this.styleModules.concat(pm).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ti.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return rr(this,e,Jl(this,e,t,i))}moveByGroup(e,t){return rr(this,e,Jl(this,e,t,i=>Mp(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),s=this.textDirectionAt(e.from),r=i[t?i.length-1:0];return b.cursor(r.side(t,s)+e.from,r.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,i=!0){return Ap(this,e,t,i)}moveVertically(e,t,i){return rr(this,e,Rp(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Hc(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let s=this.state.doc.lineAt(e),r=this.bidiSpans(s),o=r[Pt.find(r,e-s.from,-1,t)];return Ls(i,o.dir==Z.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Wc)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>bm)return Mc(e.length);let t=this.textDirectionAt(e.from),i;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||Ac(r.isolates,i=Hl(this,e))))return r.order;i||(i=Hl(this,e));let s=dp(e.text,t,i);return this.bidiCache.push(new gs(e.from,e.to,t,i,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||A.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{dc(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return An.of(new ci(typeof e=="number"?b.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return An.of(new ci(b.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return le.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return le.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=mi.newName(),s=[$n.of(i),$i.of(fo(`.${i}`,e))];return t&&t.dark&&s.push(ho.of(!0)),s}static baseTheme(e){return Et.lowest($i.of(fo("."+co,e,lf)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),s=i&&_.get(i)||_.get(e);return((t=s?.rootView)===null||t===void 0?void 0:t.view)||null}}Q.styleModule=$i;Q.inputHandler=Bc;Q.clipboardInputFilter=No;Q.clipboardOutputFilter=Fo;Q.scrollHandler=Ic;Q.focusChangeEffect=Lc;Q.perLineTextDirection=Wc;Q.exceptionSink=$c;Q.updateListener=ro;Q.editable=pt;Q.mouseSelectionStyle=qc;Q.dragMovesSelection=Ec;Q.clickAddsSelectionRange=Dc;Q.decorations=Ki;Q.outerDecorations=Fc;Q.atomicRanges=_o;Q.bidiIsolatedRanges=Xc;Q.scrollMargins=_c;Q.darkTheme=ho;Q.cspNonce=M.define({combine:n=>n.length?n[0]:""});Q.contentAttributes=Xo;Q.editorAttributes=Nc;Q.lineWrapping=Q.contentAttributes.of({class:"cm-lineWrapping"});Q.announce=L.define();const bm=4096,Oa={};class gs{constructor(e,t,i,s,r,o){this.from=e,this.to=t,this.dir=i,this.isolates=s,this.fresh=r,this.order=o}static update(e,t){if(t.empty&&!e.some(r=>r.fresh))return e;let i=[],s=e.length?e[e.length-1].dir:Z.LTR;for(let r=Math.max(0,e.length-10);r=0;s--){let r=i[s],o=typeof r=="function"?r(n):r;o&&Jr(o,t)}return t}const xm=A.mac?"mac":A.windows?"win":A.linux?"linux":"key";function Sm(n,e){const t=n.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let s,r,o,l;for(let a=0;ai.concat(s),[]))),t}function wm(n,e,t){return hf(af(n.state),e,n,t)}let vt=null;const vm=4e3;function Tm(n,e=xm){let t=Object.create(null),i=Object.create(null),s=(o,l)=>{let a=i[o];if(a==null)i[o]=l;else if(a!=l)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},r=(o,l,a,h,c)=>{var f,u;let d=t[o]||(t[o]=Object.create(null)),p=l.split(/ (?!$)/).map(y=>Sm(y,e));for(let y=1;y{let v=vt={view:k,prefix:S,scope:o};return setTimeout(()=>{vt==v&&(vt=null)},vm),!0}]})}let m=p.join(" ");s(m,!1);let g=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=d._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});a&&g.run.push(a),h&&(g.preventDefault=!0),c&&(g.stopPropagation=!0)};for(let o of n){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let h of l){let c=t[h]||(t[h]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in c)c[u].run.push(d=>f(d,uo))}let a=o[e]||o.key;if(a)for(let h of l)r(h,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&r(h,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return t}let uo=null;function hf(n,e,t,i){uo=e;let s=Hd(e),r=Ce(s,0),o=Ke(r)==s.length&&s!=" ",l="",a=!1,h=!1,c=!1;vt&&vt.view==t&&vt.scope==i&&(l=vt.prefix+" ",Zc.indexOf(e.keyCode)<0&&(h=!0,vt=null));let f=new Set,u=g=>{if(g){for(let y of g.run)if(!f.has(y)&&(f.add(y),y(t)))return g.stopPropagation&&(c=!0),!0;g.preventDefault&&(g.stopPropagation&&(c=!0),h=!0)}return!1},d=n[i],p,m;return d&&(u(d[l+Bn(s,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(A.windows&&e.ctrlKey&&e.altKey)&&!(A.mac&&e.altKey&&!e.ctrlKey)&&(p=At[e.keyCode])&&p!=s?(u(d[l+Bn(p,e,!0)])||e.shiftKey&&(m=Gi[e.keyCode])!=s&&m!=p&&u(d[l+Bn(m,e,!1)]))&&(a=!0):o&&e.shiftKey&&u(d[l+Bn(s,e,!0)])&&(a=!0),!a&&u(d._any)&&(a=!0)),h&&(a=!0),a&&c&&e.stopPropagation(),uo=null,a}class mn{constructor(e,t,i,s,r){this.className=e,this.left=t,this.top=i,this.width=s,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let s=e.coordsAtPos(i.head,i.assoc||1);if(!s)return[];let r=cf(e);return[new mn(t,s.left-r.left,s.top-r.top,null,s.bottom-s.top)]}else return Cm(e,t,i)}}function cf(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Z.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function xa(n,e,t,i){let s=n.coordsAtPos(e,t*2);if(!s)return i;let r=n.dom.getBoundingClientRect(),o=(s.top+s.bottom)/2,l=n.posAtCoords({x:r.left+1,y:o}),a=n.posAtCoords({x:r.right-1,y:o});return l==null||a==null?i:{from:Math.max(i.from,Math.min(l,a)),to:Math.min(i.to,Math.max(l,a))}}function Cm(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),s=Math.min(t.to,n.viewport.to),r=n.textDirection==Z.LTR,o=n.contentDOM,l=o.getBoundingClientRect(),a=cf(n),h=o.querySelector(".cm-line"),c=h&&window.getComputedStyle(h),f=l.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),u=l.right-(c?parseInt(c.paddingRight):0),d=lo(n,i,1),p=lo(n,s,-1),m=d.type==we.Text?d:null,g=p.type==we.Text?p:null;if(m&&(n.lineWrapping||d.widgetLineBreaks)&&(m=xa(n,i,1,m)),g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=xa(n,s,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return S(k(t.from,t.to,m));{let x=m?k(t.from,null,m):v(d,!1),w=g?k(null,t.to,g):v(p,!0),T=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&x.bottom+n.defaultLineHeight/2C&&q.from=ee)break;Se>N&&$(Math.max(ie,N),x==null&&ie<=C,Math.min(Se,ee),w==null&&Se>=E,te.dir)}if(N=K.to+1,N>=ee)break}return R.length==0&&$(C,x==null,E,w==null,n.textDirection),{top:B,bottom:W,horizontal:R}}function v(x,w){let T=l.top+(w?x.top:x.bottom);return{top:T,bottom:T,horizontal:[]}}}function Pm(n,e){return n.constructor==e.constructor&&n.eq(e)}class Qm{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(is)!=e.state.facet(is)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(is);for(;t!Pm(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[i].constructor&&s.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(s.draw(),t);for(;t;){let s=t.nextSibling;t.remove(),t=s}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const is=M.define();function ff(n){return[le.define(e=>new Qm(e,n)),is.of(n)]}const Ji=M.define({combine(n){return ot(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Am(n={}){return[Ji.of(n),Mm,Rm,Dm,zc.of(!0)]}function uf(n){return n.startState.facet(Ji)!=n.state.facet(Ji)}const Mm=ff({above:!0,markers(n){let{state:e}=n,t=e.facet(Ji),i=[];for(let s of e.selection.ranges){let r=s==e.selection.main;if(s.empty||t.drawRangeCursor){let o=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=s.empty?s:b.cursor(s.head,s.head>s.anchor?-1:1);for(let a of mn.forRange(n,o,l))i.push(a)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=uf(n);return t&&Sa(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Sa(e.state,n)},class:"cm-cursorLayer"});function Sa(n,e){e.style.animationDuration=n.facet(Ji).cursorBlinkRate+"ms"}const Rm=ff({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:mn.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||uf(n)},class:"cm-selectionLayer"}),Dm=Et.highest(Q.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),df=L.define({map(n,e){return n==null?null:e.mapPos(n)}}),Wi=ue.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(df)?i.value:t,n)}}),Em=le.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(Wi);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(Wi)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(Wi),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(Wi)!=n&&this.view.dispatch({effects:df.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function qm(){return[Wi,Em]}function ka(n,e,t,i,s){e.lastIndex=0;for(let r=n.iterRange(t,i),o=t,l;!r.next().done;o+=r.value.length)if(!r.lineBreak)for(;l=e.exec(r.value);)s(o+l.index,l)}function $m(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let i=[];for(let{from:s,to:r}of t)s=Math.max(n.state.doc.lineAt(s).from,s-e),r=Math.min(n.state.doc.lineAt(r).to,r+e),i.length&&i[i.length-1].to>=s?i[i.length-1].to=r:i.push({from:s,to:r});return i}class Bm{constructor(e){const{regexp:t,decoration:i,decorate:s,boundary:r,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(l,a,h,c)=>s(c,h,h+l[0].length,l,a);else if(typeof i=="function")this.addMatch=(l,a,h,c)=>{let f=i(l,a,h);f&&c(h,h+l[0].length,f)};else if(i)this.addMatch=(l,a,h,c)=>c(h,h+l[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=r,this.maxLength=o}createDeco(e){let t=new gt,i=t.add.bind(t);for(let{from:s,to:r}of $m(e,this.maxLength))ka(e.state.doc,this.regexp,s,r,(o,l)=>this.addMatch(l,e,o,i));return t.finish()}updateDeco(e,t){let i=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((r,o,l,a)=>{a>=e.view.viewport.from&&l<=e.view.viewport.to&&(i=Math.min(l,i),s=Math.max(a,s))}),e.viewportMoved||s-i>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),i,s):t}updateRange(e,t,i,s){for(let r of e.visibleRanges){let o=Math.max(r.from,i),l=Math.min(r.to,s);if(l>=o){let a=e.state.doc.lineAt(o),h=a.toa.from;o--)if(this.boundary.test(a.text[o-1-a.from])){c=o;break}for(;lu.push(y.range(m,g));if(a==h)for(this.regexp.lastIndex=c-a.from;(d=this.regexp.exec(a.text))&&d.indexthis.addMatch(g,e,m,p));t=t.update({filterFrom:c,filterTo:f,filter:(m,g)=>mf,add:u})}}return t}}const po=/x/.unicode!=null?"gu":"g",Lm=new RegExp(`[\0-\b +--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,po),Wm={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let ar=null;function zm(){var n;if(ar==null&&typeof document<"u"&&document.body){let e=document.body.style;ar=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return ar||!1}const ns=M.define({combine(n){let e=ot(n,{render:null,specialChars:Lm,addSpecialChars:null});return(e.replaceTabs=!zm())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,po)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,po)),e}});function Im(n={}){return[ns.of(n),Vm()]}let wa=null;function Vm(){return wa||(wa=le.fromClass(class{constructor(n){this.view=n,this.decorations=D.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(ns)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Bm({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:s}=t.state,r=Ce(e[0],0);if(r==9){let o=s.lineAt(i),l=t.state.tabSize,a=Ti(o.text,l,i-o.from);return D.replace({widget:new _m((l-a%l)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=D.replace({widget:new Xm(n,r)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(ns);n.startState.facet(ns)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const Nm="•";function Fm(n){return n>=32?Nm:n==10?"␤":String.fromCharCode(9216+n)}class Xm extends xt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Fm(this.code),i=e.state.phrase("Control character")+" "+(Wm[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,t);if(s)return s;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class _m extends xt{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Um(){return jm}const Hm=D.line({class:"cm-activeLine"}),jm=le.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let s=n.lineBlockAt(i.head);s.from>e&&(t.push(Hm.range(s.from)),e=s.from)}return D.set(t)}},{decorations:n=>n.decorations}),mo=2e3;function Gm(n,e,t){let i=Math.min(e.line,t.line),s=Math.max(e.line,t.line),r=[];if(e.off>mo||t.off>mo||e.col<0||t.col<0){let o=Math.min(e.off,t.off),l=Math.max(e.off,t.off);for(let a=i;a<=s;a++){let h=n.doc.line(a);h.length<=l&&r.push(b.range(h.from+o,h.to+l))}}else{let o=Math.min(e.col,t.col),l=Math.max(e.col,t.col);for(let a=i;a<=s;a++){let h=n.doc.line(a),c=Ur(h.text,o,n.tabSize,!0);if(c<0)r.push(b.cursor(h.to));else{let f=Ur(h.text,l,n.tabSize);r.push(b.range(h.from+c,h.from+f))}}}return r}function Zm(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function va(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),s=t-i.from,r=s>mo?-1:s==i.length?Zm(n,e.clientX):Ti(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:r,off:s}}function Ym(n,e){let t=va(n,e),i=n.state.selection;return t?{update(s){if(s.docChanged){let r=s.changes.mapPos(s.startState.doc.line(t.line).from),o=s.state.doc.lineAt(r);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(s.changes)}},get(s,r,o){let l=va(n,s);if(!l)return i;let a=Gm(n.state,t,l);return a.length?o?b.create(a.concat(i.ranges)):b.create(a):i}}:null}function Km(n){let e=t=>t.altKey&&t.button==0;return Q.mouseSelectionStyle.of((t,i)=>e(i)?Ym(t,i):null)}const Jm={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},eg={style:"cursor: crosshair"};function tg(n={}){let[e,t]=Jm[n.key||"Alt"],i=le.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||t(s))},keyup(s){(s.keyCode==e||!t(s))&&this.set(!1)},mousemove(s){this.set(t(s))}}});return[i,Q.contentAttributes.of(s=>{var r;return!((r=s.plugin(i))===null||r===void 0)&&r.isDown?eg:null})]}const Ri="-10000px";class pf{constructor(e,t,i,s){this.facet=t,this.createTooltipView=i,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let r=null;this.tooltipViews=this.tooltips.map(o=>r=i(o,r))}update(e,t){var i;let s=e.state.facet(this.facet),r=s.filter(a=>a);if(s===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let o=[],l=t?[]:null;for(let a=0;at[h]=a),t.length=l.length),this.input=s,this.tooltips=r,this.tooltipViews=o,!0}}function ig(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const hr=M.define({combine:n=>{var e,t,i;return{position:A.ios?"absolute":((e=n.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(s=>s.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=n.find(s=>s.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||ig}}}),Ta=new WeakMap,Zo=le.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(hr);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new pf(n,Yo,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,i=n.state.facet(hr);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",t.dom.appendChild(s)}return t.dom.style.position=this.position,t.dom.style.top=Ri,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(n=i.destroy)===null||n===void 0||n.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:r}=this.manager.tooltipViews[0];if(A.gecko)t=r.offsetParent!=this.container.ownerDocument.body;else if(r.style.top==Ri&&r.style.left=="0px"){let o=r.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}}if(t||this.position=="absolute")if(this.parent){let r=this.parent.getBoundingClientRect();r.width&&r.height&&(n=r.width/this.parent.offsetWidth,e=r.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),s=Uo(this.view);return{visible:{left:i.left+s.left,top:i.top+s.top,right:i.right-s.right,bottom:i.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((r,o)=>{let l=this.manager.tooltipViews[o];return l.getCoords?l.getCoords(r.pos):this.view.coordsAtPos(r.pos)}),size:this.manager.tooltipViews.map(({dom:r})=>r.getBoundingClientRect()),space:this.view.state.facet(hr).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let l of this.manager.tooltipViews)l.dom.style.position="absolute"}let{visible:t,space:i,scaleX:s,scaleY:r}=n,o=[];for(let l=0;l=Math.min(t.bottom,i.bottom)||f.rightMath.min(t.right,i.right)+.1)){c.style.top=Ri;continue}let d=a.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,p=d?7:0,m=u.right-u.left,g=(e=Ta.get(h))!==null&&e!==void 0?e:u.bottom-u.top,y=h.offset||sg,S=this.view.textDirection==Z.LTR,k=u.width>i.right-i.left?S?i.left:i.right-u.width:S?Math.max(i.left,Math.min(f.left-(d?14:0)+y.x,i.right-m)):Math.min(Math.max(i.left,f.left-m+(d?14:0)-y.x),i.right-m),v=this.above[l];!a.strictSide&&(v?f.top-g-p-y.yi.bottom)&&v==i.bottom-f.bottom>f.top-i.top&&(v=this.above[l]=!v);let x=(v?f.top-i.top:i.bottom-f.bottom)-p;if(xk&&B.topw&&(w=v?B.top-g-2-p:B.bottom+p+2);if(this.position=="absolute"?(c.style.top=(w-n.parent.top)/r+"px",Ca(c,(k-n.parent.left)/s)):(c.style.top=w/r+"px",Ca(c,k/s)),d){let B=f.left+(S?y.x:-y.x)-(k+14-7);d.style.left=B/s+"px"}h.overlap!==!0&&o.push({left:k,top:w,right:T,bottom:w+g}),c.classList.toggle("cm-tooltip-above",v),c.classList.toggle("cm-tooltip-below",!v),h.positioned&&h.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=Ri}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Ca(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const ng=Q.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),sg={x:0,y:0},Yo=M.define({enables:[Zo,ng]}),Os=M.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Is{static create(e){return new Is(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new pf(e,Os,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let s=i[e];if(s!==void 0){if(t===void 0)t=s;else if(t!==s)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const rg=Yo.compute([Os],n=>{let e=n.facet(Os);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:Is.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class og{constructor(e,t,i,s,r){this.view=e,this.source=t,this.field=i,this.setHover=s,this.hoverTime=r,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;el.bottom||t.xl.right+e.defaultCharacterWidth)return;let a=e.bidiSpans(e.state.doc.lineAt(s)).find(c=>c.from<=s&&c.to>=s),h=a&&a.dir==Z.RTL?-1:1;r=t.x{this.pending==l&&(this.pending=null,a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])}))},a=>Ae(e.state,a,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(Zo),t=e?e.manager.tooltips.findIndex(i=>i.create==Is.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:r}=this;if(s.length&&r&&!lg(r.dom,e)||this.pending){let{pos:o}=s[0]||this.pending,l=(i=(t=s[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:o;(o==l?this.view.posAtCoords(this.lastMove)!=o:!ag(this.view,o,l,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Ln=4;function lg(n,e){let{left:t,right:i,top:s,bottom:r}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let l=o.getBoundingClientRect();s=Math.min(l.top,s),r=Math.max(l.bottom,r)}return e.clientX>=t-Ln&&e.clientX<=i+Ln&&e.clientY>=s-Ln&&e.clientY<=r+Ln}function ag(n,e,t,i,s,r){let o=n.scrollDOM.getBoundingClientRect(),l=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>i||o.rights||Math.min(o.bottom,l)=e&&a<=t}function hg(n,e={}){let t=L.define(),i=ue.define({create(){return[]},update(s,r){if(s.length&&(e.hideOnChange&&(r.docChanged||r.selection)?s=[]:e.hideOn&&(s=s.filter(o=>!e.hideOn(r,o))),r.docChanged)){let o=[];for(let l of s){let a=r.changes.mapPos(l.pos,-1,ge.TrackDel);if(a!=null){let h=Object.assign(Object.create(null),l);h.pos=a,h.end!=null&&(h.end=r.changes.mapPos(h.end)),o.push(h)}}s=o}for(let o of r.effects)o.is(t)&&(s=o.value),o.is(cg)&&(s=[]);return s},provide:s=>Os.from(s)});return{active:i,extension:[i,le.define(s=>new og(s,n,i,t,e.hoverTime||300)),rg]}}function mf(n,e){let t=n.plugin(Zo);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const cg=L.define(),Pa=M.define({combine(n){let e,t;for(let i of n)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function en(n,e){let t=n.plugin(gf),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const gf=le.fromClass(class{constructor(n){this.input=n.state.facet(tn),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(Pa);this.top=new Wn(n,!0,e.topContainer),this.bottom=new Wn(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(Pa);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Wn(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Wn(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(tn);if(t!=this.input){let i=t.filter(a=>a),s=[],r=[],o=[],l=[];for(let a of i){let h=this.specs.indexOf(a),c;h<0?(c=a(n.view),l.push(c)):(c=this.panels[h],c.update&&c.update(n)),s.push(c),(c.top?r:o).push(c)}this.specs=i,this.panels=s,this.top.sync(r),this.bottom.sync(o);for(let a of l)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let i of this.panels)i.update&&i.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Q.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Wn{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Qa(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Qa(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Qa(n){let e=n.nextSibling;return n.remove(),e}const tn=M.define({enables:gf});class yt extends Ht{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}yt.prototype.elementClass="";yt.prototype.toDOM=void 0;yt.prototype.mapMode=ge.TrackBefore;yt.prototype.startSide=yt.prototype.endSide=-1;yt.prototype.point=!0;const ss=M.define(),fg=M.define(),ug={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>F.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},_i=M.define();function dg(n){return[Of(),_i.of({...ug,...n})]}const Aa=M.define({combine:n=>n.some(e=>e)});function Of(n){return[pg]}const pg=le.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(_i).map(e=>new Ra(n,e)),this.fixed=!n.state.facet(Aa);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Aa)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=F.iter(this.view.state.facet(ss),this.view.viewport.from),i=[],s=this.gutters.map(r=>new mg(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(r.type)){let o=!0;for(let l of r.type)if(l.type==we.Text&&o){go(t,i,l.from);for(let a of s)a.line(this.view,l,i);o=!1}else if(l.widget)for(let a of s)a.widget(this.view,l)}else if(r.type==we.Text){go(t,i,r.from);for(let o of s)o.line(this.view,r,i)}else if(r.widget)for(let o of s)o.widget(this.view,r);for(let r of s)r.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(_i),t=n.state.facet(_i),i=n.docChanged||n.heightChanged||n.viewportChanged||!F.eq(n.startState.facet(ss),n.state.facet(ss),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let s of this.gutters)s.update(n)&&(i=!0);else{i=!0;let s=[];for(let r of t){let o=e.indexOf(r);o<0?s.push(new Ra(this.view,r)):(this.gutters[o].update(n),s.push(this.gutters[o]))}for(let r of this.gutters)r.dom.remove(),s.indexOf(r)<0&&r.destroy();for(let r of s)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=s}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Q.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,s=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Z.LTR?{left:i,right:s}:{right:i,left:s}})});function Ma(n){return Array.isArray(n)?n:[n]}function go(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class mg{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:s}=this,r=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==s.elements.length){let l=new yf(e,o,r,i);s.elements.push(l),s.dom.appendChild(l.dom)}else s.elements[this.i].update(e,o,r,i);this.height=t.bottom,this.i++}line(e,t,i){let s=[];go(this.cursor,s,t.from),i.length&&(s=s.concat(i));let r=this.gutter.config.lineMarker(e,t,s);r&&s.unshift(r);let o=this.gutter;s.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,s)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),s=i?[i]:null;for(let r of e.state.facet(fg)){let o=r(e,t.widget,t);o&&(s||(s=[])).push(o)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Ra{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,s=>{let r=s.target,o;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let a=r.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=s.clientY;let l=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[i](e,l,s)&&s.preventDefault()});this.markers=Ma(t.markers(e)),t.initialSpacer&&(this.spacer=new yf(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Ma(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let i=e.view.viewport;return!F.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class yf{constructor(e,t,i,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,s)}update(e,t,i,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),gg(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,t){let i="cm-gutterElement",s=this.dom.firstChild;for(let r=0,o=0;;){let l=o,a=rr(l,a,h)||o(l,a,h):o}return i}})}});class cr extends yt{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function fr(n,e){return n.state.facet(oi).formatNumber(e,n.state)}const bg=_i.compute([oi],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Og)},lineMarker(e,t,i){return i.some(s=>s.toDOM)?null:new cr(fr(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let s of e.state.facet(yg)){let r=s(e,t,i);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(oi)!=e.state.facet(oi),initialSpacer(e){return new cr(fr(e,Da(e.state.doc.lines)))},updateSpacer(e,t){let i=fr(t.view,Da(t.view.state.doc.lines));return i==e.number?e:new cr(i)},domEventHandlers:n.facet(oi).domEventHandlers,side:"before"}));function xg(n={}){return[oi.of(n),Of(),bg]}function Da(n){let e=9;for(;e{let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head).from;s>t&&(t=s,e.push(Sg.range(s)))}return F.of(e)});function wg(){return kg}const bf=1024;let vg=0;class ur{constructor(e,t){this.from=e,this.to=t}}class z{constructor(e={}){this.id=vg++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Te.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}z.closedBy=new z({deserialize:n=>n.split(" ")});z.openedBy=new z({deserialize:n=>n.split(" ")});z.group=new z({deserialize:n=>n.split(" ")});z.isolate=new z({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});z.contextHash=new z({perNode:!0});z.lookAhead=new z({perNode:!0});z.mounted=new z({perNode:!0});class ys{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[z.mounted.id]}}const Tg=Object.create(null);class Te{constructor(e,t,i,s=0){this.name=e,this.props=t,this.id=i,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):Tg,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new Te(e.name||"",t,e.id,i);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(s)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(z.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let s of i.split(" "))t[s]=e[i];return i=>{for(let s=i.prop(z.group),r=-1;r<(s?s.length:0);r++){let o=t[r<0?i.name:s[r]];if(o)return o}}}}Te.none=new Te("",Object.create(null),0,8);class Vs{constructor(e){this.types=e;for(let t=0;t0;for(let a=this.cursor(o|he.IncludeAnonymous);;){let h=!1;if(a.from<=r&&a.to>=s&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:el(Te.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,s)=>new U(this.type,t,i,s,this.propValues),e.makeTree||((t,i,s)=>new U(Te.none,t,i,s)))}static build(e){return Ag(e)}}U.empty=new U(Te.none,[],[],0);class Ko{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Ko(this.buffer,this.index)}}class Rt{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Te.none}toString(){let e=[];for(let t=0;t0));a=o[a+3]);return l}slice(e,t,i){let s=this.buffer,r=new Uint16Array(t-e),o=0;for(let l=e,a=0;l=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function nn(n,e,t,i){for(var s;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?l.length:-1;e!=h;e+=t){let c=l[e],f=a[e]+o.from;if(xf(s,i,f,f+c.length)){if(c instanceof Rt){if(r&he.ExcludeBuffers)continue;let u=c.findChild(0,c.buffer.length,t,i-f,s);if(u>-1)return new tt(new Cg(o,c,e,f),null,u)}else if(r&he.IncludeAnonymous||!c.type.isAnonymous||Jo(c)){let u;if(!(r&he.IgnoreMounts)&&(u=ys.get(c))&&!u.overlay)return new Re(u.tree,f,e,o);let d=new Re(c,f,e,o);return r&he.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?c.children.length-1:0,t,i,s)}}}if(r&he.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,i=0){let s;if(!(i&he.IgnoreOverlays)&&(s=ys.get(this._tree))&&s.overlay){let r=e-this.from;for(let{from:o,to:l}of s.overlay)if((t>0?o<=r:o=r:l>r))return new Re(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function qa(n,e,t,i){let s=n.cursor(),r=[];if(!s.firstChild())return r;if(t!=null){for(let o=!1;!o;)if(o=s.type.is(t),!s.nextSibling())return r}for(;;){if(i!=null&&s.type.is(i))return r;if(s.type.is(e)&&r.push(s.node),!s.nextSibling())return i==null?r:[]}}function Oo(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class Cg{constructor(e,t,i,s){this.parent=e,this.buffer=t,this.index=i,this.start=s}}class tt extends Sf{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,i);return r<0?null:new tt(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){if(i&he.ExcludeBuffers)return null;let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new tt(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new tt(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new tt(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,s=this.index+4,r=i.buffer[this.index+3];if(r>s){let o=i.buffer[this.index+1];e.push(i.slice(s,r,o)),t.push(0)}return new U(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function kf(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let l=new Re(o.tree,o.overlay[0].from+r.from,-1,r);(s||(s=[i])).push(nn(l,e,t,!1))}}return s?kf(s):i}class yo{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Re)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:s}=this.buffer;return this.type=t||s.set.types[s.buffer[e]],this.from=i+s.buffer[e+1],this.to=i+s.buffer[e+2],!0}yield(e){return e?e instanceof Re?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:s}=this.buffer,r=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.buffer.start,i);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&he.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&he.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&he.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let s=i<0?0:this.stack[i]+4;if(this.index!=s)return this.yieldBuf(t.findChild(s,this.index,-1,0,4))}else{let s=t.buffer[this.index+3];if(s<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(s)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:s}=this;if(s){if(e>0){if(this.index-1)for(let r=t+e,o=e<0?-1:i._tree.children.length;r!=o;r+=e){let l=i._tree.children[r];if(this.mode&he.IncludeAnonymous||l instanceof Rt||!l.type.isAnonymous||Jo(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==s){if(s==this.index)return o;t=o,i=r+1;break e}s=this.stack[--r]}for(let s=i;s=0;r--){if(r<0)return Oo(this._tree,e,s);let o=i[t.buffer[this.stack[r]]];if(!o.isAnonymous){if(e[s]&&e[s]!=o.name)return!1;s--}}return!0}}function Jo(n){return n.children.some(e=>e instanceof Rt||!e.type.isAnonymous||Jo(e))}function Ag(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:s=bf,reused:r=[],minRepeatType:o=i.types.length}=n,l=Array.isArray(t)?new Ko(t,t.length):t,a=i.types,h=0,c=0;function f(x,w,T,B,W,R){let{id:$,start:C,end:E,size:q}=l,N=c,ee=h;for(;q<0;)if(l.next(),q==-1){let H=r[$];T.push(H),B.push(C-x);return}else if(q==-3){h=$;return}else if(q==-4){c=$;return}else throw new RangeError(`Unrecognized record size: ${q}`);let K=a[$],te,ie,Se=C-x;if(E-C<=s&&(ie=g(l.pos-w,W))){let H=new Uint16Array(ie.size-ie.skip),ke=l.pos-ie.size,ne=H.length;for(;l.pos>ke;)ne=y(ie.start,H,ne);te=new Rt(H,E-ie.start,i),Se=ie.start-x}else{let H=l.pos-q;l.next();let ke=[],ne=[],se=$>=o?$:-1,ei=0,Sn=E;for(;l.pos>H;)se>=0&&l.id==se&&l.size>=0?(l.end<=Sn-s&&(p(ke,ne,C,ei,l.end,Sn,se,N,ee),ei=ke.length,Sn=l.end),l.next()):R>2500?u(C,H,ke,ne):f(C,H,ke,ne,se,R+1);if(se>=0&&ei>0&&ei-1&&ei>0){let Tl=d(K,ee);te=el(K,ke,ne,0,ke.length,0,E-C,Tl,Tl)}else te=m(K,ke,ne,E-C,N-E,ee)}T.push(te),B.push(Se)}function u(x,w,T,B){let W=[],R=0,$=-1;for(;l.pos>w;){let{id:C,start:E,end:q,size:N}=l;if(N>4)l.next();else{if($>-1&&E<$)break;$<0&&($=q-s),W.push(C,E,q),R++,l.next()}}if(R){let C=new Uint16Array(R*4),E=W[W.length-2];for(let q=W.length-3,N=0;q>=0;q-=3)C[N++]=W[q],C[N++]=W[q+1]-E,C[N++]=W[q+2]-E,C[N++]=N;T.push(new Rt(C,W[2]-E,i)),B.push(E-x)}}function d(x,w){return(T,B,W)=>{let R=0,$=T.length-1,C,E;if($>=0&&(C=T[$])instanceof U){if(!$&&C.type==x&&C.length==W)return C;(E=C.prop(z.lookAhead))&&(R=B[$]+C.length+E)}return m(x,T,B,W,R,w)}}function p(x,w,T,B,W,R,$,C,E){let q=[],N=[];for(;x.length>B;)q.push(x.pop()),N.push(w.pop()+T-W);x.push(m(i.types[$],q,N,R-W,C-R,E)),w.push(W-T)}function m(x,w,T,B,W,R,$){if(R){let C=[z.contextHash,R];$=$?[C].concat($):[C]}if(W>25){let C=[z.lookAhead,W];$=$?[C].concat($):[C]}return new U(x,w,T,B,$)}function g(x,w){let T=l.fork(),B=0,W=0,R=0,$=T.end-s,C={size:0,start:0,skip:0};e:for(let E=T.pos-x;T.pos>E;){let q=T.size;if(T.id==w&&q>=0){C.size=B,C.start=W,C.skip=R,R+=4,B+=4,T.next();continue}let N=T.pos-q;if(q<0||N=o?4:0,K=T.start;for(T.next();T.pos>N;){if(T.size<0)if(T.size==-3)ee+=4;else break e;else T.id>=o&&(ee+=4);T.next()}W=K,B+=q,R+=ee}return(w<0||B==x)&&(C.size=B,C.start=W,C.skip=R),C.size>4?C:void 0}function y(x,w,T){let{id:B,start:W,end:R,size:$}=l;if(l.next(),$>=0&&B4){let E=l.pos-($-4);for(;l.pos>E;)T=y(x,w,T)}w[--T]=C,w[--T]=R-x,w[--T]=W-x,w[--T]=B}else $==-3?h=B:$==-4&&(c=B);return T}let S=[],k=[];for(;l.pos>0;)f(n.start||0,n.bufferStart||0,S,k,-1,0);let v=(e=n.length)!==null&&e!==void 0?e:S.length?k[0]+S[0].length:0;return new U(a[n.topID],S.reverse(),k.reverse(),v)}const $a=new WeakMap;function rs(n,e){if(!n.isAnonymous||e instanceof Rt||e.type!=n)return 1;let t=$a.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof U)){t=1;break}t+=rs(n,i)}$a.set(e,t)}return t}function el(n,e,t,i,s,r,o,l,a){let h=0;for(let p=i;p=c)break;w+=T}if(k==v+1){if(w>c){let T=p[v];d(T.children,T.positions,0,T.children.length,m[v]+S);continue}f.push(p[v])}else{let T=m[k-1]+p[k-1].length-x;f.push(el(n,p,m,v,k,x,T,null,a))}u.push(x+S-r)}}return d(e,t,i,s,0),(l||a)(f,u,o)}class Mg{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let s=this.map.get(e);s||this.map.set(e,s=new Map),s.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof tt?this.setBuffer(e.context.buffer,e.index,t):e instanceof Re&&this.map.set(e.tree,t)}get(e){return e instanceof tt?this.getBuffer(e.context.buffer,e.index):e instanceof Re?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class _t{constructor(e,t,i,s,r=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=s,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let s=[new _t(0,e.length,e,0,!1,i)];for(let r of t)r.to>e.length&&s.push(r);return s}static applyChanges(e,t,i=128){if(!t.length)return e;let s=[],r=1,o=e.length?e[0]:null;for(let l=0,a=0,h=0;;l++){let c=l=i)for(;o&&o.from=u.from||f<=u.to||h){let d=Math.max(u.from,a)-h,p=Math.min(u.to,f)-h;u=d>=p?null:new _t(d,p,u.tree,u.offset+h,l>0,!!c)}if(u&&s.push(u),o.to>f)break;o=rnew ur(s.from,s.to)):[new ur(0,0)]:[new ur(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let s=this.startParse(e,t,i);for(;;){let r=s.advance();if(r)return r}}}class Rg{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new z({perNode:!0});let Dg=0;class Le{constructor(e,t,i,s){this.name=e,this.set=t,this.base=i,this.modified=s,this.id=Dg++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof Le&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let s=new Le(i,[],null,[]);if(s.set.push(s),t)for(let r of t.set)s.set.push(r);return s}static defineModifier(e){let t=new bs(e);return i=>i.modified.indexOf(t)>-1?i:bs.get(i.base||i,i.modified.concat(t).sort((s,r)=>s.id-r.id))}}let Eg=0;class bs{constructor(e){this.name=e,this.instances=[],this.id=Eg++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(l=>l.base==e&&qg(t,l.modified));if(i)return i;let s=[],r=new Le(e.name,s,e,t);for(let l of t)l.instances.push(r);let o=$g(t);for(let l of e.set)if(!l.modified.length)for(let a of o)s.push(bs.get(l,a));return r}}function qg(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function $g(n){let e=[[]];for(let t=0;ti.length-t.length)}function wf(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let s of t.split(" "))if(s){let r=[],o=2,l=s;for(let f=0;;){if(l=="..."&&f>0&&f+3==s.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!u)throw new RangeError("Invalid path: "+s);if(r.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==s.length)break;let d=s[f++];if(f==s.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+s);l=s.slice(f)}let a=r.length-1,h=r[a];if(!h)throw new RangeError("Invalid path: "+s);let c=new xs(i,o,a>0?r.slice(0,a):null);e[h]=c.sort(e[h])}}return vf.add(e)}const vf=new z;class xs{constructor(e,t,i,s){this.tags=e,this.mode=t,this.context=i,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=s;for(let l of r)for(let a of l.set){let h=t[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:i}}function Bg(n,e){let t=null;for(let i of n){let s=i.style(e);s&&(t=t?t+" "+s:s)}return t}function Lg(n,e,t,i=0,s=n.length){let r=new Wg(i,Array.isArray(e)?e:[e],t);r.highlightRange(n.cursor(),i,s,"",r.highlighters),r.flush(s)}class Wg{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,s,r){let{type:o,from:l,to:a}=e;if(l>=i||a<=t)return;o.isTop&&(r=this.highlighters.filter(d=>!d.scope||d.scope(o)));let h=s,c=zg(e)||xs.empty,f=Bg(r,c.tags);if(f&&(h&&(h+=" "),h+=f,c.mode==1&&(s+=(s?" ":"")+f)),this.startSpan(Math.max(t,l),h),c.opaque)return;let u=e.tree&&e.tree.prop(z.mounted);if(u&&u.overlay){let d=e.node.enter(u.overlay[0].from+l,1),p=this.highlighters.filter(g=>!g.scope||g.scope(u.tree.type)),m=e.firstChild();for(let g=0,y=l;;g++){let S=g=k||!e.nextSibling())););if(!S||k>i)break;y=S.to+l,y>t&&(this.highlightRange(d.cursor(),Math.max(t,S.from+l),Math.min(i,y),"",p),this.startSpan(Math.min(i,y),h))}m&&e.parent()}else if(e.firstChild()){u&&(s="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,s,r),this.startSpan(Math.min(i,e.to),h)}while(e.nextSibling());e.parent()}}}function zg(n){let e=n.type.prop(vf);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const P=Le.define,In=P(),kt=P(),Ba=P(kt),La=P(kt),wt=P(),Vn=P(wt),dr=P(wt),Ze=P(),Lt=P(Ze),je=P(),Ge=P(),bo=P(),Di=P(bo),Nn=P(),O={comment:In,lineComment:P(In),blockComment:P(In),docComment:P(In),name:kt,variableName:P(kt),typeName:Ba,tagName:P(Ba),propertyName:La,attributeName:P(La),className:P(kt),labelName:P(kt),namespace:P(kt),macroName:P(kt),literal:wt,string:Vn,docString:P(Vn),character:P(Vn),attributeValue:P(Vn),number:dr,integer:P(dr),float:P(dr),bool:P(wt),regexp:P(wt),escape:P(wt),color:P(wt),url:P(wt),keyword:je,self:P(je),null:P(je),atom:P(je),unit:P(je),modifier:P(je),operatorKeyword:P(je),controlKeyword:P(je),definitionKeyword:P(je),moduleKeyword:P(je),operator:Ge,derefOperator:P(Ge),arithmeticOperator:P(Ge),logicOperator:P(Ge),bitwiseOperator:P(Ge),compareOperator:P(Ge),updateOperator:P(Ge),definitionOperator:P(Ge),typeOperator:P(Ge),controlOperator:P(Ge),punctuation:bo,separator:P(bo),bracket:Di,angleBracket:P(Di),squareBracket:P(Di),paren:P(Di),brace:P(Di),content:Ze,heading:Lt,heading1:P(Lt),heading2:P(Lt),heading3:P(Lt),heading4:P(Lt),heading5:P(Lt),heading6:P(Lt),contentSeparator:P(Ze),list:P(Ze),quote:P(Ze),emphasis:P(Ze),strong:P(Ze),link:P(Ze),monospace:P(Ze),strikethrough:P(Ze),inserted:P(),deleted:P(),changed:P(),invalid:P(),meta:Nn,documentMeta:P(Nn),annotation:P(Nn),processingInstruction:P(Nn),definition:Le.defineModifier("definition"),constant:Le.defineModifier("constant"),function:Le.defineModifier("function"),standard:Le.defineModifier("standard"),local:Le.defineModifier("local"),special:Le.defineModifier("special")};for(let n in O){let e=O[n];e instanceof Le&&(e.name=n)}Tf([{tag:O.link,class:"tok-link"},{tag:O.heading,class:"tok-heading"},{tag:O.emphasis,class:"tok-emphasis"},{tag:O.strong,class:"tok-strong"},{tag:O.keyword,class:"tok-keyword"},{tag:O.atom,class:"tok-atom"},{tag:O.bool,class:"tok-bool"},{tag:O.url,class:"tok-url"},{tag:O.labelName,class:"tok-labelName"},{tag:O.inserted,class:"tok-inserted"},{tag:O.deleted,class:"tok-deleted"},{tag:O.literal,class:"tok-literal"},{tag:O.string,class:"tok-string"},{tag:O.number,class:"tok-number"},{tag:[O.regexp,O.escape,O.special(O.string)],class:"tok-string2"},{tag:O.variableName,class:"tok-variableName"},{tag:O.local(O.variableName),class:"tok-variableName tok-local"},{tag:O.definition(O.variableName),class:"tok-variableName tok-definition"},{tag:O.special(O.variableName),class:"tok-variableName2"},{tag:O.definition(O.propertyName),class:"tok-propertyName tok-definition"},{tag:O.typeName,class:"tok-typeName"},{tag:O.namespace,class:"tok-namespace"},{tag:O.className,class:"tok-className"},{tag:O.macroName,class:"tok-macroName"},{tag:O.propertyName,class:"tok-propertyName"},{tag:O.operator,class:"tok-operator"},{tag:O.comment,class:"tok-comment"},{tag:O.meta,class:"tok-meta"},{tag:O.invalid,class:"tok-invalid"},{tag:O.punctuation,class:"tok-punctuation"}]);const xo="ͼ",Wa=typeof Symbol>"u"?"__"+xo:Symbol.for(xo),So=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),za=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Ia{constructor(e,t){this.rules=[];let{finish:i}=t||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,l,a,h){let c=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))r(d.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(s(d),p,c,u)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(c.length||u)&&a.push((i&&!f&&!h?o.map(i):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)r(s(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=za[Wa]||1;return za[Wa]=e+1,xo+e.toString(36)}static mount(e,t,i){let s=e[So],r=i&&i.nonce;s?r&&s.setNonce(r):s=new Ig(e,r),s.mount(Array.isArray(t)?t:[t],e)}}let Va=new Map;class Ig{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let r=Va.get(i);if(r)return e[So]=r;this.sheet=new s.CSSStyleSheet,Va.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[So]=this}mount(e,t){let i=this.sheet,s=0,r=0;for(let o=0;o-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;he.concat(n):void 0})}const Vg=new z;class We{constructor(e,t,i=[],s=""){this.data=e,this.name=s,I.prototype.hasOwnProperty("tree")||Object.defineProperty(I.prototype,"tree",{get(){return fe(this)}}),this.parser=t,this.extension=[Dt.of(this),I.languageData.of((r,o,l)=>{let a=Na(r,o,l),h=a.type.prop(Ft);if(!h)return[];let c=r.facet(h),f=a.type.prop(Vg);if(f){let u=a.resolve(o-a.from,l);for(let d of f)if(d.test(u,r)){let p=r.facet(d.facet);return d.type=="replace"?p:p.concat(c)}}return c})].concat(i)}isActiveAt(e,t,i=-1){return Na(e,t,i).type.prop(Ft)==this.data}findRegions(e){let t=e.facet(Dt);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],s=(r,o)=>{if(r.prop(Ft)==this.data){i.push({from:o,to:o+r.length});return}let l=r.prop(z.mounted);if(l){if(l.tree.prop(Ft)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+r.length});return}else if(l.overlay){let a=i.length;if(s(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;ai.isTop?t:void 0)]}),e.name)}configure(e,t){return new Ss(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function fe(n){let e=n.field(We.state,!1);return e?e.tree:U.empty}class Ng{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Ei=null;class xi{constructor(e,t,i=[],s,r,o,l,a){this.parser=e,this.state=t,this.fragments=i,this.tree=s,this.treeLen=r,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new xi(e,t,[],U.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Ng(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=U.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(_t.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ei;Ei=this;try{return e()}finally{Ei=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Fa(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:s,treeLen:r,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((h,c,f,u)=>a.push({fromA:h,toA:c,fromB:f,toB:u})),i=_t.applyChanges(i,a),s=U.empty,r=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let h of this.skipped){let c=e.mapPos(h.from,1),f=e.mapPos(h.to,-1);ce.from&&(this.fragments=Fa(this.fragments,s,r),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends tl{createParse(t,i,s){let r=s[0].from,o=s[s.length-1].to;return{parsedPos:r,advance(){let a=Ei;if(a){for(let h of s)a.tempSkipped.push(h);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new U(Te.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ei}}function Fa(n,e,t){return _t.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Si{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Si(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=xi.create(e.facet(Dt).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Si(i)}}We.state=ue.define({create:Si.init,update(n,e){for(let t of e.effects)if(t.is(We.setState))return t.value;return e.startState.facet(Dt)!=e.state.facet(Dt)?Si.init(e.state):n.apply(e)}});let Pf=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Pf=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const mr=typeof navigator<"u"&&(!((pr=navigator.scheduling)===null||pr===void 0)&&pr.isInputPending)?()=>navigator.scheduling.isInputPending():null,Fg=le.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(We.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(We.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Pf(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnds+1e3,a=r.context.work(()=>mr&&mr()||Date.now()>o,s+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:We.setState.of(new Si(r.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Ae(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Dt=M.define({combine(n){return n.length?n[0]:null},enables:n=>[We.state,Fg,Q.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class Xg{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const _g=M.define(),Ns=M.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Yt(n){let e=n.facet(Ns);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function sn(n,e){let t="",i=n.tabSize,s=n.facet(Ns)[0];if(s==" "){for(;e>=i;)t+=" ",e-=i;s=" "}for(let r=0;r=e?Ug(n,t,e):null}class Fs{constructor(e,t={}){this.state=e,this.options=t,this.unit=Yt(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:r}=this.options;return s!=null&&s>=i.from&&s<=i.to?r&&s==e?{text:"",from:e}:(t<0?s-1&&(r+=o-this.countColumn(i,i.search(/\S|$/))),r}countColumn(e,t=e.length){return Ti(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:s}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let o=r(s);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const nl=new z;function Ug(n,e,t){let i=e.resolveStack(t),s=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(s!=i.node){let r=[];for(let o=s;o&&!(o.fromi.node.to||o.from==i.node.from&&o.type==i.node.type);o=o.parent)r.push(o);for(let o=r.length-1;o>=0;o--)i={node:r[o],next:i}}return Qf(i,n,t)}function Qf(n,e,t){for(let i=n;i;i=i.next){let s=jg(i.node);if(s)return s(sl.create(e,t,i))}return 0}function Hg(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function jg(n){let e=n.type.prop(nl);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(z.closedBy))){let s=n.lastChild,r=s&&i.indexOf(s.name)>-1;return o=>Af(o,!0,1,void 0,r&&!Hg(o)?s.from:void 0)}return n.parent==null?Gg:null}function Gg(){return 0}class sl extends Fs{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new sl(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(Zg(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Qf(this.context.next,this.base,this.pos)}}function Zg(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function Yg(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let s=n.options.simulateBreak,r=n.state.doc.lineAt(t.from),o=s==null||s<=r.from?r.to:Math.min(r.to,s);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let h=/^ */.exec(r.text.slice(t.to-r.from))[0].length;return{from:t.from,to:t.to+h}}l=a.to}}function gr({closing:n,align:e=!0,units:t=1}){return i=>Af(i,e,t,n)}function Af(n,e,t,i,s){let r=n.textAfter,o=r.match(/^\s*/)[0].length,l=i&&r.slice(o,o+i.length)==i||s==n.pos+o,a=e?Yg(n):null;return a?l?n.column(a.from):n.column(a.to):n.baseIndent+(l?0:n.unit*t)}const Kg=200;function Jg(){return I.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:i}=n.newSelection.main,s=t.lineAt(i);if(i>s.from+Kg)return n;let r=t.sliceString(s.from,i);if(!e.some(h=>h.test(r)))return n;let{state:o}=n,l=-1,a=[];for(let{head:h}of o.selection.ranges){let c=o.doc.lineAt(h);if(c.from==l)continue;l=c.from;let f=il(o,c.from);if(f==null)continue;let u=/^\s*/.exec(c.text)[0],d=sn(o,f);u!=d&&a.push({from:c.from,to:c.from+u.length,insert:d})}return a.length?[n,{changes:a,sequential:!0}]:n})}const eO=M.define(),Mf=new z;function tO(n){let e=n.firstChild,t=n.lastChild;return e&&e.tot)continue;if(r&&l.from=e&&h.to>t&&(r=h)}}return r}function nO(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function ks(n,e,t){for(let i of n.facet(eO)){let s=i(n,e,t);if(s)return s}return iO(n,e,t)}function Rf(n,e){let t=e.mapPos(n.from,1),i=e.mapPos(n.to,-1);return t>=i?void 0:{from:t,to:i}}const Xs=L.define({map:Rf}),gn=L.define({map:Rf});function Df(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(n.lineBlockAt(t));return e}const Kt=ue.define({create(){return D.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>n=Xa(n,t,i)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Xs)&&!sO(n,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet($f),s=i?D.replace({widget:new fO(i(e.state,t.value))}):_a;n=n.update({add:[s.range(t.value.from,t.value.to)]})}else t.is(gn)&&(n=n.update({filter:(i,s)=>t.value.from!=i||t.value.to!=s,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=Xa(n,e.selection.main.head)),n},provide:n=>Q.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(i,s)=>{t.push(i,s)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{se&&(i=!0)}),i?n.update({filterFrom:e,filterTo:t,filter:(s,r)=>s>=t||r<=e}):n}function ws(n,e,t){var i;let s=null;return(i=n.field(Kt,!1))===null||i===void 0||i.between(e,t,(r,o)=>{(!s||s.from>r)&&(s={from:r,to:o})}),s}function sO(n,e,t){let i=!1;return n.between(e,e,(s,r)=>{s==e&&r==t&&(i=!0)}),i}function Ef(n,e){return n.field(Kt,!1)?e:e.concat(L.appendConfig.of(Bf()))}const rO=n=>{for(let e of Df(n)){let t=ks(n.state,e.from,e.to);if(t)return n.dispatch({effects:Ef(n.state,[Xs.of(t),qf(n,t)])}),!0}return!1},oO=n=>{if(!n.state.field(Kt,!1))return!1;let e=[];for(let t of Df(n)){let i=ws(n.state,t.from,t.to);i&&e.push(gn.of(i),qf(n,i,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function qf(n,e,t=!0){let i=n.state.doc.lineAt(e.from).number,s=n.state.doc.lineAt(e.to).number;return Q.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${n.state.phrase("to")} ${s}.`)}const lO=n=>{let{state:e}=n,t=[];for(let i=0;i{let e=n.state.field(Kt,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(i,s)=>{t.push(gn.of({from:i,to:s}))}),n.dispatch({effects:t}),!0},hO=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:rO},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:oO},{key:"Ctrl-Alt-[",run:lO},{key:"Ctrl-Alt-]",run:aO}],cO={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},$f=M.define({combine(n){return ot(n,cO)}});function Bf(n){return[Kt,pO]}function Lf(n,e){let{state:t}=n,i=t.facet($f),s=o=>{let l=n.lineBlockAt(n.posAtDOM(o.target)),a=ws(n.state,l.from,l.to);a&&n.dispatch({effects:gn.of(a)}),o.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(n,s,e);let r=document.createElement("span");return r.textContent=i.placeholderText,r.setAttribute("aria-label",t.phrase("folded code")),r.title=t.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=s,r}const _a=D.replace({widget:new class extends xt{toDOM(n){return Lf(n,null)}}});class fO extends xt{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Lf(e,this.value)}}const uO={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Or extends yt{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function dO(n={}){let e={...uO,...n},t=new Or(e,!0),i=new Or(e,!1),s=le.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Dt)!=o.state.facet(Dt)||o.startState.field(Kt,!1)!=o.state.field(Kt,!1)||fe(o.startState)!=fe(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let l=new gt;for(let a of o.viewportLineBlocks){let h=ws(o.state,a.from,a.to)?i:ks(o.state,a.from,a.to)?t:null;h&&l.add(a.from,a.from,h)}return l.finish()}}),{domEventHandlers:r}=e;return[s,dg({class:"cm-foldGutter",markers(o){var l;return((l=o.plugin(s))===null||l===void 0?void 0:l.markers)||F.empty},initialSpacer(){return new Or(e,!1)},domEventHandlers:{...r,click:(o,l,a)=>{if(r.click&&r.click(o,l,a))return!0;let h=ws(o.state,l.from,l.to);if(h)return o.dispatch({effects:gn.of(h)}),!0;let c=ks(o.state,l.from,l.to);return c?(o.dispatch({effects:Xs.of(c)}),!0):!1}}}),Bf()]}const pO=Q.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class On{constructor(e,t){this.specs=e;let i;function s(l){let a=Ia.newName();return(i||(i=Object.create(null)))["."+a]=l,a}const r=typeof t.all=="string"?t.all:t.all?s(t.all):void 0,o=t.scope;this.scope=o instanceof We?l=>l.prop(Ft)==o.data:o?l=>l==o:void 0,this.style=Tf(e.map(l=>({tag:l.tag,class:l.class||s(Object.assign({},l,{tag:null}))})),{all:r}).style,this.module=i?new Ia(i):null,this.themeType=t.themeType}static define(e,t){return new On(e,t||{})}}const ko=M.define(),Wf=M.define({combine(n){return n.length?[n[0]]:null}});function yr(n){let e=n.facet(ko);return e.length?e:n.facet(Wf)}function zf(n,e){let t=[gO],i;return n instanceof On&&(n.module&&t.push(Q.styleModule.of(n.module)),i=n.themeType),e?.fallback?t.push(Wf.of(n)):i?t.push(ko.computeN([Q.darkTheme],s=>s.facet(Q.darkTheme)==(i=="dark")?[n]:[])):t.push(ko.of(n)),t}class mO{constructor(e){this.markCache=Object.create(null),this.tree=fe(e.state),this.decorations=this.buildDeco(e,yr(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=fe(e.state),i=yr(e.state),s=i!=yr(e.startState),{viewport:r}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=r.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=r.to)}buildDeco(e,t){if(!t||!this.tree.length)return D.none;let i=new gt;for(let{from:s,to:r}of e.visibleRanges)Lg(this.tree,t,(o,l,a)=>{i.add(o,l,this.markCache[a]||(this.markCache[a]=D.mark({class:a})))},s,r);return i.finish()}}const gO=Et.high(le.fromClass(mO,{decorations:n=>n.decorations})),OO=On.define([{tag:O.meta,color:"#404740"},{tag:O.link,textDecoration:"underline"},{tag:O.heading,textDecoration:"underline",fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strong,fontWeight:"bold"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.keyword,color:"#708"},{tag:[O.atom,O.bool,O.url,O.contentSeparator,O.labelName],color:"#219"},{tag:[O.literal,O.inserted],color:"#164"},{tag:[O.string,O.deleted],color:"#a11"},{tag:[O.regexp,O.escape,O.special(O.string)],color:"#e40"},{tag:O.definition(O.variableName),color:"#00f"},{tag:O.local(O.variableName),color:"#30a"},{tag:[O.typeName,O.namespace],color:"#085"},{tag:O.className,color:"#167"},{tag:[O.special(O.variableName),O.macroName],color:"#256"},{tag:O.definition(O.propertyName),color:"#00c"},{tag:O.comment,color:"#940"},{tag:O.invalid,color:"#f00"}]),yO=Q.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),If=1e4,Vf="()[]{}",Nf=M.define({combine(n){return ot(n,{afterCursor:!0,brackets:Vf,maxScanDistance:If,renderMatch:SO})}}),bO=D.mark({class:"cm-matchingBracket"}),xO=D.mark({class:"cm-nonmatchingBracket"});function SO(n){let e=[],t=n.matched?bO:xO;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const kO=ue.define({create(){return D.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],i=e.state.facet(Nf);for(let s of e.state.selection.ranges){if(!s.empty)continue;let r=it(e.state,s.head,-1,i)||s.head>0&&it(e.state,s.head-1,1,i)||i.afterCursor&&(it(e.state,s.head,1,i)||s.headQ.decorations.from(n)}),wO=[kO,yO];function vO(n={}){return[Nf.of(n),wO]}const TO=new z;function wo(n,e,t){let i=n.prop(e<0?z.openedBy:z.closedBy);if(i)return i;if(n.name.length==1){let s=t.indexOf(n.name);if(s>-1&&s%2==(e<0?1:0))return[t[s+e]]}return null}function vo(n){let e=n.type.prop(TO);return e?e(n.node):n}function it(n,e,t,i={}){let s=i.maxScanDistance||If,r=i.brackets||Vf,o=fe(n),l=o.resolveInner(e,t);for(let a=l;a;a=a.parent){let h=wo(a.type,t,r);if(h&&a.from0?e>=c.from&&ec.from&&e<=c.to))return CO(n,e,t,a,c,h,r)}}return PO(n,e,t,o,l.type,s,r)}function CO(n,e,t,i,s,r,o){let l=i.parent,a={from:s.from,to:s.to},h=0,c=l?.cursor();if(c&&(t<0?c.childBefore(i.from):c.childAfter(i.to)))do if(t<0?c.to<=i.from:c.from>=i.to){if(h==0&&r.indexOf(c.type.name)>-1&&c.from0)return null;let h={from:t<0?e-1:e,to:t>0?e+1:e},c=n.doc.iterRange(e,t>0?n.doc.length:0),f=0;for(let u=0;!c.next().done&&u<=r;){let d=c.value;t<0&&(u+=d.length);let p=e+u*t;for(let m=t>0?0:d.length-1,g=t>0?d.length:-1;m!=g;m+=t){let y=o.indexOf(d[m]);if(!(y<0||i.resolveInner(p+m,1).type!=s))if(y%2==0==t>0)f++;else{if(f==1)return{start:h,end:{from:p+m,to:p+m+1},matched:y>>1==a>>1};f--}}t>0&&(u+=d.length)}return c.done?{start:h,matched:!1}:null}function Ua(n,e,t,i=0,s=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let r=s;for(let o=i;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosi?o.toLowerCase():o,r=this.string.substr(this.pos,e.length);return s(r)==s(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let s=this.string.slice(this.pos).match(e);return s&&s.index>0?null:(s&&t!==!1&&(this.pos+=s[0].length),s)}}current(){return this.string.slice(this.start,this.pos)}}function QO(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||AO,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||ol,mergeTokens:n.mergeTokens!==!1}}function AO(n){if(typeof n!="object")return n;let e={};for(let t in n){let i=n[t];e[t]=i instanceof Array?i.slice():i}return e}const Ha=new WeakMap;class vs extends We{constructor(e){let t=Cf(e.languageData),i=QO(e),s,r=new class extends tl{createParse(o,l,a){return new RO(s,o,l,a)}};super(t,r,[],e.name),this.topNode=qO(t,this),s=this,this.streamParser=i,this.stateAfter=new z({perNode:!0}),this.tokenTable=e.tokenTable?new Hf(i.tokenTable):EO}static define(e){return new vs(e)}getIndent(e){let t,{overrideIndentation:i}=e.options;i&&(t=Ha.get(e.state),t!=null&&t1e4)return null;for(;r=i&&t+e.length<=s&&e.prop(n.stateAfter);if(r)return{state:n.streamParser.copyState(r),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let l=e.children[o],a=t+e.positions[o],h=l instanceof U&&a=e.length)return e;!s&&t==0&&e.type==n.topNode&&(s=!0);for(let r=e.children.length-1;r>=0;r--){let o=e.positions[r],l=e.children[r],a;if(ot&&rl(n,r.tree,0-r.offset,t,l),h;if(a&&a.pos<=i&&(h=Xf(n,r.tree,t+r.offset,a.pos+r.offset,!1)))return{state:a.state,tree:h}}return{state:n.streamParser.startState(s?Yt(s):4),tree:U.empty}}let RO=class{constructor(e,t,i,s){this.lang=e,this.input=t,this.fragments=i,this.ranges=s,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=s[s.length-1].to;let r=xi.get(),o=s[0].from,{state:l,tree:a}=MO(e,i,o,this.to,r?.state);this.state=l,this.parsedPos=this.chunkStart=o+a.length;for(let h=0;hh.from<=r.viewport.from&&h.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(Yt(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=xi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(t,this.chunkStart+512);for(e&&(i=Math.min(i,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let i=t.indexOf(` -`);i>-1&&(t=t.slice(0,i))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let s=this.rangeIndex;;){let r=this.ranges[s].to;if(r>=i||(t=t.slice(0,r-(i-t.length)),s++,s==this.ranges.length))break;let o=this.ranges[s].from,l=this.lineAfter(o);t+=l,i=o+l.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let s=this.ranges[this.rangeIndex].to,r=e+t;if(i>0?s>r:s>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-s}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){s=this.skipGapsTo(t,s,1),t+=s;let l=this.chunk.length;s=this.skipGapsTo(i,s,-1),i+=s,r+=this.chunk.length-l}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=i:this.chunk.push(e,t,i,r),s}parseLine(e){let{line:t,end:i}=this.nextLine(),s=0,{streamParser:r}=this.lang,o=new Jf(t,e?e.state.tabSize:4,e?Jt(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let l=tu(r.token,o,this.state);if(l&&(s=this.emitToken(this.lang.tokenTable.resolve(l),this.parsedPos+o.start,this.parsedPos+o.pos,s)),o.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPose.start)return s}throw new Error("Stream parser failed to advance stream.")}const ul=Object.create(null),hn=[Ce.none],NO=new Us(hn),ih=[],nh=Object.create(null),iu=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])iu[n]=su(ul,e);class nu{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),iu)}resolve(e){return e?this.table[e]||(this.table[e]=su(this.extra,e)):0}}const FO=new nu(ul);function Tr(n,e){ih.indexOf(n)>-1||(ih.push(n),console.warn(e))}function su(n,e){let t=[];for(let l of e.split(" ")){let a=[];for(let h of l.split(".")){let c=n[h]||O[h];c?typeof c=="function"?a.length?a=a.map(c):Tr(h,`Modifier ${h} used at start of tag`):a.length?Tr(h,`Tag ${h} used as modifier`):a=Array.isArray(c)?c:[c]:Tr(h,`Unknown highlighting tag ${h}`)}for(let h of a)t.push(h)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),s=i+" "+t.map(l=>l.id),r=nh[s];if(r)return r.id;let o=nh[s]=Ce.define({id:hn.length,name:i,props:[Ef({[i]:t})]});return hn.push(o),o.id}function XO(n,e){let t=Ce.define({id:hn.length,name:"Document",props:[_t.add(()=>n),hl.add(()=>i=>e.getIndent(i))],top:!0});return hn.push(t),t}Z.RTL,Z.LTR;const _O=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=pl(n.state,t.from);return i.line?UO(n):i.block?jO(n):!1};function dl(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(i(t.update(s)),!0):!1}}const UO=dl(YO,0),HO=dl(ru,0),jO=dl((n,e)=>ru(n,e,ZO(e)),0);function pl(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Wi=50;function GO(n,{open:e,close:t},i,s){let r=n.sliceDoc(i-Wi,i),o=n.sliceDoc(s,s+Wi),l=/\s*$/.exec(r)[0].length,a=/^\s*/.exec(o)[0].length,h=r.length-l;if(r.slice(h-e.length,h)==e&&o.slice(a,a+t.length)==t)return{open:{pos:i-l,margin:l&&1},close:{pos:s+a,margin:a&&1}};let c,f;s-i<=2*Wi?c=f=n.sliceDoc(i,s):(c=n.sliceDoc(i,i+Wi),f=n.sliceDoc(s-Wi,s));let u=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(f)[0].length,p=f.length-d-t.length;return c.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:i+u+e.length,margin:/\s/.test(c.charAt(u+e.length))?1:0},close:{pos:s-d-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function ZO(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),s=t.to<=i.to?i:n.doc.lineAt(t.to);s.from>i.from&&s.from==t.to&&(s=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let r=e.length-1;r>=0&&e[r].to>i.from?e[r].to=s.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:s.to})}return e}function ru(n,e,t=e.selection.ranges){let i=t.map(r=>pl(e,r.from).block);if(!i.every(r=>r))return null;let s=t.map((r,o)=>GO(e,i[o],r.from,r.to));if(n!=2&&!s.every(r=>r))return{changes:e.changes(t.map((r,o)=>s[o]?[]:[{from:r.from,insert:i[o].open+" "},{from:r.to,insert:" "+i[o].close}]))};if(n!=1&&s.some(r=>r)){let r=[];for(let o=0,l;os&&(r==o||o>f.from)){s=f.from;let u=/^\s*/.exec(f.text)[0].length,d=u==f.length,p=f.text.slice(u,u+h.length)==h?u:-1;ur.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:l,token:a,indent:h,empty:c,single:f}of i)(f||!c)&&r.push({from:l.from+h,insert:a+" "});let o=e.changes(r);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&i.some(r=>r.comment>=0)){let r=[];for(let{line:o,comment:l,token:a}of i)if(l>=0){let h=o.from+l,c=h+a.length;o.text[c-o.from]==" "&&c++,r.push({from:h,to:c})}return{changes:r}}return null}const Ro=St.define(),KO=St.define(),JO=M.define(),ou=M.define({combine(n){return at(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,s)=>e(i,s)||t(i,s)})}}),lu=ue.define({create(){return rt.empty},update(n,e){let t=e.state.facet(ou),i=e.annotation(Ro);if(i){let a=De.fromTransaction(e,i.selection),h=i.side,c=h==0?n.undone:n.done;return a?c=Ms(c,c.length,t.minDepth,a):c=cu(c,e.startState.selection),new rt(h==0?i.rest:c,h==0?c:i.rest)}let s=e.annotation(KO);if((s=="full"||s=="before")&&(n=n.isolate()),e.annotation(oe.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=De.fromTransaction(e),o=e.annotation(oe.time),l=e.annotation(oe.userEvent);return r?n=n.addChanges(r,o,l,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,l,t.newGroupDelay)),(s=="full"||s=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new rt(n.done.map(De.fromJSON),n.undone.map(De.fromJSON))}});function e0(n={}){return[lu,ou.of(n),Q.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?au:e.inputType=="historyRedo"?Do:null;return i?(e.preventDefault(),i(t)):!1}})]}function Zs(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let s=t.field(lu,!1);if(!s)return!1;let r=s.pop(n,t,e);return r?(i(r),!0):!1}}const au=Zs(0,!1),Do=Zs(1,!1),t0=Zs(0,!0),i0=Zs(1,!0);class De{constructor(e,t,i,s,r){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=s,this.selectionsAfter=r}setSelAfter(e){return new De(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new De(e.changes&&ae.fromJSON(e.changes),[],e.mapped&&ot.fromJSON(e.mapped),e.startSelection&&b.fromJSON(e.startSelection),e.selectionsAfter.map(b.fromJSON))}static fromTransaction(e,t){let i=Ve;for(let s of e.startState.facet(JO)){let r=s(e);r.length&&(i=i.concat(r))}return!i.length&&e.changes.empty?null:new De(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,Ve)}static selection(e){return new De(void 0,Ve,void 0,void 0,e)}}function Ms(n,e,t,i){let s=e+1>t+20?e-t-1:0,r=n.slice(s,e);return r.push(i),r}function n0(n,e){let t=[],i=!1;return n.iterChangedRanges((s,r)=>t.push(s,r)),e.iterChangedRanges((s,r,o,l)=>{for(let a=0;a=h&&o<=c&&(i=!0)}}),i}function s0(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function hu(n,e){return n.length?e.length?n.concat(e):n:e}const Ve=[],r0=200;function cu(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-r0));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),Ms(n,n.length-1,1e9,t.setSelAfter(i)))}else return[De.selection([e])]}function o0(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Cr(n,e){if(!n.length)return n;let t=n.length,i=Ve;for(;t;){let s=l0(n[t-1],e,i);if(s.changes&&!s.changes.empty||s.effects.length){let r=n.slice(0,t);return r[t-1]=s,r}else e=s.mapped,t--,i=s.selectionsAfter}return i.length?[De.selection(i)]:Ve}function l0(n,e,t){let i=hu(n.selectionsAfter.length?n.selectionsAfter.map(l=>l.map(e)):Ve,t);if(!n.changes)return De.selection(i);let s=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new De(s,L.mapEffects(n.effects,e),o,n.startSelection.map(r),i)}const a0=/^(input\.type|delete)($|\.)/;class rt{constructor(e,t,i=0,s=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=s}isolate(){return this.prevTime?new rt(this.done,this.undone):this}addChanges(e,t,i,s,r){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!i||a0.test(i))&&(!l.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):Ys(t,e))}function Se(n){return n.textDirectionAt(n.state.selection.main.head)==Z.LTR}const uu=n=>fu(n,!Se(n)),du=n=>fu(n,Se(n));function pu(n,e){return je(n,t=>t.empty?n.moveByGroup(t,e):Ys(t,e))}const c0=n=>pu(n,!Se(n)),f0=n=>pu(n,Se(n));function u0(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Ks(n,e,t){let i=fe(n).resolveInner(e.head),s=t?z.closedBy:z.openedBy;for(let a=e.head;;){let h=t?i.childAfter(a):i.childBefore(a);if(!h)break;u0(n,h,s)?i=h:a=t?h.to:h.from}let r=i.type.prop(s),o,l;return r&&(o=t?st(n,i.from,1):st(n,i.to,-1))&&o.matched?l=t?o.end.to:o.end.from:l=t?i.to:i.from,b.cursor(l,t?-1:1)}const d0=n=>je(n,e=>Ks(n.state,e,!Se(n))),p0=n=>je(n,e=>Ks(n.state,e,Se(n)));function mu(n,e){return je(n,t=>{if(!t.empty)return Ys(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}const gu=n=>mu(n,!1),Ou=n=>mu(n,!0);function yu(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):Ys(o,e));if(s.eq(i.selection))return!1;let r;if(t.selfScroll){let o=n.coordsAtPos(i.selection.main.head),l=n.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,h=l.bottom-t.marginBottom;o&&o.top>a&&o.bottombu(n,!1),Eo=n=>bu(n,!0);function Bt(n,e,t){let i=n.lineBlockAt(e.head),s=n.moveToLineBoundary(e,t);if(s.head==e.head&&s.head!=(t?i.to:i.from)&&(s=n.moveToLineBoundary(e,t,!1)),!t&&s.head==i.from&&i.length){let r=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;r&&e.head!=i.from+r&&(s=b.cursor(i.from+r))}return s}const m0=n=>je(n,e=>Bt(n,e,!0)),g0=n=>je(n,e=>Bt(n,e,!1)),O0=n=>je(n,e=>Bt(n,e,!Se(n))),y0=n=>je(n,e=>Bt(n,e,Se(n))),b0=n=>je(n,e=>b.cursor(n.lineBlockAt(e.head).from,1)),x0=n=>je(n,e=>b.cursor(n.lineBlockAt(e.head).to,-1));function S0(n,e,t){let i=!1,s=Ai(n.selection,r=>{let o=st(n,r.head,-1)||st(n,r.head,1)||r.head>0&&st(n,r.head-1,1)||r.headS0(n,e);function _e(n,e){let t=Ai(n.state.selection,i=>{let s=e(i);return b.range(i.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(ht(n.state,t)),!0)}function xu(n,e){return _e(n,t=>n.moveByChar(t,e))}const Su=n=>xu(n,!Se(n)),ku=n=>xu(n,Se(n));function wu(n,e){return _e(n,t=>n.moveByGroup(t,e))}const w0=n=>wu(n,!Se(n)),v0=n=>wu(n,Se(n)),T0=n=>_e(n,e=>Ks(n.state,e,!Se(n))),C0=n=>_e(n,e=>Ks(n.state,e,Se(n)));function vu(n,e){return _e(n,t=>n.moveVertically(t,e))}const Tu=n=>vu(n,!1),Cu=n=>vu(n,!0);function Pu(n,e){return _e(n,t=>n.moveVertically(t,e,yu(n).height))}const rh=n=>Pu(n,!1),oh=n=>Pu(n,!0),P0=n=>_e(n,e=>Bt(n,e,!0)),Q0=n=>_e(n,e=>Bt(n,e,!1)),A0=n=>_e(n,e=>Bt(n,e,!Se(n))),M0=n=>_e(n,e=>Bt(n,e,Se(n))),R0=n=>_e(n,e=>b.cursor(n.lineBlockAt(e.head).from)),D0=n=>_e(n,e=>b.cursor(n.lineBlockAt(e.head).to)),lh=({state:n,dispatch:e})=>(e(ht(n,{anchor:0})),!0),ah=({state:n,dispatch:e})=>(e(ht(n,{anchor:n.doc.length})),!0),hh=({state:n,dispatch:e})=>(e(ht(n,{anchor:n.selection.main.anchor,head:0})),!0),ch=({state:n,dispatch:e})=>(e(ht(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),E0=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),q0=({state:n,dispatch:e})=>{let t=Js(n).map(({from:i,to:s})=>b.range(i,Math.min(s+1,n.doc.length)));return e(n.update({selection:b.create(t),userEvent:"select"})),!0},$0=({state:n,dispatch:e})=>{let t=Ai(n.selection,i=>{let s=fe(n),r=s.resolveStack(i.from,1);if(i.empty){let o=s.resolveStack(i.from,-1);o.node.from>=r.node.from&&o.node.to<=r.node.to&&(r=o)}for(let o=r;o;o=o.next){let{node:l}=o;if((l.from=i.to||l.to>i.to&&l.from<=i.from)&&o.next)return b.range(l.to,l.from)}return i});return t.eq(n.selection)?!1:(e(ht(n,t)),!0)},B0=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=b.create([t.main]):t.main.empty||(i=b.create([b.cursor(t.main.head)])),i?(e(ht(n,i)),!0):!1};function wn(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,s=i.changeByRange(r=>{let{from:o,to:l}=r;if(o==l){let a=e(r);ao&&(t="delete.forward",a=jn(n,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=jn(n,o,!1),l=jn(n,l,!0);return o==l?{range:r}:{changes:{from:o,to:l},range:b.cursor(o,os(n)))i.between(e,e,(s,r)=>{se&&(e=t?r:s)});return e}const Qu=(n,e,t)=>wn(n,i=>{let s=i.from,{state:r}=n,o=r.doc.lineAt(s),l,a;if(t&&!e&&s>o.from&&sQu(n,!1,!0),Au=n=>Qu(n,!0,!1),Mu=(n,e)=>wn(n,t=>{let i=t.head,{state:s}=n,r=s.doc.lineAt(i),o=s.charCategorizer(i);for(let l=null;;){if(i==(e?r.to:r.from)){i==t.head&&r.number!=(e?s.doc.lines:1)&&(i+=e?1:-1);break}let a=Oe(r.text,i-r.from,e)+r.from,h=r.text.slice(Math.min(i,a)-r.from,Math.max(i,a)-r.from),c=o(h);if(l!=null&&c!=l)break;(h!=" "||i!=t.head)&&(l=c),i=a}return i}),Ru=n=>Mu(n,!1),L0=n=>Mu(n,!0),W0=n=>wn(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headwn(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),I0=n=>wn(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:V.of(["",""])},range:b.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},N0=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let s=i.from,r=n.doc.lineAt(s),o=s==r.from?s-1:Oe(r.text,s-r.from,!1)+r.from,l=s==r.to?s+1:Oe(r.text,s-r.from,!0)+r.from;return{changes:{from:o,to:l,insert:n.doc.slice(s,l).append(n.doc.slice(o,s))},range:b.cursor(l)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Js(n){let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.from),r=n.doc.lineAt(i.to);if(!i.empty&&i.to==r.from&&(r=n.doc.lineAt(i.to-1)),t>=s.number){let o=e[e.length-1];o.to=r.to,o.ranges.push(i)}else e.push({from:s.from,to:r.to,ranges:[i]});t=r.number+1}return e}function Du(n,e,t){if(n.readOnly)return!1;let i=[],s=[];for(let r of Js(n)){if(t?r.to==n.doc.length:r.from==0)continue;let o=n.doc.lineAt(t?r.to+1:r.from-1),l=o.length+1;if(t){i.push({from:r.to,to:o.to},{from:r.from,insert:o.text+n.lineBreak});for(let a of r.ranges)s.push(b.range(Math.min(n.doc.length,a.anchor+l),Math.min(n.doc.length,a.head+l)))}else{i.push({from:o.from,to:r.from},{from:r.to,insert:n.lineBreak+o.text});for(let a of r.ranges)s.push(b.range(a.anchor-l,a.head-l))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:b.create(s,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const F0=({state:n,dispatch:e})=>Du(n,e,!1),X0=({state:n,dispatch:e})=>Du(n,e,!0);function Eu(n,e,t){if(n.readOnly)return!1;let i=[];for(let s of Js(n))t?i.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):i.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});return e(n.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const _0=({state:n,dispatch:e})=>Eu(n,e,!1),U0=({state:n,dispatch:e})=>Eu(n,e,!0),H0=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Js(e).map(({from:s,to:r})=>(s>0?s--:r{let r;if(n.lineWrapping){let o=n.lineBlockAt(s.head),l=n.coordsAtPos(s.head,s.assoc||1);l&&(r=o.bottom+n.documentTop-l.bottom+n.defaultLineHeight/2)}return n.moveVertically(s,!0,r)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function j0(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=fe(n).resolveInner(e),i=t.childBefore(e),s=t.childAfter(e),r;return i&&s&&i.to<=e&&s.from>=e&&(r=i.type.prop(z.closedBy))&&r.indexOf(s.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(s.from).from&&!/\S/.test(n.sliceDoc(i.to,s.from))?{from:i.to,to:s.from}:null}const fh=qu(!1),G0=qu(!0);function qu(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(s=>{let{from:r,to:o}=s,l=e.doc.lineAt(r),a=!n&&r==o&&j0(e,r);n&&(r=o=(o<=l.to?l:e.doc.lineAt(o)).to);let h=new js(e,{simulateBreak:r,simulateDoubleBreak:!!a}),c=al(h,r);for(c==null&&(c=Qi(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));ol.from&&r{let s=[];for(let o=i.from;o<=i.to;){let l=n.doc.lineAt(o);l.number>t&&(i.empty||i.to>l.from)&&(e(l,s,i),t=l.number),o=l.to+1}let r=n.changes(s);return{changes:s,range:b.range(r.mapPos(i.anchor,1),r.mapPos(i.head,1))}})}const Z0=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new js(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),s=ml(n,(r,o,l)=>{let a=al(i,r.from);if(a==null)return;/\S/.test(r.text)||(a=0);let h=/^\s*/.exec(r.text)[0],c=an(n,a);(h!=c||l.fromn.readOnly?!1:(e(n.update(ml(n,(t,i)=>{i.push({from:t.from,insert:n.facet(Hs)})}),{userEvent:"input.indent"})),!0),K0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(ml(n,(t,i)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let r=Qi(s,n.tabSize),o=0,l=an(n,Math.max(0,r-Jt(n)));for(;o(n.setTabFocusMode(),!0),ey=[{key:"Ctrl-b",run:uu,shift:Su,preventDefault:!0},{key:"Ctrl-f",run:du,shift:ku},{key:"Ctrl-p",run:gu,shift:Tu},{key:"Ctrl-n",run:Ou,shift:Cu},{key:"Ctrl-a",run:b0,shift:R0},{key:"Ctrl-e",run:x0,shift:D0},{key:"Ctrl-d",run:Au},{key:"Ctrl-h",run:qo},{key:"Ctrl-k",run:W0},{key:"Ctrl-Alt-h",run:Ru},{key:"Ctrl-o",run:V0},{key:"Ctrl-t",run:N0},{key:"Ctrl-v",run:Eo}],ty=[{key:"ArrowLeft",run:uu,shift:Su,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:c0,shift:w0,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:O0,shift:A0,preventDefault:!0},{key:"ArrowRight",run:du,shift:ku,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:f0,shift:v0,preventDefault:!0},{mac:"Cmd-ArrowRight",run:y0,shift:M0,preventDefault:!0},{key:"ArrowUp",run:gu,shift:Tu,preventDefault:!0},{mac:"Cmd-ArrowUp",run:lh,shift:hh},{mac:"Ctrl-ArrowUp",run:sh,shift:rh},{key:"ArrowDown",run:Ou,shift:Cu,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ah,shift:ch},{mac:"Ctrl-ArrowDown",run:Eo,shift:oh},{key:"PageUp",run:sh,shift:rh},{key:"PageDown",run:Eo,shift:oh},{key:"Home",run:g0,shift:Q0,preventDefault:!0},{key:"Mod-Home",run:lh,shift:hh},{key:"End",run:m0,shift:P0,preventDefault:!0},{key:"Mod-End",run:ah,shift:ch},{key:"Enter",run:fh,shift:fh},{key:"Mod-a",run:E0},{key:"Backspace",run:qo,shift:qo},{key:"Delete",run:Au},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ru},{key:"Mod-Delete",mac:"Alt-Delete",run:L0},{mac:"Mod-Backspace",run:z0},{mac:"Mod-Delete",run:I0}].concat(ey.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),iy=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:d0,shift:T0},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:p0,shift:C0},{key:"Alt-ArrowUp",run:F0},{key:"Shift-Alt-ArrowUp",run:_0},{key:"Alt-ArrowDown",run:X0},{key:"Shift-Alt-ArrowDown",run:U0},{key:"Escape",run:B0},{key:"Mod-Enter",run:G0},{key:"Alt-l",mac:"Ctrl-l",run:q0},{key:"Mod-i",run:$0,preventDefault:!0},{key:"Mod-[",run:K0},{key:"Mod-]",run:Y0},{key:"Mod-Alt-\\",run:Z0},{key:"Shift-Mod-k",run:H0},{key:"Shift-Mod-\\",run:k0},{key:"Mod-/",run:_O},{key:"Alt-A",run:HO},{key:"Ctrl-m",mac:"Shift-Alt-m",run:J0}].concat(ty);function de(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=t[i];typeof s=="string"?n.setAttribute(i,s):s!=null&&(n[i]=s)}e++}for(;en.normalize("NFKD"):n=>n;class Ti{constructor(e,t,i=0,s=e.length,r,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,s),this.bufferStart=i,this.normalize=r?l=>r(uh(l)):uh,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Qe(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=No(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=et(e);let s=this.normalize(t);if(s.length)for(let r=0,o=i;;r++){let l=s.charCodeAt(r),a=this.match(l,o,this.bufferPos+this.bufferStart);if(r==s.length-1){if(a)return this.value=a,this;break}o==i&&rthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,s=i+t[0].length;if(this.matchPos=Rs(this.text,s+(i==s?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||s.to<=t){let l=new pi(t,e.sliceString(t,i));return Pr.set(e,l),l}if(s.from==t&&s.to==i)return s;let{text:r,from:o}=s;return o>t&&(r=e.sliceString(t,o)+r,o=t),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,s=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,match:t},this.matchPos=Rs(this.text,s+(i==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=pi.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Lu.prototype[Symbol.iterator]=Wu.prototype[Symbol.iterator]=function(){return this});function ny(n){try{return new RegExp(n,gl),!0}catch{return!1}}function Rs(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function $o(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=de("input",{class:"cm-textfield",name:"line",value:e}),i=de("form",{class:"cm-gotoLine",onkeydown:r=>{r.keyCode==27?(r.preventDefault(),n.dispatch({effects:Zi.of(!1)}),n.focus()):r.keyCode==13&&(r.preventDefault(),s())},onsubmit:r=>{r.preventDefault(),s()}},de("label",n.state.phrase("Go to line"),": ",t)," ",de("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),de("button",{name:"close",onclick:()=>{n.dispatch({effects:Zi.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function s(){let r=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!r)return;let{state:o}=n,l=o.doc.lineAt(o.selection.main.head),[,a,h,c,f]=r,u=c?+c.slice(1):0,d=h?+h:l.number;if(h&&f){let g=d/100;a&&(g=g*(a=="-"?-1:1)+l.number/o.doc.lines),d=Math.round(o.doc.lines*g)}else h&&a&&(d=d*(a=="-"?-1:1)+l.number);let p=o.doc.line(Math.max(1,Math.min(o.doc.lines,d))),m=b.cursor(p.from+Math.max(0,Math.min(u,p.length)));n.dispatch({effects:[Zi.of(!1),Q.scrollIntoView(m.from,{y:"center"})],selection:m}),n.focus()}return{dom:i}}const Zi=L.define(),dh=ue.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(Zi)&&(n=t.value);return n},provide:n=>on.from(n,e=>e?$o:null)}),sy=n=>{let e=rn(n,$o);if(!e){let t=[Zi.of(!0)];n.state.field(dh,!1)==null&&t.push(L.appendConfig.of([dh,ry])),n.dispatch({effects:t}),e=rn(n,$o)}return e&&e.dom.querySelector("input").select(),!0},ry=Q.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),oy={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ly=M.define({combine(n){return at(n,oy,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function ay(n){return[dy,uy]}const hy=D.mark({class:"cm-selectionMatch"}),cy=D.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function ph(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=Y.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=Y.Word)}function fy(n,e,t,i){return n(e.sliceDoc(t,t+1))==Y.Word&&n(e.sliceDoc(i-1,i))==Y.Word}const uy=le.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(ly),{state:t}=n,i=t.selection;if(i.ranges.length>1)return D.none;let s=i.main,r,o=null;if(s.empty){if(!e.highlightWordAroundCursor)return D.none;let a=t.wordAt(s.head);if(!a)return D.none;o=t.charCategorizer(s.head),r=t.sliceDoc(a.from,a.to)}else{let a=s.to-s.from;if(a200)return D.none;if(e.wholeWords){if(r=t.sliceDoc(s.from,s.to),o=t.charCategorizer(s.head),!(ph(o,t,s.from,s.to)&&fy(o,t,s.from,s.to)))return D.none}else if(r=t.sliceDoc(s.from,s.to),!r)return D.none}let l=[];for(let a of n.visibleRanges){let h=new Ti(t.doc,r,a.from,a.to);for(;!h.next().done;){let{from:c,to:f}=h.value;if((!o||ph(o,t,c,f))&&(s.empty&&c<=s.from&&f>=s.to?l.push(cy.range(c,f)):(c>=s.to||f<=s.from)&&l.push(hy.range(c,f)),l.length>e.maxMatches))return D.none}}return D.set(l)}},{decorations:n=>n.decorations}),dy=Q.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),py=({state:n,dispatch:e})=>{let{selection:t}=n,i=b.create(t.ranges.map(s=>n.wordAt(s.head)||b.cursor(s.head)),t.mainIndex);return i.eq(t)?!1:(e(n.update({selection:i})),!0)};function my(n,e){let{main:t,ranges:i}=n.selection,s=n.wordAt(t.head),r=s&&s.from==t.from&&s.to==t.to;for(let o=!1,l=new Ti(n.doc,e,i[i.length-1].to);;)if(l.next(),l.done){if(o)return null;l=new Ti(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),o=!0}else{if(o&&i.some(a=>a.from==l.value.from))continue;if(r){let a=n.wordAt(l.value.from);if(!a||a.from!=l.value.from||a.to!=l.value.to)continue}return l.value}}const gy=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return py({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(r=>n.sliceDoc(r.from,r.to)!=i))return!1;let s=my(n,i);return s?(e(n.update({selection:n.selection.addRange(b.range(s.from,s.to),!1),effects:Q.scrollIntoView(s.to)})),!0):!1},Mi=M.define({combine(n){return at(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Qy(e),scrollToMatch:e=>Q.scrollIntoView(e)})}});class zu{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||ny(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` -`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new xy(this):new yy(this)}getCursor(e,t=0,i){let s=e.doc?e:I.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?li(this,s,t,i):oi(this,s,t,i)}}class Iu{constructor(e){this.spec=e}}function oi(n,e,t,i){return new Ti(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),n.wholeWord?Oy(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function Oy(n,e){return(t,i,s,r)=>((r>t||r+s.length=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=oi(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function li(n,e,t,i){return new Lu(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?by(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function Ds(n,e){return n.slice(Oe(n,e,!1),e)}function Es(n,e){return n.slice(e,Oe(n,e))}function by(n){return(e,t,i)=>!i[0].length||(n(Ds(i.input,i.index))!=Y.Word||n(Es(i.input,i.index))!=Y.Word)&&(n(Es(i.input,i.index+i[0].length))!=Y.Word||n(Ds(i.input,i.index+i[0].length))!=Y.Word)}class xy extends Iu{nextMatch(e,t,i){let s=li(this.spec,e,i,e.doc.length).next();return s.done&&(s=li(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let r=Math.max(t,i-s*1e4),o=li(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let r=+i.slice(0,s);if(r>0&&r=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=li(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const cn=L.define(),Ol=L.define(),Mt=ue.define({create(n){return new Qr(Bo(n).create(),null)},update(n,e){for(let t of e.effects)t.is(cn)?n=new Qr(t.value.create(),n.panel):t.is(Ol)&&(n=new Qr(n.query,t.value?yl:null));return n},provide:n=>on.from(n,e=>e.panel)});class Qr{constructor(e,t){this.query=e,this.panel=t}}const Sy=D.mark({class:"cm-searchMatch"}),ky=D.mark({class:"cm-searchMatch cm-searchMatch-selected"}),wy=le.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Mt))}update(n){let e=n.state.field(Mt);(e!=n.startState.field(Mt)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return D.none;let{view:t}=this,i=new yt;for(let s=0,r=t.visibleRanges,o=r.length;sr[s+1].from-500;)a=r[++s].to;n.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?ky:Sy)})}return i.finish()}},{decorations:n=>n.decorations});function vn(n){return e=>{let t=e.state.field(Mt,!1);return t&&t.query.spec.valid?n(e,t):Fu(e)}}const qs=vn((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let s=b.single(i.from,i.to),r=n.state.facet(Mi);return n.dispatch({selection:s,effects:[bl(n,i),r.scrollToMatch(s.main,n)],userEvent:"select.search"}),Nu(n),!0}),$s=vn((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);if(!s)return!1;let r=b.single(s.from,s.to),o=n.state.facet(Mi);return n.dispatch({selection:r,effects:[bl(n,s),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),Nu(n),!0}),vy=vn((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:b.create(t.map(i=>b.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Ty=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:s}=t.main,r=[],o=0;for(let l=new Ti(n.doc,n.sliceDoc(i,s));!l.next().done;){if(r.length>1e3)return!1;l.value.from==i&&(o=r.length),r.push(b.range(l.value.from,l.value.to))}return e(n.update({selection:b.create(r,o),userEvent:"select.search.matches"})),!0},mh=vn((n,{query:e})=>{let{state:t}=n,{from:i,to:s}=t.selection.main;if(t.readOnly)return!1;let r=e.nextMatch(t,i,i);if(!r)return!1;let o=r,l=[],a,h,c=[];o.from==i&&o.to==s&&(h=t.toText(e.getReplacement(o)),l.push({from:o.from,to:o.to,insert:h}),o=e.nextMatch(t,o.from,o.to),c.push(Q.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let f=n.state.changes(l);return o&&(a=b.single(o.from,o.to).map(f),c.push(bl(n,o)),c.push(t.facet(Mi).scrollToMatch(a.main,n))),n.dispatch({changes:f,selection:a,effects:c,userEvent:"input.replace"}),!0}),Cy=vn((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(s=>{let{from:r,to:o}=s;return{from:r,to:o,insert:e.getReplacement(s)}});if(!t.length)return!1;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Q.announce.of(i),userEvent:"input.replace.all"}),!0});function yl(n){return n.state.facet(Mi).createPanel(n)}function Bo(n,e){var t,i,s,r,o;let l=n.selection.main,a=l.empty||l.to>l.from+100?"":n.sliceDoc(l.from,l.to);if(e&&!a)return e;let h=n.facet(Mi);return new zu({search:((t=e?.literal)!==null&&t!==void 0?t:h.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(s=e?.literal)!==null&&s!==void 0?s:h.literal,regexp:(r=e?.regexp)!==null&&r!==void 0?r:h.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:h.wholeWord})}function Vu(n){let e=rn(n,yl);return e&&e.dom.querySelector("[main-field]")}function Nu(n){let e=Vu(n);e&&e==n.root.activeElement&&e.select()}const Fu=n=>{let e=n.state.field(Mt,!1);if(e&&e.panel){let t=Vu(n);if(t&&t!=n.root.activeElement){let i=Bo(n.state,e.query.spec);i.valid&&n.dispatch({effects:cn.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[Ol.of(!0),e?cn.of(Bo(n.state,e.query.spec)):L.appendConfig.of(My)]});return!0},Xu=n=>{let e=n.state.field(Mt,!1);if(!e||!e.panel)return!1;let t=rn(n,yl);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Ol.of(!1)}),!0},Py=[{key:"Mod-f",run:Fu,scope:"editor search-panel"},{key:"F3",run:qs,shift:$s,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:qs,shift:$s,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Xu,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Ty},{key:"Mod-Alt-g",run:sy},{key:"Mod-d",run:gy,preventDefault:!0}];class Qy{constructor(e){this.view=e;let t=this.query=e.state.field(Mt).query.spec;this.commit=this.commit.bind(this),this.searchField=de("input",{value:t.search,placeholder:qe(e,"Find"),"aria-label":qe(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=de("input",{value:t.replace,placeholder:qe(e,"Replace"),"aria-label":qe(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=de("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=de("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=de("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(s,r,o){return de("button",{class:"cm-button",name:s,onclick:r,type:"button"},o)}this.dom=de("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>qs(e),[qe(e,"next")]),i("prev",()=>$s(e),[qe(e,"previous")]),i("select",()=>vy(e),[qe(e,"all")]),de("label",null,[this.caseField,qe(e,"match case")]),de("label",null,[this.reField,qe(e,"regexp")]),de("label",null,[this.wordField,qe(e,"by word")]),...e.state.readOnly?[]:[de("br"),this.replaceField,i("replace",()=>mh(e),[qe(e,"replace")]),i("replaceAll",()=>Cy(e),[qe(e,"replace all")])],de("button",{name:"close",onclick:()=>Xu(e),"aria-label":qe(e,"close"),type:"button"},["×"])])}commit(){let e=new zu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:cn.of(e)}))}keydown(e){Em(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?$s:qs)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),mh(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(cn)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Mi).top}}function qe(n,e){return n.state.phrase(e)}const Gn=30,Zn=/[\s\.,:;?!]/;function bl(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,r=Math.max(i.from,e-Gn),o=Math.min(s,t+Gn),l=n.state.sliceDoc(r,o);if(r!=i.from){for(let a=0;al.length-Gn;a--)if(!Zn.test(l[a-1])&&Zn.test(l[a])){l=l.slice(0,a);break}}return Q.announce.of(`${n.state.phrase("current match")}. ${l} ${n.state.phrase("on line")} ${i.number}.`)}const Ay=Q.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),My=[Mt,$t.low(wy),Ay];class _u{constructor(e,t,i,s){this.state=e,this.pos=t,this.explicit=i,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=fe(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),s=t.text.slice(i-t.from,this.pos-t.from),r=s.search(Hu(e,!1));return r<0?null:{from:i+r,to:this.pos,text:s.slice(r)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function gh(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function Ry(n){let e=Object.create(null),t=Object.create(null);for(let{label:s}of n){e[s[0]]=!0;for(let r=1;rtypeof s=="string"?{label:s}:s),[t,i]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:Ry(e);return s=>{let r=s.matchBefore(i);return r||s.explicit?{from:r?r.from:s.pos,options:e,validFor:t}:null}}function Dy(n,e){return t=>{for(let i=fe(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(n.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class Oh{constructor(e,t,i,s){this.completion=e,this.source=t,this.match=i,this.score=s}}function jt(n){return n.selection.main.from}function Hu(n,e){var t;let{source:i}=n,s=e&&i[0]!="^",r=i[i.length-1]!="$";return!s&&!r?n:new RegExp(`${s?"^":""}(?:${i})${r?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const xl=St.define();function Ey(n,e,t,i){let{main:s}=n.selection,r=t-s.from,o=i-s.from;return{...n.changeByRange(l=>{if(l!=s&&t!=i&&n.sliceDoc(l.from+r,l.from+o)!=n.sliceDoc(t,i))return{range:l};let a=n.toText(e);return{changes:{from:l.from+r,to:i==s.from?l.to:l.from+o,insert:a},range:b.cursor(l.from+r+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const yh=new WeakMap;function qy(n){if(!Array.isArray(n))return n;let e=yh.get(n);return e||yh.set(n,e=Uu(n)),e}const Bs=L.define(),fn=L.define();class $y{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&x<=57||x>=97&&x<=122?2:x>=65&&x<=90?1:0:(w=No(x))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!S||T==1&&g||v==0&&T!=0)&&(t[f]==x||i[f]==x&&(u=!0)?o[f++]=S:o.length&&(y=!1)),v=T,S+=et(x)}return f==a&&o[0]==0&&y?this.result(-100+(u?-200:0),o,e):d==a&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):d==a?this.ret(-900-e.length,[p,m]):f==a?this.result(-100+(u?-200:0)+-700+(y?0:-1100),o,e):t.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,t,i){let s=[],r=0;for(let o of t){let l=o+(this.astral?et(Qe(i,o)):1);r&&s[r-1]==o?s[r-1]=l:(s[r++]=o,s[r++]=l)}return this.ret(e-i.length,s)}}class By{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Ly,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>bh(e(i),t(i)),optionClass:(e,t)=>i=>bh(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function bh(n,e){return n?e?n+" "+e:n:e}function Ly(n,e,t,i,s,r){let o=n.textDirection==Z.RTL,l=o,a=!1,h="top",c,f,u=e.left-s.left,d=s.right-e.right,p=i.right-i.left,m=i.bottom-i.top;if(l&&u=m||S>e.top?c=t.bottom-e.top:(h="bottom",c=e.bottom-t.top)}let g=(e.bottom-e.top)/r.offsetHeight,y=(e.right-e.left)/r.offsetWidth;return{style:`${h}: ${c/g}px; max-width: ${f/y}px`,class:"cm-completionInfo-"+(a?o?"left-narrow":"right-narrow":l?"left":"right")}}function Wy(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,s,r){let o=document.createElement("span");o.className="cm-completionLabel";let l=t.displayLabel||t.label,a=0;for(let h=0;ha&&o.appendChild(document.createTextNode(l.slice(a,c)));let u=o.appendChild(document.createElement("span"));u.appendChild(document.createTextNode(l.slice(c,f))),u.className="cm-completionMatchedText",a=f}return at.position-i.position).map(t=>t.render)}function Ar(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let s=Math.floor(e/t);return{from:s*t,to:(s+1)*t}}let i=Math.floor((n-e)/t);return{from:n-(i+1)*t,to:n-i*t}}class zy{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:r,selected:o}=s.open,l=e.state.facet(ce);this.optionContent=Wy(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=Ar(r.length,o,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:h}=e.state.field(t).open;for(let c=a.target,f;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(f=/-(\d+)$/.exec(c.id))&&+f[1]{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(ce).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:fn.of(null)})}),this.showOptions(r,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=s){let{options:r,selected:o,disabled:l}=i.open;(!s.open||s.open.options!=r)&&(this.range=Ar(r.length,o,e.state.facet(ce).maxRenderedOptions),this.showOptions(r,i.id)),this.updateSel(),l!=((t=s.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!l)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Ar(t.options.length,t.selected,this.view.state.facet(ce).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let r=typeof s=="string"?document.createTextNode(s):s(i);if(!r)return;"then"in r?r.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,i)}).catch(o=>Re(this.view.state,o,"completion info")):this.addInfoPane(r,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:r}=e;i.appendChild(s),this.infoDestroy=r||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,s=this.range.from;i;i=i.nextSibling,s++)i.nodeName!="LI"||!i.id?s--:s==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&Vy(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),r=this.space;if(!r){let o=this.dom.ownerDocument.documentElement;r={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return s.top>Math.min(r.bottom,t.bottom)-10||s.bottom{o.target==s&&o.preventDefault()});let r=null;for(let o=i.from;oi.from||i.from==0))if(r=u,typeof h!="string"&&h.header)s.appendChild(h.header(h));else{let d=s.appendChild(document.createElement("completion-section"));d.textContent=u}}const c=s.appendChild(document.createElement("li"));c.id=t+"-"+o,c.setAttribute("role","option");let f=this.optionClass(l);f&&(c.className=f);for(let u of this.optionContent){let d=u(l,this.view.state,this.view,a);d&&c.appendChild(d)}}return i.from&&s.classList.add("cm-completionListIncompleteTop"),i.tonew zy(t,n,e)}function Vy(n,e){let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),s=t.height/n.offsetHeight;i.topt.bottom&&(n.scrollTop+=(i.bottom-t.bottom)/s)}function xh(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function Ny(n,e){let t=[],i=null,s=h=>{t.push(h);let{section:c}=h.completion;if(c){i||(i=[]);let f=typeof c=="string"?c:c.name;i.some(u=>u.name==f)||i.push(typeof c=="string"?{name:f}:c)}},r=e.facet(ce);for(let h of n)if(h.hasResult()){let c=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new Oh(f,h.source,c?c(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),u,d=r.filterStrict?new By(f):new $y(f);for(let p of h.result.options)if(u=d.match(p.label)){let m=p.displayLabel?c?c(p,u.matched):[]:u.matched;s(new Oh(p,h.source,m,u.score+(p.boost||0)))}}}if(i){let h=Object.create(null),c=0,f=(u,d)=>{var p,m;return((p=u.rank)!==null&&p!==void 0?p:1e9)-((m=d.rank)!==null&&m!==void 0?m:1e9)||(u.namef.score-c.score||a(c.completion,f.completion))){let c=h.completion;!l||l.label!=c.label||l.detail!=c.detail||l.type!=null&&c.type!=null&&l.type!=c.type||l.apply!=c.apply||l.boost!=c.boost?o.push(h):xh(h.completion)>xh(l)&&(o[o.length-1]=h),l=h.completion}return o}class ci{constructor(e,t,i,s,r,o){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=s,this.selected=r,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new ci(this.options,Sh(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,s,r,o){if(s&&!o&&e.some(h=>h.isPending))return s.setDisabled();let l=Ny(e,t);if(!l.length)return s&&e.some(h=>h.isPending)?s.setDisabled():null;let a=t.facet(ce).selectOnOpen?0:-1;if(s&&s.selected!=a&&s.selected!=-1){let h=s.options[s.selected].completion;for(let c=0;cc.hasResult()?Math.min(h,c.from):h,1e8),create:jy,above:r.aboveCursor},s?s.timestamp:Date.now(),a,!1)}map(e){return new ci(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new ci(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Ls{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new Ls(Uy,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ce),r=(i.override||t.languageDataAt("autocomplete",jt(t)).map(qy)).map(a=>(this.active.find(c=>c.source==a)||new Ne(a,this.active.some(c=>c.state!=0)?1:0)).update(e,i));r.length==this.active.length&&r.every((a,h)=>a==this.active[h])&&(r=this.active);let o=this.open,l=e.effects.some(a=>a.is(Sl));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||r.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!Fy(r,this.active)||l?o=ci.build(r,t,this.id,o,i,l):o&&o.disabled&&!r.some(a=>a.isPending)&&(o=null),!o&&r.every(a=>!a.isPending)&&r.some(a=>a.hasResult())&&(r=r.map(a=>a.hasResult()?new Ne(a.source,0):a));for(let a of e.effects)a.is(Gu)&&(o=o&&o.setSelected(a.value,this.id));return r==this.active&&o==this.open?this:new Ls(r,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Xy:_y}}function Fy(n,e){if(n==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=n+"-"+e),t}const Uy=[];function ju(n,e){if(n.isUserEvent("input.complete")){let i=n.annotation(xl);if(i&&e.activateOnCompletion(i))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class Ne{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=ju(e,t),s=this;(i&8||i&16&&this.touches(e))&&(s=new Ne(s.source,0)),i&4&&s.state==0&&(s=new Ne(this.source,1)),s=s.updateFor(e,i);for(let r of e.effects)if(r.is(Bs))s=new Ne(s.source,1,r.value);else if(r.is(fn))s=new Ne(s.source,0);else if(r.is(Sl))for(let o of r.value)o.source==s.source&&(s=o);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(jt(e.state))}}class mi extends Ne{constructor(e,t,i,s,r,o){super(e,3,t),this.limit=i,this.result=s,this.from=r,this.to=o}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let r=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),l=jt(e.state);if(l>o||!s||t&2&&(jt(e.startState)==this.from||lt.map(e))}}),Gu=L.define(),Me=ue.define({create(){return Ls.start()},update(n,e){return n.update(e)},provide:n=>[nl.from(n,e=>e.tooltip),Q.contentAttributes.from(n,e=>e.attrs)]});function kl(n,e){const t=e.completion.apply||e.completion.label;let i=n.state.field(Me).active.find(s=>s.source==e.source);return i instanceof mi?(typeof t=="string"?n.dispatch({...Ey(n.state,t,i.from,i.to),annotations:xl.of(e.completion)}):t(n,e.completion,i.from,i.to),!0):!1}const jy=Iy(Me,kl);function Yn(n,e="option"){return t=>{let i=t.state.field(Me,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+s*(n?1:-1):n?0:o-1;return l<0?l=e=="page"?0:o-1:l>=o&&(l=e=="page"?o-1:0),t.dispatch({effects:Gu.of(l)}),!0}}const Gy=n=>{let e=n.state.field(Me,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampn.state.field(Me,!1)?(n.dispatch({effects:Bs.of(!0)}),!0):!1,Zy=n=>{let e=n.state.field(Me,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:fn.of(null)}),!0)};class Yy{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Ky=50,Jy=1e3,e1=le.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(Me).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(Me),t=n.state.facet(ce);if(!n.selectionSet&&!n.docChanged&&n.startState.field(Me)==e)return;let i=n.transactions.some(r=>{let o=ju(r,t);return o&8||(r.selection||r.docChanged)&&!(o&3)});for(let r=0;rKy&&Date.now()-o.time>Jy){for(let l of o.context.abortListeners)try{l()}catch(a){Re(this.view.state,a)}o.context.abortListeners=null,this.running.splice(r--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(r=>r.effects.some(o=>o.is(Bs)))&&(this.pendingStart=!0);let s=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(r=>r.isPending&&!this.running.some(o=>o.active.source==r.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let r of n.transactions)r.isUserEvent("input.type")?this.composing=2:this.composing==2&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(Me);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ce).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=jt(e),i=new _u(e,t,n.explicit,this.view),s=new Yy(n,i);this.running.push(s),Promise.resolve(n.source(i)).then(r=>{s.context.aborted||(s.done=r||null,this.scheduleAccept())},r=>{this.view.dispatch({effects:fn.of(null)}),Re(this.view.state,r)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ce).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ce),i=this.view.state.field(Me);for(let s=0;sl.source==r.active.source);if(o&&o.isPending)if(r.done==null){let l=new Ne(r.active.source,0);for(let a of r.updates)l=l.update(a,t);l.isPending||e.push(l)}else this.startQuery(o)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:Sl.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(Me,!1);if(e&&e.tooltip&&this.view.state.facet(ce).closeOnBlur){let t=e.open&&Tf(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:fn.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Bs.of(!1)}),20),this.composing=0}}}),t1=typeof navigator=="object"&&/Win/.test(navigator.platform),i1=$t.highest(Q.domEventHandlers({keydown(n,e){let t=e.state.field(Me,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(t1&&n.altKey)||n.metaKey)return!1;let i=t.open.options[t.open.selected],s=t.active.find(o=>o.source==i.source),r=i.completion.commitCharacters||s.result.commitCharacters;return r&&r.indexOf(n.key)>-1&&kl(e,i),!1}})),Zu=Q.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class n1{constructor(e,t,i,s){this.field=e,this.line=t,this.from=i,this.to=s}}class wl{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),i=e.mapPos(this.to,1,ge.TrackDel);return t==null||i==null?null:new wl(this.field,t,i)}}class vl{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],s=[t],r=e.doc.lineAt(t),o=/^\s*/.exec(r.text)[0];for(let a of this.lines){if(i.length){let h=o,c=/^\t*/.exec(a)[0].length;for(let f=0;fnew wl(a.field,s[a.line]+a.from,s[a.line]+a.to));return{text:i,ranges:l}}static parse(e){let t=[],i=[],s=[],r;for(let o of e.split(/\r\n?|\n/)){for(;r=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let l=r[1]?+r[1]:null,a=r[2]||r[3]||"",h=-1,c=a.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=h&&u.field++}for(let f of s)if(f.line==i.length&&f.from>r.index){let u=r[2]?3+(r[1]||"").length:2;f.from-=u,f.to-=u}s.push(new n1(h,i.length,r.index,r.index+c.length)),o=o.slice(0,r.index)+a+o.slice(r.index+r[0].length)}o=o.replace(/\\([{}])/g,(l,a,h)=>{for(let c of s)c.line==i.length&&c.from>h&&(c.from--,c.to--);return a}),i.push(o)}return new vl(i,s)}}let s1=D.widget({widget:new class extends kt{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),r1=D.mark({class:"cm-snippetField"});class Ri{constructor(e,t){this.ranges=e,this.active=t,this.deco=D.set(e.map(i=>(i.from==i.to?s1:r1).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let s=i.map(e);if(!s)return null;t.push(s)}return new Ri(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}}const Tn=L.define({map(n,e){return n&&n.map(e)}}),o1=L.define(),un=ue.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(Tn))return t.value;if(t.is(o1)&&n)return new Ri(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>Q.decorations.from(n,e=>e?e.deco:D.none)});function Tl(n,e){return b.create(n.filter(t=>t.field==e).map(t=>b.range(t.from,t.to)))}function l1(n){let e=vl.parse(n);return(t,i,s,r)=>{let{text:o,ranges:l}=e.instantiate(t.state,s),{main:a}=t.state.selection,h={changes:{from:s,to:r==a.from?a.to:r,insert:V.of(o)},scrollIntoView:!0,annotations:i?[xl.of(i),oe.userEvent.of("input.complete")]:void 0};if(l.length&&(h.selection=Tl(l,0)),l.some(c=>c.field>0)){let c=new Ri(l,0),f=h.effects=[Tn.of(c)];t.state.field(un,!1)===void 0&&f.push(L.appendConfig.of([un,u1,d1,Zu]))}t.dispatch(t.state.update(h))}}function Yu(n){return({state:e,dispatch:t})=>{let i=e.field(un,!1);if(!i||n<0&&i.active==0)return!1;let s=i.active+n,r=n>0&&!i.ranges.some(o=>o.field==s+n);return t(e.update({selection:Tl(i.ranges,s),effects:Tn.of(r?null:new Ri(i.ranges,s)),scrollIntoView:!0})),!0}}const a1=({state:n,dispatch:e})=>n.field(un,!1)?(e(n.update({effects:Tn.of(null)})),!0):!1,h1=Yu(1),c1=Yu(-1),f1=[{key:"Tab",run:h1,shift:c1},{key:"Escape",run:a1}],kh=M.define({combine(n){return n.length?n[0]:f1}}),u1=$t.highest(ki.compute([kh],n=>n.facet(kh)));function ct(n,e){return{...e,apply:l1(n)}}const d1=Q.domEventHandlers({mousedown(n,e){let t=e.state.field(un,!1),i;if(!t||(i=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let s=t.ranges.find(r=>r.from<=i&&r.to>=i);return!s||s.field==t.active?!1:(e.dispatch({selection:Tl(t.ranges,s.field),effects:Tn.of(t.ranges.some(r=>r.field>s.field)?new Ri(t.ranges,s.field):null),scrollIntoView:!0}),!0)}}),dn={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ut=L.define({map(n,e){let t=e.mapPos(n,-1,ge.TrackAfter);return t??void 0}}),Cl=new class extends Gt{};Cl.startSide=1;Cl.endSide=-1;const Ku=ue.define({create(){return F.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(Ut)&&(n=n.update({add:[Cl.range(t.value,t.value+1)]}));return n}});function p1(){return[g1,Ku]}const Rr="()[]{}<>«»»«[]{}";function Ju(n){for(let e=0;e{if((m1?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let s=n.state.selection.main;if(i.length>2||i.length==2&&et(Qe(i,0))==1||e!=s.from||t!=s.to)return!1;let r=b1(n.state,i);return r?(n.dispatch(r),!0):!1}),O1=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let i=ed(n,n.selection.main.head).brackets||dn.brackets,s=null,r=n.changeByRange(o=>{if(o.empty){let l=x1(n.doc,o.head);for(let a of i)if(a==l&&er(n.doc,o.head)==Ju(Qe(a,0)))return{changes:{from:o.head-a.length,to:o.head+a.length},range:b.cursor(o.head-a.length)}}return{range:s=o}});return s||e(n.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},y1=[{key:"Backspace",run:O1}];function b1(n,e){let t=ed(n,n.selection.main.head),i=t.brackets||dn.brackets;for(let s of i){let r=Ju(Qe(s,0));if(e==s)return r==s?w1(n,s,i.indexOf(s+s+s)>-1,t):S1(n,s,r,t.before||dn.before);if(e==r&&td(n,n.selection.main.from))return k1(n,s,r)}return null}function td(n,e){let t=!1;return n.field(Ku).between(0,n.doc.length,i=>{i==e&&(t=!0)}),t}function er(n,e){let t=n.sliceString(e,e+2);return t.slice(0,et(Qe(t,0)))}function x1(n,e){let t=n.sliceString(e-2,e);return et(Qe(t,0))==t.length?t:t.slice(1)}function S1(n,e,t,i){let s=null,r=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Ut.of(o.to+e.length),range:b.range(o.anchor+e.length,o.head+e.length)};let l=er(n.doc,o.head);return!l||/\s/.test(l)||i.indexOf(l)>-1?{changes:{insert:e+t,from:o.head},effects:Ut.of(o.head+e.length),range:b.cursor(o.head+e.length)}:{range:s=o}});return s?null:n.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function k1(n,e,t){let i=null,s=n.changeByRange(r=>r.empty&&er(n.doc,r.head)==t?{changes:{from:r.head,to:r.head+t.length,insert:t},range:b.cursor(r.head+t.length)}:i={range:r});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function w1(n,e,t,i){let s=i.stringPrefixes||dn.stringPrefixes,r=null,o=n.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:Ut.of(l.to+e.length),range:b.range(l.anchor+e.length,l.head+e.length)};let a=l.head,h=er(n.doc,a),c;if(h==e){if(wh(n,a))return{changes:{insert:e+e,from:a},effects:Ut.of(a+e.length),range:b.cursor(a+e.length)};if(td(n,a)){let u=t&&n.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+u.length,insert:u},range:b.cursor(a+u.length)}}}else{if(t&&n.sliceDoc(a-2*e.length,a)==e+e&&(c=vh(n,a-2*e.length,s))>-1&&wh(n,c))return{changes:{insert:e+e+e+e,from:a},effects:Ut.of(a+e.length),range:b.cursor(a+e.length)};if(n.charCategorizer(a)(h)!=Y.Word&&vh(n,a,s)>-1&&!v1(n,a,e,s))return{changes:{insert:e+e,from:a},effects:Ut.of(a+e.length),range:b.cursor(a+e.length)}}return{range:r=l}});return r?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function wh(n,e){let t=fe(n).resolveInner(e+1);return t.parent&&t.from==e}function v1(n,e,t,i){let s=fe(n).resolveInner(e,-1),r=i.reduce((o,l)=>Math.max(o,l.length),0);for(let o=0;o<5;o++){let l=n.sliceDoc(s.from,Math.min(s.to,s.from+t.length+r)),a=l.indexOf(t);if(!a||a>-1&&i.indexOf(l.slice(0,a))>-1){let c=s.firstChild;for(;c&&c.from==s.from&&c.to-c.from>t.length+a;){if(n.sliceDoc(c.to-t.length,c.to)==t)return!1;c=c.firstChild}return!0}let h=s.to==e&&s.parent;if(!h)break;s=h}return!1}function vh(n,e,t){let i=n.charCategorizer(e);if(i(n.sliceDoc(e-1,e))!=Y.Word)return e;for(let s of t){let r=e-s.length;if(n.sliceDoc(r,e)==s&&i(n.sliceDoc(r-1,r))!=Y.Word)return r}return-1}function Lo(n={}){return[i1,Me,ce.of(n),e1,T1,Zu]}const id=[{key:"Ctrl-Space",run:Mr},{mac:"Alt-`",run:Mr},{mac:"Alt-i",run:Mr},{key:"Escape",run:Zy},{key:"ArrowDown",run:Yn(!0)},{key:"ArrowUp",run:Yn(!1)},{key:"PageDown",run:Yn(!0,"page")},{key:"PageUp",run:Yn(!1,"page")},{key:"Enter",run:Gy}],T1=$t.highest(ki.computeN([ce],n=>n.facet(ce).defaultKeymap?[id]:[]));function it(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=t[i];typeof s=="string"?n.setAttribute(i,s):s!=null&&(n[i]=s)}e++}for(;ec.from-f.from||c.to-f.to),o=new yt,l=[],a=0;for(let c=0;;){let f=c==r.length?null:r[c];if(!f&&!l.length)break;let u,d;for(l.length?(u=a,d=l.reduce((m,g)=>Math.min(m,g.to),f&&f.from>u?f.from:1e8)):(u=f.from,d=f.to,l.push(f),c++);cm.from||m.to==u))l.push(m),c++,d=Math.min(m.to,d);else{d=Math.min(m.from,d);break}}let p=W1(l);if(l.some(m=>m.from==m.to||m.from==m.to-1&&i.doc.lineAt(m.from).to==m.from))o.add(u,u,D.widget({widget:new q1(p),diagnostics:l.slice()}));else{let m=l.reduce((g,y)=>y.markClass?g+" "+y.markClass:g,"");o.add(u,d,D.mark({class:"cm-lintRange cm-lintRange-"+p+m,diagnostics:l.slice(),inclusiveEnd:l.some(g=>g.to>d)}))}a=d;for(let m=0;m{if(!(e&&o.diagnostics.indexOf(e)<0))if(!i)i=new Th(s,r,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new Th(i.from,r,i.diagnostic)}}),i}function C1(n,e){let t=e.pos,i=e.end||t,s=n.state.facet(pn).hideOn(n,t,i);if(s!=null)return s;let r=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(sd))||n.changes.touchesRange(r.from,Math.max(r.to,i)))}function P1(n,e){return n.field(Le,!1)?e:e.concat(L.appendConfig.of(z1))}const sd=L.define(),Pl=L.define(),rd=L.define(),Le=ue.define({create(){return new Ft(D.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,s=n.panel;if(n.selected){let r=e.changes.mapPos(n.selected.from,1);i=Ci(t,n.selected.diagnostic,r)||Ci(t,null,r)}!t.size&&s&&e.state.facet(pn).autoPanel&&(s=null),n=new Ft(t,s,i)}for(let t of e.effects)if(t.is(sd)){let i=e.state.facet(pn).autoPanel?t.value.length?mn.open:null:n.panel;n=Ft.init(t.value,i,e.state)}else t.is(Pl)?n=new Ft(n.diagnostics,t.value?mn.open:null,n.selected):t.is(rd)&&(n=new Ft(n.diagnostics,n.panel,t.value));return n},provide:n=>[on.from(n,e=>e.panel),Q.decorations.from(n,e=>e.diagnostics)]}),Q1=D.mark({class:"cm-lintRange cm-lintRange-active"});function A1(n,e,t){let{diagnostics:i}=n.state.field(Le),s,r=-1,o=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,h,{spec:c})=>{if(e>=a&&e<=h&&(a==h||(e>a||t>0)&&(eld(n,t,!1)))}const R1=n=>{let e=n.state.field(Le,!1);(!e||!e.panel)&&n.dispatch({effects:P1(n.state,[Pl.of(!0)])});let t=rn(n,mn.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Ch=n=>{let e=n.state.field(Le,!1);return!e||!e.panel?!1:(n.dispatch({effects:Pl.of(!1)}),!0)},D1=n=>{let e=n.state.field(Le,!1);if(!e)return!1;let t=n.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)},E1=[{key:"Mod-Shift-m",run:R1,preventDefault:!0},{key:"F8",run:D1}],pn=M.define({combine(n){return Object.assign({sources:n.map(e=>e.source).filter(e=>e!=null)},at(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))}});function od(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;ir.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function ld(n,e,t){var i;let s=t?od(e.actions):[];return it("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},it("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((r,o)=>{let l=!1,a=u=>{if(u.preventDefault(),l)return;l=!0;let d=Ci(n.state.field(Le).diagnostics,e);d&&r.apply(n,d.from,d.to)},{name:h}=r,c=s[o]?h.indexOf(s[o]):-1,f=c<0?h:[h.slice(0,c),it("u",h.slice(c,c+1)),h.slice(c+1)];return it("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${h}${c<0?"":` (access key "${s[o]})"`}.`},f)}),e.source&&it("div",{class:"cm-diagnosticSource"},e.source))}class q1 extends kt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return it("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Ph{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=ld(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class mn{constructor(e){this.view=e,this.items=[];let t=s=>{if(s.keyCode==27)Ch(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:r}=this.items[this.selectedIndex],o=od(r.actions);for(let l=0;l{for(let r=0;rCh(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Le).selected;if(!e)return-1;for(let t=0;t{for(let c of h.diagnostics){if(o.has(c))continue;o.add(c);let f=-1,u;for(let d=i;di&&(this.items.splice(i,f-i),s=!0)),t&&u.diagnostic==t.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),r=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),i++}});i({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:a})=>{let h=a.height/this.list.offsetHeight;l.topa.bottom&&(this.list.scrollTop+=(l.bottom-a.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Le),i=Ci(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:rd.of(i)})}static open(e){return new mn(e)}}function $1(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(n)}')`}function Kn(n){return $1(``,'width="6" height="3"')}const B1=Q.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Kn("#d11")},".cm-lintRange-warning":{backgroundImage:Kn("orange")},".cm-lintRange-info":{backgroundImage:Kn("#999")},".cm-lintRange-hint":{backgroundImage:Kn("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function L1(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function W1(n){let e="hint",t=1;for(let i of n){let s=L1(i.severity);s>t&&(t=s,e=i.severity)}return e}const z1=[Le,Q.decorations.compute([Le],n=>{let{selected:e,panel:t}=n.field(Le);return!e||!t||e.from==e.to?D.none:D.set([Q1.range(e.from,e.to)])}),bg(A1,{hideOn:C1}),B1],Qh=[Mg(),Eg(),Zm(),e0(),wO(),zm(),Xm(),I.allowMultipleSelections.of(!0),hO(),Gf(PO,{fallback:!0}),qO(),p1(),Lo(),ag(),fg(),ig(),ay(),ki.of([...y1,...iy,...Py,...h0,...bO,...id,...E1])],I1="#e5c07b",Ah="#e06c75",V1="#56b6c2",N1="#ffffff",fs="#abb2bf",Wo="#7d8799",F1="#61afef",X1="#98c379",Mh="#d19a66",_1="#c678dd",U1="#21252b",Rh="#2c313a",Dh="#282c34",Dr="#353a42",H1="#3E4451",Eh="#528bff",j1=Q.theme({"&":{color:fs,backgroundColor:Dh},".cm-content":{caretColor:Eh},".cm-cursor, .cm-dropCursor":{borderLeftColor:Eh},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:H1},".cm-panels":{backgroundColor:U1,color:fs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Dh,color:Wo,border:"none"},".cm-activeLineGutter":{backgroundColor:Rh},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Dr},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Dr,borderBottomColor:Dr},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Rh,color:fs}}},{dark:!0}),G1=kn.define([{tag:O.keyword,color:_1},{tag:[O.name,O.deleted,O.character,O.propertyName,O.macroName],color:Ah},{tag:[O.function(O.variableName),O.labelName],color:F1},{tag:[O.color,O.constant(O.name),O.standard(O.name)],color:Mh},{tag:[O.definition(O.name),O.separator],color:fs},{tag:[O.typeName,O.className,O.number,O.changed,O.annotation,O.modifier,O.self,O.namespace],color:I1},{tag:[O.operator,O.operatorKeyword,O.url,O.escape,O.regexp,O.link,O.special(O.string)],color:V1},{tag:[O.meta,O.comment],color:Wo},{tag:O.strong,fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.link,color:Wo,textDecoration:"underline"},{tag:O.heading,fontWeight:"bold",color:Ah},{tag:[O.atom,O.bool,O.special(O.variableName)],color:Mh},{tag:[O.processingInstruction,O.string,O.inserted],color:X1},{tag:O.invalid,color:N1}]),Z1=[j1,Gf(G1)];var qh={};class Ws{constructor(e,t,i,s,r,o,l,a,h,c=0,f){this.p=e,this.stack=t,this.state=i,this.reducePos=s,this.pos=r,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=h,this.lookAhead=c,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let s=e.parser.context;return new Ws(e,[],t,i,i,0,[],0,s?new $h(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,s=e&65535,{parser:r}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[s])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,t,i,s=4,r=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&o.buffer[l-4]==0&&o.buffer[l-1]>-1){if(t==i)return;if(o.buffer[l-2]>=t){o.buffer[l-2]=i;return}}}if(!r||this.pos==i)this.buffer.push(e,t,i,s);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>i;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>i;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,s>4&&(s-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=i,this.buffer[o+3]=s}}shift(e,t,i,s){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let r=e,{parser:o}=this.p;(s>this.pos||t<=o.maxNode)&&(this.pos=s,o.stateFlag(r,1)||(this.reducePos=s)),this.pushState(r,i),this.shiftContext(t,i),t<=o.maxNode&&this.buffer.push(t,i,s,4)}else this.pos=s,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,s,4)}apply(e,t,i,s){e&65536?this.reduce(e):this.shift(e,t,i,s)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(i,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new Ws(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Y1(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let s=[];for(let r=0,o;ra&1&&l==o)||s.push(t[r],o)}t=s}let i=[];for(let s=0;s>19,s=t&65535,r=this.stack.length-i*3;if(r<0||e.getGoto(this.stack[r],s,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(s,r)=>{if(!t.includes(s))return t.push(s),e.allActions(s,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-r;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&e.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=i(o,r+1);if(l!=null)return l}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class $h{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Y1{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class zs{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new zs(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new zs(this.stack,this.pos,this.index)}}function Jn(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let i=0,s=0;i=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),r+=a,l)break;r*=46}t?t[s++]=r:t=new e(r)}return t}class us{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Bh=new us;class K1{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Bh,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,s=this.rangeIndex,r=this.pos+e;for(;ri.to:r>=i.to;){if(s==this.ranges.length-1)return null;let o=this.ranges[++s];r+=o.from-i.to,i=o}return r}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,s;if(t>=0&&t=this.chunk2Pos&&il.to&&(this.chunk2=this.chunk2.slice(0,l.to-i)),s=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),s}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Bh,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(i+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return i}}class gi{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;J1(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}gi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;gi.prototype.fallback=gi.prototype.extend=!1;class tr{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function J1(n,e,t,i,s,r){let o=0,l=1<0){let p=n[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||eb(p,e.token.value,s,r))){e.acceptToken(p);break}}let c=e.next,f=0,u=n[o+2];if(e.next<0&&u>f&&n[h+u*3-3]==65535){o=n[h+u*3-1];continue e}for(;f>1,p=h+d+(d<<1),m=n[p],g=n[p+1]||65536;if(c=g)f=d+1;else{o=n[p+2],e.advance();continue e}}break}}function Lh(n,e,t){for(let i=e,s;(s=n[i])!=65535;i++)if(s==t)return i-e;return-1}function eb(n,e,t,i){let s=Lh(t,i,e);return s<0||Lh(t,i,n)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(n.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:n.length}}class tb{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Wh(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Wh(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(r instanceof U){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+r.length}}}class ib{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new us)}getActions(e){let t=0,i=null,{parser:s}=e.p,{tokenizers:r}=s,o=s.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let h=0;hf.end+25&&(a=Math.max(f.lookAhead,a)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!c.extend&&(i=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!i&&e.pos==this.stream.end&&(i=new us,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new us,{pos:i,p:s}=e;return t.start=i,t.end=Math.min(i+1,s.stream.end),t.value=i==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,i){let s=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(s,e),i),e.value>-1){let{parser:r}=i.p;for(let o=0;o=0&&i.p.parser.dialect.allows(l>>1)){(l&1)==0?e.value=l>>1:e.extended=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,i,s){for(let r=0;re.bufferLength*4?new tb(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],s,r;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)i.push(l);else{if(this.advanceStack(l,i,e))continue;{s||(s=[],r=[]),s.push(l);let a=this.tokens.getMainToken(l);r.push(a.value,a.end)}}break}}if(!i.length){let o=s&&ob(s);if(o)return $e&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw $e&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&s){let o=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,r,i);if(o)return $e&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(i.length>o)for(i.sort((l,a)=>a.score-l.score);i.length>o;)i.pop();i.some(l=>l.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let o=0;o500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)i.splice(a--,1);else{i.splice(o--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,c=h?e.curContext.hash:0;for(let f=this.fragments.nodeAt(s);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?r.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!h||(f.prop(z.contextHash)||0)==c))return e.useNode(f,u),$e&&console.log(o+this.stackID(e)+` (via reuse of ${r.getName(f.type.id)})`),!0;if(!(f instanceof U)||f.children.length==0||f.positions[0]>0)break;let d=f.children[0];if(d instanceof U&&f.positions[0]==0)f=d;else break}}let l=r.stateSlot(e.state,4);if(l>0)return e.reduce(l),$e&&console.log(o+this.stackID(e)+` (via always-reduce ${r.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let h=0;hs?t.push(p):i.push(p)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return zh(e,t),!0}}runRecovery(e,t,i){let s=null,r=!1;for(let o=0;o ":"";if(l.deadEnd&&(r||(r=!0,l.restart(),$e&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,i))))continue;let f=l.split(),u=c;for(let d=0;f.forceReduce()&&d<10&&($e&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,i));d++)$e&&(u=this.stackID(f)+" -> ");for(let d of l.recoverByInsert(a))$e&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),$e&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),zh(l,i)):(!s||s.scoren;class rb{constructor(e){this.start=e.start,this.shift=e.shift||qr,this.reduce=e.reduce||qr,this.reuse=e.reuse||qr,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Is extends ll{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;le.topRules[l][1]),s=[];for(let l=0;l=0)r(c,a,l[h++]);else{let f=l[h+-c];for(let u=-c;u>0;u--)r(l[h++],a,f);h++}}}this.nodeSet=new Us(t.map((l,a)=>Ce.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:s[a],top:i.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Af;let o=Jn(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new gi(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let s=new nb(this,e,t,i);for(let r of this.wrappers)s=r(s,e,t,i);return s}getGoto(e,t,i=!1){let s=this.goto;if(t>=s[0])return-1;for(let r=s[t+1];;){let o=s[r++],l=o&1,a=s[r++];if(l&&i)return a;for(let h=r+(o>>1);r0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),s=i?t(i):void 0;for(let r=this.stateSlot(e,1);s==null;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=mt(this.data,r+2);else break;s=t(mt(this.data,r+1))}return s}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=mt(this.data,i+2);else break;if((this.data[i+2]&1)==0){let s=this.data[i+1];t.some((r,o)=>o&1&&r==s)||t.push(this.data[i],s)}}return t}configure(e){let t=Object.assign(Object.create(Is.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let s=e.tokenizers.find(r=>r.from==i);return s?s.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,s)=>{let r=e.specializers.find(l=>l.from==i.external);if(!r)return i;let o=Object.assign(Object.assign({},i),{external:r.to});return t.specializers[s]=Ih(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let r of e.split(" ")){let o=t.indexOf(r);o>=0&&(i[o]=!0)}let s=null;for(let r=0;ri)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoren.external(t,i)<<1|e}return n.get}const lb=1,ad=194,hd=195,ab=196,Vh=197,hb=198,cb=199,fb=200,ub=2,cd=3,Nh=201,db=24,pb=25,mb=49,gb=50,Ob=55,yb=56,bb=57,xb=59,Sb=60,kb=61,wb=62,vb=63,Tb=65,Cb=238,Pb=71,Qb=241,Ab=242,Mb=243,Rb=244,Db=245,Eb=246,qb=247,$b=248,fd=72,Bb=249,Lb=250,Wb=251,zb=252,Ib=253,Vb=254,Nb=255,Fb=256,Xb=73,_b=77,Ub=263,Hb=112,jb=130,Gb=151,Zb=152,Yb=155,ti=10,gn=13,Ql=32,ir=9,Al=35,Kb=40,Jb=46,zo=123,Fh=125,ud=39,dd=34,Xh=92,ex=111,tx=120,ix=78,nx=117,sx=85,rx=new Set([pb,mb,gb,Ub,Tb,jb,yb,bb,Cb,wb,vb,fd,Xb,_b,Sb,kb,Gb,Zb,Yb,Hb]);function $r(n){return n==ti||n==gn}function Br(n){return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102}const ox=new tr((n,e)=>{let t;if(n.next<0)n.acceptToken(cb);else if(e.context.flags&ds)$r(n.next)&&n.acceptToken(hb,1);else if(((t=n.peek(-1))<0||$r(t))&&e.canShift(Vh)){let i=0;for(;n.next==Ql||n.next==ir;)n.advance(),i++;(n.next==ti||n.next==gn||n.next==Al)&&n.acceptToken(Vh,-i)}else $r(n.next)&&n.acceptToken(ab,1)},{contextual:!0}),lx=new tr((n,e)=>{let t=e.context;if(t.flags)return;let i=n.peek(-1);if(i==ti||i==gn){let s=0,r=0;for(;;){if(n.next==Ql)s++;else if(n.next==ir)s+=8-s%8;else break;n.advance(),r++}s!=t.indent&&n.next!=ti&&n.next!=gn&&n.next!=Al&&(s[n,e|pd])),cx=new rb({start:ax,reduce(n,e,t,i){return n.flags&ds&&rx.has(e)||(e==Pb||e==fd)&&n.flags&pd?n.parent:n},shift(n,e,t,i){return e==ad?new ps(n,hx(i.read(i.pos,t.pos)),0):e==hd?n.parent:e==db||e==Ob||e==xb||e==cd?new ps(n,0,ds):_h.has(e)?new ps(n,0,_h.get(e)|n.flags&ds):n},hash(n){return n.hash}}),fx=new tr(n=>{for(let e=0;e<5;e++){if(n.next!="print".charCodeAt(e))return;n.advance()}if(!/\w/.test(String.fromCharCode(n.next)))for(let e=0;;e++){let t=n.peek(e);if(!(t==Ql||t==ir)){t!=Kb&&t!=Jb&&t!=ti&&t!=gn&&t!=Al&&n.acceptToken(lb);return}}}),ux=new tr((n,e)=>{let{flags:t}=e.context,i=t&ft?dd:ud,s=(t&ut)>0,r=!(t&dt),o=(t&pt)>0,l=n.pos;for(;!(n.next<0);)if(o&&n.next==zo)if(n.peek(1)==zo)n.advance(2);else{if(n.pos==l){n.acceptToken(cd,1);return}break}else if(r&&n.next==Xh){if(n.pos==l){n.advance();let a=n.next;a>=0&&(n.advance(),dx(n,a)),n.acceptToken(ub);return}break}else if(n.next==Xh&&!r&&n.peek(1)>-1)n.advance(2);else if(n.next==i&&(!s||n.peek(1)==i&&n.peek(2)==i)){if(n.pos==l){n.acceptToken(Nh,s?3:1);return}break}else if(n.next==ti){if(s)n.advance();else if(n.pos==l){n.acceptToken(Nh);return}break}else n.advance();n.pos>l&&n.acceptToken(fb)});function dx(n,e){if(e==ex)for(let t=0;t<2&&n.next>=48&&n.next<=55;t++)n.advance();else if(e==tx)for(let t=0;t<2&&Br(n.next);t++)n.advance();else if(e==nx)for(let t=0;t<4&&Br(n.next);t++)n.advance();else if(e==sx)for(let t=0;t<8&&Br(n.next);t++)n.advance();else if(e==ix&&n.next==zo){for(n.advance();n.next>=0&&n.next!=Fh&&n.next!=ud&&n.next!=dd&&n.next!=ti;)n.advance();n.next==Fh&&n.advance()}}const px=Ef({'async "*" "**" FormatConversion FormatSpec':O.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":O.controlKeyword,"in not and or is del":O.operatorKeyword,"from def class global nonlocal lambda":O.definitionKeyword,import:O.moduleKeyword,"with as print":O.keyword,Boolean:O.bool,None:O.null,VariableName:O.variableName,"CallExpression/VariableName":O.function(O.variableName),"FunctionDefinition/VariableName":O.function(O.definition(O.variableName)),"ClassDefinition/VariableName":O.definition(O.className),PropertyName:O.propertyName,"CallExpression/MemberExpression/PropertyName":O.function(O.propertyName),Comment:O.lineComment,Number:O.number,String:O.string,FormatString:O.special(O.string),Escape:O.escape,UpdateOp:O.updateOperator,"ArithOp!":O.arithmeticOperator,BitOp:O.bitwiseOperator,CompareOp:O.compareOperator,AssignOp:O.definitionOperator,Ellipsis:O.punctuation,At:O.meta,"( )":O.paren,"[ ]":O.squareBracket,"{ }":O.brace,".":O.derefOperator,", ;":O.separator}),mx={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},gx=Is.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[fx,lx,ox,ux,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:n=>mx[n]||-1}],tokenPrec:7668}),Uh=new Ig,md=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function es(n){return(e,t,i)=>{if(i)return!1;let s=e.node.getChild("VariableName");return s&&t(s,n),!0}}const Ox={FunctionDefinition:es("function"),ClassDefinition:es("class"),ForStatement(n,e,t){if(t){for(let i=n.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name=="in")break}},ImportStatement(n,e){var t,i;let{node:s}=n,r=((t=s.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=s.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((i=o.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&e(o,r?"variable":"namespace")},AssignStatement(n,e){for(let t=n.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(n,e){for(let t=null,i=n.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(i,"variable"),t=i},CapturePattern:es("variable"),AsPattern:es("variable"),__proto__:null};function gd(n,e){let t=Uh.get(e);if(t)return t;let i=[],s=!0;function r(o,l){let a=n.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor(he.IncludeAnonymous).iterate(o=>{if(o.name){let l=Ox[o.name];if(l&&l(o,r,s)||!s&&md.has(o.name))return!1;s=!1}else if(o.to-o.from>8192){for(let l of gd(n,o.node))i.push(l);return!1}}),Uh.set(e,i),i}const Hh=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Od=["String","FormatString","Comment","PropertyName"];function yx(n){let e=fe(n.state).resolveInner(n.pos,-1);if(Od.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Hh.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let s=e;s;s=s.parent)md.has(s.name)&&(i=i.concat(gd(n.state.doc,s)));return{options:i,from:t?e.from:n.pos,validFor:Hh}}const bx=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(n=>({label:n,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(n=>({label:n,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(n=>({label:n,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(n=>({label:n,type:"function"}))),xx=[ct("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ct("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ct("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ct("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ct(`if \${}: +`);i>-1&&(t=t.slice(0,i))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let s=this.rangeIndex;;){let r=this.ranges[s].to;if(r>=i||(t=t.slice(0,r-(i-t.length)),s++,s==this.ranges.length))break;let o=this.ranges[s].from,l=this.lineAfter(o);t+=l,i=o+l.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let s=this.ranges[this.rangeIndex].to,r=e+t;if(i>0?s>r:s>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-s}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){s=this.skipGapsTo(t,s,1),t+=s;let l=this.chunk.length;s=this.skipGapsTo(i,s,-1),i+=s,r+=this.chunk.length-l}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=i:this.chunk.push(e,t,i,r),s}parseLine(e){let{line:t,end:i}=this.nextLine(),s=0,{streamParser:r}=this.lang,o=new Ff(t,e?e.state.tabSize:4,e?Yt(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let l=_f(r.token,o,this.state);if(l&&(s=this.emitToken(this.lang.tokenTable.resolve(l),this.parsedPos+o.start,this.parsedPos+o.pos,s)),o.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPose.start)return s}throw new Error("Stream parser failed to advance stream.")}const ol=Object.create(null),rn=[Te.none],DO=new Vs(rn),ja=[],Ga=Object.create(null),Uf=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Uf[n]=jf(ol,e);class Hf{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Uf)}resolve(e){return e?this.table[e]||(this.table[e]=jf(this.extra,e)):0}}const EO=new Hf(ol);function br(n,e){ja.indexOf(n)>-1||(ja.push(n),console.warn(e))}function jf(n,e){let t=[];for(let l of e.split(" ")){let a=[];for(let h of l.split(".")){let c=n[h]||O[h];c?typeof c=="function"?a.length?a=a.map(c):br(h,`Modifier ${h} used at start of tag`):a.length?br(h,`Tag ${h} used as modifier`):a=Array.isArray(c)?c:[c]:br(h,`Unknown highlighting tag ${h}`)}for(let h of a)t.push(h)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),s=i+" "+t.map(l=>l.id),r=Ga[s];if(r)return r.id;let o=Ga[s]=Te.define({id:rn.length,name:i,props:[wf({[i]:t})]});return rn.push(o),o.id}function qO(n,e){let t=Te.define({id:rn.length,name:"Document",props:[Ft.add(()=>n),nl.add(()=>i=>e.getIndent(i))],top:!0});return rn.push(t),t}Z.RTL,Z.LTR;const $O=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=al(n.state,t.from);return i.line?BO(n):i.block?WO(n):!1};function ll(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(i(t.update(s)),!0):!1}}const BO=ll(VO,0),LO=ll(Gf,0),WO=ll((n,e)=>Gf(n,e,IO(e)),0);function al(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const qi=50;function zO(n,{open:e,close:t},i,s){let r=n.sliceDoc(i-qi,i),o=n.sliceDoc(s,s+qi),l=/\s*$/.exec(r)[0].length,a=/^\s*/.exec(o)[0].length,h=r.length-l;if(r.slice(h-e.length,h)==e&&o.slice(a,a+t.length)==t)return{open:{pos:i-l,margin:l&&1},close:{pos:s+a,margin:a&&1}};let c,f;s-i<=2*qi?c=f=n.sliceDoc(i,s):(c=n.sliceDoc(i,i+qi),f=n.sliceDoc(s-qi,s));let u=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(f)[0].length,p=f.length-d-t.length;return c.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:i+u+e.length,margin:/\s/.test(c.charAt(u+e.length))?1:0},close:{pos:s-d-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function IO(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),s=t.to<=i.to?i:n.doc.lineAt(t.to);s.from>i.from&&s.from==t.to&&(s=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let r=e.length-1;r>=0&&e[r].to>i.from?e[r].to=s.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:s.to})}return e}function Gf(n,e,t=e.selection.ranges){let i=t.map(r=>al(e,r.from).block);if(!i.every(r=>r))return null;let s=t.map((r,o)=>zO(e,i[o],r.from,r.to));if(n!=2&&!s.every(r=>r))return{changes:e.changes(t.map((r,o)=>s[o]?[]:[{from:r.from,insert:i[o].open+" "},{from:r.to,insert:" "+i[o].close}]))};if(n!=1&&s.some(r=>r)){let r=[];for(let o=0,l;os&&(r==o||o>f.from)){s=f.from;let u=/^\s*/.exec(f.text)[0].length,d=u==f.length,p=f.text.slice(u,u+h.length)==h?u:-1;ur.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:l,token:a,indent:h,empty:c,single:f}of i)(f||!c)&&r.push({from:l.from+h,insert:a+" "});let o=e.changes(r);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&i.some(r=>r.comment>=0)){let r=[];for(let{line:o,comment:l,token:a}of i)if(l>=0){let h=o.from+l,c=h+a.length;o.text[c-o.from]==" "&&c++,r.push({from:h,to:c})}return{changes:r}}return null}const To=bt.define(),NO=bt.define(),FO=M.define(),Zf=M.define({combine(n){return ot(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,s)=>e(i,s)||t(i,s)})}}),Yf=ue.define({create(){return nt.empty},update(n,e){let t=e.state.facet(Zf),i=e.annotation(To);if(i){let a=Me.fromTransaction(e,i.selection),h=i.side,c=h==0?n.undone:n.done;return a?c=Ts(c,c.length,t.minDepth,a):c=eu(c,e.startState.selection),new nt(h==0?i.rest:c,h==0?c:i.rest)}let s=e.annotation(NO);if((s=="full"||s=="before")&&(n=n.isolate()),e.annotation(oe.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=Me.fromTransaction(e),o=e.annotation(oe.time),l=e.annotation(oe.userEvent);return r?n=n.addChanges(r,o,l,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,l,t.newGroupDelay)),(s=="full"||s=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new nt(n.done.map(Me.fromJSON),n.undone.map(Me.fromJSON))}});function XO(n={}){return[Yf,Zf.of(n),Q.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Kf:e.inputType=="historyRedo"?Co:null;return i?(e.preventDefault(),i(t)):!1}})]}function _s(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let s=t.field(Yf,!1);if(!s)return!1;let r=s.pop(n,t,e);return r?(i(r),!0):!1}}const Kf=_s(0,!1),Co=_s(1,!1),_O=_s(0,!0),UO=_s(1,!0);class Me{constructor(e,t,i,s,r){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=s,this.selectionsAfter=r}setSelAfter(e){return new Me(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new Me(e.changes&&ae.fromJSON(e.changes),[],e.mapped&&st.fromJSON(e.mapped),e.startSelection&&b.fromJSON(e.startSelection),e.selectionsAfter.map(b.fromJSON))}static fromTransaction(e,t){let i=ze;for(let s of e.startState.facet(FO)){let r=s(e);r.length&&(i=i.concat(r))}return!i.length&&e.changes.empty?null:new Me(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,ze)}static selection(e){return new Me(void 0,ze,void 0,void 0,e)}}function Ts(n,e,t,i){let s=e+1>t+20?e-t-1:0,r=n.slice(s,e);return r.push(i),r}function HO(n,e){let t=[],i=!1;return n.iterChangedRanges((s,r)=>t.push(s,r)),e.iterChangedRanges((s,r,o,l)=>{for(let a=0;a=h&&o<=c&&(i=!0)}}),i}function jO(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function Jf(n,e){return n.length?e.length?n.concat(e):n:e}const ze=[],GO=200;function eu(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-GO));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),Ts(n,n.length-1,1e9,t.setSelAfter(i)))}else return[Me.selection([e])]}function ZO(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function xr(n,e){if(!n.length)return n;let t=n.length,i=ze;for(;t;){let s=YO(n[t-1],e,i);if(s.changes&&!s.changes.empty||s.effects.length){let r=n.slice(0,t);return r[t-1]=s,r}else e=s.mapped,t--,i=s.selectionsAfter}return i.length?[Me.selection(i)]:ze}function YO(n,e,t){let i=Jf(n.selectionsAfter.length?n.selectionsAfter.map(l=>l.map(e)):ze,t);if(!n.changes)return Me.selection(i);let s=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new Me(s,L.mapEffects(n.effects,e),o,n.startSelection.map(r),i)}const KO=/^(input\.type|delete)($|\.)/;class nt{constructor(e,t,i=0,s=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=s}isolate(){return this.prevTime?new nt(this.done,this.undone):this}addChanges(e,t,i,s,r){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!i||KO.test(i))&&(!l.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):Us(t,e))}function xe(n){return n.textDirectionAt(n.state.selection.main.head)==Z.LTR}const iu=n=>tu(n,!xe(n)),nu=n=>tu(n,xe(n));function su(n,e){return Ue(n,t=>t.empty?n.moveByGroup(t,e):Us(t,e))}const e0=n=>su(n,!xe(n)),t0=n=>su(n,xe(n));function i0(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Hs(n,e,t){let i=fe(n).resolveInner(e.head),s=t?z.closedBy:z.openedBy;for(let a=e.head;;){let h=t?i.childAfter(a):i.childBefore(a);if(!h)break;i0(n,h,s)?i=h:a=t?h.to:h.from}let r=i.type.prop(s),o,l;return r&&(o=t?it(n,i.from,1):it(n,i.to,-1))&&o.matched?l=t?o.end.to:o.end.from:l=t?i.to:i.from,b.cursor(l,t?-1:1)}const n0=n=>Ue(n,e=>Hs(n.state,e,!xe(n))),s0=n=>Ue(n,e=>Hs(n.state,e,xe(n)));function ru(n,e){return Ue(n,t=>{if(!t.empty)return Us(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}const ou=n=>ru(n,!1),lu=n=>ru(n,!0);function au(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):Us(o,e));if(s.eq(i.selection))return!1;let r;if(t.selfScroll){let o=n.coordsAtPos(i.selection.main.head),l=n.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,h=l.bottom-t.marginBottom;o&&o.top>a&&o.bottomhu(n,!1),Po=n=>hu(n,!0);function qt(n,e,t){let i=n.lineBlockAt(e.head),s=n.moveToLineBoundary(e,t);if(s.head==e.head&&s.head!=(t?i.to:i.from)&&(s=n.moveToLineBoundary(e,t,!1)),!t&&s.head==i.from&&i.length){let r=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;r&&e.head!=i.from+r&&(s=b.cursor(i.from+r))}return s}const r0=n=>Ue(n,e=>qt(n,e,!0)),o0=n=>Ue(n,e=>qt(n,e,!1)),l0=n=>Ue(n,e=>qt(n,e,!xe(n))),a0=n=>Ue(n,e=>qt(n,e,xe(n))),h0=n=>Ue(n,e=>b.cursor(n.lineBlockAt(e.head).from,1)),c0=n=>Ue(n,e=>b.cursor(n.lineBlockAt(e.head).to,-1));function f0(n,e,t){let i=!1,s=Ci(n.selection,r=>{let o=it(n,r.head,-1)||it(n,r.head,1)||r.head>0&&it(n,r.head-1,1)||r.headf0(n,e);function Fe(n,e){let t=Ci(n.state.selection,i=>{let s=e(i);return b.range(i.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(lt(n.state,t)),!0)}function cu(n,e){return Fe(n,t=>n.moveByChar(t,e))}const fu=n=>cu(n,!xe(n)),uu=n=>cu(n,xe(n));function du(n,e){return Fe(n,t=>n.moveByGroup(t,e))}const d0=n=>du(n,!xe(n)),p0=n=>du(n,xe(n)),m0=n=>Fe(n,e=>Hs(n.state,e,!xe(n))),g0=n=>Fe(n,e=>Hs(n.state,e,xe(n)));function pu(n,e){return Fe(n,t=>n.moveVertically(t,e))}const mu=n=>pu(n,!1),gu=n=>pu(n,!0);function Ou(n,e){return Fe(n,t=>n.moveVertically(t,e,au(n).height))}const Ya=n=>Ou(n,!1),Ka=n=>Ou(n,!0),O0=n=>Fe(n,e=>qt(n,e,!0)),y0=n=>Fe(n,e=>qt(n,e,!1)),b0=n=>Fe(n,e=>qt(n,e,!xe(n))),x0=n=>Fe(n,e=>qt(n,e,xe(n))),S0=n=>Fe(n,e=>b.cursor(n.lineBlockAt(e.head).from)),k0=n=>Fe(n,e=>b.cursor(n.lineBlockAt(e.head).to)),Ja=({state:n,dispatch:e})=>(e(lt(n,{anchor:0})),!0),eh=({state:n,dispatch:e})=>(e(lt(n,{anchor:n.doc.length})),!0),th=({state:n,dispatch:e})=>(e(lt(n,{anchor:n.selection.main.anchor,head:0})),!0),ih=({state:n,dispatch:e})=>(e(lt(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),w0=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),v0=({state:n,dispatch:e})=>{let t=js(n).map(({from:i,to:s})=>b.range(i,Math.min(s+1,n.doc.length)));return e(n.update({selection:b.create(t),userEvent:"select"})),!0},T0=({state:n,dispatch:e})=>{let t=Ci(n.selection,i=>{let s=fe(n),r=s.resolveStack(i.from,1);if(i.empty){let o=s.resolveStack(i.from,-1);o.node.from>=r.node.from&&o.node.to<=r.node.to&&(r=o)}for(let o=r;o;o=o.next){let{node:l}=o;if((l.from=i.to||l.to>i.to&&l.from<=i.from)&&o.next)return b.range(l.to,l.from)}return i});return t.eq(n.selection)?!1:(e(lt(n,t)),!0)},C0=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=b.create([t.main]):t.main.empty||(i=b.create([b.cursor(t.main.head)])),i?(e(lt(n,i)),!0):!1};function yn(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,s=i.changeByRange(r=>{let{from:o,to:l}=r;if(o==l){let a=e(r);ao&&(t="delete.forward",a=Fn(n,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=Fn(n,o,!1),l=Fn(n,l,!0);return o==l?{range:r}:{changes:{from:o,to:l},range:b.cursor(o,os(n)))i.between(e,e,(s,r)=>{se&&(e=t?r:s)});return e}const yu=(n,e,t)=>yn(n,i=>{let s=i.from,{state:r}=n,o=r.doc.lineAt(s),l,a;if(t&&!e&&s>o.from&&syu(n,!1,!0),bu=n=>yu(n,!0,!1),xu=(n,e)=>yn(n,t=>{let i=t.head,{state:s}=n,r=s.doc.lineAt(i),o=s.charCategorizer(i);for(let l=null;;){if(i==(e?r.to:r.from)){i==t.head&&r.number!=(e?s.doc.lines:1)&&(i+=e?1:-1);break}let a=Oe(r.text,i-r.from,e)+r.from,h=r.text.slice(Math.min(i,a)-r.from,Math.max(i,a)-r.from),c=o(h);if(l!=null&&c!=l)break;(h!=" "||i!=t.head)&&(l=c),i=a}return i}),Su=n=>xu(n,!1),P0=n=>xu(n,!0),Q0=n=>yn(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headyn(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),M0=n=>yn(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:V.of(["",""])},range:b.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},D0=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let s=i.from,r=n.doc.lineAt(s),o=s==r.from?s-1:Oe(r.text,s-r.from,!1)+r.from,l=s==r.to?s+1:Oe(r.text,s-r.from,!0)+r.from;return{changes:{from:o,to:l,insert:n.doc.slice(s,l).append(n.doc.slice(o,s))},range:b.cursor(l)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function js(n){let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.from),r=n.doc.lineAt(i.to);if(!i.empty&&i.to==r.from&&(r=n.doc.lineAt(i.to-1)),t>=s.number){let o=e[e.length-1];o.to=r.to,o.ranges.push(i)}else e.push({from:s.from,to:r.to,ranges:[i]});t=r.number+1}return e}function ku(n,e,t){if(n.readOnly)return!1;let i=[],s=[];for(let r of js(n)){if(t?r.to==n.doc.length:r.from==0)continue;let o=n.doc.lineAt(t?r.to+1:r.from-1),l=o.length+1;if(t){i.push({from:r.to,to:o.to},{from:r.from,insert:o.text+n.lineBreak});for(let a of r.ranges)s.push(b.range(Math.min(n.doc.length,a.anchor+l),Math.min(n.doc.length,a.head+l)))}else{i.push({from:o.from,to:r.from},{from:r.to,insert:n.lineBreak+o.text});for(let a of r.ranges)s.push(b.range(a.anchor-l,a.head-l))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:b.create(s,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const E0=({state:n,dispatch:e})=>ku(n,e,!1),q0=({state:n,dispatch:e})=>ku(n,e,!0);function wu(n,e,t){if(n.readOnly)return!1;let i=[];for(let s of js(n))t?i.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):i.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});return e(n.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const $0=({state:n,dispatch:e})=>wu(n,e,!1),B0=({state:n,dispatch:e})=>wu(n,e,!0),L0=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(js(e).map(({from:s,to:r})=>(s>0?s--:r{let r;if(n.lineWrapping){let o=n.lineBlockAt(s.head),l=n.coordsAtPos(s.head,s.assoc||1);l&&(r=o.bottom+n.documentTop-l.bottom+n.defaultLineHeight/2)}return n.moveVertically(s,!0,r)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function W0(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=fe(n).resolveInner(e),i=t.childBefore(e),s=t.childAfter(e),r;return i&&s&&i.to<=e&&s.from>=e&&(r=i.type.prop(z.closedBy))&&r.indexOf(s.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(s.from).from&&!/\S/.test(n.sliceDoc(i.to,s.from))?{from:i.to,to:s.from}:null}const nh=vu(!1),z0=vu(!0);function vu(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(s=>{let{from:r,to:o}=s,l=e.doc.lineAt(r),a=!n&&r==o&&W0(e,r);n&&(r=o=(o<=l.to?l:e.doc.lineAt(o)).to);let h=new Fs(e,{simulateBreak:r,simulateDoubleBreak:!!a}),c=il(h,r);for(c==null&&(c=Ti(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));ol.from&&r{let s=[];for(let o=i.from;o<=i.to;){let l=n.doc.lineAt(o);l.number>t&&(i.empty||i.to>l.from)&&(e(l,s,i),t=l.number),o=l.to+1}let r=n.changes(s);return{changes:s,range:b.range(r.mapPos(i.anchor,1),r.mapPos(i.head,1))}})}const I0=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new Fs(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),s=hl(n,(r,o,l)=>{let a=il(i,r.from);if(a==null)return;/\S/.test(r.text)||(a=0);let h=/^\s*/.exec(r.text)[0],c=sn(n,a);(h!=c||l.fromn.readOnly?!1:(e(n.update(hl(n,(t,i)=>{i.push({from:t.from,insert:n.facet(Ns)})}),{userEvent:"input.indent"})),!0),N0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(hl(n,(t,i)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let r=Ti(s,n.tabSize),o=0,l=sn(n,Math.max(0,r-Yt(n)));for(;o(n.setTabFocusMode(),!0),X0=[{key:"Ctrl-b",run:iu,shift:fu,preventDefault:!0},{key:"Ctrl-f",run:nu,shift:uu},{key:"Ctrl-p",run:ou,shift:mu},{key:"Ctrl-n",run:lu,shift:gu},{key:"Ctrl-a",run:h0,shift:S0},{key:"Ctrl-e",run:c0,shift:k0},{key:"Ctrl-d",run:bu},{key:"Ctrl-h",run:Qo},{key:"Ctrl-k",run:Q0},{key:"Ctrl-Alt-h",run:Su},{key:"Ctrl-o",run:R0},{key:"Ctrl-t",run:D0},{key:"Ctrl-v",run:Po}],_0=[{key:"ArrowLeft",run:iu,shift:fu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e0,shift:d0,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:l0,shift:b0,preventDefault:!0},{key:"ArrowRight",run:nu,shift:uu,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:t0,shift:p0,preventDefault:!0},{mac:"Cmd-ArrowRight",run:a0,shift:x0,preventDefault:!0},{key:"ArrowUp",run:ou,shift:mu,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Ja,shift:th},{mac:"Ctrl-ArrowUp",run:Za,shift:Ya},{key:"ArrowDown",run:lu,shift:gu,preventDefault:!0},{mac:"Cmd-ArrowDown",run:eh,shift:ih},{mac:"Ctrl-ArrowDown",run:Po,shift:Ka},{key:"PageUp",run:Za,shift:Ya},{key:"PageDown",run:Po,shift:Ka},{key:"Home",run:o0,shift:y0,preventDefault:!0},{key:"Mod-Home",run:Ja,shift:th},{key:"End",run:r0,shift:O0,preventDefault:!0},{key:"Mod-End",run:eh,shift:ih},{key:"Enter",run:nh,shift:nh},{key:"Mod-a",run:w0},{key:"Backspace",run:Qo,shift:Qo},{key:"Delete",run:bu},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Su},{key:"Mod-Delete",mac:"Alt-Delete",run:P0},{mac:"Mod-Backspace",run:A0},{mac:"Mod-Delete",run:M0}].concat(X0.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),U0=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:n0,shift:m0},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:s0,shift:g0},{key:"Alt-ArrowUp",run:E0},{key:"Shift-Alt-ArrowUp",run:$0},{key:"Alt-ArrowDown",run:q0},{key:"Shift-Alt-ArrowDown",run:B0},{key:"Escape",run:C0},{key:"Mod-Enter",run:z0},{key:"Alt-l",mac:"Ctrl-l",run:v0},{key:"Mod-i",run:T0,preventDefault:!0},{key:"Mod-[",run:N0},{key:"Mod-]",run:V0},{key:"Mod-Alt-\\",run:I0},{key:"Shift-Mod-k",run:L0},{key:"Shift-Mod-\\",run:u0},{key:"Mod-/",run:$O},{key:"Alt-A",run:LO},{key:"Ctrl-m",mac:"Shift-Alt-m",run:F0}].concat(_0);function de(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=t[i];typeof s=="string"?n.setAttribute(i,s):s!=null&&(n[i]=s)}e++}for(;en.normalize("NFKD"):n=>n;class ki{constructor(e,t,i=0,s=e.length,r,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,s),this.bufferStart=i,this.normalize=r?l=>r(sh(l)):sh,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Ce(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Bo(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Ke(e);let s=this.normalize(t);if(s.length)for(let r=0,o=i;;r++){let l=s.charCodeAt(r),a=this.match(l,o,this.bufferPos+this.bufferStart);if(r==s.length-1){if(a)return this.value=a,this;break}o==i&&rthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,s=i+t[0].length;if(this.matchPos=Cs(this.text,s+(i==s?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||s.to<=t){let l=new fi(t,e.sliceString(t,i));return Sr.set(e,l),l}if(s.from==t&&s.to==i)return s;let{text:r,from:o}=s;return o>t&&(r=e.sliceString(t,o)+r,o=t),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,s=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,match:t},this.matchPos=Cs(this.text,s+(i==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=fi.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Pu.prototype[Symbol.iterator]=Qu.prototype[Symbol.iterator]=function(){return this});function H0(n){try{return new RegExp(n,cl),!0}catch{return!1}}function Cs(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function Ao(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=de("input",{class:"cm-textfield",name:"line",value:e}),i=de("form",{class:"cm-gotoLine",onkeydown:r=>{r.keyCode==27?(r.preventDefault(),n.dispatch({effects:Ui.of(!1)}),n.focus()):r.keyCode==13&&(r.preventDefault(),s())},onsubmit:r=>{r.preventDefault(),s()}},de("label",n.state.phrase("Go to line"),": ",t)," ",de("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),de("button",{name:"close",onclick:()=>{n.dispatch({effects:Ui.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function s(){let r=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!r)return;let{state:o}=n,l=o.doc.lineAt(o.selection.main.head),[,a,h,c,f]=r,u=c?+c.slice(1):0,d=h?+h:l.number;if(h&&f){let g=d/100;a&&(g=g*(a=="-"?-1:1)+l.number/o.doc.lines),d=Math.round(o.doc.lines*g)}else h&&a&&(d=d*(a=="-"?-1:1)+l.number);let p=o.doc.line(Math.max(1,Math.min(o.doc.lines,d))),m=b.cursor(p.from+Math.max(0,Math.min(u,p.length)));n.dispatch({effects:[Ui.of(!1),Q.scrollIntoView(m.from,{y:"center"})],selection:m}),n.focus()}return{dom:i}}const Ui=L.define(),rh=ue.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(Ui)&&(n=t.value);return n},provide:n=>tn.from(n,e=>e?Ao:null)}),j0=n=>{let e=en(n,Ao);if(!e){let t=[Ui.of(!0)];n.state.field(rh,!1)==null&&t.push(L.appendConfig.of([rh,G0])),n.dispatch({effects:t}),e=en(n,Ao)}return e&&e.dom.querySelector("input").select(),!0},G0=Q.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),Z0={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Y0=M.define({combine(n){return ot(n,Z0,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function K0(n){return[ny,iy]}const J0=D.mark({class:"cm-selectionMatch"}),ey=D.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function oh(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=Y.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=Y.Word)}function ty(n,e,t,i){return n(e.sliceDoc(t,t+1))==Y.Word&&n(e.sliceDoc(i-1,i))==Y.Word}const iy=le.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(Y0),{state:t}=n,i=t.selection;if(i.ranges.length>1)return D.none;let s=i.main,r,o=null;if(s.empty){if(!e.highlightWordAroundCursor)return D.none;let a=t.wordAt(s.head);if(!a)return D.none;o=t.charCategorizer(s.head),r=t.sliceDoc(a.from,a.to)}else{let a=s.to-s.from;if(a200)return D.none;if(e.wholeWords){if(r=t.sliceDoc(s.from,s.to),o=t.charCategorizer(s.head),!(oh(o,t,s.from,s.to)&&ty(o,t,s.from,s.to)))return D.none}else if(r=t.sliceDoc(s.from,s.to),!r)return D.none}let l=[];for(let a of n.visibleRanges){let h=new ki(t.doc,r,a.from,a.to);for(;!h.next().done;){let{from:c,to:f}=h.value;if((!o||oh(o,t,c,f))&&(s.empty&&c<=s.from&&f>=s.to?l.push(ey.range(c,f)):(c>=s.to||f<=s.from)&&l.push(J0.range(c,f)),l.length>e.maxMatches))return D.none}}return D.set(l)}},{decorations:n=>n.decorations}),ny=Q.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),sy=({state:n,dispatch:e})=>{let{selection:t}=n,i=b.create(t.ranges.map(s=>n.wordAt(s.head)||b.cursor(s.head)),t.mainIndex);return i.eq(t)?!1:(e(n.update({selection:i})),!0)};function ry(n,e){let{main:t,ranges:i}=n.selection,s=n.wordAt(t.head),r=s&&s.from==t.from&&s.to==t.to;for(let o=!1,l=new ki(n.doc,e,i[i.length-1].to);;)if(l.next(),l.done){if(o)return null;l=new ki(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),o=!0}else{if(o&&i.some(a=>a.from==l.value.from))continue;if(r){let a=n.wordAt(l.value.from);if(!a||a.from!=l.value.from||a.to!=l.value.to)continue}return l.value}}const oy=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return sy({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(r=>n.sliceDoc(r.from,r.to)!=i))return!1;let s=ry(n,i);return s?(e(n.update({selection:n.selection.addRange(b.range(s.from,s.to),!1),effects:Q.scrollIntoView(s.to)})),!0):!1},Pi=M.define({combine(n){return ot(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new yy(e),scrollToMatch:e=>Q.scrollIntoView(e)})}});class Au{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||H0(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new cy(this):new ay(this)}getCursor(e,t=0,i){let s=e.doc?e:I.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?si(this,s,t,i):ni(this,s,t,i)}}class Mu{constructor(e){this.spec=e}}function ni(n,e,t,i){return new ki(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),n.wholeWord?ly(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function ly(n,e){return(t,i,s,r)=>((r>t||r+s.length=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=ni(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function si(n,e,t,i){return new Pu(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?hy(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function Ps(n,e){return n.slice(Oe(n,e,!1),e)}function Qs(n,e){return n.slice(e,Oe(n,e))}function hy(n){return(e,t,i)=>!i[0].length||(n(Ps(i.input,i.index))!=Y.Word||n(Qs(i.input,i.index))!=Y.Word)&&(n(Qs(i.input,i.index+i[0].length))!=Y.Word||n(Ps(i.input,i.index+i[0].length))!=Y.Word)}class cy extends Mu{nextMatch(e,t,i){let s=si(this.spec,e,i,e.doc.length).next();return s.done&&(s=si(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let r=Math.max(t,i-s*1e4),o=si(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let r=+i.slice(0,s);if(r>0&&r=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=si(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const on=L.define(),fl=L.define(),Qt=ue.define({create(n){return new kr(Mo(n).create(),null)},update(n,e){for(let t of e.effects)t.is(on)?n=new kr(t.value.create(),n.panel):t.is(fl)&&(n=new kr(n.query,t.value?ul:null));return n},provide:n=>tn.from(n,e=>e.panel)});class kr{constructor(e,t){this.query=e,this.panel=t}}const fy=D.mark({class:"cm-searchMatch"}),uy=D.mark({class:"cm-searchMatch cm-searchMatch-selected"}),dy=le.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Qt))}update(n){let e=n.state.field(Qt);(e!=n.startState.field(Qt)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return D.none;let{view:t}=this,i=new gt;for(let s=0,r=t.visibleRanges,o=r.length;sr[s+1].from-500;)a=r[++s].to;n.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?uy:fy)})}return i.finish()}},{decorations:n=>n.decorations});function bn(n){return e=>{let t=e.state.field(Qt,!1);return t&&t.query.spec.valid?n(e,t):Eu(e)}}const As=bn((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let s=b.single(i.from,i.to),r=n.state.facet(Pi);return n.dispatch({selection:s,effects:[dl(n,i),r.scrollToMatch(s.main,n)],userEvent:"select.search"}),Du(n),!0}),Ms=bn((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);if(!s)return!1;let r=b.single(s.from,s.to),o=n.state.facet(Pi);return n.dispatch({selection:r,effects:[dl(n,s),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),Du(n),!0}),py=bn((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:b.create(t.map(i=>b.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),my=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:s}=t.main,r=[],o=0;for(let l=new ki(n.doc,n.sliceDoc(i,s));!l.next().done;){if(r.length>1e3)return!1;l.value.from==i&&(o=r.length),r.push(b.range(l.value.from,l.value.to))}return e(n.update({selection:b.create(r,o),userEvent:"select.search.matches"})),!0},lh=bn((n,{query:e})=>{let{state:t}=n,{from:i,to:s}=t.selection.main;if(t.readOnly)return!1;let r=e.nextMatch(t,i,i);if(!r)return!1;let o=r,l=[],a,h,c=[];o.from==i&&o.to==s&&(h=t.toText(e.getReplacement(o)),l.push({from:o.from,to:o.to,insert:h}),o=e.nextMatch(t,o.from,o.to),c.push(Q.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let f=n.state.changes(l);return o&&(a=b.single(o.from,o.to).map(f),c.push(dl(n,o)),c.push(t.facet(Pi).scrollToMatch(a.main,n))),n.dispatch({changes:f,selection:a,effects:c,userEvent:"input.replace"}),!0}),gy=bn((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(s=>{let{from:r,to:o}=s;return{from:r,to:o,insert:e.getReplacement(s)}});if(!t.length)return!1;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Q.announce.of(i),userEvent:"input.replace.all"}),!0});function ul(n){return n.state.facet(Pi).createPanel(n)}function Mo(n,e){var t,i,s,r,o;let l=n.selection.main,a=l.empty||l.to>l.from+100?"":n.sliceDoc(l.from,l.to);if(e&&!a)return e;let h=n.facet(Pi);return new Au({search:((t=e?.literal)!==null&&t!==void 0?t:h.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(s=e?.literal)!==null&&s!==void 0?s:h.literal,regexp:(r=e?.regexp)!==null&&r!==void 0?r:h.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:h.wholeWord})}function Ru(n){let e=en(n,ul);return e&&e.dom.querySelector("[main-field]")}function Du(n){let e=Ru(n);e&&e==n.root.activeElement&&e.select()}const Eu=n=>{let e=n.state.field(Qt,!1);if(e&&e.panel){let t=Ru(n);if(t&&t!=n.root.activeElement){let i=Mo(n.state,e.query.spec);i.valid&&n.dispatch({effects:on.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[fl.of(!0),e?on.of(Mo(n.state,e.query.spec)):L.appendConfig.of(xy)]});return!0},qu=n=>{let e=n.state.field(Qt,!1);if(!e||!e.panel)return!1;let t=en(n,ul);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:fl.of(!1)}),!0},Oy=[{key:"Mod-f",run:Eu,scope:"editor search-panel"},{key:"F3",run:As,shift:Ms,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:As,shift:Ms,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:qu,scope:"editor search-panel"},{key:"Mod-Shift-l",run:my},{key:"Mod-Alt-g",run:j0},{key:"Mod-d",run:oy,preventDefault:!0}];class yy{constructor(e){this.view=e;let t=this.query=e.state.field(Qt).query.spec;this.commit=this.commit.bind(this),this.searchField=de("input",{value:t.search,placeholder:De(e,"Find"),"aria-label":De(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=de("input",{value:t.replace,placeholder:De(e,"Replace"),"aria-label":De(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=de("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=de("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=de("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(s,r,o){return de("button",{class:"cm-button",name:s,onclick:r,type:"button"},o)}this.dom=de("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>As(e),[De(e,"next")]),i("prev",()=>Ms(e),[De(e,"previous")]),i("select",()=>py(e),[De(e,"all")]),de("label",null,[this.caseField,De(e,"match case")]),de("label",null,[this.reField,De(e,"regexp")]),de("label",null,[this.wordField,De(e,"by word")]),...e.state.readOnly?[]:[de("br"),this.replaceField,i("replace",()=>lh(e),[De(e,"replace")]),i("replaceAll",()=>gy(e),[De(e,"replace all")])],de("button",{name:"close",onclick:()=>qu(e),"aria-label":De(e,"close"),type:"button"},["×"])])}commit(){let e=new Au({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:on.of(e)}))}keydown(e){wm(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Ms:As)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),lh(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(on)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Pi).top}}function De(n,e){return n.state.phrase(e)}const Xn=30,_n=/[\s\.,:;?!]/;function dl(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,r=Math.max(i.from,e-Xn),o=Math.min(s,t+Xn),l=n.state.sliceDoc(r,o);if(r!=i.from){for(let a=0;al.length-Xn;a--)if(!_n.test(l[a-1])&&_n.test(l[a])){l=l.slice(0,a);break}}return Q.announce.of(`${n.state.phrase("current match")}. ${l} ${n.state.phrase("on line")} ${i.number}.`)}const by=Q.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),xy=[Qt,Et.low(dy),by];class $u{constructor(e,t,i,s){this.state=e,this.pos=t,this.explicit=i,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=fe(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),s=t.text.slice(i-t.from,this.pos-t.from),r=s.search(Lu(e,!1));return r<0?null:{from:i+r,to:this.pos,text:s.slice(r)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function ah(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function Sy(n){let e=Object.create(null),t=Object.create(null);for(let{label:s}of n){e[s[0]]=!0;for(let r=1;rtypeof s=="string"?{label:s}:s),[t,i]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:Sy(e);return s=>{let r=s.matchBefore(i);return r||s.explicit?{from:r?r.from:s.pos,options:e,validFor:t}:null}}function ky(n,e){return t=>{for(let i=fe(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(n.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class hh{constructor(e,t,i,s){this.completion=e,this.source=t,this.match=i,this.score=s}}function Ut(n){return n.selection.main.from}function Lu(n,e){var t;let{source:i}=n,s=e&&i[0]!="^",r=i[i.length-1]!="$";return!s&&!r?n:new RegExp(`${s?"^":""}(?:${i})${r?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const pl=bt.define();function wy(n,e,t,i){let{main:s}=n.selection,r=t-s.from,o=i-s.from;return{...n.changeByRange(l=>{if(l!=s&&t!=i&&n.sliceDoc(l.from+r,l.from+o)!=n.sliceDoc(t,i))return{range:l};let a=n.toText(e);return{changes:{from:l.from+r,to:i==s.from?l.to:l.from+o,insert:a},range:b.cursor(l.from+r+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const ch=new WeakMap;function vy(n){if(!Array.isArray(n))return n;let e=ch.get(n);return e||ch.set(n,e=Bu(n)),e}const Rs=L.define(),ln=L.define();class Ty{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&x<=57||x>=97&&x<=122?2:x>=65&&x<=90?1:0:(w=Bo(x))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!S||T==1&&g||v==0&&T!=0)&&(t[f]==x||i[f]==x&&(u=!0)?o[f++]=S:o.length&&(y=!1)),v=T,S+=Ke(x)}return f==a&&o[0]==0&&y?this.result(-100+(u?-200:0),o,e):d==a&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):d==a?this.ret(-900-e.length,[p,m]):f==a?this.result(-100+(u?-200:0)+-700+(y?0:-1100),o,e):t.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,t,i){let s=[],r=0;for(let o of t){let l=o+(this.astral?Ke(Ce(i,o)):1);r&&s[r-1]==o?s[r-1]=l:(s[r++]=o,s[r++]=l)}return this.ret(e-i.length,s)}}class Cy{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Py,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>fh(e(i),t(i)),optionClass:(e,t)=>i=>fh(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function fh(n,e){return n?e?n+" "+e:n:e}function Py(n,e,t,i,s,r){let o=n.textDirection==Z.RTL,l=o,a=!1,h="top",c,f,u=e.left-s.left,d=s.right-e.right,p=i.right-i.left,m=i.bottom-i.top;if(l&&u=m||S>e.top?c=t.bottom-e.top:(h="bottom",c=e.bottom-t.top)}let g=(e.bottom-e.top)/r.offsetHeight,y=(e.right-e.left)/r.offsetWidth;return{style:`${h}: ${c/g}px; max-width: ${f/y}px`,class:"cm-completionInfo-"+(a?o?"left-narrow":"right-narrow":l?"left":"right")}}function Qy(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,s,r){let o=document.createElement("span");o.className="cm-completionLabel";let l=t.displayLabel||t.label,a=0;for(let h=0;ha&&o.appendChild(document.createTextNode(l.slice(a,c)));let u=o.appendChild(document.createElement("span"));u.appendChild(document.createTextNode(l.slice(c,f))),u.className="cm-completionMatchedText",a=f}return at.position-i.position).map(t=>t.render)}function wr(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let s=Math.floor(e/t);return{from:s*t,to:(s+1)*t}}let i=Math.floor((n-e)/t);return{from:n-(i+1)*t,to:n-i*t}}class Ay{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:r,selected:o}=s.open,l=e.state.facet(ce);this.optionContent=Qy(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=wr(r.length,o,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:h}=e.state.field(t).open;for(let c=a.target,f;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(f=/-(\d+)$/.exec(c.id))&&+f[1]{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(ce).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:ln.of(null)})}),this.showOptions(r,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=s){let{options:r,selected:o,disabled:l}=i.open;(!s.open||s.open.options!=r)&&(this.range=wr(r.length,o,e.state.facet(ce).maxRenderedOptions),this.showOptions(r,i.id)),this.updateSel(),l!=((t=s.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!l)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=wr(t.options.length,t.selected,this.view.state.facet(ce).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let r=typeof s=="string"?document.createTextNode(s):s(i);if(!r)return;"then"in r?r.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,i)}).catch(o=>Ae(this.view.state,o,"completion info")):this.addInfoPane(r,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:r}=e;i.appendChild(s),this.infoDestroy=r||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,s=this.range.from;i;i=i.nextSibling,s++)i.nodeName!="LI"||!i.id?s--:s==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&Ry(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),r=this.space;if(!r){let o=this.dom.ownerDocument.documentElement;r={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return s.top>Math.min(r.bottom,t.bottom)-10||s.bottom{o.target==s&&o.preventDefault()});let r=null;for(let o=i.from;oi.from||i.from==0))if(r=u,typeof h!="string"&&h.header)s.appendChild(h.header(h));else{let d=s.appendChild(document.createElement("completion-section"));d.textContent=u}}const c=s.appendChild(document.createElement("li"));c.id=t+"-"+o,c.setAttribute("role","option");let f=this.optionClass(l);f&&(c.className=f);for(let u of this.optionContent){let d=u(l,this.view.state,this.view,a);d&&c.appendChild(d)}}return i.from&&s.classList.add("cm-completionListIncompleteTop"),i.tonew Ay(t,n,e)}function Ry(n,e){let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),s=t.height/n.offsetHeight;i.topt.bottom&&(n.scrollTop+=(i.bottom-t.bottom)/s)}function uh(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function Dy(n,e){let t=[],i=null,s=h=>{t.push(h);let{section:c}=h.completion;if(c){i||(i=[]);let f=typeof c=="string"?c:c.name;i.some(u=>u.name==f)||i.push(typeof c=="string"?{name:f}:c)}},r=e.facet(ce);for(let h of n)if(h.hasResult()){let c=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new hh(f,h.source,c?c(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),u,d=r.filterStrict?new Cy(f):new Ty(f);for(let p of h.result.options)if(u=d.match(p.label)){let m=p.displayLabel?c?c(p,u.matched):[]:u.matched;s(new hh(p,h.source,m,u.score+(p.boost||0)))}}}if(i){let h=Object.create(null),c=0,f=(u,d)=>{var p,m;return((p=u.rank)!==null&&p!==void 0?p:1e9)-((m=d.rank)!==null&&m!==void 0?m:1e9)||(u.namef.score-c.score||a(c.completion,f.completion))){let c=h.completion;!l||l.label!=c.label||l.detail!=c.detail||l.type!=null&&c.type!=null&&l.type!=c.type||l.apply!=c.apply||l.boost!=c.boost?o.push(h):uh(h.completion)>uh(l)&&(o[o.length-1]=h),l=h.completion}return o}class li{constructor(e,t,i,s,r,o){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=s,this.selected=r,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new li(this.options,dh(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,s,r,o){if(s&&!o&&e.some(h=>h.isPending))return s.setDisabled();let l=Dy(e,t);if(!l.length)return s&&e.some(h=>h.isPending)?s.setDisabled():null;let a=t.facet(ce).selectOnOpen?0:-1;if(s&&s.selected!=a&&s.selected!=-1){let h=s.options[s.selected].completion;for(let c=0;cc.hasResult()?Math.min(h,c.from):h,1e8),create:Wy,above:r.aboveCursor},s?s.timestamp:Date.now(),a,!1)}map(e){return new li(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new li(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Ds{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new Ds(By,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ce),r=(i.override||t.languageDataAt("autocomplete",Ut(t)).map(vy)).map(a=>(this.active.find(c=>c.source==a)||new Ie(a,this.active.some(c=>c.state!=0)?1:0)).update(e,i));r.length==this.active.length&&r.every((a,h)=>a==this.active[h])&&(r=this.active);let o=this.open,l=e.effects.some(a=>a.is(ml));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||r.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!Ey(r,this.active)||l?o=li.build(r,t,this.id,o,i,l):o&&o.disabled&&!r.some(a=>a.isPending)&&(o=null),!o&&r.every(a=>!a.isPending)&&r.some(a=>a.hasResult())&&(r=r.map(a=>a.hasResult()?new Ie(a.source,0):a));for(let a of e.effects)a.is(zu)&&(o=o&&o.setSelected(a.value,this.id));return r==this.active&&o==this.open?this:new Ds(r,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?qy:$y}}function Ey(n,e){if(n==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=n+"-"+e),t}const By=[];function Wu(n,e){if(n.isUserEvent("input.complete")){let i=n.annotation(pl);if(i&&e.activateOnCompletion(i))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class Ie{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=Wu(e,t),s=this;(i&8||i&16&&this.touches(e))&&(s=new Ie(s.source,0)),i&4&&s.state==0&&(s=new Ie(this.source,1)),s=s.updateFor(e,i);for(let r of e.effects)if(r.is(Rs))s=new Ie(s.source,1,r.value);else if(r.is(ln))s=new Ie(s.source,0);else if(r.is(ml))for(let o of r.value)o.source==s.source&&(s=o);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Ut(e.state))}}class ui extends Ie{constructor(e,t,i,s,r,o){super(e,3,t),this.limit=i,this.result=s,this.from=r,this.to=o}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let r=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),l=Ut(e.state);if(l>o||!s||t&2&&(Ut(e.startState)==this.from||lt.map(e))}}),zu=L.define(),Qe=ue.define({create(){return Ds.start()},update(n,e){return n.update(e)},provide:n=>[Yo.from(n,e=>e.tooltip),Q.contentAttributes.from(n,e=>e.attrs)]});function gl(n,e){const t=e.completion.apply||e.completion.label;let i=n.state.field(Qe).active.find(s=>s.source==e.source);return i instanceof ui?(typeof t=="string"?n.dispatch({...wy(n.state,t,i.from,i.to),annotations:pl.of(e.completion)}):t(n,e.completion,i.from,i.to),!0):!1}const Wy=My(Qe,gl);function Un(n,e="option"){return t=>{let i=t.state.field(Qe,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+s*(n?1:-1):n?0:o-1;return l<0?l=e=="page"?0:o-1:l>=o&&(l=e=="page"?o-1:0),t.dispatch({effects:zu.of(l)}),!0}}const zy=n=>{let e=n.state.field(Qe,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampn.state.field(Qe,!1)?(n.dispatch({effects:Rs.of(!0)}),!0):!1,Iy=n=>{let e=n.state.field(Qe,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:ln.of(null)}),!0)};class Vy{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Ny=50,Fy=1e3,Xy=le.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(Qe).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(Qe),t=n.state.facet(ce);if(!n.selectionSet&&!n.docChanged&&n.startState.field(Qe)==e)return;let i=n.transactions.some(r=>{let o=Wu(r,t);return o&8||(r.selection||r.docChanged)&&!(o&3)});for(let r=0;rNy&&Date.now()-o.time>Fy){for(let l of o.context.abortListeners)try{l()}catch(a){Ae(this.view.state,a)}o.context.abortListeners=null,this.running.splice(r--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(r=>r.effects.some(o=>o.is(Rs)))&&(this.pendingStart=!0);let s=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(r=>r.isPending&&!this.running.some(o=>o.active.source==r.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let r of n.transactions)r.isUserEvent("input.type")?this.composing=2:this.composing==2&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(Qe);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ce).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=Ut(e),i=new $u(e,t,n.explicit,this.view),s=new Vy(n,i);this.running.push(s),Promise.resolve(n.source(i)).then(r=>{s.context.aborted||(s.done=r||null,this.scheduleAccept())},r=>{this.view.dispatch({effects:ln.of(null)}),Ae(this.view.state,r)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ce).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ce),i=this.view.state.field(Qe);for(let s=0;sl.source==r.active.source);if(o&&o.isPending)if(r.done==null){let l=new Ie(r.active.source,0);for(let a of r.updates)l=l.update(a,t);l.isPending||e.push(l)}else this.startQuery(o)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:ml.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(Qe,!1);if(e&&e.tooltip&&this.view.state.facet(ce).closeOnBlur){let t=e.open&&mf(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ln.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Rs.of(!1)}),20),this.composing=0}}}),_y=typeof navigator=="object"&&/Win/.test(navigator.platform),Uy=Et.highest(Q.domEventHandlers({keydown(n,e){let t=e.state.field(Qe,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(_y&&n.altKey)||n.metaKey)return!1;let i=t.open.options[t.open.selected],s=t.active.find(o=>o.source==i.source),r=i.completion.commitCharacters||s.result.commitCharacters;return r&&r.indexOf(n.key)>-1&&gl(e,i),!1}})),Iu=Q.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Hy{constructor(e,t,i,s){this.field=e,this.line=t,this.from=i,this.to=s}}class Ol{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),i=e.mapPos(this.to,1,ge.TrackDel);return t==null||i==null?null:new Ol(this.field,t,i)}}class yl{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],s=[t],r=e.doc.lineAt(t),o=/^\s*/.exec(r.text)[0];for(let a of this.lines){if(i.length){let h=o,c=/^\t*/.exec(a)[0].length;for(let f=0;fnew Ol(a.field,s[a.line]+a.from,s[a.line]+a.to));return{text:i,ranges:l}}static parse(e){let t=[],i=[],s=[],r;for(let o of e.split(/\r\n?|\n/)){for(;r=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let l=r[1]?+r[1]:null,a=r[2]||r[3]||"",h=-1,c=a.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=h&&u.field++}for(let f of s)if(f.line==i.length&&f.from>r.index){let u=r[2]?3+(r[1]||"").length:2;f.from-=u,f.to-=u}s.push(new Hy(h,i.length,r.index,r.index+c.length)),o=o.slice(0,r.index)+a+o.slice(r.index+r[0].length)}o=o.replace(/\\([{}])/g,(l,a,h)=>{for(let c of s)c.line==i.length&&c.from>h&&(c.from--,c.to--);return a}),i.push(o)}return new yl(i,s)}}let jy=D.widget({widget:new class extends xt{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),Gy=D.mark({class:"cm-snippetField"});class Qi{constructor(e,t){this.ranges=e,this.active=t,this.deco=D.set(e.map(i=>(i.from==i.to?jy:Gy).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let s=i.map(e);if(!s)return null;t.push(s)}return new Qi(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}}const xn=L.define({map(n,e){return n&&n.map(e)}}),Zy=L.define(),an=ue.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(xn))return t.value;if(t.is(Zy)&&n)return new Qi(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>Q.decorations.from(n,e=>e?e.deco:D.none)});function bl(n,e){return b.create(n.filter(t=>t.field==e).map(t=>b.range(t.from,t.to)))}function Yy(n){let e=yl.parse(n);return(t,i,s,r)=>{let{text:o,ranges:l}=e.instantiate(t.state,s),{main:a}=t.state.selection,h={changes:{from:s,to:r==a.from?a.to:r,insert:V.of(o)},scrollIntoView:!0,annotations:i?[pl.of(i),oe.userEvent.of("input.complete")]:void 0};if(l.length&&(h.selection=bl(l,0)),l.some(c=>c.field>0)){let c=new Qi(l,0),f=h.effects=[xn.of(c)];t.state.field(an,!1)===void 0&&f.push(L.appendConfig.of([an,i1,n1,Iu]))}t.dispatch(t.state.update(h))}}function Vu(n){return({state:e,dispatch:t})=>{let i=e.field(an,!1);if(!i||n<0&&i.active==0)return!1;let s=i.active+n,r=n>0&&!i.ranges.some(o=>o.field==s+n);return t(e.update({selection:bl(i.ranges,s),effects:xn.of(r?null:new Qi(i.ranges,s)),scrollIntoView:!0})),!0}}const Ky=({state:n,dispatch:e})=>n.field(an,!1)?(e(n.update({effects:xn.of(null)})),!0):!1,Jy=Vu(1),e1=Vu(-1),t1=[{key:"Tab",run:Jy,shift:e1},{key:"Escape",run:Ky}],ph=M.define({combine(n){return n.length?n[0]:t1}}),i1=Et.highest(bi.compute([ph],n=>n.facet(ph)));function at(n,e){return{...e,apply:Yy(n)}}const n1=Q.domEventHandlers({mousedown(n,e){let t=e.state.field(an,!1),i;if(!t||(i=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let s=t.ranges.find(r=>r.from<=i&&r.to>=i);return!s||s.field==t.active?!1:(e.dispatch({selection:bl(t.ranges,s.field),effects:xn.of(t.ranges.some(r=>r.field>s.field)?new Qi(t.ranges,s.field):null),scrollIntoView:!0}),!0)}}),hn={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Xt=L.define({map(n,e){let t=e.mapPos(n,-1,ge.TrackAfter);return t??void 0}}),xl=new class extends Ht{};xl.startSide=1;xl.endSide=-1;const Nu=ue.define({create(){return F.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(Xt)&&(n=n.update({add:[xl.range(t.value,t.value+1)]}));return n}});function s1(){return[o1,Nu]}const Tr="()[]{}<>«»»«[]{}";function Fu(n){for(let e=0;e{if((r1?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let s=n.state.selection.main;if(i.length>2||i.length==2&&Ke(Ce(i,0))==1||e!=s.from||t!=s.to)return!1;let r=h1(n.state,i);return r?(n.dispatch(r),!0):!1}),l1=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let i=Xu(n,n.selection.main.head).brackets||hn.brackets,s=null,r=n.changeByRange(o=>{if(o.empty){let l=c1(n.doc,o.head);for(let a of i)if(a==l&&Gs(n.doc,o.head)==Fu(Ce(a,0)))return{changes:{from:o.head-a.length,to:o.head+a.length},range:b.cursor(o.head-a.length)}}return{range:s=o}});return s||e(n.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},a1=[{key:"Backspace",run:l1}];function h1(n,e){let t=Xu(n,n.selection.main.head),i=t.brackets||hn.brackets;for(let s of i){let r=Fu(Ce(s,0));if(e==s)return r==s?d1(n,s,i.indexOf(s+s+s)>-1,t):f1(n,s,r,t.before||hn.before);if(e==r&&_u(n,n.selection.main.from))return u1(n,s,r)}return null}function _u(n,e){let t=!1;return n.field(Nu).between(0,n.doc.length,i=>{i==e&&(t=!0)}),t}function Gs(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Ke(Ce(t,0)))}function c1(n,e){let t=n.sliceString(e-2,e);return Ke(Ce(t,0))==t.length?t:t.slice(1)}function f1(n,e,t,i){let s=null,r=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Xt.of(o.to+e.length),range:b.range(o.anchor+e.length,o.head+e.length)};let l=Gs(n.doc,o.head);return!l||/\s/.test(l)||i.indexOf(l)>-1?{changes:{insert:e+t,from:o.head},effects:Xt.of(o.head+e.length),range:b.cursor(o.head+e.length)}:{range:s=o}});return s?null:n.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function u1(n,e,t){let i=null,s=n.changeByRange(r=>r.empty&&Gs(n.doc,r.head)==t?{changes:{from:r.head,to:r.head+t.length,insert:t},range:b.cursor(r.head+t.length)}:i={range:r});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function d1(n,e,t,i){let s=i.stringPrefixes||hn.stringPrefixes,r=null,o=n.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:Xt.of(l.to+e.length),range:b.range(l.anchor+e.length,l.head+e.length)};let a=l.head,h=Gs(n.doc,a),c;if(h==e){if(mh(n,a))return{changes:{insert:e+e,from:a},effects:Xt.of(a+e.length),range:b.cursor(a+e.length)};if(_u(n,a)){let u=t&&n.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+u.length,insert:u},range:b.cursor(a+u.length)}}}else{if(t&&n.sliceDoc(a-2*e.length,a)==e+e&&(c=gh(n,a-2*e.length,s))>-1&&mh(n,c))return{changes:{insert:e+e+e+e,from:a},effects:Xt.of(a+e.length),range:b.cursor(a+e.length)};if(n.charCategorizer(a)(h)!=Y.Word&&gh(n,a,s)>-1&&!p1(n,a,e,s))return{changes:{insert:e+e,from:a},effects:Xt.of(a+e.length),range:b.cursor(a+e.length)}}return{range:r=l}});return r?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function mh(n,e){let t=fe(n).resolveInner(e+1);return t.parent&&t.from==e}function p1(n,e,t,i){let s=fe(n).resolveInner(e,-1),r=i.reduce((o,l)=>Math.max(o,l.length),0);for(let o=0;o<5;o++){let l=n.sliceDoc(s.from,Math.min(s.to,s.from+t.length+r)),a=l.indexOf(t);if(!a||a>-1&&i.indexOf(l.slice(0,a))>-1){let c=s.firstChild;for(;c&&c.from==s.from&&c.to-c.from>t.length+a;){if(n.sliceDoc(c.to-t.length,c.to)==t)return!1;c=c.firstChild}return!0}let h=s.to==e&&s.parent;if(!h)break;s=h}return!1}function gh(n,e,t){let i=n.charCategorizer(e);if(i(n.sliceDoc(e-1,e))!=Y.Word)return e;for(let s of t){let r=e-s.length;if(n.sliceDoc(r,e)==s&&i(n.sliceDoc(r-1,r))!=Y.Word)return r}return-1}function Ro(n={}){return[Uy,Qe,ce.of(n),Xy,m1,Iu]}const Uu=[{key:"Ctrl-Space",run:vr},{mac:"Alt-`",run:vr},{mac:"Alt-i",run:vr},{key:"Escape",run:Iy},{key:"ArrowDown",run:Un(!0)},{key:"ArrowUp",run:Un(!1)},{key:"PageDown",run:Un(!0,"page")},{key:"PageUp",run:Un(!1,"page")},{key:"Enter",run:zy}],m1=Et.highest(bi.computeN([ce],n=>n.facet(ce).defaultKeymap?[Uu]:[]));function et(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=t[i];typeof s=="string"?n.setAttribute(i,s):s!=null&&(n[i]=s)}e++}for(;ec.from-f.from||c.to-f.to),o=new gt,l=[],a=0;for(let c=0;;){let f=c==r.length?null:r[c];if(!f&&!l.length)break;let u,d;for(l.length?(u=a,d=l.reduce((m,g)=>Math.min(m,g.to),f&&f.from>u?f.from:1e8)):(u=f.from,d=f.to,l.push(f),c++);cm.from||m.to==u))l.push(m),c++,d=Math.min(m.to,d);else{d=Math.min(m.from,d);break}}let p=Q1(l);if(l.some(m=>m.from==m.to||m.from==m.to-1&&i.doc.lineAt(m.from).to==m.from))o.add(u,u,D.widget({widget:new v1(p),diagnostics:l.slice()}));else{let m=l.reduce((g,y)=>y.markClass?g+" "+y.markClass:g,"");o.add(u,d,D.mark({class:"cm-lintRange cm-lintRange-"+p+m,diagnostics:l.slice(),inclusiveEnd:l.some(g=>g.to>d)}))}a=d;for(let m=0;m{if(!(e&&o.diagnostics.indexOf(e)<0))if(!i)i=new Oh(s,r,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new Oh(i.from,r,i.diagnostic)}}),i}function g1(n,e){let t=e.pos,i=e.end||t,s=n.state.facet(cn).hideOn(n,t,i);if(s!=null)return s;let r=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(ju))||n.changes.touchesRange(r.from,Math.max(r.to,i)))}function O1(n,e){return n.field($e,!1)?e:e.concat(L.appendConfig.of(A1))}const ju=L.define(),Sl=L.define(),Gu=L.define(),$e=ue.define({create(){return new Vt(D.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,s=n.panel;if(n.selected){let r=e.changes.mapPos(n.selected.from,1);i=wi(t,n.selected.diagnostic,r)||wi(t,null,r)}!t.size&&s&&e.state.facet(cn).autoPanel&&(s=null),n=new Vt(t,s,i)}for(let t of e.effects)if(t.is(ju)){let i=e.state.facet(cn).autoPanel?t.value.length?fn.open:null:n.panel;n=Vt.init(t.value,i,e.state)}else t.is(Sl)?n=new Vt(n.diagnostics,t.value?fn.open:null,n.selected):t.is(Gu)&&(n=new Vt(n.diagnostics,n.panel,t.value));return n},provide:n=>[tn.from(n,e=>e.panel),Q.decorations.from(n,e=>e.diagnostics)]}),y1=D.mark({class:"cm-lintRange cm-lintRange-active"});function b1(n,e,t){let{diagnostics:i}=n.state.field($e),s,r=-1,o=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,h,{spec:c})=>{if(e>=a&&e<=h&&(a==h||(e>a||t>0)&&(eYu(n,t,!1)))}const S1=n=>{let e=n.state.field($e,!1);(!e||!e.panel)&&n.dispatch({effects:O1(n.state,[Sl.of(!0)])});let t=en(n,fn.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},yh=n=>{let e=n.state.field($e,!1);return!e||!e.panel?!1:(n.dispatch({effects:Sl.of(!1)}),!0)},k1=n=>{let e=n.state.field($e,!1);if(!e)return!1;let t=n.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)},w1=[{key:"Mod-Shift-m",run:S1,preventDefault:!0},{key:"F8",run:k1}],cn=M.define({combine(n){return Object.assign({sources:n.map(e=>e.source).filter(e=>e!=null)},ot(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))}});function Zu(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;ir.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function Yu(n,e,t){var i;let s=t?Zu(e.actions):[];return et("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},et("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((r,o)=>{let l=!1,a=u=>{if(u.preventDefault(),l)return;l=!0;let d=wi(n.state.field($e).diagnostics,e);d&&r.apply(n,d.from,d.to)},{name:h}=r,c=s[o]?h.indexOf(s[o]):-1,f=c<0?h:[h.slice(0,c),et("u",h.slice(c,c+1)),h.slice(c+1)];return et("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${h}${c<0?"":` (access key "${s[o]})"`}.`},f)}),e.source&&et("div",{class:"cm-diagnosticSource"},e.source))}class v1 extends xt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return et("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class bh{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Yu(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class fn{constructor(e){this.view=e,this.items=[];let t=s=>{if(s.keyCode==27)yh(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:r}=this.items[this.selectedIndex],o=Zu(r.actions);for(let l=0;l{for(let r=0;ryh(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field($e).selected;if(!e)return-1;for(let t=0;t{for(let c of h.diagnostics){if(o.has(c))continue;o.add(c);let f=-1,u;for(let d=i;di&&(this.items.splice(i,f-i),s=!0)),t&&u.diagnostic==t.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),r=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),i++}});i({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:a})=>{let h=a.height/this.list.offsetHeight;l.topa.bottom&&(this.list.scrollTop+=(l.bottom-a.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field($e),i=wi(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:Gu.of(i)})}static open(e){return new fn(e)}}function T1(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(n)}')`}function Hn(n){return T1(``,'width="6" height="3"')}const C1=Q.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Hn("#d11")},".cm-lintRange-warning":{backgroundImage:Hn("orange")},".cm-lintRange-info":{backgroundImage:Hn("#999")},".cm-lintRange-hint":{backgroundImage:Hn("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function P1(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function Q1(n){let e="hint",t=1;for(let i of n){let s=P1(i.severity);s>t&&(t=s,e=i.severity)}return e}const A1=[$e,Q.decorations.compute([$e],n=>{let{selected:e,panel:t}=n.field($e);return!e||!t||e.from==e.to?D.none:D.set([y1.range(e.from,e.to)])}),hg(b1,{hideOn:g1}),C1],xh=[xg(),wg(),Im(),XO(),dO(),Am(),qm(),I.allowMultipleSelections.of(!0),Jg(),zf(OO,{fallback:!0}),vO(),s1(),Ro(),Km(),tg(),Um(),K0(),bi.of([...a1,...U0,...Oy,...JO,...hO,...Uu,...w1])],M1="#e5c07b",Sh="#e06c75",R1="#56b6c2",D1="#ffffff",os="#abb2bf",Do="#7d8799",E1="#61afef",q1="#98c379",kh="#d19a66",$1="#c678dd",B1="#21252b",wh="#2c313a",vh="#282c34",Cr="#353a42",L1="#3E4451",Th="#528bff",W1=Q.theme({"&":{color:os,backgroundColor:vh},".cm-content":{caretColor:Th},".cm-cursor, .cm-dropCursor":{borderLeftColor:Th},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:L1},".cm-panels":{backgroundColor:B1,color:os},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:vh,color:Do,border:"none"},".cm-activeLineGutter":{backgroundColor:wh},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Cr},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Cr,borderBottomColor:Cr},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:wh,color:os}}},{dark:!0}),z1=On.define([{tag:O.keyword,color:$1},{tag:[O.name,O.deleted,O.character,O.propertyName,O.macroName],color:Sh},{tag:[O.function(O.variableName),O.labelName],color:E1},{tag:[O.color,O.constant(O.name),O.standard(O.name)],color:kh},{tag:[O.definition(O.name),O.separator],color:os},{tag:[O.typeName,O.className,O.number,O.changed,O.annotation,O.modifier,O.self,O.namespace],color:M1},{tag:[O.operator,O.operatorKeyword,O.url,O.escape,O.regexp,O.link,O.special(O.string)],color:R1},{tag:[O.meta,O.comment],color:Do},{tag:O.strong,fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.link,color:Do,textDecoration:"underline"},{tag:O.heading,fontWeight:"bold",color:Sh},{tag:[O.atom,O.bool,O.special(O.variableName)],color:kh},{tag:[O.processingInstruction,O.string,O.inserted],color:q1},{tag:O.invalid,color:D1}]),I1=[W1,zf(z1)];var Ch={};class Es{constructor(e,t,i,s,r,o,l,a,h,c=0,f){this.p=e,this.stack=t,this.state=i,this.reducePos=s,this.pos=r,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=h,this.lookAhead=c,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let s=e.parser.context;return new Es(e,[],t,i,i,0,[],0,s?new Ph(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,s=e&65535,{parser:r}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[s])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,t,i,s=4,r=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&o.buffer[l-4]==0&&o.buffer[l-1]>-1){if(t==i)return;if(o.buffer[l-2]>=t){o.buffer[l-2]=i;return}}}if(!r||this.pos==i)this.buffer.push(e,t,i,s);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>i;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>i;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,s>4&&(s-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=i,this.buffer[o+3]=s}}shift(e,t,i,s){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let r=e,{parser:o}=this.p;(s>this.pos||t<=o.maxNode)&&(this.pos=s,o.stateFlag(r,1)||(this.reducePos=s)),this.pushState(r,i),this.shiftContext(t,i),t<=o.maxNode&&this.buffer.push(t,i,s,4)}else this.pos=s,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,s,4)}apply(e,t,i,s){e&65536?this.reduce(e):this.shift(e,t,i,s)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(i,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new Es(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new V1(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let s=[];for(let r=0,o;ra&1&&l==o)||s.push(t[r],o)}t=s}let i=[];for(let s=0;s>19,s=t&65535,r=this.stack.length-i*3;if(r<0||e.getGoto(this.stack[r],s,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(s,r)=>{if(!t.includes(s))return t.push(s),e.allActions(s,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-r;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&e.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=i(o,r+1);if(l!=null)return l}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Ph{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class V1{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class qs{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new qs(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new qs(this.stack,this.pos,this.index)}}function jn(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let i=0,s=0;i=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),r+=a,l)break;r*=46}t?t[s++]=r:t=new e(r)}return t}class ls{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Qh=new ls;class N1{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Qh,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,s=this.rangeIndex,r=this.pos+e;for(;ri.to:r>=i.to;){if(s==this.ranges.length-1)return null;let o=this.ranges[++s];r+=o.from-i.to,i=o}return r}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,s;if(t>=0&&t=this.chunk2Pos&&il.to&&(this.chunk2=this.chunk2.slice(0,l.to-i)),s=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),s}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Qh,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(i+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return i}}class di{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;F1(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}di.prototype.contextual=di.prototype.fallback=di.prototype.extend=!1;di.prototype.fallback=di.prototype.extend=!1;class Zs{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function F1(n,e,t,i,s,r){let o=0,l=1<0){let p=n[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||X1(p,e.token.value,s,r))){e.acceptToken(p);break}}let c=e.next,f=0,u=n[o+2];if(e.next<0&&u>f&&n[h+u*3-3]==65535){o=n[h+u*3-1];continue e}for(;f>1,p=h+d+(d<<1),m=n[p],g=n[p+1]||65536;if(c=g)f=d+1;else{o=n[p+2],e.advance();continue e}}break}}function Ah(n,e,t){for(let i=e,s;(s=n[i])!=65535;i++)if(s==t)return i-e;return-1}function X1(n,e,t,i){let s=Ah(t,i,e);return s<0||Ah(t,i,n)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(n.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:n.length}}class _1{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Mh(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Mh(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(r instanceof U){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+r.length}}}class U1{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new ls)}getActions(e){let t=0,i=null,{parser:s}=e.p,{tokenizers:r}=s,o=s.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let h=0;hf.end+25&&(a=Math.max(f.lookAhead,a)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!c.extend&&(i=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!i&&e.pos==this.stream.end&&(i=new ls,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new ls,{pos:i,p:s}=e;return t.start=i,t.end=Math.min(i+1,s.stream.end),t.value=i==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,i){let s=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(s,e),i),e.value>-1){let{parser:r}=i.p;for(let o=0;o=0&&i.p.parser.dialect.allows(l>>1)){(l&1)==0?e.value=l>>1:e.extended=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,i,s){for(let r=0;re.bufferLength*4?new _1(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],s,r;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)i.push(l);else{if(this.advanceStack(l,i,e))continue;{s||(s=[],r=[]),s.push(l);let a=this.tokens.getMainToken(l);r.push(a.value,a.end)}}break}}if(!i.length){let o=s&&Z1(s);if(o)return Ee&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ee&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&s){let o=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,r,i);if(o)return Ee&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(i.length>o)for(i.sort((l,a)=>a.score-l.score);i.length>o;)i.pop();i.some(l=>l.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let o=0;o500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)i.splice(a--,1);else{i.splice(o--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,c=h?e.curContext.hash:0;for(let f=this.fragments.nodeAt(s);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?r.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!h||(f.prop(z.contextHash)||0)==c))return e.useNode(f,u),Ee&&console.log(o+this.stackID(e)+` (via reuse of ${r.getName(f.type.id)})`),!0;if(!(f instanceof U)||f.children.length==0||f.positions[0]>0)break;let d=f.children[0];if(d instanceof U&&f.positions[0]==0)f=d;else break}}let l=r.stateSlot(e.state,4);if(l>0)return e.reduce(l),Ee&&console.log(o+this.stackID(e)+` (via always-reduce ${r.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let h=0;hs?t.push(p):i.push(p)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return Rh(e,t),!0}}runRecovery(e,t,i){let s=null,r=!1;for(let o=0;o ":"";if(l.deadEnd&&(r||(r=!0,l.restart(),Ee&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,i))))continue;let f=l.split(),u=c;for(let d=0;f.forceReduce()&&d<10&&(Ee&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,i));d++)Ee&&(u=this.stackID(f)+" -> ");for(let d of l.recoverByInsert(a))Ee&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),Ee&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),Rh(l,i)):(!s||s.scoren;class G1{constructor(e){this.start=e.start,this.shift=e.shift||Qr,this.reduce=e.reduce||Qr,this.reuse=e.reuse||Qr,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class $s extends tl{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;le.topRules[l][1]),s=[];for(let l=0;l=0)r(c,a,l[h++]);else{let f=l[h+-c];for(let u=-c;u>0;u--)r(l[h++],a,f);h++}}}this.nodeSet=new Vs(t.map((l,a)=>Te.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:s[a],top:i.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=bf;let o=jn(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new di(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let s=new H1(this,e,t,i);for(let r of this.wrappers)s=r(s,e,t,i);return s}getGoto(e,t,i=!1){let s=this.goto;if(t>=s[0])return-1;for(let r=s[t+1];;){let o=s[r++],l=o&1,a=s[r++];if(l&&i)return a;for(let h=r+(o>>1);r0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),s=i?t(i):void 0;for(let r=this.stateSlot(e,1);s==null;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=dt(this.data,r+2);else break;s=t(dt(this.data,r+1))}return s}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=dt(this.data,i+2);else break;if((this.data[i+2]&1)==0){let s=this.data[i+1];t.some((r,o)=>o&1&&r==s)||t.push(this.data[i],s)}}return t}configure(e){let t=Object.assign(Object.create($s.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let s=e.tokenizers.find(r=>r.from==i);return s?s.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,s)=>{let r=e.specializers.find(l=>l.from==i.external);if(!r)return i;let o=Object.assign(Object.assign({},i),{external:r.to});return t.specializers[s]=Dh(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let r of e.split(" ")){let o=t.indexOf(r);o>=0&&(i[o]=!0)}let s=null;for(let r=0;ri)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoren.external(t,i)<<1|e}return n.get}const Y1=1,Ku=194,Ju=195,K1=196,Eh=197,J1=198,eb=199,tb=200,ib=2,ed=3,qh=201,nb=24,sb=25,rb=49,ob=50,lb=55,ab=56,hb=57,cb=59,fb=60,ub=61,db=62,pb=63,mb=65,gb=238,Ob=71,yb=241,bb=242,xb=243,Sb=244,kb=245,wb=246,vb=247,Tb=248,td=72,Cb=249,Pb=250,Qb=251,Ab=252,Mb=253,Rb=254,Db=255,Eb=256,qb=73,$b=77,Bb=263,Lb=112,Wb=130,zb=151,Ib=152,Vb=155,Jt=10,un=13,kl=32,Ys=9,wl=35,Nb=40,Fb=46,Eo=123,$h=125,id=39,nd=34,Bh=92,Xb=111,_b=120,Ub=78,Hb=117,jb=85,Gb=new Set([sb,rb,ob,Bb,mb,Wb,ab,hb,gb,db,pb,td,qb,$b,fb,ub,zb,Ib,Vb,Lb]);function Ar(n){return n==Jt||n==un}function Mr(n){return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102}const Zb=new Zs((n,e)=>{let t;if(n.next<0)n.acceptToken(eb);else if(e.context.flags&as)Ar(n.next)&&n.acceptToken(J1,1);else if(((t=n.peek(-1))<0||Ar(t))&&e.canShift(Eh)){let i=0;for(;n.next==kl||n.next==Ys;)n.advance(),i++;(n.next==Jt||n.next==un||n.next==wl)&&n.acceptToken(Eh,-i)}else Ar(n.next)&&n.acceptToken(K1,1)},{contextual:!0}),Yb=new Zs((n,e)=>{let t=e.context;if(t.flags)return;let i=n.peek(-1);if(i==Jt||i==un){let s=0,r=0;for(;;){if(n.next==kl)s++;else if(n.next==Ys)s+=8-s%8;else break;n.advance(),r++}s!=t.indent&&n.next!=Jt&&n.next!=un&&n.next!=wl&&(s[n,e|sd])),ex=new G1({start:Kb,reduce(n,e,t,i){return n.flags&as&&Gb.has(e)||(e==Ob||e==td)&&n.flags&sd?n.parent:n},shift(n,e,t,i){return e==Ku?new hs(n,Jb(i.read(i.pos,t.pos)),0):e==Ju?n.parent:e==nb||e==lb||e==cb||e==ed?new hs(n,0,as):Lh.has(e)?new hs(n,0,Lh.get(e)|n.flags&as):n},hash(n){return n.hash}}),tx=new Zs(n=>{for(let e=0;e<5;e++){if(n.next!="print".charCodeAt(e))return;n.advance()}if(!/\w/.test(String.fromCharCode(n.next)))for(let e=0;;e++){let t=n.peek(e);if(!(t==kl||t==Ys)){t!=Nb&&t!=Fb&&t!=Jt&&t!=un&&t!=wl&&n.acceptToken(Y1);return}}}),ix=new Zs((n,e)=>{let{flags:t}=e.context,i=t&ht?nd:id,s=(t&ct)>0,r=!(t&ft),o=(t&ut)>0,l=n.pos;for(;!(n.next<0);)if(o&&n.next==Eo)if(n.peek(1)==Eo)n.advance(2);else{if(n.pos==l){n.acceptToken(ed,1);return}break}else if(r&&n.next==Bh){if(n.pos==l){n.advance();let a=n.next;a>=0&&(n.advance(),nx(n,a)),n.acceptToken(ib);return}break}else if(n.next==Bh&&!r&&n.peek(1)>-1)n.advance(2);else if(n.next==i&&(!s||n.peek(1)==i&&n.peek(2)==i)){if(n.pos==l){n.acceptToken(qh,s?3:1);return}break}else if(n.next==Jt){if(s)n.advance();else if(n.pos==l){n.acceptToken(qh);return}break}else n.advance();n.pos>l&&n.acceptToken(tb)});function nx(n,e){if(e==Xb)for(let t=0;t<2&&n.next>=48&&n.next<=55;t++)n.advance();else if(e==_b)for(let t=0;t<2&&Mr(n.next);t++)n.advance();else if(e==Hb)for(let t=0;t<4&&Mr(n.next);t++)n.advance();else if(e==jb)for(let t=0;t<8&&Mr(n.next);t++)n.advance();else if(e==Ub&&n.next==Eo){for(n.advance();n.next>=0&&n.next!=$h&&n.next!=id&&n.next!=nd&&n.next!=Jt;)n.advance();n.next==$h&&n.advance()}}const sx=wf({'async "*" "**" FormatConversion FormatSpec':O.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":O.controlKeyword,"in not and or is del":O.operatorKeyword,"from def class global nonlocal lambda":O.definitionKeyword,import:O.moduleKeyword,"with as print":O.keyword,Boolean:O.bool,None:O.null,VariableName:O.variableName,"CallExpression/VariableName":O.function(O.variableName),"FunctionDefinition/VariableName":O.function(O.definition(O.variableName)),"ClassDefinition/VariableName":O.definition(O.className),PropertyName:O.propertyName,"CallExpression/MemberExpression/PropertyName":O.function(O.propertyName),Comment:O.lineComment,Number:O.number,String:O.string,FormatString:O.special(O.string),Escape:O.escape,UpdateOp:O.updateOperator,"ArithOp!":O.arithmeticOperator,BitOp:O.bitwiseOperator,CompareOp:O.compareOperator,AssignOp:O.definitionOperator,Ellipsis:O.punctuation,At:O.meta,"( )":O.paren,"[ ]":O.squareBracket,"{ }":O.brace,".":O.derefOperator,", ;":O.separator}),rx={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},ox=$s.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[tx,Yb,Zb,ix,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:n=>rx[n]||-1}],tokenPrec:7668}),Wh=new Mg,rd=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Gn(n){return(e,t,i)=>{if(i)return!1;let s=e.node.getChild("VariableName");return s&&t(s,n),!0}}const lx={FunctionDefinition:Gn("function"),ClassDefinition:Gn("class"),ForStatement(n,e,t){if(t){for(let i=n.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name=="in")break}},ImportStatement(n,e){var t,i;let{node:s}=n,r=((t=s.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=s.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((i=o.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&e(o,r?"variable":"namespace")},AssignStatement(n,e){for(let t=n.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(n,e){for(let t=null,i=n.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(i,"variable"),t=i},CapturePattern:Gn("variable"),AsPattern:Gn("variable"),__proto__:null};function od(n,e){let t=Wh.get(e);if(t)return t;let i=[],s=!0;function r(o,l){let a=n.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor(he.IncludeAnonymous).iterate(o=>{if(o.name){let l=lx[o.name];if(l&&l(o,r,s)||!s&&rd.has(o.name))return!1;s=!1}else if(o.to-o.from>8192){for(let l of od(n,o.node))i.push(l);return!1}}),Wh.set(e,i),i}const zh=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,ld=["String","FormatString","Comment","PropertyName"];function ax(n){let e=fe(n.state).resolveInner(n.pos,-1);if(ld.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zh.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let s=e;s;s=s.parent)rd.has(s.name)&&(i=i.concat(od(n.state.doc,s)));return{options:i,from:t?e.from:n.pos,validFor:zh}}const hx=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(n=>({label:n,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(n=>({label:n,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(n=>({label:n,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(n=>({label:n,type:"function"}))),cx=[at("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),at("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),at("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),at("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),at(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ct("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ct("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ct("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ct("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Sx=Dy(Od,Uu(bx.concat(xx)));function Lr(n){let{node:e,pos:t}=n,i=n.lineIndent(t,-1),s=null;for(;;){let r=e.childBefore(t);if(r)if(r.name=="Comment")t=r.from;else if(r.name=="Body"||r.name=="MatchBody")n.baseIndentFor(r)+n.unit<=i&&(s=r),e=r;else if(r.name=="MatchClause")e=r;else if(r.type.is("Statement"))e=r;else break;else break}return s}function Wr(n,e){let t=n.baseIndentFor(e),i=n.lineAt(n.pos,-1),s=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&n.node.tot?null:t+n.unit}const zr=Cs.define({name:"python",parser:gx.configure({props:[hl.add({Body:n=>{var e;let t=/^\s*(#|$)/.test(n.textAfter)&&Lr(n)||n.node;return(e=Wr(n,t))!==null&&e!==void 0?e:n.continue()},MatchBody:n=>{var e;let t=Lr(n);return(e=Wr(n,t||n.node))!==null&&e!==void 0?e:n.continue()},IfStatement:n=>/^\s*(else:|elif )/.test(n.textAfter)?n.baseIndent:n.continue(),"ForStatement WhileStatement":n=>/^\s*else:/.test(n.textAfter)?n.baseIndent:n.continue(),TryStatement:n=>/^\s*(except[ :]|finally:|else:)/.test(n.textAfter)?n.baseIndent:n.continue(),MatchStatement:n=>/^\s*case /.test(n.textAfter)?n.baseIndent+n.unit:n.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":kr({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":kr({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":kr({closing:"]"}),MemberExpression:n=>n.baseIndent+n.unit,"String FormatString":()=>null,Script:n=>{var e;let t=Lr(n);return(e=t&&Wr(n,t))!==null&&e!==void 0?e:n.continue()}}),If.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":fO,Body:(n,e)=>({from:n.from+1,to:n.to-(n.to==e.doc.length?0:1)}),"String FormatString":(n,e)=>({from:e.doc.lineAt(n.from).to,to:n.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function kx(){return new eO(zr,[zr.data.of({autocomplete:yx}),zr.data.of({autocomplete:Sx})])}var Io={};function Ml(n,e){for(var t=0;t1&&n.eat("$");var t=n.next();return/['"({]/.test(t)?(e.tokens[0]=nr(t,t=="("?"quote":t=="{"?"def":"string"),Pi(n,e)):(/\d/.test(t)||n.eatWhile(/\w/),e.tokens.shift(),"def")};function Tx(n){return function(e,t){return e.sol()&&e.string==n&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function Pi(n,e){return(e.tokens[0]||wx)(n,e)}const jh={name:"shell",startState:function(){return{tokens:[]}},token:function(n,e){return Pi(n,e)},languageData:{autocomplete:yd.concat(bd,xd),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};Rl[ii]="src/lib/components/CodeEditor.svelte";var Cx=On(Yh('
'),Rl[ii],[[397,0]]);function Rl(n,e){Gh(new.target),Jh(e,!1,Rl);const[t,i]=Md(),s=()=>(Rd(Bl,"themeStore"),Ad(Bl,"$themeStore",t)),r=Fi(),o=ec();let l=We(e,"value",12,""),a=We(e,"language",12,"text"),h=We(e,"readonly",8,!1);const c="";let f=We(e,"minHeight",8,"200px"),u=We(e,"autoDetect",8,!0),d=We(e,"enableTemplateCompletion",8,!1),p=Fi(),m=Fi();function g(R){return R?[Z1]:[]}function y(R){switch(R){case"python":return kx();case"bash":return As.define(jh);case"powershell":return As.define(jh);case"text":default:return[]}}function S(R){const C=R.split(` -`)[0]?.trim()||"";return C.startsWith("#!/bin/bash")||C.startsWith("#!/bin/sh")?"bash":C.startsWith("#!/usr/bin/env pwsh")||C.includes("#ps1_sysnative")?"powershell":C.startsWith("#!/usr/bin/env python")||C.startsWith("#!/usr/bin/python")?"python":R.includes("param(")||R.includes("Write-Host")||R.includes("$_")?"powershell":R.includes("def ")||R.includes("import ")||R.includes("print(")?"python":R.includes("echo ")||R.includes("export ")||R.includes("if [")?"bash":"text"}const k=[{label:"RunnerName",type:"string",detail:"The name of the runner instance"},{label:"MetadataURL",type:"string",detail:"URL for accessing runner metadata service"},{label:"Token",type:"string",detail:"Authentication token for runner registration"},{label:"RepoURL",type:"string",detail:"Repository URL"},{label:"DownloadURL",type:"string",detail:"URL to download the runner package"},{label:"FileName",type:"string",detail:"Name of the downloaded runner file"},{label:"TempDir",type:"string",detail:"Temporary directory path"},{label:"RunnerDir",type:"string",detail:"Runner installation directory"},{label:"GitHubRunnerGroup",type:"string",detail:"GitHub runner group name"},{label:"Labels",type:"[]string",detail:"Array of runner labels"},{label:"CACertBundle",type:"[]byte",detail:"CA certificate bundle"},{label:"OSType",type:"string",detail:"Operating system type (linux/windows)"},{label:"OSArch",type:"string",detail:"Operating system architecture (amd64/arm64)"},{label:"Flavor",type:"string",detail:"Runner flavor/size specification"},{label:"Image",type:"string",detail:"Runner image name"},{label:"ImageOS",type:"string",detail:"Operating system of the image"},{label:"ImageOSVersion",type:"string",detail:"Version of the operating system"},{label:"PoolID",type:"string",detail:"Pool identifier"},{label:"ExtraSpecs",type:"json.RawMessage",detail:"Additional specifications as JSON"},{label:"JitConfigEnabled",type:"bool",detail:"Whether just-in-time configuration is enabled"},{label:"UserDataOptions",type:"UserDataOptions",detail:"User data configuration options"}],v=[{label:"print",type:"function",detail:"Print arguments to output"},{label:"printf",type:"function",detail:"Print formatted string"},{label:"println",type:"function",detail:"Print arguments with newline"},{label:"len",type:"function",detail:"Get length of array, slice, map, or string"},{label:"index",type:"function",detail:"Get element at index from array or slice"},{label:"slice",type:"function",detail:"Create slice from array"},{label:"range",type:"function",detail:"Iterate over array, slice, or map"},{label:"if",type:"function",detail:"Conditional execution"},{label:"else",type:"function",detail:"Alternative execution branch"},{label:"end",type:"function",detail:"End block statement"},{label:"with",type:"function",detail:"Change context to specified value"},{label:"template",type:"function",detail:"Include another template"},{label:"define",type:"function",detail:"Define a named template"},{label:"block",type:"function",detail:"Define a template block"}];function x(R){if(!d())return null;const $=R.state.doc.lineAt(R.pos),C=$.text,E=R.pos-$.from,q=C.slice(0,E),N=C.slice(E),ee=q.lastIndexOf("{{"),K=N.indexOf("}}");if(ye(ee,-1)||ye(K,-1))return null;const te=q.slice(ee+2),ie=te.match(/\.(\w*)$/);if(ie){const H=ie[1];return{from:R.pos-H.length,options:k.filter(ne=>ne.label.toLowerCase().startsWith(H.toLowerCase())).map(ne=>({label:ne.label,type:ne.type,detail:ne.detail,info:`${ne.type}: ${ne.detail}`}))}}const ke=te.match(/(\w+)$/);if(ke){const H=ke[1],we=R.pos-H.length,ne=[...v.map(se=>({label:se.label,type:se.type,detail:se.detail,info:se.detail})),...k.map(se=>({label:`.${se.label}`,type:se.type,detail:se.detail,info:`${se.type}: ${se.detail}`}))];return{from:we,options:ne.filter(se=>se.label.toLowerCase().includes(H.toLowerCase()))}}return ye(te.trim(),"")?{from:R.pos,options:[...v.map(H=>({label:H.label,type:H.type,detail:H.detail,info:H.detail})),...k.map(H=>({label:`.${H.label}`,type:H.type,detail:H.detail,info:`${H.type}: ${H.detail}`}))]}:null}function w(){if(!j(m))return;const R=[Qh,...g(j(r)),y(a()),Q.updateListener.of(C=>{if(C.docChanged){const E=C.state.doc.toString();l(E),o("change",{value:E})}}),I.readOnly.of(h()),Q.theme({"&":{minHeight:f()},".cm-editor":{minHeight:f()},".cm-scroller":{minHeight:f()}}),ki.of([{key:"Tab",run:C=>{if(h())return!1;const E=C.state.changeByRange(q=>({changes:{from:q.from,to:q.to,insert:" "},range:b.range(q.from+4,q.from+4)}));return C.dispatch(E),!0}},{key:"Ctrl-s",preventDefault:!0,run:()=>h()?!1:(o("save"),!0)}])];d()&&R.push(Lo({override:[x]}));const $=I.create({doc:l(),extensions:R});Xi(p,new Q({state:$,parent:j(m)}))}function T(){if(!j(p))return;const R=j(p).state.doc.toString();ye(R,l(),!1)&&j(p).dispatch({changes:{from:0,to:R.length,insert:l()}});const $=[Qh,...g(j(r)),y(a()),Q.updateListener.of(C=>{if(C.docChanged){const E=C.state.doc.toString();l(E),o("change",{value:E})}}),I.readOnly.of(h()),Q.theme({"&":{minHeight:f()},".cm-editor":{minHeight:f()},".cm-scroller":{minHeight:f()}}),ki.of([{key:"Tab",run:C=>{if(h())return!1;const E=C.state.changeByRange(q=>({changes:{from:q.from,to:q.to,insert:" "},range:b.range(q.from+4,q.from+4)}));return C.dispatch(E),!0}},{key:"Ctrl-s",preventDefault:!0,run:()=>h()?!1:(o("save"),!0)}])];d()&&$.push(Lo({override:[x]})),j(p).dispatch({effects:L.reconfigure.of($)})}Td(()=>{w()}),Cd(()=>{j(p)&&j(p).destroy()}),It(()=>s(),()=>{Xi(r,s())}),It(()=>(Vt(u()),Vt(a()),Vt(l())),()=>{if(u()&&ye(a(),"text")&&l()){const R=S(l());ye(R,"text",!1)&&a(R)}}),It(()=>(j(p),Vt(a())),()=>{j(p)&&a()&&T()}),It(()=>(j(p),Vt(l())),()=>{j(p)&&ye(l(),j(p).state.doc.toString(),!1)&&T()}),It(()=>(j(p),j(r)),()=>{j(p)&&ye(j(r),void 0,!1)&&T()}),tc(),Kh();var B=Cx();Dd(B,R=>Xi(m,R),()=>j(m)),wt(n,B),qd(e,"placeholder",c);var W=ic({get placeholder(){return c},...Zh()});return i(),W}Pe[ii]="src/lib/components/ConfirmationModal.svelte";var Px=On(Vo(''),Pe[ii],[[35,4,[[36,5]]]]),Qx=On(Vo(''),Pe[ii],[[39,4,[[40,5]]]]),Ax=On(Vo(''),Pe[ii],[[43,4,[[44,5]]]]),Mx=On(Yh('

'),Pe[ii],[[32,1,[[33,2],[49,2,[[50,3],[51,3,[[52,4]]]]],[56,2]]]]);function Pe(n,e){Gh(new.target),Jh(e,!1,Pe);const t=Fi(),i=Fi();let s=We(e,"title",8),r=We(e,"message",8),o=We(e,"confirmText",8,"Confirm"),l=We(e,"cancelText",8,"Cancel"),a=We(e,"variant",8,"warning"),h=We(e,"loading",8,!1);const c=ec();function f(){c("confirm")}return It(()=>Vt(a()),()=>{Xi(t,ye(a(),"danger")?"text-red-600 dark:text-red-400":ye(a(),"warning")?"text-yellow-600 dark:text-yellow-400":"text-blue-600 dark:text-blue-400")}),It(()=>Vt(a()),()=>{Xi(i,ye(a(),"danger")?"bg-red-100 dark:bg-red-900":ye(a(),"warning")?"bg-yellow-100 dark:bg-yellow-900":"bg-blue-100 dark:bg-blue-900")}),tc(),Kh(),Di(()=>Ed(n,{$$events:{close:()=>c("close")},children:sr(Pe,(u,d)=>{var p=Mx(),m=Lt(p),g=Lt(m);{var y=C=>{var E=Px();si(()=>An(E,0,`h-6 w-6 ${j(t)??""}`)),wt(C,E)},S=C=>{var E=kd(),q=Pd(E);{var N=K=>{var te=Qx();si(()=>An(te,0,`h-6 w-6 ${j(t)??""}`)),wt(K,te)},ee=K=>{var te=Ax();si(()=>An(te,0,`h-6 w-6 ${j(t)??""}`)),wt(K,te)};Di(()=>$l(q,K=>{ye(a(),"warning")?K(N):K(ee,!1)},!0),"if",Pe,38,3)}wt(C,E)};Di(()=>$l(g,C=>{ye(a(),"danger")?C(y):C(S,!1)}),"if",Pe,34,3)}Wt(m);var k=Qn(m,2),v=Lt(k),x=Lt(v,!0);Wt(v);var w=Qn(v,2),T=Lt(w),B=Lt(T,!0);Wt(T),Wt(w),Wt(k);var W=Qn(k,2),R=Lt(W);Di(()=>Ll(R,{variant:"secondary",get disabled(){return h()},$$events:{click:()=>c("close")},children:sr(Pe,(C,E)=>{ql();var q=El();si(()=>Pn(q,l())),wt(C,q)}),$$slots:{default:!0}}),"component",Pe,57,3,{componentTag:"Button"});var $=Qn(R,2);{let C=Qd(()=>ye(a(),"info")||ye(a(),"warning")?"primary":a());Di(()=>Ll($,{get variant(){return j(C)},get disabled(){return h()},get loading(){return h()},$$events:{click:f},children:sr(Pe,(E,q)=>{ql();var N=El();si(()=>Pn(N,o())),wt(E,N)}),$$slots:{default:!0}}),"component",Pe,64,3,{componentTag:"Button"})}Wt(W),Wt(p),si(()=>{An(m,1,`mx-auto flex items-center justify-center h-12 w-12 rounded-full ${j(i)??""} mb-4`),Pn(x,s()),Pn(B,r())}),wt(u,p)}),$$slots:{default:!0}}),"component",Pe,31,0,{componentTag:"Modal"}),ic({...Zh()})}export{Pe as C,Rl as a}; +`,{label:"if",detail:"block",type:"keyword"}),at("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),at("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),at("import ${module}",{label:"import",detail:"statement",type:"keyword"}),at("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],fx=ky(ld,Bu(hx.concat(cx)));function Rr(n){let{node:e,pos:t}=n,i=n.lineIndent(t,-1),s=null;for(;;){let r=e.childBefore(t);if(r)if(r.name=="Comment")t=r.from;else if(r.name=="Body"||r.name=="MatchBody")n.baseIndentFor(r)+n.unit<=i&&(s=r),e=r;else if(r.name=="MatchClause")e=r;else if(r.type.is("Statement"))e=r;else break;else break}return s}function Dr(n,e){let t=n.baseIndentFor(e),i=n.lineAt(n.pos,-1),s=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&n.node.tot?null:t+n.unit}const Er=Ss.define({name:"python",parser:ox.configure({props:[nl.add({Body:n=>{var e;let t=/^\s*(#|$)/.test(n.textAfter)&&Rr(n)||n.node;return(e=Dr(n,t))!==null&&e!==void 0?e:n.continue()},MatchBody:n=>{var e;let t=Rr(n);return(e=Dr(n,t||n.node))!==null&&e!==void 0?e:n.continue()},IfStatement:n=>/^\s*(else:|elif )/.test(n.textAfter)?n.baseIndent:n.continue(),"ForStatement WhileStatement":n=>/^\s*else:/.test(n.textAfter)?n.baseIndent:n.continue(),TryStatement:n=>/^\s*(except[ :]|finally:|else:)/.test(n.textAfter)?n.baseIndent:n.continue(),MatchStatement:n=>/^\s*case /.test(n.textAfter)?n.baseIndent+n.unit:n.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":gr({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":gr({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":gr({closing:"]"}),MemberExpression:n=>n.baseIndent+n.unit,"String FormatString":()=>null,Script:n=>{var e;let t=Rr(n);return(e=t&&Dr(n,t))!==null&&e!==void 0?e:n.continue()}}),Mf.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":tO,Body:(n,e)=>({from:n.from+1,to:n.to-(n.to==e.doc.length?0:1)}),"String FormatString":(n,e)=>({from:e.doc.lineAt(n.from).to,to:n.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function ux(){return new Xg(Er,[Er.data.of({autocomplete:ax}),Er.data.of({autocomplete:fx})])}var qo={};function vl(n,e){for(var t=0;t1&&n.eat("$");var t=n.next();return/['"({]/.test(t)?(e.tokens[0]=Ks(t,t=="("?"quote":t=="{"?"def":"string"),vi(n,e)):(/\d/.test(t)||n.eatWhile(/\w/),e.tokens.shift(),"def")};function mx(n){return function(e,t){return e.sol()&&e.string==n&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function vi(n,e){return(e.tokens[0]||dx)(n,e)}const Ih={name:"shell",startState:function(){return{tokens:[]}},token:function(n,e){return vi(n,e)},languageData:{autocomplete:ad.concat(hd,cd),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var gx=Vh('
');function qx(n,e){Fh(e,!1);const[t,i]=Sd(),s=()=>xd(kd,"$themeStore",t),r=zi(),o=Xh();let l=Be(e,"value",12,""),a=Be(e,"language",12,"text"),h=Be(e,"readonly",8,!1);const c="";let f=Be(e,"minHeight",8,"200px"),u=Be(e,"autoDetect",8,!0),d=Be(e,"enableTemplateCompletion",8,!1),p=zi(),m=zi();function g(R){return R?[I1]:[]}function y(R){switch(R){case"python":return ux();case"bash":return vs.define(Ih);case"powershell":return vs.define(Ih);case"text":default:return[]}}function S(R){const C=R.split(` +`)[0]?.trim()||"";return C.startsWith("#!/bin/bash")||C.startsWith("#!/bin/sh")?"bash":C.startsWith("#!/usr/bin/env pwsh")||C.includes("#ps1_sysnative")?"powershell":C.startsWith("#!/usr/bin/env python")||C.startsWith("#!/usr/bin/python")?"python":R.includes("param(")||R.includes("Write-Host")||R.includes("$_")?"powershell":R.includes("def ")||R.includes("import ")||R.includes("print(")?"python":R.includes("echo ")||R.includes("export ")||R.includes("if [")?"bash":"text"}const k=[{label:"RunnerName",type:"string",detail:"The name of the runner instance"},{label:"MetadataURL",type:"string",detail:"URL for accessing runner metadata service"},{label:"Token",type:"string",detail:"Authentication token for runner registration"},{label:"RepoURL",type:"string",detail:"Repository URL"},{label:"DownloadURL",type:"string",detail:"URL to download the runner package"},{label:"FileName",type:"string",detail:"Name of the downloaded runner file"},{label:"TempDir",type:"string",detail:"Temporary directory path"},{label:"RunnerDir",type:"string",detail:"Runner installation directory"},{label:"GitHubRunnerGroup",type:"string",detail:"GitHub runner group name"},{label:"Labels",type:"[]string",detail:"Array of runner labels"},{label:"CACertBundle",type:"[]byte",detail:"CA certificate bundle"},{label:"OSType",type:"string",detail:"Operating system type (linux/windows)"},{label:"OSArch",type:"string",detail:"Operating system architecture (amd64/arm64)"},{label:"Flavor",type:"string",detail:"Runner flavor/size specification"},{label:"Image",type:"string",detail:"Runner image name"},{label:"ImageOS",type:"string",detail:"Operating system of the image"},{label:"ImageOSVersion",type:"string",detail:"Version of the operating system"},{label:"PoolID",type:"string",detail:"Pool identifier"},{label:"ExtraSpecs",type:"json.RawMessage",detail:"Additional specifications as JSON"},{label:"JitConfigEnabled",type:"bool",detail:"Whether just-in-time configuration is enabled"},{label:"UserDataOptions",type:"UserDataOptions",detail:"User data configuration options"}],v=[{label:"print",type:"function",detail:"Print arguments to output"},{label:"printf",type:"function",detail:"Print formatted string"},{label:"println",type:"function",detail:"Print arguments with newline"},{label:"len",type:"function",detail:"Get length of array, slice, map, or string"},{label:"index",type:"function",detail:"Get element at index from array or slice"},{label:"slice",type:"function",detail:"Create slice from array"},{label:"range",type:"function",detail:"Iterate over array, slice, or map"},{label:"if",type:"function",detail:"Conditional execution"},{label:"else",type:"function",detail:"Alternative execution branch"},{label:"end",type:"function",detail:"End block statement"},{label:"with",type:"function",detail:"Change context to specified value"},{label:"template",type:"function",detail:"Include another template"},{label:"define",type:"function",detail:"Define a named template"},{label:"block",type:"function",detail:"Define a template block"}];function x(R){if(!d())return null;const $=R.state.doc.lineAt(R.pos),C=$.text,E=R.pos-$.from,q=C.slice(0,E),N=C.slice(E),ee=q.lastIndexOf("{{"),K=N.indexOf("}}");if(ee===-1||K===-1)return null;const te=q.slice(ee+2),ie=te.match(/\.(\w*)$/);if(ie){const H=ie[1];return{from:R.pos-H.length,options:k.filter(ne=>ne.label.toLowerCase().startsWith(H.toLowerCase())).map(ne=>({label:ne.label,type:ne.type,detail:ne.detail,info:`${ne.type}: ${ne.detail}`}))}}const Se=te.match(/(\w+)$/);if(Se){const H=Se[1],ke=R.pos-H.length,ne=[...v.map(se=>({label:se.label,type:se.type,detail:se.detail,info:se.detail})),...k.map(se=>({label:`.${se.label}`,type:se.type,detail:se.detail,info:`${se.type}: ${se.detail}`}))];return{from:ke,options:ne.filter(se=>se.label.toLowerCase().includes(H.toLowerCase()))}}return te.trim()===""?{from:R.pos,options:[...v.map(H=>({label:H.label,type:H.type,detail:H.detail,info:H.detail})),...k.map(H=>({label:`.${H.label}`,type:H.type,detail:H.detail,info:`${H.type}: ${H.detail}`}))]}:null}function w(){if(!j(m))return;const R=[xh,...g(j(r)),y(a()),Q.updateListener.of(C=>{if(C.docChanged){const E=C.state.doc.toString();l(E),o("change",{value:E})}}),I.readOnly.of(h()),Q.theme({"&":{minHeight:f()},".cm-editor":{minHeight:f()},".cm-scroller":{minHeight:f()}}),bi.of([{key:"Tab",run:C=>{if(h())return!1;const E=C.state.changeByRange(q=>({changes:{from:q.from,to:q.to,insert:" "},range:b.range(q.from+4,q.from+4)}));return C.dispatch(E),!0}},{key:"Ctrl-s",preventDefault:!0,run:()=>h()?!1:(o("save"),!0)}])];d()&&R.push(Ro({override:[x]}));const $=I.create({doc:l(),extensions:R});Ii(p,new Q({state:$,parent:j(m)}))}function T(){if(!j(p))return;const R=j(p).state.doc.toString();R!==l()&&j(p).dispatch({changes:{from:0,to:R.length,insert:l()}});const $=[xh,...g(j(r)),y(a()),Q.updateListener.of(C=>{if(C.docChanged){const E=C.state.doc.toString();l(E),o("change",{value:E})}}),I.readOnly.of(h()),Q.theme({"&":{minHeight:f()},".cm-editor":{minHeight:f()},".cm-scroller":{minHeight:f()}}),bi.of([{key:"Tab",run:C=>{if(h())return!1;const E=C.state.changeByRange(q=>({changes:{from:q.from,to:q.to,insert:" "},range:b.range(q.from+4,q.from+4)}));return C.dispatch(E),!0}},{key:"Ctrl-s",preventDefault:!0,run:()=>h()?!1:(o("save"),!0)}])];d()&&$.push(Ro({override:[x]})),j(p).dispatch({effects:L.reconfigure.of($)})}md(()=>{w()}),gd(()=>{j(p)&&j(p).destroy()}),Wt(()=>s(),()=>{Ii(r,s())}),Wt(()=>(zt(u()),zt(a()),zt(l())),()=>{if(u()&&a()==="text"&&l()){const R=S(l());R!=="text"&&a(R)}}),Wt(()=>(j(p),zt(a())),()=>{j(p)&&a()&&T()}),Wt(()=>(j(p),zt(l())),()=>{j(p)&&l()!==j(p).state.doc.toString()&&T()}),Wt(()=>(j(p),j(r)),()=>{j(p)&&j(r)!==void 0&&T()}),_h(),Nh();var B=gx();bd(B,R=>Ii(m,R),()=>j(m)),St(n,B),vd(e,"placeholder",c);var W=Uh({placeholder:c});return i(),W}var Ox=$o(''),yx=$o(''),bx=$o(''),xx=Vh('

');function $x(n,e){Fh(e,!1);const t=zi(),i=zi();let s=Be(e,"title",8),r=Be(e,"message",8),o=Be(e,"confirmText",8,"Confirm"),l=Be(e,"cancelText",8,"Cancel"),a=Be(e,"variant",8,"warning"),h=Be(e,"loading",8,!1);const c=Xh();function f(){c("confirm")}Wt(()=>zt(a()),()=>{Ii(t,a()==="danger"?"text-red-600 dark:text-red-400":a()==="warning"?"text-yellow-600 dark:text-yellow-400":"text-blue-600 dark:text-blue-400")}),Wt(()=>zt(a()),()=>{Ii(i,a()==="danger"?"bg-red-100 dark:bg-red-900":a()==="warning"?"bg-yellow-100 dark:bg-yellow-900":"bg-blue-100 dark:bg-blue-900")}),_h(),Nh(),wd(n,{$$events:{close:()=>c("close")},children:(u,d)=>{var p=xx(),m=$t(p),g=$t(m);{var y=C=>{var E=Ox();ti(()=>vn(E,0,`h-6 w-6 ${j(t)??""}`)),St(C,E)},S=C=>{var E=ud(),q=yd(E);{var N=K=>{var te=yx();ti(()=>vn(te,0,`h-6 w-6 ${j(t)??""}`)),St(K,te)},ee=K=>{var te=bx();ti(()=>vn(te,0,`h-6 w-6 ${j(t)??""}`)),St(K,te)};Ql(q,K=>{a()==="warning"?K(N):K(ee,!1)},!0)}St(C,E)};Ql(g,C=>{a()==="danger"?C(y):C(S,!1)})}Bt(m);var k=wn(m,2),v=$t(k),x=$t(v,!0);Bt(v);var w=wn(v,2),T=$t(w),B=$t(T,!0);Bt(T),Bt(w),Bt(k);var W=wn(k,2),R=$t(W);Al(R,{variant:"secondary",get disabled(){return h()},$$events:{click:()=>c("close")},children:(C,E)=>{Pl();var q=Cl();ti(()=>kn(q,l())),St(C,q)},$$slots:{default:!0}});var $=wn(R,2);{let C=Od(()=>a()==="info"||a()==="warning"?"primary":a());Al($,{get variant(){return j(C)},get disabled(){return h()},get loading(){return h()},$$events:{click:f},children:(E,q)=>{Pl();var N=Cl();ti(()=>kn(N,o())),St(E,N)},$$slots:{default:!0}})}Bt(W),Bt(p),ti(()=>{vn(m,1,`mx-auto flex items-center justify-center h-12 w-12 rounded-full ${j(i)??""} mb-4`),kn(x,s()),kn(B,r())}),St(u,p)},$$slots:{default:!0}}),Uh()}export{$x as C,qx as a}; diff --git a/webapp/assets/_app/immutable/entry/app.D2Xi_Pte.js b/webapp/assets/_app/immutable/entry/app.D2Xi_Pte.js new file mode 100644 index 00000000..0c37af06 --- /dev/null +++ b/webapp/assets/_app/immutable/entry/app.D2Xi_Pte.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CeYeJX28.js","../chunks/o8CdT7B0.js","../chunks/DUMcBckj.js","../chunks/ChJfoPF0.js","../chunks/i7pKks78.js","../chunks/_9uqtkkk.js","../chunks/CnZ9nHem.js","../chunks/CPri_0tM.js","../chunks/rDPsLaF8.js","../chunks/BcoJ4GZv.js","../chunks/DJUEiJtb.js","../chunks/ByzrGryl.js","../chunks/DC7Aeygn.js","../chunks/K7MmO9Q9.js","../chunks/DTRhxHIE.js","../chunks/Bbk4dQfI.js","../assets/0.Dm58_Ye1.css","../nodes/1.B_98Cn_-.js","../nodes/2.Js7JRvA3.js","../chunks/zgwRPQVC.js","../chunks/BtzOUN4g.js","../chunks/CdEA5IGF.js","../chunks/CYPHW1bs.js","../chunks/CmC5OaZC.js","../chunks/BZiHL9L3.js","../nodes/3.CWyGlMW1.js","../chunks/UrL2GjpD.js","../chunks/CbREEdny.js","../chunks/DQsxKNC2.js","../chunks/FjbxnYNv.js","../chunks/DG4LDt2Z.js","../chunks/B-bv0ihJ.js","../chunks/Bi2FJHrT.js","../chunks/llowLxE6.js","../chunks/DwF0DbKK.js","../chunks/BqCROW90.js","../chunks/C0gwpZbz.js","../chunks/ow_oMtSd.js","../chunks/7XD7ITBY.js","../nodes/4.ByTij3bm.js","../chunks/mBfsYUjq.js","../nodes/5.DUEiiBg9.js","../nodes/6.4j84gekE.js","../chunks/Dk1ODhlO.js","../nodes/7.BPl_OEUT.js","../chunks/DGDf0Obs.js","../chunks/Ckj0xxjl.js","../chunks/Dah3498E.js","../chunks/4L8NSMkU.js","../chunks/D9ztHNzD.js","../nodes/8.B3PNRMwk.js","../nodes/9.DAMysnIX.js","../chunks/CKfnRgQC.js","../assets/ShellTerminal.Bno-wGqG.css","../nodes/10.C4Gx1pSn.js","../nodes/11.xr_vcKFj.js","../nodes/12.RzOlDK_G.js","../chunks/aK-A9Gop.js","../nodes/13.Ck8fk5zC.js","../nodes/14.3rNSWGL0.js","../nodes/15.DmnqOOd9.js","../chunks/O0YA8q4d.js","../nodes/16.CZAXeJjl.js","../chunks/Bje4SFZN.js","../chunks/DMKBQAZn.js","../nodes/17.BJrLJtRa.js","../chunks/DYis7hcW.js","../nodes/18.BaIemZME.js","../nodes/19.BpbLvCcG.js","../nodes/20.0B9Z8rET.js","../chunks/BDUel5dG.js","../nodes/21.BxFmjbkC.js","../nodes/22.DxgQgozR.js","../chunks/C98nByjP.js","../nodes/23.vWjBPYxf.js","../chunks/zrfkhNmc.js","../nodes/24.DWjVL7id.js"])))=>i.map(i=>d[i]); +import{d as D,aB as G,g as d,aD as U,an as F,m as W,p as Y,ad as H,ae as J,o as K,aE as T,aF as Q,f as y,s as X,a as Z,c as $,r as tt,aG as I,t as et}from"../chunks/DUMcBckj.js";import{d as rt,m as ot,u as st,f as C,a as P,c as V,t as at,s as it}from"../chunks/o8CdT7B0.js";import{p as b,i as w}from"../chunks/i7pKks78.js";import{c as k}from"../chunks/B-bv0ihJ.js";import{b as j}from"../chunks/DwF0DbKK.js";function nt(n){return class extends _t{constructor(t){super({component:n,...t})}}}class _t{#e;#t;constructor(t){var a=new Map,c=(o,e)=>{var s=W(e,!1,!1);return a.set(o,s),s};const m=new Proxy({...t.props||{},$$events:{}},{get(o,e){return d(a.get(e)??c(e,Reflect.get(o,e)))},has(o,e){return e===G?!0:(d(a.get(e)??c(e,Reflect.get(o,e))),Reflect.has(o,e))},set(o,e,s){return D(a.get(e)??c(e,s),s),Reflect.set(o,e,s)}});this.#t=(t.hydrate?rt:ot)(t.component,{target:t.target,anchor:t.anchor,props:m,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&U(),this.#e=m.$$events;for(const o of Object.keys(this.#t))o==="$set"||o==="$destroy"||o==="$on"||F(this,o,{get(){return this.#t[o]},set(e){this.#t[o]=e},enumerable:!0});this.#t.$set=o=>{Object.assign(m,o)},this.#t.$destroy=()=>{st(this.#t)}}$set(t){this.#t.$set(t)}$on(t,a){this.#e[t]=this.#e[t]||[];const c=(...m)=>a.call(this,...m);return this.#e[t].push(c),()=>{this.#e[t]=this.#e[t].filter(m=>m!==c)}}$destroy(){this.#t.$destroy()}}const ct="modulepreload",mt=function(n,t){return new URL(n,t).href},S={},r=function(t,a,c){let m=Promise.resolve();if(a&&a.length>0){let A=function(_){return Promise.all(_.map(l=>Promise.resolve(l).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const e=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),L=s?.nonce||s?.getAttribute("nonce");m=A(a.map(_=>{if(_=mt(_,c),_ in S)return;S[_]=!0;const l=_.endsWith(".css"),f=l?'[rel="stylesheet"]':"";if(c)for(let v=e.length-1;v>=0;v--){const i=e[v];if(i.href===_&&(!l||i.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${_}"]${f}`))return;const u=document.createElement("link");if(u.rel=l?"stylesheet":ct,l||(u.as="script"),u.crossOrigin="",u.href=_,L&&u.setAttribute("nonce",L),document.head.appendChild(u),l)return new Promise((v,i)=>{u.addEventListener("load",v),u.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${_}`)))})}))}function o(e){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=e,window.dispatchEvent(s),!s.defaultPrevented)throw e}return m.then(e=>{for(const s of e||[])s.status==="rejected"&&o(s.reason);return t().catch(o)})},Rt={};var ut=C('
'),lt=C(" ",1);function dt(n,t){Y(t,!0);let a=b(t,"components",23,()=>[]),c=b(t,"data_0",3,null),m=b(t,"data_1",3,null);H(()=>t.stores.page.set(t.page)),J(()=>{t.stores,t.page,t.constructors,a(),t.form,c(),m(),t.stores.page.notify()});let o=T(!1),e=T(!1),s=T(null);K(()=>{const i=t.stores.page.subscribe(()=>{d(o)&&(D(e,!0),Q().then(()=>{D(s,document.title||"untitled page",!0)}))});return D(o,!0),i});const L=I(()=>t.constructors[1]);var A=lt(),_=y(A);{var l=i=>{const p=I(()=>t.constructors[0]);var E=V(),R=y(E);k(R,()=>d(p),(h,g)=>{j(g(h,{get data(){return c()},get form(){return t.form},get params(){return t.page.params},children:(O,vt)=>{var x=V(),N=y(x);k(N,()=>d(L),(q,z)=>{j(z(q,{get data(){return m()},get form(){return t.form},get params(){return t.page.params}}),B=>a()[1]=B,()=>a()?.[1])}),P(O,x)},$$slots:{default:!0}}),O=>a()[0]=O,()=>a()?.[0])}),P(i,E)},f=i=>{const p=I(()=>t.constructors[0]);var E=V(),R=y(E);k(R,()=>d(p),(h,g)=>{j(g(h,{get data(){return c()},get form(){return t.form},get params(){return t.page.params}}),O=>a()[0]=O,()=>a()?.[0])}),P(i,E)};w(_,i=>{t.constructors[1]?i(l):i(f,!1)})}var u=X(_,2);{var v=i=>{var p=ut(),E=$(p);{var R=h=>{var g=at();et(()=>it(g,d(s))),P(h,g)};w(E,h=>{d(e)&&h(R)})}tt(p),P(i,p)};w(u,i=>{d(o)&&i(v)})}P(n,A),Z()}const Ot=nt(dt),Lt=[()=>r(()=>import("../nodes/0.CeYeJX28.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url),()=>r(()=>import("../nodes/1.B_98Cn_-.js"),__vite__mapDeps([17,1,2,3,7,8,6,9]),import.meta.url),()=>r(()=>import("../nodes/2.Js7JRvA3.js"),__vite__mapDeps([18,1,2,3,4,12,5,6,14,19,20,21,22,23,15,24]),import.meta.url),()=>r(()=>import("../nodes/3.CWyGlMW1.js"),__vite__mapDeps([25,1,2,3,4,12,5,6,20,21,26,27,28,29,30,31,32,19,14,15,24,33,34,35,36,37,38]),import.meta.url),()=>r(()=>import("../nodes/4.ByTij3bm.js"),__vite__mapDeps([39,1,2,3,4,5,6,13,9,8,40,22,28,24,14,15,30,12,31,20,29,32,33,34]),import.meta.url),()=>r(()=>import("../nodes/5.DUEiiBg9.js"),__vite__mapDeps([41,1,2,3,4,5,6,20,21,26,27,28,29,19,14,15,24,30,12,31,32,35,38,23]),import.meta.url),()=>r(()=>import("../nodes/6.4j84gekE.js"),__vite__mapDeps([42,1,2,3,4,5,6,26,12,20,21,22,24,19,14,43,40,15,28,32,30,31,29,33,34,35,36,37,38]),import.meta.url),()=>r(()=>import("../nodes/7.BPl_OEUT.js"),__vite__mapDeps([44,1,2,3,4,5,6,13,9,8,43,12,20,21,24,22,40,45,28,32,19,14,30,31,29,33,34,36,37,46,47,38,15,48,49]),import.meta.url),()=>r(()=>import("../nodes/8.B3PNRMwk.js"),__vite__mapDeps([50,1,2,3,4,5,6,20,21,9,8,10,15,24]),import.meta.url),()=>r(()=>import("../nodes/9.DAMysnIX.js"),__vite__mapDeps([51,1,2,3,4,5,6,40,22,26,52,12,34,21,53,14,15,30,31,20,29,32,28,24,33,36,37,38]),import.meta.url),()=>r(()=>import("../nodes/10.C4Gx1pSn.js"),__vite__mapDeps([54,1,2,3,4,12,5,6,34,13,9,8,40,22,52,21,53,14,37,28,24,32]),import.meta.url),()=>r(()=>import("../nodes/11.xr_vcKFj.js"),__vite__mapDeps([55,1,2,3,4,5,6,20,21,9,8,10,24]),import.meta.url),()=>r(()=>import("../nodes/12.RzOlDK_G.js"),__vite__mapDeps([56,1,2,3,4,12,5,6,20,21,8,26,30,31,29,32,28,22,15,24,40,33,34,38,57,14]),import.meta.url),()=>r(()=>import("../nodes/13.Ck8fk5zC.js"),__vite__mapDeps([58,1,2,3,4,12,5,6,20,21,13,9,8,15,24,57,40,22,32]),import.meta.url),()=>r(()=>import("../nodes/14.3rNSWGL0.js"),__vite__mapDeps([59,1,2,3,4,5,6,12,20,21,22,27,28,24,19,14,43,40,26,15,32,30,31,29,33,34,35,36,37,38]),import.meta.url),()=>r(()=>import("../nodes/15.DmnqOOd9.js"),__vite__mapDeps([60,1,2,3,4,5,6,13,9,8,43,12,20,21,24,22,40,45,28,32,19,14,30,31,29,33,34,36,37,46,47,38,61,15,48,49]),import.meta.url),()=>r(()=>import("../nodes/16.CZAXeJjl.js"),__vite__mapDeps([62,1,2,3,4,5,6,26,48,12,20,21,22,24,49,14,19,63,40,30,31,29,32,28,15,33,34,35,36,37,38,64]),import.meta.url),()=>r(()=>import("../nodes/17.BJrLJtRa.js"),__vite__mapDeps([65,1,2,3,4,12,5,6,7,8,9,63,20,21,22,49,24,19,14,40,47,30,31,29,32,28,33,34,36,37,38,46,15,66]),import.meta.url),()=>r(()=>import("../nodes/18.BaIemZME.js"),__vite__mapDeps([67,1,2,3,4,5,6,12,20,21,22,24,27,28,19,14,43,40,26,15,30,31,29,32,33,34,35,36,37,38]),import.meta.url),()=>r(()=>import("../nodes/19.BpbLvCcG.js"),__vite__mapDeps([68,1,2,3,4,5,6,13,9,8,43,12,20,21,24,22,40,45,28,32,19,14,30,31,29,33,34,36,37,46,47,38,61,15,48,49]),import.meta.url),()=>r(()=>import("../nodes/20.0B9Z8rET.js"),__vite__mapDeps([69,1,2,3,4,5,6,26,12,20,21,22,49,24,14,19,70,40,30,31,29,32,28,15,33,34,35,36,37,38,64]),import.meta.url),()=>r(()=>import("../nodes/21.BxFmjbkC.js"),__vite__mapDeps([71,1,2,3,4,5,6,7,8,9,70,12,20,21,22,24,49,19,14,40,47,30,31,29,32,28,33,34,36,37,38,46,15,66]),import.meta.url),()=>r(()=>import("../nodes/22.DxgQgozR.js"),__vite__mapDeps([72,1,2,3,4,9,8,6,5,26,29,30,12,31,20,32,28,15,24,40,22,33,34,38,73,19,14]),import.meta.url),()=>r(()=>import("../nodes/23.vWjBPYxf.js"),__vite__mapDeps([74,1,2,3,4,5,6,20,21,7,8,9,29,15,24,32,46,75,34,11,22,40,73,28,14]),import.meta.url),()=>r(()=>import("../nodes/24.DWjVL7id.js"),__vite__mapDeps([76,1,2,3,4,5,6,20,34,21,9,8,7,15,24,46,75,11,22]),import.meta.url)],At=[],yt={"/":[2],"/credentials":[3],"/credentials/[id]":[4],"/endpoints":[5],"/enterprises":[6],"/enterprises/[id]":[7],"/init":[8],"/instances":[9],"/instances/[id]":[10],"/login":[11],"/objects":[12],"/objects/[id]":[13],"/organizations":[14],"/organizations/[id]":[15],"/pools":[16],"/pools/[id]":[17],"/repositories":[18],"/repositories/[id]":[19],"/scalesets":[20],"/scalesets/[id]":[21],"/templates":[22],"/templates/create":[24],"/templates/[id]":[23]},M={handleError:({error:n})=>{console.error(n)},reroute:()=>{},transport:{}},ft=Object.fromEntries(Object.entries(M.transport).map(([n,t])=>[n,t.decode])),Dt=Object.fromEntries(Object.entries(M.transport).map(([n,t])=>[n,t.encode])),Tt=!1,It=(n,t)=>ft[n](t);export{It as decode,ft as decoders,yt as dictionary,Dt as encoders,Tt as hash,M as hooks,Rt as matchers,Lt as nodes,Ot as root,At as server_loads}; diff --git a/webapp/assets/_app/immutable/entry/app.DMZC_6w5.js b/webapp/assets/_app/immutable/entry/app.DMZC_6w5.js deleted file mode 100644 index 9a734c37..00000000 --- a/webapp/assets/_app/immutable/entry/app.DMZC_6w5.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CgRFEyfI.js","../chunks/CxOx-TIJ.js","../chunks/DzFKsO_V.js","../chunks/3NxSoY2_.js","../chunks/B_jyf0qs.js","../chunks/BguOOs3x.js","../chunks/C14okzlM.js","../chunks/CH-vk5qo.js","../chunks/BzzAh3Be.js","../chunks/K_YdKkKc.js","../chunks/B7m7LjX-.js","../chunks/CdXRaxkX.js","../chunks/DgabA6iF.js","../chunks/DSHGoHxX.js","../chunks/DcWIrrGq.js","../chunks/li_-Mkq2.js","../assets/0.BQ5uM8Ma.css","../nodes/1.D-XY8IoK.js","../nodes/2.BADPguU9.js","../chunks/BAcG6-Ep.js","../chunks/Penjr-j0.js","../chunks/DoJxysSt.js","../chunks/BVM1034P.js","../chunks/CdEA5IGF.js","../chunks/Pgjt70l7.js","../chunks/Cy4PP0DI.js","../chunks/BZiHL9L3.js","../nodes/3.BVqHnS4E.js","../chunks/DTko0dwG.js","../chunks/C2FKJqnN.js","../chunks/BZykqlEc.js","../chunks/Ct5kWObc.js","../chunks/1CdJgrM6.js","../chunks/JkzpcrZD.js","../chunks/Dtavz0EF.js","../chunks/ow_oMtSd.js","../chunks/DvQW-lMP.js","../nodes/4.CvPd1-eU.js","../chunks/DL1RlOO9.js","../nodes/5.DLLdfWzr.js","../nodes/6.CUriKSCU.js","../chunks/B8GNZv7s.js","../nodes/7.CDCxQvHx.js","../chunks/Cfss7k9J.js","../chunks/BLYRAgBX.js","../chunks/CzarUgpd.js","../chunks/BBvIKVJT.js","../chunks/BMieCrfV.js","../nodes/8.CtSgrltG.js","../nodes/9.sPCR99vC.js","../chunks/DcHRb6xX.js","../assets/ShellTerminal.Bno-wGqG.css","../nodes/10.B3EO0F_m.js","../nodes/11.Dq973KK3.js","../nodes/12.nODRGCSI.js","../chunks/aK-A9Gop.js","../nodes/13.B33JDb5v.js","../nodes/14.DsQEpiva.js","../nodes/15.5uMapiYU.js","../chunks/DMKMpIvH.js","../nodes/16.DytzVHZP.js","../chunks/lcoLiK7X.js","../nodes/17.DxoZE9xY.js","../chunks/DaHsWCjd.js","../nodes/18.YzZXxt0g.js","../nodes/19.4IHf2A04.js","../nodes/20.DNaB4Zl-.js","../chunks/CZK5Ma2H.js","../nodes/21.DyAtvlhs.js","../nodes/22.CliGwwFO.js","../chunks/C98nByjP.js","../nodes/23.DFWYlnUs.js","../chunks/g1bAVjVL.js","../nodes/24.Cvh0k1-p.js"])))=>i.map(i=>d[i]); -import{j as b,ap as H,g as l,aU as J,aG as K,m as Q,p as Z,ar as $,as as tt,y as R,aV as w,o as et,aW as rt,aX as k,f as V,d as O,s as ot,a as at,c as st,r as nt,F as N,t as it}from"../chunks/DzFKsO_V.js";import{m as mt,n as _t,u as ct,c as ut,a as z,b as L,l as lt,d as j,f as F,t as dt,s as ft}from"../chunks/CxOx-TIJ.js";import{c as pt,a as x}from"../chunks/BZykqlEc.js";import{p as S,i as C}from"../chunks/B_jyf0qs.js";import{w as vt}from"../chunks/DoJxysSt.js";import{b as M}from"../chunks/Dtavz0EF.js";function ht(n){return class extends Et{constructor(t){super({component:n,...t})}}}class Et{#e;#t;constructor(t){var i=new Map,s=(o,e)=>{var a=Q(e,!1,!1);return i.set(o,a),a};const m=new Proxy({...t.props||{},$$events:{}},{get(o,e){return l(i.get(e)??s(e,Reflect.get(o,e)))},has(o,e){return e===H?!0:(l(i.get(e)??s(e,Reflect.get(o,e))),Reflect.has(o,e))},set(o,e,a){return b(i.get(e)??s(e,a),a),Reflect.set(o,e,a)}});this.#t=(t.hydrate?mt:_t)(t.component,{target:t.target,anchor:t.anchor,props:m,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&J(),this.#e=m.$$events;for(const o of Object.keys(this.#t))o==="$set"||o==="$destroy"||o==="$on"||K(this,o,{get(){return this.#t[o]},set(e){this.#t[o]=e},enumerable:!0});this.#t.$set=o=>{Object.assign(m,o)},this.#t.$destroy=()=>{ct(this.#t)}}$set(t){this.#t.$set(t)}$on(t,i){this.#e[t]=this.#e[t]||[];const s=(...m)=>i.call(this,...m);return this.#e[t].push(s),()=>{this.#e[t]=this.#e[t].filter(m=>m!==s)}}$destroy(){this.#t.$destroy()}}const gt="modulepreload",Pt=function(n,t){return new URL(n,t).href},q={},r=function(t,i,s){let m=Promise.resolve();if(i&&i.length>0){let D=function(_){return Promise.all(_.map(d=>Promise.resolve(d).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};const e=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),A=a?.nonce||a?.getAttribute("nonce");m=D(i.map(_=>{if(_=Pt(_,s),_ in q)return;q[_]=!0;const d=_.endsWith(".css"),v=d?'[rel="stylesheet"]':"";if(s)for(let h=e.length-1;h>=0;h--){const P=e[h];if(P.href===_&&(!d||P.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${_}"]${v}`))return;const f=document.createElement("link");if(f.rel=d?"stylesheet":gt,d||(f.as="script"),f.crossOrigin="",f.href=_,A&&f.setAttribute("nonce",A),document.head.appendChild(f),d)return new Promise((h,P)=>{f.addEventListener("load",h),f.addEventListener("error",()=>P(new Error(`Unable to preload CSS for ${_}`)))})}))}function o(e){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=e,window.dispatchEvent(a),!a.defaultPrevented)throw e}return m.then(e=>{for(const a of e||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},wt={};u[N]=".svelte-kit/generated/root.svelte";var yt=z(F('
'),u[N],[[63,1]]),Rt=z(F(" ",1),u[N],[]);function u(n,t){ut(new.target),Z(t,!0,u);var i=pt(t);let s=S(t,"components",23,()=>[]),m=S(t,"data_0",3,null),o=S(t,"data_1",3,null);$(()=>t.stores.page.set(t.page)),tt(()=>{t.stores,t.page,t.constructors,s(),t.form,m(),o(),t.stores.page.notify()});let e=R(w(!1),"mounted"),a=R(w(!1),"navigated"),A=R(w(null),"title");et(()=>{const c=t.stores.page.subscribe(()=>{l(e)&&(b(a,!0),rt().then(()=>{b(A,document.title||"untitled page",!0)}))});return b(e,!0),c});const D=R(k(()=>t.constructors[1]),"Pyramid_1");var _=Rt(),d=V(_);{var v=c=>{const p=R(k(()=>t.constructors[0]),"Pyramid_0");l(p);var E=j(),T=V(E);O(()=>x(T,()=>l(p),(g,y)=>{M(y(g,{get data(){return m()},get form(){return t.form},get params(){return t.page.params},children:vt(u,(I,Lt)=>{var U=j(),W=V(U);O(()=>x(W,()=>l(D),(B,X)=>{M(X(B,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),Y=>i.mutation("components",["components",1],s()[1]=Y,52,32),()=>s()?.[1])}),"component",u,52,10,{componentTag:"Pyramid_1"}),L(I,U)}),$$slots:{default:!0}}),I=>i.mutation("components",["components",0],s()[0]=I,50,29),()=>s()?.[0])}),"component",u,50,7,{componentTag:"Pyramid_0"}),L(c,E)},f=c=>{const p=R(k(()=>t.constructors[0]),"Pyramid_0");l(p);var E=j(),T=V(E);O(()=>x(T,()=>l(p),(g,y)=>{M(y(g,{get data(){return m()},get form(){return t.form},get params(){return t.page.params}}),I=>i.mutation("components",["components",0],s()[0]=I,58,23),()=>s()?.[0])}),"component",u,58,1,{componentTag:"Pyramid_0"}),L(c,E)};O(()=>C(d,c=>{t.constructors[1]?c(v):c(f,!1)}),"if",u,47,0)}var h=ot(d,2);{var P=c=>{var p=yt(),E=st(p);{var T=g=>{var y=dt();it(()=>ft(y,l(A))),L(g,y)};O(()=>C(E,g=>{l(a)&&g(T)}),"if",u,64,2)}nt(p),L(c,p)};O(()=>C(h,c=>{l(e)&&c(P)}),"if",u,62,0)}return L(n,_),at({...lt()})}const kt=ht(u),jt=[()=>r(()=>import("../nodes/0.CgRFEyfI.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url),()=>r(()=>import("../nodes/1.D-XY8IoK.js"),__vite__mapDeps([17,1,2,3,7,8,6]),import.meta.url),()=>r(()=>import("../nodes/2.BADPguU9.js"),__vite__mapDeps([18,1,2,3,4,11,5,6,19,13,20,21,22,23,24,25,15,26]),import.meta.url),()=>r(()=>import("../nodes/3.BVqHnS4E.js"),__vite__mapDeps([27,1,2,3,4,11,5,6,22,23,19,28,21,29,30,14,31,32,33,34,35,36,20,13,15,26]),import.meta.url),()=>r(()=>import("../nodes/4.CvPd1-eU.js"),__vite__mapDeps([37,1,2,3,4,5,6,12,8,38,21,24,33,26,13,15,29,30,11,14,22,31,32,34,35]),import.meta.url),()=>r(()=>import("../nodes/5.DLLdfWzr.js"),__vite__mapDeps([39,1,2,3,4,5,6,22,23,19,28,21,29,30,11,14,31,32,33,34,35,36,20,13,15,26,25]),import.meta.url),()=>r(()=>import("../nodes/6.CUriKSCU.js"),__vite__mapDeps([40,1,2,3,4,5,6,19,28,21,29,30,11,14,22,31,32,33,34,35,23,24,26,20,13,41,38,15]),import.meta.url),()=>r(()=>import("../nodes/7.CDCxQvHx.js"),__vite__mapDeps([42,1,2,3,4,5,6,12,8,41,11,21,22,23,26,24,38,43,33,32,20,13,29,30,14,31,34,35,44,45,15,46,47]),import.meta.url),()=>r(()=>import("../nodes/8.CtSgrltG.js"),__vite__mapDeps([48,1,2,3,4,21,5,6,22,23,8,9,15,26]),import.meta.url),()=>r(()=>import("../nodes/9.sPCR99vC.js"),__vite__mapDeps([49,1,2,3,4,19,5,6,38,21,24,28,29,30,11,14,22,31,32,33,34,35,50,23,51,13,15,26]),import.meta.url),()=>r(()=>import("../nodes/10.B3EO0F_m.js"),__vite__mapDeps([52,1,2,3,4,11,5,6,34,12,8,38,21,24,50,23,14,19,51,13,35,33,26,32]),import.meta.url),()=>r(()=>import("../nodes/11.Dq973KK3.js"),__vite__mapDeps([53,1,2,3,4,21,5,6,22,23,8,9,26]),import.meta.url),()=>r(()=>import("../nodes/12.nODRGCSI.js"),__vite__mapDeps([54,1,2,3,4,11,21,5,6,22,23,19,8,28,29,30,14,31,32,33,34,35,24,15,26,38,55,13]),import.meta.url),()=>r(()=>import("../nodes/13.B33JDb5v.js"),__vite__mapDeps([56,1,2,3,4,11,21,5,6,22,23,12,8,15,26,55,38,24,32]),import.meta.url),()=>r(()=>import("../nodes/14.DsQEpiva.js"),__vite__mapDeps([57,1,2,3,4,5,6,19,11,21,22,23,24,36,33,26,20,13,41,38,28,29,30,14,31,32,34,35,15]),import.meta.url),()=>r(()=>import("../nodes/15.5uMapiYU.js"),__vite__mapDeps([58,1,2,3,4,5,6,12,8,41,11,21,22,23,26,24,38,43,33,32,20,13,29,30,14,31,34,35,44,45,59,19,15,46,47]),import.meta.url),()=>r(()=>import("../nodes/16.DytzVHZP.js"),__vite__mapDeps([60,1,2,3,4,21,19,5,6,28,29,30,11,14,22,31,32,33,34,35,46,23,24,26,47,13,20,61,38,15]),import.meta.url),()=>r(()=>import("../nodes/17.DxoZE9xY.js"),__vite__mapDeps([62,1,2,3,4,11,5,6,7,8,61,21,22,23,24,47,26,20,13,38,45,29,30,14,31,32,33,34,35,44,15,63]),import.meta.url),()=>r(()=>import("../nodes/18.YzZXxt0g.js"),__vite__mapDeps([64,1,2,3,4,19,5,6,11,21,22,23,24,26,36,33,20,13,41,38,28,29,30,14,31,32,34,35,15]),import.meta.url),()=>r(()=>import("../nodes/19.4IHf2A04.js"),__vite__mapDeps([65,1,2,3,4,5,6,12,8,41,11,21,22,23,26,24,38,43,33,32,20,13,29,30,14,31,34,35,44,45,59,19,15,46,47]),import.meta.url),()=>r(()=>import("../nodes/20.DNaB4Zl-.js"),__vite__mapDeps([66,1,2,3,4,21,19,5,6,28,29,30,11,14,22,31,32,33,34,35,23,24,47,26,13,20,67,38,15]),import.meta.url),()=>r(()=>import("../nodes/21.DyAtvlhs.js"),__vite__mapDeps([68,1,2,3,4,5,6,7,8,67,11,21,22,23,24,26,47,20,13,38,45,29,30,14,31,32,33,34,35,44,15,63]),import.meta.url),()=>r(()=>import("../nodes/22.CliGwwFO.js"),__vite__mapDeps([69,1,2,3,4,21,19,8,6,5,28,29,30,11,14,22,31,32,33,34,35,15,26,38,24,70,20,13]),import.meta.url),()=>r(()=>import("../nodes/23.DFWYlnUs.js"),__vite__mapDeps([71,1,2,3,4,21,5,6,22,23,19,7,8,31,15,26,32,44,72,34,10,24,38,70,33,13]),import.meta.url),()=>r(()=>import("../nodes/24.Cvh0k1-p.js"),__vite__mapDeps([73,1,2,3,4,5,6,22,34,23,19,8,7,31,15,26,32,44,21,72,10,24]),import.meta.url)],xt=[],St={"/":[2],"/credentials":[3],"/credentials/[id]":[4],"/endpoints":[5],"/enterprises":[6],"/enterprises/[id]":[7],"/init":[8],"/instances":[9],"/instances/[id]":[10],"/login":[11],"/objects":[12],"/objects/[id]":[13],"/organizations":[14],"/organizations/[id]":[15],"/pools":[16],"/pools/[id]":[17],"/repositories":[18],"/repositories/[id]":[19],"/scalesets":[20],"/scalesets/[id]":[21],"/templates":[22],"/templates/create":[24],"/templates/[id]":[23]},G={handleError:({error:n})=>{console.error(n)},reroute:()=>{},transport:{}},Ot=Object.fromEntries(Object.entries(G.transport).map(([n,t])=>[n,t.decode])),Ct=Object.fromEntries(Object.entries(G.transport).map(([n,t])=>[n,t.encode])),Mt=!1,Nt=(n,t)=>Ot[n](t);export{Nt as decode,Ot as decoders,St as dictionary,Ct as encoders,Mt as hash,G as hooks,wt as matchers,jt as nodes,kt as root,xt as server_loads}; diff --git a/webapp/assets/_app/immutable/entry/start.CY1Bq9Vw.js b/webapp/assets/_app/immutable/entry/start.CY1Bq9Vw.js deleted file mode 100644 index 1a874f42..00000000 --- a/webapp/assets/_app/immutable/entry/start.CY1Bq9Vw.js +++ /dev/null @@ -1 +0,0 @@ -import{l as o,a as r}from"../chunks/BzzAh3Be.js";export{o as load_css,r as start}; diff --git a/webapp/assets/_app/immutable/entry/start._V-crH9D.js b/webapp/assets/_app/immutable/entry/start._V-crH9D.js new file mode 100644 index 00000000..49bbe9bf --- /dev/null +++ b/webapp/assets/_app/immutable/entry/start._V-crH9D.js @@ -0,0 +1 @@ +import{a as r}from"../chunks/BcoJ4GZv.js";import{w as t}from"../chunks/rDPsLaF8.js";export{t as load_css,r as start}; diff --git a/webapp/assets/_app/immutable/nodes/0.CeYeJX28.js b/webapp/assets/_app/immutable/nodes/0.CeYeJX28.js new file mode 100644 index 00000000..499a002e --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/0.CeYeJX28.js @@ -0,0 +1,13 @@ +import{f as h,s as pe,a as s,c as F,b as re,e as R,h as hr,t as qe}from"../chunks/o8CdT7B0.js";import{i as Te}from"../chunks/ChJfoPF0.js";import{p as Ge,o as Ke,l as I,d as f,m as T,b as Oe,f as P,c as o,s as l,r as a,g as e,u as i,t as U,h as ye,a as Ee,i as ur,$ as fr}from"../chunks/DUMcBckj.js";import{a as _e,i as b,s as De}from"../chunks/i7pKks78.js";import{c as n,d as w,s as K,h as mr,B as xr,f as Fe}from"../chunks/_9uqtkkk.js";import{p as je}from"../chunks/CPri_0tM.js";import{g as Pe}from"../chunks/BcoJ4GZv.js";import{b as We,a as pr}from"../chunks/DJUEiJtb.js";import{t as Se}from"../chunks/ByzrGryl.js";import{e as ve,i as xe}from"../chunks/DC7Aeygn.js";import{p as br}from"../chunks/K7MmO9Q9.js";import{w as kr}from"../chunks/DTRhxHIE.js";import{t as Je}from"../chunks/Bbk4dQfI.js";const yr=async({url:ae})=>({url:ae.pathname}),_r=!1,wr=!1,fa=Object.freeze(Object.defineProperty({__proto__:null,load:yr,prerender:_r,ssr:wr},Symbol.toStringTag,{value:"Module"}));var Mr=h('
Live Updates
'),zr=h('
Connecting
'),jr=h('
Updates Unavailable
'),Sr=h('
Manual Refresh
'),Cr=re(''),Hr=re(''),Lr=re(''),$r=re(''),Ar=h(' '),Br=h(' '),Vr=h('
'),Rr=h('
'),Ir=h('
'),Pr=h('
'),Tr=re(''),Gr=re(''),Or=re(''),Er=re(''),Dr=h(' '),Nr=h(' '),Ur=h('
'),Qr=h('
'),qr=h('
GARM GARM

GARM

',1);function Fr(ae,te){Ge(te,!1);const[oe,be]=De(),d=()=>_e(kr,"$websocketStore",oe),se=()=>_e(Se,"$themeStore",oe),W=()=>_e(br,"$page",oe),u=T(),j=T(),k=T();let y=T(!1),m=T(!1);Ke(()=>{window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",v)});function v(t){(!localStorage.getItem("theme")||localStorage.getItem("theme")==="system")&&Se.set(t.matches)}function J(){Se.toggle()}function ie(){We.logout(),f(m,!1)}const X=[{href:n("/"),label:"Dashboard",icon:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"},{href:n("/repositories"),label:"Repositories",icon:"M7 16V4m0 0a2 2 0 100-4 2 2 0 000 4zm0 0a2 2 0 100 4 2 2 0 000-4zm10 12a2 2 0 100-4 2 2 0 000 4zm0 0V9a5 5 0 00-5-5"},{href:n("/organizations"),label:"Organizations",icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"},{href:n("/enterprises"),label:"Enterprises",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{href:n("/pools"),label:"Pools",icon:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},{href:n("/scalesets"),label:"Scale Sets",icon:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"},{href:n("/instances"),label:"Runners",icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"}],M=[{href:n("/credentials"),label:"Credentials",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1721 9z"},{href:n("/endpoints"),label:"Endpoints",icon:"M13 10V3L4 14h7v7l9-11h-7z"},{href:n("/templates"),label:"Runner Install Templates",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{href:n("/objects"),label:"Object Storage",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"}];I(()=>d(),()=>{f(u,d())}),I(()=>se(),()=>{f(j,se())}),I(()=>W(),()=>{W().url.pathname&&f(y,!1)}),I(()=>W(),()=>{f(k,W().url.pathname)}),Oe(),Te();var S=qr(),Q=P(S),ce=o(Q),ne=o(ce),A=o(ne),B=o(A),Y=o(B),G=l(Y,2);a(B),a(A);var O=l(A,2),E=o(O),V=o(E),ge=o(V);{var he=t=>{var r=Mr();s(t,r)},Z=t=>{var r=F(),g=P(r);{var _=x=>{var z=zr();s(x,z)},C=x=>{var z=F(),ee=P(z);{var H=p=>{var N=jr();s(p,N)},L=p=>{var N=Sr();s(p,N)};b(ee,p=>{e(u),i(()=>e(u).error)?p(H):p(L,!1)},!0)}s(x,z)};b(g,x=>{e(u),i(()=>e(u).connecting)?x(_):x(C,!1)},!0)}s(t,r)};b(ge,t=>{e(u),i(()=>e(u).connected)?t(he):t(Z,!1)})}a(V);var D=l(V,2),ue=o(D);{var we=t=>{var r=Cr();s(t,r)},Ce=t=>{var r=Hr();s(t,r)};b(ue,t=>{e(j)?t(we):t(Ce,!1)})}a(D),a(E),a(O),a(ne);var Me=l(ne,2),ze=o(Me);ve(ze,1,()=>X,xe,(t,r)=>{var g=Ar(),_=o(g),C=o(_);{var x=H=>{var L=F(),p=P(L);ve(p,1,()=>(e(r),i(()=>e(r).icon)),xe,(N,le)=>{var c=Lr();U(()=>w(c,"d",e(le))),s(N,c)}),s(H,L)},z=H=>{var L=$r();U(()=>w(L,"d",(e(r),i(()=>e(r).icon)))),s(H,L)};b(C,H=>{e(r),i(()=>Array.isArray(e(r).icon))?H(x):H(z,!1)})}a(_);var ee=l(_);a(g),U(()=>{w(g,"href",(e(r),i(()=>e(r).href))),K(g,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 + ${e(k),e(r),i(()=>e(k)===e(r).href?"bg-gray-100 text-gray-900 dark:bg-gray-700 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),pe(ee,` ${e(r),i(()=>e(r).label)??""}`)}),s(t,g)});var q=l(ze,2);ve(q,5,()=>M,xe,(t,r)=>{var g=Br(),_=o(g),C=o(_);a(_);var x=l(_);a(g),U(()=>{w(g,"href",(e(r),i(()=>e(r).href))),K(g,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 + ${e(k),e(r),i(()=>e(k)===e(r).href?"bg-gray-100 text-gray-900 dark:bg-gray-700 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),w(C,"d",(e(r),i(()=>e(r).icon))),pe(x,` ${e(r),i(()=>e(r).label)??""}`)}),s(t,g)}),a(q);var fe=l(q,2),Xe=o(fe);a(fe),a(Me),a(ce),a(Q);var He=l(Q,2),Le=o(He),Ne=o(Le),$e=l(Ne,2),Ae=o($e),Be=l(Ae,2),Ue=l(Be,4),Ye=o(Ue);{var Ze=t=>{var r=Vr();s(t,r)},er=t=>{var r=F(),g=P(r);{var _=x=>{var z=Rr();s(x,z)},C=x=>{var z=F(),ee=P(z);{var H=p=>{var N=Ir();s(p,N)},L=p=>{var N=Pr();s(p,N)};b(ee,p=>{e(u),i(()=>e(u).error)?p(H):p(L,!1)},!0)}s(x,z)};b(g,x=>{e(u),i(()=>e(u).connecting)?x(_):x(C,!1)},!0)}s(t,r)};b(Ye,t=>{e(u),i(()=>e(u).connected)?t(Ze):t(er,!1)})}a(Ue),a($e);var Ve=l($e,2),rr=o(Ve);{var ar=t=>{var r=Tr();s(t,r)},tr=t=>{var r=Gr();s(t,r)};b(rr,t=>{e(j)?t(ar):t(tr,!1)})}a(Ve),a(Le);var or=l(Le,2);{var sr=t=>{var r=Ur(),g=o(r),_=l(g,2),C=o(_),x=o(C);a(C);var z=l(C,2),ee=o(z),H=o(ee);ve(H,1,()=>X,xe,(le,c)=>{var $=Dr(),de=o($),Re=o(de);{var Ie=me=>{var ke=F(),vr=P(ke);ve(vr,1,()=>(e(c),i(()=>e(c).icon)),xe,(cr,gr)=>{var Qe=Or();U(()=>w(Qe,"d",e(gr))),s(cr,Qe)}),s(me,ke)},lr=me=>{var ke=Er();U(()=>w(ke,"d",(e(c),i(()=>e(c).icon)))),s(me,ke)};b(Re,me=>{e(c),i(()=>Array.isArray(e(c).icon))?me(Ie):me(lr,!1)})}a(de);var dr=l(de);a($),U(()=>{w($,"href",(e(c),i(()=>e(c).href))),K($,1,`group flex items-center px-2 py-2 text-base font-medium rounded-md transition-colors duration-200 + ${e(k),e(c),i(()=>e(k)===e(c).href?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),pe(dr,` ${e(c),i(()=>e(c).label)??""}`)}),R("click",$,()=>f(y,!1)),s(le,$)});var L=l(H,2);ve(L,5,()=>M,xe,(le,c)=>{var $=Nr(),de=o($),Re=o(de);a(de);var Ie=l(de);a($),U(()=>{w($,"href",(e(c),i(()=>e(c).href))),K($,1,`group flex items-center px-2 py-2 text-base font-medium rounded-md transition-colors duration-200 + ${e(k),e(c),i(()=>e(k)===e(c).href?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),w(Re,"d",(e(c),i(()=>e(c).icon))),pe(Ie,` ${e(c),i(()=>e(c).label)??""}`)}),R("click",$,()=>f(y,!1)),s(le,$)}),a(L);var p=l(L,2),N=o(p);a(p),a(ee),a(z),a(_),a(r),R("click",g,()=>f(y,!1)),R("keydown",g,le=>{le.key==="Escape"&&f(y,!1)}),R("click",x,()=>f(y,!1)),R("click",N,ie),s(t,r)};b(or,t=>{e(y)&&t(sr)})}a(He);var ir=l(He,2);{var nr=t=>{var r=Qr();R("click",r,()=>f(m,!1)),R("keydown",r,g=>{g.key==="Escape"&&f(m,!1)}),s(t,r)};b(ir,t=>{e(m)&&t(nr)})}U((t,r,g,_,C)=>{w(B,"href",t),w(Y,"src",r),w(G,"src",g),w(D,"title",e(j)?"Switch to Light Mode":"Switch to Dark Mode"),w(Ae,"src",_),K(Ae,1,`${e(j)?"hidden":"block"} h-8 w-8`),w(Be,"src",C),K(Be,1,`${e(j)?"block":"hidden"} h-8 w-8`)},[()=>(ye(n),i(()=>n("/"))),()=>(ye(n),i(()=>n("/assets/garm-light.svg"))),()=>(ye(n),i(()=>n("/assets/garm-dark.svg"))),()=>(ye(n),i(()=>n("/assets/garm-light.svg"))),()=>(ye(n),i(()=>n("/assets/garm-dark.svg")))]),R("click",D,J),R("click",Xe,ie),R("click",Ne,()=>f(y,!e(y))),R("click",Ve,J),s(ae,S),Ee(),be()}var Jr=h("
"),Kr=h('

'),Wr=h('
');function Xr(ae,te){Ge(te,!1);const[oe,be]=De(),d=()=>_e(Je,"$toastStore",oe),se=T();function W(m){switch(m){case"success":return` + + `;case"error":return` + + `;case"warning":return` + + `;case"info":default:return` + + `}}function u(m){switch(m){case"success":return"bg-green-50 dark:bg-green-900 border-green-200 dark:border-green-700";case"error":return"bg-red-50 dark:bg-red-900 border-red-200 dark:border-red-700";case"warning":return"bg-yellow-50 dark:bg-yellow-900 border-yellow-200 dark:border-yellow-700";case"info":default:return"bg-blue-50 dark:bg-blue-900 border-blue-200 dark:border-blue-700"}}function j(m){switch(m){case"success":return"text-green-800 dark:text-green-200";case"error":return"text-red-800 dark:text-red-200";case"warning":return"text-yellow-800 dark:text-yellow-200";case"info":default:return"text-blue-800 dark:text-blue-200"}}function k(m){switch(m){case"success":return"text-green-700 dark:text-green-300";case"error":return"text-red-700 dark:text-red-300";case"warning":return"text-yellow-700 dark:text-yellow-300";case"info":default:return"text-blue-700 dark:text-blue-300"}}I(()=>d(),()=>{f(se,d())}),Oe(),Te();var y=Wr();ve(y,5,()=>e(se),m=>m.id,(m,v)=>{var J=Kr(),ie=o(J),X=o(ie),M=o(X);mr(M,()=>(e(v),i(()=>W(e(v).type)))),a(X);var S=l(X,2),Q=o(S),ce=o(Q,!0);a(Q);var ne=l(Q,2);{var A=G=>{var O=Jr(),E=o(O,!0);a(O),U(V=>{K(O,1,`mt-1 text-sm ${V??""}`),pe(E,(e(v),i(()=>e(v).message)))},[()=>(e(v),i(()=>k(e(v).type)))]),s(G,O)};b(ne,G=>{e(v),i(()=>e(v).message)&&G(A)})}a(S);var B=l(S,2),Y=o(B);{let G=ur(()=>(e(v),i(()=>e(v).type==="success"?"text-green-400 hover:text-green-500 focus:ring-green-500":e(v).type==="error"?"text-red-400 hover:text-red-500 focus:ring-red-500":e(v).type==="warning"?"text-yellow-400 hover:text-yellow-500 focus:ring-yellow-500":"text-blue-400 hover:text-blue-500 focus:ring-blue-500")));xr(Y,{variant:"ghost",size:"sm","aria-label":"Dismiss notification",icon:"",get class(){return e(G)},$$events:{click:()=>Je.remove(e(v).id)}})}a(B),a(ie),a(J),U((G,O)=>{K(J,1,`relative rounded-lg border p-4 shadow-lg transition-all duration-300 ease-in-out ${G??""}`),K(Q,1,`text-sm font-medium ${O??""}`),pe(ce,(e(v),i(()=>e(v).title)))},[()=>(e(v),i(()=>u(e(v).type))),()=>(e(v),i(()=>j(e(v).type)))]),s(m,J)}),a(y),s(ae,y),Ee(),be()}var Yr=h('

Loading...

'),Zr=h('
'),ea=h('

'),ra=h(" ",1);function ma(ae,te){Ge(te,!1);const[oe,be]=De(),d=()=>_e(pr,"$authStore",oe),se=T(),W=T(),u=T(),j=T(),k=T(),y=T();Ke(()=>{We.init(),Se.init()}),I(()=>(d(),Pe),()=>{if(!d().loading){const M=je.url.pathname===n("/login"),S=je.url.pathname===n("/init");!M&&!S&&!d().isAuthenticated&&(d().needsInitialization?Pe(n("/init"),{replaceState:!0}):Pe(n("/login"),{replaceState:!0}))}}),I(()=>n,()=>{f(se,je.url.pathname===n("/login"))}),I(()=>n,()=>{f(W,je.url.pathname===n("/init"))}),I(()=>d(),()=>{f(u,d().needsInitialization&&!d().isAuthenticated&&!d().loading)}),I(()=>d(),()=>{f(j,!d().needsInitialization&&!d().isAuthenticated&&!d().loading)}),I(()=>d(),()=>{f(k,d().isAuthenticated&&!d().loading)}),I(()=>(e(u),e(j),e(k)),()=>{f(y,!e(u)&&!e(j)&&!e(k))}),Oe(),Te();var m=ra();hr(M=>{fr.title="GARM - GitHub Actions Runner Manager"});var v=P(m);{var J=M=>{var S=Yr();s(M,S)},ie=M=>{var S=F(),Q=P(S);{var ce=A=>{var B=F(),Y=P(B);Fe(Y,te,"default",{}),s(A,B)},ne=A=>{var B=F(),Y=P(B);{var G=E=>{var V=Zr(),ge=o(V);Fr(ge,{});var he=l(ge,2),Z=o(he),D=o(Z),ue=o(D);Fe(ue,te,"default",{}),a(D),a(Z),a(he),a(V),s(E,V)},O=E=>{var V=F(),ge=P(V);{var he=Z=>{var D=ea(),ue=o(D),we=l(o(ue),2),Ce=o(we);{var Me=q=>{var fe=qe("Redirecting to initialization...");s(q,fe)},ze=q=>{var fe=qe("Redirecting to login...");s(q,fe)};b(Ce,q=>{d(),i(()=>d().needsInitialization)?q(Me):q(ze,!1)})}a(we),a(ue),a(D),s(Z,D)};b(ge,Z=>{e(y)&&Z(he)},!0)}s(E,V)};b(Y,E=>{e(k)?E(G):E(O,!1)},!0)}s(A,B)};b(Q,A=>{e(j)||e(u)?A(ce):A(ne,!1)},!0)}s(M,S)};b(v,M=>{d(),i(()=>d().loading)?M(J):M(ie,!1)})}var X=l(v,2);Xr(X,{}),s(ae,m),Ee(),be()}export{ma as component,fa as universal}; diff --git a/webapp/assets/_app/immutable/nodes/0.CgRFEyfI.js b/webapp/assets/_app/immutable/nodes/0.CgRFEyfI.js deleted file mode 100644 index aa345944..00000000 --- a/webapp/assets/_app/immutable/nodes/0.CgRFEyfI.js +++ /dev/null @@ -1,13 +0,0 @@ -import{c as Je,a as d,s as Se,b as i,d as X,e as O,l as Ke,f as p,g as de,h as jr,t as or}from"../chunks/CxOx-TIJ.js";import{i as We}from"../chunks/3NxSoY2_.js";import{p as Xe,o as dr,i as L,l as N,j as b,m as U,b as Ye,f as D,c as o,s as g,r as a,d as c,g as e,u as n,t as K,h as He,a as Ze,F as l,e as Cr,$ as $r}from"../chunks/DzFKsO_V.js";import{a as Ae,i as w,s as er,v as Be}from"../chunks/B_jyf0qs.js";import{c as v,d as j,s as ae,h as Hr,B as Lr,f as sr}from"../chunks/BguOOs3x.js";import{p as Te}from"../chunks/CH-vk5qo.js";import{g as Fe}from"../chunks/BzzAh3Be.js";import{b as vr,a as ir}from"../chunks/K_YdKkKc.js";import{t as Le}from"../chunks/B7m7LjX-.js";import{e as be,i as Me}from"../chunks/CdXRaxkX.js";import{p as nr}from"../chunks/DgabA6iF.js";import{w as lr}from"../chunks/DSHGoHxX.js";import{v as Ar}from"../chunks/DcWIrrGq.js";import{t as Qe}from"../chunks/li_-Mkq2.js";const Br=async({url:ve})=>({url:ve.pathname}),Vr=!1,Ir=!1,za=Object.freeze(Object.defineProperty({__proto__:null,load:Br,prerender:Vr,ssr:Ir},Symbol.toStringTag,{value:"Module"}));s[l]="src/lib/components/Navigation.svelte";var Rr=d(p('
Live Updates
'),s[l],[[133,7,[[134,8],[135,8]]]]),Tr=d(p('
Connecting
'),s[l],[[138,7,[[139,8],[140,8]]]]),Pr=d(p('
Updates Unavailable
'),s[l],[[143,7,[[144,8],[145,8]]]]),Er=d(p('
Manual Refresh
'),s[l],[[148,7,[[149,8],[150,8]]]]),Gr=d(de(''),s[l],[[162,7,[[163,8]]]]),Or=d(de(''),s[l],[[166,7,[[167,8]]]]),Nr=d(de(''),s[l],[[189,8]]),Dr=d(de(''),s[l],[[192,7]]),Ur=d(p(' '),s[l],[[179,4,[[186,5]]]]),qr=d(p(' '),s[l],[[202,5,[[209,6,[[210,7]]]]]]),Fr=d(p('
'),s[l],[[266,5,[[267,6]]]]),Qr=d(p('
'),s[l],[[270,5,[[271,6]]]]),Jr=d(p('
'),s[l],[[274,5,[[275,6]]]]),Kr=d(p('
'),s[l],[[278,5,[[279,6]]]]),Wr=d(de(''),s[l],[[292,4,[[293,5]]]]),Xr=d(de(''),s[l],[[296,4,[[297,5]]]]),Yr=d(de(''),s[l],[[335,11]]),Zr=d(de(''),s[l],[[338,10]]),ea=d(p(' '),s[l],[[324,7,[[332,8]]]]),ra=d(p(' '),s[l],[[348,8,[[356,9,[[357,10]]]]]]),aa=d(p('
'),s[l],[[305,2,[[306,3],[307,3,[[308,4,[[309,5,[[314,6,[[315,7]]]]]]],[320,4,[[321,5,[[346,6],[365,6,[[366,7,[[370,8,[[371,9]]]]]]]]]]]]]]]]),ta=d(p('
'),s[l],[[386,1]]),oa=d(p('
GARM GARM

GARM

',1),s[l],[[107,0,[[108,1,[[110,2,[[112,3,[[113,4,[[114,5],[119,5]]]]],[128,3,[[129,4,[[131,5],[156,5]]]]]]],[176,2,[[200,3],[219,3,[[220,4,[[224,5,[[225,6]]]]]]]]]]]]],[236,0,[[237,1,[[239,2,[[244,3,[[245,4]]]]],[250,2,[[251,3],[256,3],[261,3],[264,3]]],[286,2]]]]]]);function s(ve,ce){Je(new.target),Xe(ce,!1,s);const[ge,ze]=er(),h=()=>(Be(lr,"websocketStore"),Ae(lr,"$websocketStore",ge)),oe=()=>(Be(Le,"themeStore"),Ae(Le,"$themeStore",ge)),se=()=>(Be(nr,"page"),Ae(nr,"$page",ge)),x=U(),A=U(),M=U();let S=U(!1),Y=U(!1);dr(()=>{window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",y)});function y(t){(!localStorage.getItem("theme")||L(localStorage.getItem("theme"),"system"))&&Le.set(t.matches)}function u(){Le.toggle()}function Z(){vr.logout(),b(Y,!1)}const he=[{href:v("/"),label:"Dashboard",icon:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"},{href:v("/repositories"),label:"Repositories",icon:"M7 16V4m0 0a2 2 0 100-4 2 2 0 000 4zm0 0a2 2 0 100 4 2 2 0 000-4zm10 12a2 2 0 100-4 2 2 0 000 4zm0 0V9a5 5 0 00-5-5"},{href:v("/organizations"),label:"Organizations",icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"},{href:v("/enterprises"),label:"Enterprises",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{href:v("/pools"),label:"Pools",icon:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},{href:v("/scalesets"),label:"Scale Sets",icon:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"},{href:v("/instances"),label:"Runners",icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"}],ie=[{href:v("/credentials"),label:"Credentials",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1721 9z"},{href:v("/endpoints"),label:"Endpoints",icon:"M13 10V3L4 14h7v7l9-11h-7z"},{href:v("/templates"),label:"Runner Install Templates",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{href:v("/objects"),label:"Object Storage",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"}];N(()=>h(),()=>{b(x,h())}),N(()=>oe(),()=>{b(A,oe())}),N(()=>se(),()=>{se().url.pathname&&b(S,!1)}),N(()=>se(),()=>{b(M,se().url.pathname)}),Ye(),We();var C=oa(),$=D(C),ee=o($),ue=o(ee),fe=o(ue),P=o(fe),q=o(P),me=g(q,2);a(P),a(fe);var E=g(fe,2),F=o(E),G=o(F),W=o(G);{var ke=t=>{var r=Rr();i(t,r)},ye=t=>{var r=X(),m=D(r);{var z=k=>{var H=Tr();i(k,H)},B=k=>{var H=X(),le=D(H);{var V=_=>{var J=Pr();i(_,J)},I=_=>{var J=Er();i(_,J)};c(()=>w(le,_=>{e(x),n(()=>e(x).error)?_(V):_(I,!1)},!0),"if",s,142,6)}i(k,H)};c(()=>w(m,k=>{e(x),n(()=>e(x).connecting)?k(z):k(B,!1)},!0),"if",s,137,6)}i(t,r)};c(()=>w(W,t=>{e(x),n(()=>e(x).connected)?t(ke):t(ye,!1)}),"if",s,132,6)}a(G);var Q=g(G,2),ne=o(Q);{var _e=t=>{var r=Gr();i(t,r)},Ve=t=>{var r=Or();i(t,r)};c(()=>w(ne,t=>{e(A)?t(_e):t(Ve,!1)}),"if",s,161,6)}a(Q),a(F),a(E),a(ue);var Ie=g(ue,2),Re=o(Ie);c(()=>be(Re,1,()=>he,Me,(t,r)=>{var m=Ur(),z=o(m),B=o(z);{var k=V=>{var I=X(),_=D(I);c(()=>be(_,1,()=>(e(r),n(()=>e(r).icon)),Me,(J,pe)=>{var f=Nr();K(()=>j(f,"d",e(pe))),i(J,f)}),"each",s,188,7),i(V,I)},H=V=>{var I=Dr();K(()=>j(I,"d",(e(r),n(()=>e(r).icon)))),i(V,I)};c(()=>w(B,V=>{e(r),n(()=>Array.isArray(e(r).icon))?V(k):V(H,!1)}),"if",s,187,6)}a(z);var le=g(z);a(m),K(()=>{j(m,"href",(e(r),n(()=>e(r).href))),ae(m,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 - ${e(M),e(r),n(()=>L(e(M),e(r).href)?"bg-gray-100 text-gray-900 dark:bg-gray-700 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),Se(le,` ${e(r),n(()=>e(r).label)??""}`)}),i(t,m)}),"each",s,178,3);var je=g(Re,2);c(()=>be(je,5,()=>ie,Me,(t,r)=>{var m=qr(),z=o(m),B=o(z);a(z);var k=g(z);a(m),K(()=>{j(m,"href",(e(r),n(()=>e(r).href))),ae(m,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 - ${e(M),e(r),n(()=>L(e(M),e(r).href)?"bg-gray-100 text-gray-900 dark:bg-gray-700 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),j(B,"d",(e(r),n(()=>e(r).icon))),Se(k,` ${e(r),n(()=>e(r).label)??""}`)}),i(t,m)}),"each",s,201,4),a(je);var re=g(je,2),Ce=o(re);a(re),a(Ie),a(ee),a($);var Pe=g($,2),Ee=o(Pe),rr=o(Ee),Ge=g(rr,2),Oe=o(Ge),Ne=g(Oe,2),ar=g(Ne,4),cr=o(ar);{var gr=t=>{var r=Fr();i(t,r)},hr=t=>{var r=X(),m=D(r);{var z=k=>{var H=Qr();i(k,H)},B=k=>{var H=X(),le=D(H);{var V=_=>{var J=Jr();i(_,J)},I=_=>{var J=Kr();i(_,J)};c(()=>w(le,_=>{e(x),n(()=>e(x).error)?_(V):_(I,!1)},!0),"if",s,273,4)}i(k,H)};c(()=>w(m,k=>{e(x),n(()=>e(x).connecting)?k(z):k(B,!1)},!0),"if",s,269,4)}i(t,r)};c(()=>w(cr,t=>{e(x),n(()=>e(x).connected)?t(gr):t(hr,!1)}),"if",s,265,4)}a(ar),a(Ge);var De=g(Ge,2),ur=o(De);{var fr=t=>{var r=Wr();i(t,r)},mr=t=>{var r=Xr();i(t,r)};c(()=>w(ur,t=>{e(A)?t(fr):t(mr,!1)}),"if",s,291,3)}a(De),a(Ee);var pr=g(Ee,2);{var xr=t=>{var r=aa(),m=o(r),z=g(m,2),B=o(z),k=o(B);a(B);var H=g(B,2),le=o(H),V=o(le);c(()=>be(V,1,()=>he,Me,(pe,f)=>{var R=ea(),xe=o(R),Ue=o(xe);{var qe=we=>{var $e=X(),Mr=D($e);c(()=>be(Mr,1,()=>(e(f),n(()=>e(f).icon)),Me,(Sr,zr)=>{var tr=Yr();K(()=>j(tr,"d",e(zr))),i(Sr,tr)}),"each",s,334,10),i(we,$e)},_r=we=>{var $e=Zr();K(()=>j($e,"d",(e(f),n(()=>e(f).icon)))),i(we,$e)};c(()=>w(Ue,we=>{e(f),n(()=>Array.isArray(e(f).icon))?we(qe):we(_r,!1)}),"if",s,333,9)}a(xe);var wr=g(xe);a(R),K(()=>{j(R,"href",(e(f),n(()=>e(f).href))),ae(R,1,`group flex items-center px-2 py-2 text-base font-medium rounded-md transition-colors duration-200 - ${e(M),e(f),n(()=>L(e(M),e(f).href)?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),Se(wr,` ${e(f),n(()=>e(f).label)??""}`)}),O("click",R,()=>b(S,!1)),i(pe,R)}),"each",s,323,6);var I=g(V,2);c(()=>be(I,5,()=>ie,Me,(pe,f)=>{var R=ra(),xe=o(R),Ue=o(xe);a(xe);var qe=g(xe);a(R),K(()=>{j(R,"href",(e(f),n(()=>e(f).href))),ae(R,1,`group flex items-center px-2 py-2 text-base font-medium rounded-md transition-colors duration-200 - ${e(M),e(f),n(()=>L(e(M),e(f).href)?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),j(Ue,"d",(e(f),n(()=>e(f).icon))),Se(qe,` ${e(f),n(()=>e(f).label)??""}`)}),O("click",R,()=>b(S,!1)),i(pe,R)}),"each",s,347,7),a(I);var _=g(I,2),J=o(_);a(_),a(le),a(H),a(z),a(r),O("click",m,()=>b(S,!1)),O("keydown",m,pe=>{L(pe.key,"Escape")&&b(S,!1)}),O("click",k,()=>b(S,!1)),O("click",J,Z),i(t,r)};c(()=>w(pr,t=>{e(S)&&t(xr)}),"if",s,304,1)}a(Pe);var br=g(Pe,2);{var kr=t=>{var r=ta();O("click",r,()=>b(Y,!1)),O("keydown",r,m=>{L(m.key,"Escape")&&b(Y,!1)}),i(t,r)};c(()=>w(br,t=>{e(Y)&&t(kr)}),"if",s,385,0)}K((t,r,m,z,B)=>{j(P,"href",t),j(q,"src",r),j(me,"src",m),j(Q,"title",e(A)?"Switch to Light Mode":"Switch to Dark Mode"),j(Oe,"src",z),ae(Oe,1,`${e(A)?"hidden":"block"} h-8 w-8`),j(Ne,"src",B),ae(Ne,1,`${e(A)?"block":"hidden"} h-8 w-8`)},[()=>(He(v),n(()=>v("/"))),()=>(He(v),n(()=>v("/assets/garm-light.svg"))),()=>(He(v),n(()=>v("/assets/garm-dark.svg"))),()=>(He(v),n(()=>v("/assets/garm-light.svg"))),()=>(He(v),n(()=>v("/assets/garm-dark.svg")))]),O("click",Q,u),O("click",Ce,Z),O("click",rr,()=>b(S,!e(S))),O("click",De,u),i(ve,C);var yr=Ze({...Ke()});return ze(),yr}te[l]="src/lib/components/Toast.svelte";var sa=d(p("
"),te[l],[[88,6]]),ia=d(p('

'),te[l],[[76,2,[[79,3,[[80,4],[83,4,[[84,5]]],[93,4]]]]]]),na=d(p('
'),te[l],[[74,0]]);function te(ve,ce){Je(new.target),Xe(ce,!1,te);const[ge,ze]=er(),h=()=>(Be(Qe,"toastStore"),Ae(Qe,"$toastStore",ge)),oe=U();function se(y){switch(y){case"success":return` - - `;case"error":return` - - `;case"warning":return` - - `;case"info":default:return` - - `}}function x(y){switch(y){case"success":return"bg-green-50 dark:bg-green-900 border-green-200 dark:border-green-700";case"error":return"bg-red-50 dark:bg-red-900 border-red-200 dark:border-red-700";case"warning":return"bg-yellow-50 dark:bg-yellow-900 border-yellow-200 dark:border-yellow-700";case"info":default:return"bg-blue-50 dark:bg-blue-900 border-blue-200 dark:border-blue-700"}}function A(y){switch(y){case"success":return"text-green-800 dark:text-green-200";case"error":return"text-red-800 dark:text-red-200";case"warning":return"text-yellow-800 dark:text-yellow-200";case"info":default:return"text-blue-800 dark:text-blue-200"}}function M(y){switch(y){case"success":return"text-green-700 dark:text-green-300";case"error":return"text-red-700 dark:text-red-300";case"warning":return"text-yellow-700 dark:text-yellow-300";case"info":default:return"text-blue-700 dark:text-blue-300"}}N(()=>h(),()=>{b(oe,h())}),Ye(),We();var S=na();Ar(()=>e(oe),y=>y.id),c(()=>be(S,5,()=>e(oe),y=>y.id,(y,u)=>{var Z=ia(),he=o(Z),ie=o(he),C=o(ie);Hr(C,()=>(e(u),n(()=>se(e(u).type)))),a(ie);var $=g(ie,2),ee=o($),ue=o(ee,!0);a(ee);var fe=g(ee,2);{var P=E=>{var F=sa(),G=o(F,!0);a(F),K(W=>{ae(F,1,`mt-1 text-sm ${W??""}`),Se(G,(e(u),n(()=>e(u).message)))},[()=>(e(u),n(()=>M(e(u).type)))]),i(E,F)};c(()=>w(fe,E=>{e(u),n(()=>e(u).message)&&E(P)}),"if",te,87,5)}a($);var q=g($,2),me=o(q);{let E=Cr(()=>(e(u),n(()=>L(e(u).type,"success")?"text-green-400 hover:text-green-500 focus:ring-green-500":L(e(u).type,"error")?"text-red-400 hover:text-red-500 focus:ring-red-500":L(e(u).type,"warning")?"text-yellow-400 hover:text-yellow-500 focus:ring-yellow-500":"text-blue-400 hover:text-blue-500 focus:ring-blue-500")));c(()=>Lr(me,{variant:"ghost",size:"sm","aria-label":"Dismiss notification",icon:"",get class(){return e(E)},$$events:{click:()=>Qe.remove(e(u).id)}}),"component",te,94,5,{componentTag:"Button"})}a(q),a(he),a(Z),K((E,F)=>{ae(Z,1,`relative rounded-lg border p-4 shadow-lg transition-all duration-300 ease-in-out ${E??""}`),ae(ee,1,`text-sm font-medium ${F??""}`),Se(ue,(e(u),n(()=>e(u).title)))},[()=>(e(u),n(()=>x(e(u).type))),()=>(e(u),n(()=>A(e(u).type)))]),i(y,Z)}),"each",te,75,1),a(S),i(ve,S);var Y=Ze({...Ke()});return ze(),Y}T[l]="src/routes/+layout.svelte";var la=d(p('

Loading...

'),T[l],[[46,1,[[47,2,[[48,3],[49,3]]]]]]),da=d(p('
'),T[l],[[57,1,[[60,2,[[61,3,[[62,4]]]]]]]]),va=d(p('

'),T[l],[[70,1,[[71,2,[[72,3],[73,3]]]]]]),ca=d(p(" ",1),T[l],[]);function T(ve,ce){Je(new.target),Xe(ce,!1,T);const[ge,ze]=er(),h=()=>(Be(ir,"authStore"),Ae(ir,"$authStore",ge)),oe=U(),se=U(),x=U(),A=U(),M=U(),S=U();dr(()=>{vr.init(),Le.init()}),N(()=>(h(),Fe),()=>{if(!h().loading){const C=L(Te.url.pathname,v("/login")),$=L(Te.url.pathname,v("/init"));!C&&!$&&!h().isAuthenticated&&(h().needsInitialization?Fe(v("/init"),{replaceState:!0}):Fe(v("/login"),{replaceState:!0}))}}),N(()=>v,()=>{b(oe,L(Te.url.pathname,v("/login")))}),N(()=>v,()=>{b(se,L(Te.url.pathname,v("/init")))}),N(()=>h(),()=>{b(x,h().needsInitialization&&!h().isAuthenticated&&!h().loading)}),N(()=>h(),()=>{b(A,!h().needsInitialization&&!h().isAuthenticated&&!h().loading)}),N(()=>h(),()=>{b(M,h().isAuthenticated&&!h().loading)}),N(()=>(e(x),e(A),e(M)),()=>{b(S,!e(x)&&!e(A)&&!e(M))}),Ye(),We();var Y=ca();jr(C=>{$r.title="GARM - GitHub Actions Runner Manager"});var y=D(Y);{var u=C=>{var $=la();i(C,$)},Z=C=>{var $=X(),ee=D($);{var ue=P=>{var q=X(),me=D(q);sr(me,ce,"default",{}),i(P,q)},fe=P=>{var q=X(),me=D(q);{var E=G=>{var W=da(),ke=o(W);c(()=>s(ke,{}),"component",T,58,2,{componentTag:"Navigation"});var ye=g(ke,2),Q=o(ye),ne=o(Q),_e=o(ne);sr(_e,ce,"default",{}),a(ne),a(Q),a(ye),a(W),i(G,W)},F=G=>{var W=X(),ke=D(W);{var ye=Q=>{var ne=va(),_e=o(ne),Ve=g(o(_e),2),Ie=o(Ve);{var Re=re=>{var Ce=or("Redirecting to initialization...");i(re,Ce)},je=re=>{var Ce=or("Redirecting to login...");i(re,Ce)};c(()=>w(Ie,re=>{h(),n(()=>h().needsInitialization)?re(Re):re(je,!1)}),"if",T,74,4)}a(Ve),a(_e),a(ne),i(Q,ne)};c(()=>w(ke,Q=>{e(S)&&Q(ye)},!0),"if",T,68,0)}i(G,W)};c(()=>w(me,G=>{e(M)?G(E):G(F,!1)},!0),"if",T,55,0)}i(P,q)};c(()=>w(ee,P=>{e(A)||e(x)?P(ue):P(fe,!1)},!0),"if",T,52,0)}i(C,$)};c(()=>w(y,C=>{h(),n(()=>h().loading)?C(u):C(Z,!1)}),"if",T,45,0)}var he=g(y,2);c(()=>te(he,{}),"component",T,85,0,{componentTag:"Toast"}),i(ve,Y);var ie=Ze({...Ke()});return ze(),ie}export{T as component,za as universal}; diff --git a/webapp/assets/_app/immutable/nodes/1.B_98Cn_-.js b/webapp/assets/_app/immutable/nodes/1.B_98Cn_-.js new file mode 100644 index 00000000..a15ec420 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/1.B_98Cn_-.js @@ -0,0 +1 @@ +import{f as h,a as c,s}from"../chunks/o8CdT7B0.js";import{i as l}from"../chunks/ChJfoPF0.js";import{p as v,f as u,t as _,a as g,c as e,r as o,s as x}from"../chunks/DUMcBckj.js";import{p}from"../chunks/CPri_0tM.js";var d=h("

",1);function q(m,f){v(f,!1),l();var a=d(),r=u(a),i=e(r,!0);o(r);var t=x(r,2),n=e(t,!0);o(t),_(()=>{s(i,p.status),s(n,p.error?.message)}),c(m,a),g()}export{q as component}; diff --git a/webapp/assets/_app/immutable/nodes/1.D-XY8IoK.js b/webapp/assets/_app/immutable/nodes/1.D-XY8IoK.js deleted file mode 100644 index 7f1fb2c4..00000000 --- a/webapp/assets/_app/immutable/nodes/1.D-XY8IoK.js +++ /dev/null @@ -1 +0,0 @@ -import{c as v,a as _,b as h,l as u,f as d,s}from"../chunks/CxOx-TIJ.js";import{i as g}from"../chunks/3NxSoY2_.js";import{p as x,f as E,t as b,a as k,F as m,c as o,r as p,s as F}from"../chunks/DzFKsO_V.js";import{p as i}from"../chunks/CH-vk5qo.js";a[m]="node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte";var j=_(d("

",1),a[m],[[5,0],[6,0]]);function a(n,c){v(new.target),x(c,!1,a),g();var e=j(),t=E(e),f=o(t,!0);p(t);var r=F(t,2),l=o(r,!0);return p(r),b(()=>{s(f,i.status),s(l,i.error?.message)}),h(n,e),k({...u()})}export{a as component}; diff --git a/webapp/assets/_app/immutable/nodes/10.B3EO0F_m.js b/webapp/assets/_app/immutable/nodes/10.B3EO0F_m.js deleted file mode 100644 index 838beee9..00000000 --- a/webapp/assets/_app/immutable/nodes/10.B3EO0F_m.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Ye,a as _,h as Ze,b as c,l as ta,s as g,f as p,d as Gt,e as Wt,t as Jt}from"../chunks/CxOx-TIJ.js";import{i as ea}from"../chunks/3NxSoY2_.js";import{p as aa,o as sa,x as ra,l as Kt,b as da,f as W,d as x,t as w,a as ia,g as t,m as T,s as r,u as d,h as S,F as f,c as s,j as y,i as E,$ as la,r as a,n as Qt,e as Xt,y as na}from"../chunks/DzFKsO_V.js";import{s as oa,a as va,i as b,v as ca}from"../chunks/B_jyf0qs.js";import{e as Yt,i as Zt}from"../chunks/CdXRaxkX.js";import{c as C,d as J,g as te,s as pt}from"../chunks/BguOOs3x.js";import{b as xa}from"../chunks/Dtavz0EF.js";import{p as ee}from"../chunks/DgabA6iF.js";import{g as ae}from"../chunks/BzzAh3Be.js";import{D as ma}from"../chunks/DL1RlOO9.js";import{S as ua}from"../chunks/DcHRb6xX.js";import{w as fa}from"../chunks/DSHGoHxX.js";import{g as K,f as Q}from"../chunks/ow_oMtSd.js";import{s as se,b as z,d as re}from"../chunks/JkzpcrZD.js";import{e as ga}from"../chunks/BZiHL9L3.js";import{B as de}from"../chunks/1CdJgrM6.js";i[f]="src/routes/instances/[id]/+page.svelte";var _a=_(p('

Error

'),i[f],[[168,2,[[169,3,[[170,4,[[171,5],[172,5]]]]]]]]),pa=_(p('

Loading instance details...

'),i[f],[[179,2,[[180,3,[[181,4],[182,4]]]]]]),ha=_(p(' '),i[f],[[237,8]]),ya=_(p(' '),i[f],[[241,8]]),ba=_(p('-'),i[f],[[245,8]]),ka=_(p('
Updated At:
'),i[f],[[258,5,[[259,6],[260,6]]]]),wa=_(p('
'),i[f],[[291,7,[[292,8]]]]),Ia=_(p('
Network Addresses:
'),i[f],[[287,5,[[288,6],[289,6]]]]),Sa=_(p('
Network Addresses:
No addresses available
'),i[f],[[299,5,[[300,6],[301,6]]]]),ja=_(p('
OS Type:
'),i[f],[[305,5,[[306,6],[307,6]]]]),Da=_(p('
OS Name:
'),i[f],[[311,5,[[312,6],[313,6]]]]),Ma=_(p('
OS Version:
'),i[f],[[317,5,[[318,6],[319,6]]]]),Ta=_(p('
OS Architecture:
'),i[f],[[323,5,[[324,6],[325,6]]]]),Ba=_(p('

'),i[f],[[338,4,[[339,5,[[340,6],[341,6,[[346,7]]]]]]]]),Aa=_(p('

Status Messages

'),i[f],[[334,2,[[335,3],[336,3]]]]),Ca=_(p('

Status Messages

No status messages available

'),i[f],[[361,2,[[362,3],[363,3,[[364,4,[[365,5]]],[367,4]]]]]]),Na=_(p('

Instance Information

ID:
Name:
Provider ID:
Provider:
Pool/Scale Set:
Agent ID:
Created At:

Status & Network

Instance Status:
Runner Status:
',1),i[f],[[187,2,[[189,3,[[190,4,[[191,5],[192,5,[[193,6,[[203,7,[[204,8]]],[206,7]]],[208,6]]]]],[216,4,[[217,5,[[218,6],[219,6]]],[221,5,[[222,6],[223,6]]],[225,5,[[226,6],[227,6]]],[229,5,[[230,6],[231,6]]],[233,5,[[234,6],[235,6]]],[249,5,[[250,6],[251,6]]],[253,5,[[254,6],[255,6]]]]]]],[267,3,[[268,4],[269,4,[[270,5,[[271,6],[272,6,[[273,7]]]]],[278,5,[[279,6],[280,6,[[281,7]]]]]]]]]]]]),Ea=_(p('
Instance not found.
'),i[f],[[372,2,[[373,3]]]]),$a=_(p('
'),i[f],[[382,1,[[383,2]]]]),za=_(p(' ',1),i[f],[[142,0,[[144,1,[[145,2,[[146,3,[[147,4,[[148,5,[[149,6]]]]]]],[154,3,[[155,4,[[156,5,[[157,6]]],[159,5]]]]]]]]]]]]);function i(ie,le){Ye(new.target),aa(le,!1,i);const[ne,oe]=oa(),ht=()=>(ca(ee,"page"),va(ee,"$page",ne)),X=T(),$=T();let e=T(null),Y=T(!0),L=T(""),V=T(!1),Z=T(!1),H=null,P=T(),tt=T(Date.now()),F=null;async function ve(){if(t(X))try{y(Y,!0),y(L,""),y(e,(await Qt(te.getInstance(t(X))))())}catch(o){y(L,o instanceof Error?o.message:"Failed to load instance")}finally{y(Y,!1)}}async function ce(){if(t(e)){try{(await Qt(te.deleteInstance(t(e).name)))(),ae(C("/instances"))}catch(o){y(L,ga(o))}y(V,!1)}}function xe(o){if(t(e)){if(E(o.operation,"update")&&E(o.payload.id,t(e).id)){const h=t(e).status_messages?.length||0,j={...t(e),...o.payload},B=j.status_messages?.length||0;y(e,j),B>h&&setTimeout(()=>{se(t(P))},100)}else if(E(o.operation,"delete")){const h=o.payload.id||o.payload;E(h,t(e).id)&&ae(C("/instances"))}}}sa(()=>{ve().then(()=>{t(e)?.status_messages?.length&&setTimeout(()=>{se(t(P))},100)}),H=fa.subscribeToEntity("instance",["update","delete"],xe),F=setInterval(()=>{y(tt,Date.now())},1e3)}),ra(()=>{H&&(H(),H=null),F&&(clearInterval(F),F=null)}),Kt(()=>ht(),()=>{y(X,decodeURIComponent(ht().params.id||""))}),Kt(()=>(t(e),t(tt)),()=>{y($,t(e)?.agent_id?(()=>{if(!t(e).capabilities?.has_shell||E(t(e).status,"stopped"))return!0;const o=t(e).heartbeat;if(!o)return!0;const h=new Date(o);return t(tt)-h.getTime()>6e4})():!0)}),da(),ea();var yt=za();Ze(o=>{w(()=>la.title=`${t(e),d(()=>t(e)?`${t(e).name} - Instance Details`:"Instance Details")??""} - GARM`)});var et=W(yt),at=s(et),bt=s(at),st=s(bt),me=s(st);a(st);var kt=r(st,2),wt=s(kt),It=r(s(wt),2),ue=s(It,!0);a(It),a(wt),a(kt),a(bt),a(at);var St=r(at,2);{var fe=o=>{var h=_a(),j=s(h),B=s(j),R=r(s(B),2),A=s(R,!0);a(R),a(B),a(j),a(h),w(()=>g(A,t(L))),c(o,h)};x(()=>b(St,o=>{t(L)&&o(fe)}),"if",i,167,1)}var ge=r(St,2);{var _e=o=>{var h=pa();c(o,h)},pe=o=>{var h=Gt(),j=W(h);{var B=A=>{var q=Na(),rt=W(q),dt=s(rt),it=s(dt),Dt=r(s(it),2),O=s(Dt),we=r(O,2);a(Dt),a(it);var Mt=r(it,2),lt=s(Mt),Tt=r(s(lt),2),Ie=s(Tt,!0);a(Tt),a(lt);var nt=r(lt,2),Bt=r(s(nt),2),Se=s(Bt,!0);a(Bt),a(nt);var ot=r(nt,2),At=r(s(ot),2),je=s(At,!0);a(At),a(ot);var vt=r(ot,2),Ct=r(s(vt),2),De=s(Ct,!0);a(Ct),a(vt);var ct=r(vt,2),Nt=r(s(ct),2),Me=s(Nt);{var Te=l=>{var n=ha(),v=s(n,!0);a(n),w(m=>{J(n,"href",m),g(v,(t(e),d(()=>t(e).pool_id)))},[()=>(S(C),t(e),d(()=>C(`/pools/${t(e).pool_id}`)))]),c(l,n)},Be=l=>{var n=Gt(),v=W(n);{var m=k=>{var I=ya(),N=s(I,!0);a(I),w(U=>{J(I,"href",U),g(N,(t(e),d(()=>t(e).scale_set_id)))},[()=>(S(C),t(e),d(()=>C(`/scalesets/${t(e).scale_set_id}`)))]),c(k,I)},u=k=>{var I=ba();c(k,I)};x(()=>b(v,k=>{t(e),d(()=>t(e).scale_set_id)?k(m):k(u,!1)},!0),"if",i,240,7)}c(l,n)};x(()=>b(Me,l=>{t(e),d(()=>t(e).pool_id)?l(Te):l(Be,!1)}),"if",i,236,7)}a(Nt),a(ct);var xt=r(ct,2),Et=r(s(xt),2),Ae=s(Et,!0);a(Et),a(xt);var mt=r(xt,2),$t=r(s(mt),2),Ce=s($t,!0);a($t),a(mt);var Ne=r(mt,2);{var Ee=l=>{var n=ka(),v=r(s(n),2),m=s(v,!0);a(v),a(n),w(u=>g(m,u),[()=>(S(z),t(e),d(()=>z(t(e).updated_at)))]),c(l,n)};x(()=>b(Ne,l=>{t(e),d(()=>t(e).updated_at&&E(t(e).updated_at,t(e).created_at,!1))&&l(Ee)}),"if",i,257,5)}a(Mt),a(dt);var zt=r(dt,2),Lt=r(s(zt),2),ut=s(Lt),Ot=r(s(ut),2),ft=s(Ot),$e=s(ft,!0);a(ft),a(Ot),a(ut);var gt=r(ut,2),Ut=r(s(gt),2),_t=s(Ut),ze=s(_t,!0);a(_t),a(Ut),a(gt);var Vt=r(gt,2);{var Le=l=>{var n=Ia(),v=r(s(n),2);x(()=>Yt(v,5,()=>(t(e),d(()=>t(e).addresses)),Zt,(m,u)=>{var k=wa(),I=s(k),N=s(I,!0);a(I);var U=r(I,2);{let G=Xt(()=>(t(u),d(()=>t(u).type||"Unknown")));x(()=>de(U,{variant:"info",get text(){return t(G)}}),"component",i,293,8,{componentTag:"Badge"})}a(k),w(()=>g(N,(t(u),d(()=>t(u).address)))),c(m,k)}),"each",i,290,7),a(v),a(n),c(l,n)},Oe=l=>{var n=Sa();c(l,n)};x(()=>b(Vt,l=>{t(e),d(()=>t(e).addresses&&t(e).addresses.length>0)?l(Le):l(Oe,!1)}),"if",i,286,5)}var Ht=r(Vt,2);{var Ue=l=>{var n=ja(),v=r(s(n),2),m=s(v,!0);a(v),a(n),w(()=>g(m,(t(e),d(()=>t(e).os_type)))),c(l,n)};x(()=>b(Ht,l=>{t(e),d(()=>t(e).os_type)&&l(Ue)}),"if",i,304,5)}var Pt=r(Ht,2);{var Ve=l=>{var n=Da(),v=r(s(n),2),m=s(v,!0);a(v),a(n),w(()=>g(m,(t(e),d(()=>t(e).os_name)))),c(l,n)};x(()=>b(Pt,l=>{t(e),d(()=>t(e).os_name)&&l(Ve)}),"if",i,310,5)}var Ft=r(Pt,2);{var He=l=>{var n=Ma(),v=r(s(n),2),m=s(v,!0);a(v),a(n),w(()=>g(m,(t(e),d(()=>t(e).os_version)))),c(l,n)};x(()=>b(Ft,l=>{t(e),d(()=>t(e).os_version)&&l(He)}),"if",i,316,5)}var Pe=r(Ft,2);{var Fe=l=>{var n=Ta(),v=r(s(n),2),m=s(v,!0);a(v),a(n),w(()=>g(m,(t(e),d(()=>t(e).os_arch)))),c(l,n)};x(()=>b(Pe,l=>{t(e),d(()=>t(e).os_arch)&&l(Fe)}),"if",i,322,5)}a(Lt),a(zt),a(rt);var Re=r(rt,2);{var qe=l=>{var n=Aa(),v=r(s(n),2);x(()=>Yt(v,5,()=>(t(e),d(()=>t(e).status_messages)),Zt,(m,u)=>{var k=Ba(),I=s(k),N=s(I),U=s(N,!0);a(N);var G=r(N,2),Rt=s(G);{var We=D=>{const M=na(Xt(()=>(S(re),t(u),d(()=>re(t(u).event_level)))),"levelBadge");t(M),x(()=>de(D,{get variant(){return S(t(M)),d(()=>t(M).variant)},get text(){return S(t(M)),d(()=>t(M).text)}}),"component",i,344,8,{componentTag:"Badge"})};x(()=>b(Rt,D=>{t(u),d(()=>t(u).event_level)&&D(We)}),"if",i,342,7)}var qt=r(Rt,2),Je=s(qt);{var Ke=D=>{var M=Jt();w(Xe=>g(M,Xe),[()=>(S(z),t(u),d(()=>z(t(u).created_at)))]),c(D,M)},Qe=D=>{var M=Jt("Unknown date");c(D,M)};x(()=>b(Je,D=>{t(u),d(()=>t(u).created_at)?D(Ke):D(Qe,!1)}),"if",i,347,8)}a(qt),a(G),a(I),a(k),w(()=>g(U,(t(u),d(()=>t(u).message)))),c(m,k)}),"each",i,337,4),a(v),xa(v,m=>y(P,m),()=>t(P)),a(n),c(l,n)},Ge=l=>{var n=Ca();c(l,n)};x(()=>b(Re,l=>{t(e),d(()=>t(e).status_messages&&t(e).status_messages.length>0)?l(qe):l(Ge,!1)}),"if",i,332,2)}w((l,n,v,m,u)=>{O.disabled=t($),pt(O,1,`px-4 py-2 ${t($)?"bg-gray-400 cursor-not-allowed":"bg-blue-600 hover:bg-blue-700 dark:bg-blue-700 dark:hover:bg-blue-800 cursor-pointer"} text-white rounded-lg font-medium text-sm flex items-center space-x-2`),J(O,"title",(t($),t(e),d(()=>t($)?t(e)?.capabilities?.has_shell?E(t(e)?.status,"stopped")?"Shell unavailable - Instance is stopped":"Shell unavailable - Agent heartbeat is stale":"Shell unavailable - Agent does not support shell":"Open Shell"))),g(Ie,(t(e),d(()=>t(e).id))),g(Se,(t(e),d(()=>t(e).name))),g(je,(t(e),d(()=>t(e).provider_id))),g(De,(t(e),d(()=>t(e).provider_name||"Unknown"))),g(Ae,(t(e),d(()=>t(e).agent_id||"Not assigned"))),g(Ce,l),pt(ft,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${n??""}`),g($e,v),pt(_t,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${m??""}`),g(ze,u)},[()=>(S(z),t(e),d(()=>z(t(e).created_at))),()=>(S(K),t(e),d(()=>K(t(e).status||"unknown"))),()=>(S(Q),t(e),d(()=>Q(t(e).status||"unknown"))),()=>(S(K),t(e),d(()=>K(t(e).runner_status||"unknown"))),()=>(S(Q),t(e),d(()=>Q(t(e).runner_status||"unknown")))]),Wt("click",O,()=>y(Z,!0)),Wt("click",we,()=>y(V,!0)),c(A,q)},R=A=>{var q=Ea();c(A,q)};x(()=>b(j,A=>{t(e)?A(B):A(R,!1)},!0),"if",i,185,1)}c(o,h)};x(()=>b(ge,o=>{t(Y)?o(_e):o(pe,!1)}),"if",i,178,1)}a(et);var jt=r(et,2);{var he=o=>{var h=$a(),j=s(h),B=s(j);x(()=>ua(B,{get runnerName(){return t(e),d(()=>t(e).name)},onClose:()=>y(Z,!1)}),"component",i,384,3,{componentTag:"ShellTerminal"}),a(j),a(h),c(o,h)};x(()=>b(jt,o=>{t(Z)&&t(e)&&!t($)&&o(he)}),"if",i,381,0)}var ye=r(jt,2);{var be=o=>{x(()=>ma(o,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(e),d(()=>t(e).name)},$$events:{close:()=>y(V,!1),confirm:ce}}),"component",i,394,1,{componentTag:"DeleteModal"})};x(()=>b(ye,o=>{t(V)&&t(e)&&o(be)}),"if",i,393,0)}w(o=>{J(me,"href",o),g(ue,(t(e),d(()=>t(e)?t(e).name:"Instance Details")))},[()=>(S(C),d(()=>C("/instances")))]),c(ie,yt);var ke=ia({...ta()});return oe(),ke}export{i as component}; diff --git a/webapp/assets/_app/immutable/nodes/10.C4Gx1pSn.js b/webapp/assets/_app/immutable/nodes/10.C4Gx1pSn.js new file mode 100644 index 00000000..78cd2d68 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/10.C4Gx1pSn.js @@ -0,0 +1 @@ +import{f as m,h as qe,a as v,s as u,c as Lt,e as Pt,t as Rt}from"../chunks/o8CdT7B0.js";import{i as Fe}from"../chunks/ChJfoPF0.js";import{p as Ge,o as We,q as Je,l as qt,b as Ke,f as P,t as h,a as Qe,g as t,m as S,u as s,h as b,c as r,s as d,d as f,$ as Xe,r as a,i as Ft}from"../chunks/DUMcBckj.js";import{i as _,s as Ye,a as Ze}from"../chunks/i7pKks78.js";import{e as Gt,i as Wt}from"../chunks/DC7Aeygn.js";import{c as M,d as R,g as Jt,s as ut}from"../chunks/_9uqtkkk.js";import{b as ta}from"../chunks/DwF0DbKK.js";import{p as ea}from"../chunks/K7MmO9Q9.js";import{g as Kt}from"../chunks/BcoJ4GZv.js";import{D as aa}from"../chunks/mBfsYUjq.js";import{S as ra}from"../chunks/CKfnRgQC.js";import{w as sa}from"../chunks/DTRhxHIE.js";import{g as q,f as F}from"../chunks/ow_oMtSd.js";import{s as Qt,b as B,d as Xt}from"../chunks/DQsxKNC2.js";import{e as da}from"../chunks/BZiHL9L3.js";import{B as Yt}from"../chunks/Bi2FJHrT.js";var ia=m('

Error

'),la=m('

Loading instance details...

'),na=m(' '),oa=m(' '),va=m('-'),ca=m('
Updated At:
'),xa=m('
'),ua=m('
Network Addresses:
'),ma=m('
Network Addresses:
No addresses available
'),ga=m('
OS Type:
'),fa=m('
OS Name:
'),_a=m('
OS Version:
'),pa=m('
OS Architecture:
'),ha=m('

'),ya=m('

Status Messages

'),ba=m('

Status Messages

No status messages available

'),ka=m('

Instance Information

ID:
Name:
Provider ID:
Provider:
Pool/Scale Set:
Agent ID:
Created At:

Status & Network

Instance Status:
Runner Status:
',1),wa=m('
Instance not found.
'),Ia=m('
'),Sa=m(' ',1);function Pa(Zt,te){Ge(te,!1);const[ee,ae]=Ye(),mt=()=>Ze(ea,"$page",ee),G=S(),C=S();let e=S(null),W=S(!0),N=S(""),$=S(!1),J=S(!1),z=null,O=S(),K=S(Date.now()),U=null;async function re(){if(t(G))try{f(W,!0),f(N,""),f(e,await Jt.getInstance(t(G)))}catch(n){f(N,n instanceof Error?n.message:"Failed to load instance")}finally{f(W,!1)}}async function se(){if(t(e)){try{await Jt.deleteInstance(t(e).name),Kt(M("/instances"))}catch(n){f(N,da(n))}f($,!1)}}function de(n){if(t(e))if(n.operation==="update"&&n.payload.id===t(e).id){const g=t(e).status_messages?.length||0,k={...t(e),...n.payload},j=k.status_messages?.length||0;f(e,k),j>g&&setTimeout(()=>{Qt(t(O))},100)}else n.operation==="delete"&&(n.payload.id||n.payload)===t(e).id&&Kt(M("/instances"))}We(()=>{re().then(()=>{t(e)?.status_messages?.length&&setTimeout(()=>{Qt(t(O))},100)}),z=sa.subscribeToEntity("instance",["update","delete"],de),U=setInterval(()=>{f(K,Date.now())},1e3)}),Je(()=>{z&&(z(),z=null),U&&(clearInterval(U),U=null)}),qt(()=>mt(),()=>{f(G,decodeURIComponent(mt().params.id||""))}),qt(()=>(t(e),t(K)),()=>{f(C,t(e)?.agent_id?(()=>{if(!t(e).capabilities?.has_shell||t(e).status==="stopped")return!0;const n=t(e).heartbeat;if(!n)return!0;const g=new Date(n);return t(K)-g.getTime()>6e4})():!0)}),Ke(),Fe();var gt=Sa();qe(n=>{h(()=>Xe.title=`${t(e),s(()=>t(e)?`${t(e).name} - Instance Details`:"Instance Details")??""} - GARM`)});var Q=P(gt),X=r(Q),ft=r(X),Y=r(ft),ie=r(Y);a(Y);var _t=d(Y,2),pt=r(_t),ht=d(r(pt),2),le=r(ht,!0);a(ht),a(pt),a(_t),a(ft),a(X);var yt=d(X,2);{var ne=n=>{var g=ia(),k=r(g),j=r(k),V=d(r(j),2),D=r(V,!0);a(V),a(j),a(k),a(g),h(()=>u(D,t(N))),v(n,g)};_(yt,n=>{t(N)&&n(ne)})}var oe=d(yt,2);{var ve=n=>{var g=la();v(n,g)},ce=n=>{var g=Lt(),k=P(g);{var j=D=>{var H=ka(),Z=P(H),tt=r(Z),et=r(tt),kt=d(r(et),2),T=r(kt),ge=d(T,2);a(kt),a(et);var wt=d(et,2),at=r(wt),It=d(r(at),2),fe=r(It,!0);a(It),a(at);var rt=d(at,2),St=d(r(rt),2),_e=r(St,!0);a(St),a(rt);var st=d(rt,2),jt=d(r(st),2),pe=r(jt,!0);a(jt),a(st);var dt=d(st,2),Dt=d(r(dt),2),he=r(Dt,!0);a(Dt),a(dt);var it=d(dt,2),Mt=d(r(it),2),ye=r(Mt);{var be=i=>{var l=na(),o=r(l,!0);a(l),h(c=>{R(l,"href",c),u(o,(t(e),s(()=>t(e).pool_id)))},[()=>(b(M),t(e),s(()=>M(`/pools/${t(e).pool_id}`)))]),v(i,l)},ke=i=>{var l=Lt(),o=P(l);{var c=p=>{var y=oa(),A=r(y,!0);a(y),h(E=>{R(y,"href",E),u(A,(t(e),s(()=>t(e).scale_set_id)))},[()=>(b(M),t(e),s(()=>M(`/scalesets/${t(e).scale_set_id}`)))]),v(p,y)},x=p=>{var y=va();v(p,y)};_(o,p=>{t(e),s(()=>t(e).scale_set_id)?p(c):p(x,!1)},!0)}v(i,l)};_(ye,i=>{t(e),s(()=>t(e).pool_id)?i(be):i(ke,!1)})}a(Mt),a(it);var lt=d(it,2),At=d(r(lt),2),we=r(At,!0);a(At),a(lt);var nt=d(lt,2),Ct=d(r(nt),2),Ie=r(Ct,!0);a(Ct),a(nt);var Se=d(nt,2);{var je=i=>{var l=ca(),o=d(r(l),2),c=r(o,!0);a(o),a(l),h(x=>u(c,x),[()=>(b(B),t(e),s(()=>B(t(e).updated_at)))]),v(i,l)};_(Se,i=>{t(e),s(()=>t(e).updated_at&&t(e).updated_at!==t(e).created_at)&&i(je)})}a(wt),a(tt);var Bt=d(tt,2),Nt=d(r(Bt),2),ot=r(Nt),Tt=d(r(ot),2),vt=r(Tt),De=r(vt,!0);a(vt),a(Tt),a(ot);var ct=d(ot,2),Et=d(r(ct),2),xt=r(Et),Me=r(xt,!0);a(xt),a(Et),a(ct);var $t=d(ct,2);{var Ae=i=>{var l=ua(),o=d(r(l),2);Gt(o,5,()=>(t(e),s(()=>t(e).addresses)),Wt,(c,x)=>{var p=xa(),y=r(p),A=r(y,!0);a(y);var E=d(y,2);{let L=Ft(()=>(t(x),s(()=>t(x).type||"Unknown")));Yt(E,{variant:"info",get text(){return t(L)}})}a(p),h(()=>u(A,(t(x),s(()=>t(x).address)))),v(c,p)}),a(o),a(l),v(i,l)},Ce=i=>{var l=ma();v(i,l)};_($t,i=>{t(e),s(()=>t(e).addresses&&t(e).addresses.length>0)?i(Ae):i(Ce,!1)})}var zt=d($t,2);{var Be=i=>{var l=ga(),o=d(r(l),2),c=r(o,!0);a(o),a(l),h(()=>u(c,(t(e),s(()=>t(e).os_type)))),v(i,l)};_(zt,i=>{t(e),s(()=>t(e).os_type)&&i(Be)})}var Ot=d(zt,2);{var Ne=i=>{var l=fa(),o=d(r(l),2),c=r(o,!0);a(o),a(l),h(()=>u(c,(t(e),s(()=>t(e).os_name)))),v(i,l)};_(Ot,i=>{t(e),s(()=>t(e).os_name)&&i(Ne)})}var Ut=d(Ot,2);{var Te=i=>{var l=_a(),o=d(r(l),2),c=r(o,!0);a(o),a(l),h(()=>u(c,(t(e),s(()=>t(e).os_version)))),v(i,l)};_(Ut,i=>{t(e),s(()=>t(e).os_version)&&i(Te)})}var Ee=d(Ut,2);{var $e=i=>{var l=pa(),o=d(r(l),2),c=r(o,!0);a(o),a(l),h(()=>u(c,(t(e),s(()=>t(e).os_arch)))),v(i,l)};_(Ee,i=>{t(e),s(()=>t(e).os_arch)&&i($e)})}a(Nt),a(Bt),a(Z);var ze=d(Z,2);{var Oe=i=>{var l=ya(),o=d(r(l),2);Gt(o,5,()=>(t(e),s(()=>t(e).status_messages)),Wt,(c,x)=>{var p=ha(),y=r(p),A=r(y),E=r(A,!0);a(A);var L=d(A,2),Vt=r(L);{var Ve=w=>{const I=Ft(()=>(b(Xt),t(x),s(()=>Xt(t(x).event_level))));Yt(w,{get variant(){return b(t(I)),s(()=>t(I).variant)},get text(){return b(t(I)),s(()=>t(I).text)}})};_(Vt,w=>{t(x),s(()=>t(x).event_level)&&w(Ve)})}var Ht=d(Vt,2),He=r(Ht);{var Le=w=>{var I=Rt();h(Re=>u(I,Re),[()=>(b(B),t(x),s(()=>B(t(x).created_at)))]),v(w,I)},Pe=w=>{var I=Rt("Unknown date");v(w,I)};_(He,w=>{t(x),s(()=>t(x).created_at)?w(Le):w(Pe,!1)})}a(Ht),a(L),a(y),a(p),h(()=>u(E,(t(x),s(()=>t(x).message)))),v(c,p)}),a(o),ta(o,c=>f(O,c),()=>t(O)),a(l),v(i,l)},Ue=i=>{var l=ba();v(i,l)};_(ze,i=>{t(e),s(()=>t(e).status_messages&&t(e).status_messages.length>0)?i(Oe):i(Ue,!1)})}h((i,l,o,c,x)=>{T.disabled=t(C),ut(T,1,`px-4 py-2 ${t(C)?"bg-gray-400 cursor-not-allowed":"bg-blue-600 hover:bg-blue-700 dark:bg-blue-700 dark:hover:bg-blue-800 cursor-pointer"} text-white rounded-lg font-medium text-sm flex items-center space-x-2`),R(T,"title",(t(C),t(e),s(()=>t(C)?t(e)?.capabilities?.has_shell?t(e)?.status==="stopped"?"Shell unavailable - Instance is stopped":"Shell unavailable - Agent heartbeat is stale":"Shell unavailable - Agent does not support shell":"Open Shell"))),u(fe,(t(e),s(()=>t(e).id))),u(_e,(t(e),s(()=>t(e).name))),u(pe,(t(e),s(()=>t(e).provider_id))),u(he,(t(e),s(()=>t(e).provider_name||"Unknown"))),u(we,(t(e),s(()=>t(e).agent_id||"Not assigned"))),u(Ie,i),ut(vt,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${l??""}`),u(De,o),ut(xt,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${c??""}`),u(Me,x)},[()=>(b(B),t(e),s(()=>B(t(e).created_at))),()=>(b(q),t(e),s(()=>q(t(e).status||"unknown"))),()=>(b(F),t(e),s(()=>F(t(e).status||"unknown"))),()=>(b(q),t(e),s(()=>q(t(e).runner_status||"unknown"))),()=>(b(F),t(e),s(()=>F(t(e).runner_status||"unknown")))]),Pt("click",T,()=>f(J,!0)),Pt("click",ge,()=>f($,!0)),v(D,H)},V=D=>{var H=wa();v(D,H)};_(k,D=>{t(e)?D(j):D(V,!1)},!0)}v(n,g)};_(oe,n=>{t(W)?n(ve):n(ce,!1)})}a(Q);var bt=d(Q,2);{var xe=n=>{var g=Ia(),k=r(g),j=r(k);ra(j,{get runnerName(){return t(e),s(()=>t(e).name)},onClose:()=>f(J,!1)}),a(k),a(g),v(n,g)};_(bt,n=>{t(J)&&t(e)&&!t(C)&&n(xe)})}var ue=d(bt,2);{var me=n=>{aa(n,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(e),s(()=>t(e).name)},$$events:{close:()=>f($,!1),confirm:se}})};_(ue,n=>{t($)&&t(e)&&n(me)})}h(n=>{R(ie,"href",n),u(le,(t(e),s(()=>t(e)?t(e).name:"Instance Details")))},[()=>(b(M),s(()=>M("/instances")))]),v(Zt,gt),Qe(),ae()}export{Pa as component}; diff --git a/webapp/assets/_app/immutable/nodes/11.Dq973KK3.js b/webapp/assets/_app/immutable/nodes/11.Dq973KK3.js deleted file mode 100644 index feb64a22..00000000 --- a/webapp/assets/_app/immutable/nodes/11.Dq973KK3.js +++ /dev/null @@ -1 +0,0 @@ -import{c as de,a as O,h as ie,e as k,b as w,l as le,t as ne,s as T,f as Q}from"../chunks/CxOx-TIJ.js";import{i as ce}from"../chunks/3NxSoY2_.js";import{p as me,o as ue,l as pe,b as ve,d as D,t as $,g as a,a as fe,$ as ge,s as o,m as g,c as r,w as F,u as U,h as C,j as i,F as L,i as M,r as t,n as he}from"../chunks/DzFKsO_V.js";import{s as be,a as _e,i as ye,v as xe}from"../chunks/B_jyf0qs.js";import{w as ke}from"../chunks/DoJxysSt.js";import{c as l,B as we,d as H,r as K}from"../chunks/BguOOs3x.js";import{b as N}from"../chunks/BVM1034P.js";import{p as $e}from"../chunks/CdEA5IGF.js";import{g as W}from"../chunks/BzzAh3Be.js";import{a as J,b as Me}from"../chunks/K_YdKkKc.js";import{e as Le}from"../chunks/BZiHL9L3.js";n[L]="src/routes/login/+page.svelte";var Ae=O(Q('

'),n[L],[[130,4,[[131,5,[[132,6,[[133,7,[[134,8]]]]],[137,6,[[138,7]]]]]]]]),Se=O(Q('
GARM

Sign in to GARM

GitHub Actions Runner Manager

'),n[L],[[74,0,[[75,1,[[76,2,[[77,3,[[78,4],[83,4]]],[89,3],[92,3]]],[97,2,[[98,3,[[99,4,[[100,5],[101,5]]],[113,4,[[114,5],[115,5]]]]],[146,3]]]]]]]]);function n(V,X){de(new.target),me(X,!1,n);const[Y,Z]=be(),A=()=>(xe(J,"authStore"),_e(J,"$authStore",Y));let u=g(""),p=g(""),d=g(!1),c=g("");ue(()=>{ee()});function ee(){const e=localStorage.getItem("theme");let s=!1;M(e,"dark")?s=!0:M(e,"light")?s=!1:s=window.matchMedia("(prefers-color-scheme: dark)").matches,s?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}async function S(){if(!a(u)||!a(p)){i(c,"Please enter both username and password");return}i(d,!0),i(c,"");try{(await he(Me.login(a(u),a(p))))(),W(l("/"))}catch(e){i(c,Le(e))}finally{i(d,!1)}}function z(e){M(e.key,"Enter")&&S()}pe(()=>(A(),l),()=>{A().isAuthenticated&&W(l("/"))}),ve(),ce();var h=Se();ie(e=>{ge.title="Login - GARM"});var E=r(h),b=r(E),P=r(b),G=r(P),ae=o(G,2);t(P),F(4),t(b);var _=o(b,2),y=r(_),x=r(y),v=o(r(x),2);K(v),t(x);var R=o(x,2),f=o(r(R),2);K(f),t(R),t(y);var B=o(y,2);{var re=e=>{var s=Ae(),m=r(s),q=o(r(m),2),I=r(q),oe=r(I,!0);t(I),t(q),t(m),t(s),$(()=>T(oe,a(c))),w(e,s)};D(()=>ye(B,e=>{a(c)&&e(re)}),"if",n,129,3)}var j=o(B,2),te=r(j);D(()=>we(te,{type:"submit",variant:"primary",size:"md",fullWidth:!0,get disabled(){return a(d)},get loading(){return a(d)},children:ke(n,(e,s)=>{F();var m=ne();$(()=>T(m,a(d)?"Signing in...":"Sign in")),w(e,m)}),$$slots:{default:!0}}),"component",n,147,4,{componentTag:"Button"}),t(j),t(_),t(E),t(h),$((e,s)=>{H(G,"src",e),H(ae,"src",s),v.disabled=a(d),f.disabled=a(d)},[()=>(C(l),U(()=>l("/assets/garm-light.svg"))),()=>(C(l),U(()=>l("/assets/garm-dark.svg")))]),N(v,()=>a(u),e=>i(u,e)),k("keypress",v,z),N(f,()=>a(p),e=>i(p,e)),k("keypress",f,z),k("submit",_,$e(S)),w(V,h);var se=fe({...le()});return Z(),se}export{n as component}; diff --git a/webapp/assets/_app/immutable/nodes/11.xr_vcKFj.js b/webapp/assets/_app/immutable/nodes/11.xr_vcKFj.js new file mode 100644 index 00000000..0c823311 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/11.xr_vcKFj.js @@ -0,0 +1 @@ +import{f as K,h as Z,e as _,a as k,t as ee,s as j}from"../chunks/o8CdT7B0.js";import{i as ae}from"../chunks/ChJfoPF0.js";import{p as re,o as te,l as se,b as de,t as w,g as a,a as oe,$ as ie,s as d,m as f,c as r,u as q,h as D,d as i,r as t,n as I}from"../chunks/DUMcBckj.js";import{i as le,s as ne,a as ce}from"../chunks/i7pKks78.js";import{B as me,c as l,d as T,r as U}from"../chunks/_9uqtkkk.js";import{b as C}from"../chunks/BtzOUN4g.js";import{p as ue}from"../chunks/CdEA5IGF.js";import{g as H}from"../chunks/BcoJ4GZv.js";import{a as pe,b as ve}from"../chunks/DJUEiJtb.js";import{e as fe}from"../chunks/BZiHL9L3.js";var ge=K('

'),he=K('
GARM

Sign in to GARM

GitHub Actions Runner Manager

');function Se(W,F){re(F,!1);const[J,N]=ne(),$=()=>ce(pe,"$authStore",J);let m=f(""),u=f(""),o=f(!1),n=f("");te(()=>{O()});function O(){const e=localStorage.getItem("theme");let s=!1;e==="dark"?s=!0:e==="light"?s=!1:s=window.matchMedia("(prefers-color-scheme: dark)").matches,s?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}async function M(){if(!a(m)||!a(u)){i(n,"Please enter both username and password");return}i(o,!0),i(n,"");try{await ve.login(a(m),a(u)),H(l("/"))}catch(e){i(n,fe(e))}finally{i(o,!1)}}function L(e){e.key==="Enter"&&M()}se(()=>($(),l),()=>{$().isAuthenticated&&H(l("/"))}),de(),ae();var g=he();Z(e=>{ie.title="Login - GARM"});var A=r(g),h=r(A),S=r(h),z=r(S),Q=d(z,2);t(S),I(4),t(h);var b=d(h,2),x=r(b),y=r(x),p=d(r(y),2);U(p),t(y);var P=d(y,2),v=d(r(P),2);U(v),t(P),t(x);var G=d(x,2);{var V=e=>{var s=ge(),c=r(s),E=d(r(c),2),B=r(E),Y=r(B,!0);t(B),t(E),t(c),t(s),w(()=>j(Y,a(n))),k(e,s)};le(G,e=>{a(n)&&e(V)})}var R=d(G,2),X=r(R);me(X,{type:"submit",variant:"primary",size:"md",fullWidth:!0,get disabled(){return a(o)},get loading(){return a(o)},children:(e,s)=>{I();var c=ee();w(()=>j(c,a(o)?"Signing in...":"Sign in")),k(e,c)},$$slots:{default:!0}}),t(R),t(b),t(A),t(g),w((e,s)=>{T(z,"src",e),T(Q,"src",s),p.disabled=a(o),v.disabled=a(o)},[()=>(D(l),q(()=>l("/assets/garm-light.svg"))),()=>(D(l),q(()=>l("/assets/garm-dark.svg")))]),C(p,()=>a(m),e=>i(m,e)),_("keypress",p,L),C(v,()=>a(u),e=>i(u,e)),_("keypress",v,L),_("submit",b,ue(M)),k(W,g),oe(),N()}export{Se as component}; diff --git a/webapp/assets/_app/immutable/nodes/12.RzOlDK_G.js b/webapp/assets/_app/immutable/nodes/12.RzOlDK_G.js new file mode 100644 index 00000000..45ce39c3 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/12.RzOlDK_G.js @@ -0,0 +1,7 @@ +import{f as S,a as f,s as j,e as U,t as ie,b as bt,r as ct}from"../chunks/o8CdT7B0.js";import{i as tt}from"../chunks/ChJfoPF0.js";import{p as at,o as ht,q as xt,l as le,h as O,g as e,m as p,b as yt,f as _t,a as rt,s,d as r,u as pt,c as l,r as i,t as z,v as Ut,i as qe,n as Y,k as At,j as K}from"../chunks/DUMcBckj.js";import{p as me,i as ne}from"../chunks/i7pKks78.js";import{e as Ye,i as We}from"../chunks/DC7Aeygn.js";import{i as wt,B as W,b as It,g as Ve,s as Lt,r as Xe,d as Ke}from"../chunks/_9uqtkkk.js";import{b as Pe}from"../chunks/BtzOUN4g.js";import{p as ut}from"../chunks/CdEA5IGF.js";import"../chunks/rDPsLaF8.js";import"../chunks/CnZ9nHem.js";import{P as Bt}from"../chunks/UrL2GjpD.js";import{D as Ft,G as gt}from"../chunks/DG4LDt2Z.js";import{M as mt}from"../chunks/CYPHW1bs.js";import{t as te}from"../chunks/Bbk4dQfI.js";import{e as Ue}from"../chunks/BZiHL9L3.js";import{D as Rt}from"../chunks/mBfsYUjq.js";import{E as Nt}from"../chunks/llowLxE6.js";import{A as Ht}from"../chunks/7XD7ITBY.js";import{b as Gt}from"../chunks/DwF0DbKK.js";import{f as ft,a as vt}from"../chunks/aK-A9Gop.js";import{w as qt}from"../chunks/DTRhxHIE.js";var Vt=S('-'),Xt=S(' '),Kt=S(' '),Yt=S('
'),Wt=S(' '),Zt=S('
All tags:
'),Jt=S(" ",1);function Qt(je,A){at(A,!1);const m=p(),I=p(),R=p();let T=me(A,"item",8);const d=3;let x=p(null),D=p(!1),E=p(0),w=p(0),ae=p(!1);function b(){if(e(x)){const v=e(x).getBoundingClientRect();r(E,v.left),window.innerHeight-v.bottom<150?(r(ae,!0),r(w,v.top)):(r(ae,!1),r(w,v.bottom+4))}}function re(){r(D,!0),b()}function Z(){r(D,!1)}ht(()=>{window.addEventListener("scroll",b,!0),window.addEventListener("resize",b)}),xt(()=>{window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b)}),le(()=>O(T()),()=>{r(m,T()?.tags||[])}),le(()=>e(m),()=>{r(I,e(m).slice(0,d))}),le(()=>e(m),()=>{r(R,Math.max(0,e(m).length-d))}),yt(),tt();var fe=Jt(),N=_t(fe);{var H=v=>{var o=Vt();f(v,o)},V=v=>{var o=Yt(),$=l(o);Ye($,1,()=>e(I),We,(P,C)=>{var G=Xt(),L=l(G,!0);i(G),z(()=>j(L,e(C))),f(P,G)});var h=s($,2);{var u=P=>{var C=Kt(),G=l(C);i(C),z(()=>j(G,`+${e(R)??""} more`)),f(P,C)};ne(h,P=>{e(R)>0&&P(u)})}i(o),Gt(o,P=>r(x,P),()=>e(x)),U("mouseenter",o,function(...P){(e(m).length>d?re:void 0)?.apply(this,P)}),U("mouseleave",o,function(...P){(e(m).length>d?Z:void 0)?.apply(this,P)}),f(v,o)};ne(N,v=>{e(m),pt(()=>!e(m)||e(m).length===0)?v(H):v(V,!1)})}var k=s(N,2);{var J=v=>{var o=Zt(),$=l(o),h=s(l($),2);Ye(h,5,()=>e(m),We,(u,P)=>{var C=Wt(),G=l(C,!0);i(C),z(()=>j(G,e(P))),f(u,C)}),i(h),i($),i(o),z(()=>wt(o,`left: ${e(E)??""}px; top: ${e(w)??""}px; transform: translateY(${e(ae)?"-100%":"0"});`)),f(v,o)};ne(k,v=>{e(m),e(D),pt(()=>e(m).length>d&&e(D))&&v(J)})}f(je,fe),rt()}var ea=bt(''),ta=bt(''),aa=S('
');function ra(je,A){at(A,!1);const m=p(),I=p(),R=p(),T=p();let d=me(A,"currentPage",8,1),x=me(A,"totalPages",8,1),D=me(A,"totalItems",8,0),E=me(A,"pageSize",12,25),w=me(A,"loading",8,!1),ae=me(A,"itemName",8,"items");const b=Ut();function re(){e(I)&&!w()&&(b("pageChange",{page:d()-1}),d()-2>0&&b("prefetch",{page:d()-2}))}function Z(){e(m)&&!w()&&(b("pageChange",{page:d()+1}),d()+2<=x()&&b("prefetch",{page:d()+2}))}function fe(M){const B=M.target,se=parseInt(B.value);b("pageSizeChange",{pageSize:se})}le(()=>(O(d()),O(x())),()=>{r(m,d()O(d()),()=>{r(I,d()>1)}),le(()=>(O(D()),O(d()),O(E())),()=>{r(R,D()===0?0:(d()-1)*E()+1)}),le(()=>(O(d()),O(E()),O(D())),()=>{r(T,Math.min(d()*E(),D()))}),le(()=>(O(d()),O(x()),O(w())),()=>{d()!e(I)||w());W(V,{variant:"secondary",size:"sm",get disabled(){return e(M)},$$events:{click:re},children:(B,se)=>{Y();var X=ie("Previous");f(B,X)},$$slots:{default:!0}})}var k=s(V,2);{let M=qe(()=>!e(m)||w());W(k,{variant:"secondary",size:"sm",get disabled(){return e(M)},$$events:{click:Z},children:(B,se)=>{Y();var X=ie("Next");f(B,X)},$$slots:{default:!0}})}i(H);var J=s(H,2),v=l(J),o=l(v),$=s(l(o)),h=l($,!0);i($);var u=s($,2),P=l(u,!0);i(u);var C=s(u,2),G=l(C,!0);i(C);var L=s(C);i(o);var Ae=s(o,2),de=s(l(Ae),2);z(()=>{E(),At(()=>{w()})});var Ce=l(de);Ce.value=Ce.__value=10;var ve=s(Ce);ve.value=ve.__value=25;var be=s(ve);be.value=be.__value=50;var Ie=s(be);Ie.value=Ie.__value=100,i(de),i(Ae),i(v);var Le=s(v,2),Be=l(Le);{let M=qe(()=>!e(I)||w());W(Be,{variant:"secondary",size:"sm",get disabled(){return e(M)},$$events:{click:re},children:(B,se)=>{var X=ea();f(B,X)},$$slots:{default:!0}})}var Me=s(Be,2),Se=s(l(Me)),Ze=l(Se,!0);i(Se);var Fe=s(Se,2),Je=l(Fe,!0);i(Fe),i(Me);var ce=s(Me,2);{let M=qe(()=>!e(m)||w());W(ce,{variant:"secondary",size:"sm",get disabled(){return e(M)},$$events:{click:Z},children:(B,se)=>{var X=ta();f(B,X)},$$slots:{default:!0}})}i(Le),i(J),i(N),z(()=>{j(h,e(R)),j(P,e(T)),j(G,D()),j(L,` ${ae()??""}`),de.disabled=w(),j(Ze,d()),j(Je,x())}),It(de,E),U("change",de,fe),f(je,N),rt()}var sa=S('
'),oa=S(' '),ia=S('
Uploading...
'),la=S('

Upload New Object

Press Space or Enter to add a tag. Press Backspace to remove the last tag.

'),na=S(' '),da=S('

Update Object

Press Space or Enter to add a tag. Press Backspace to remove the last tag.

'),ca=S(`
`,1);function Ea(je,A){at(A,!1);let m=p([]),I=p(!0),R=p(""),T=p(""),d=p(1),x=p(25),D=p(1),E=p(0),w=1;const ae="garm_objects_page_size";let b=new Map;const re=300*1e3;let Z=null;const fe=500;let N=p(!1),H=p(!1),V=p(!1),k=p(null),J=p(!1),v=null,o=p({name:"",file:null,tags:[],description:""}),$=p(0),h=p(!1),u=p({name:"",tags:[],description:""});function P(t){if(t.operation==="create")L();else if(t.operation==="update"){const a=t.payload;r(m,e(m).map(n=>n.id===a.id?a:n))}else if(t.operation==="delete"){const a=t.payload.id||t.payload;r(m,e(m).filter(n=>n.id!==a)),r(E,Math.max(0,e(E)-1))}}ht(async()=>{const t=localStorage.getItem(ae);if(t){const a=parseInt(t,10);!isNaN(a)&&a>0&&r(x,a)}await L(),v=qt.subscribeToEntity("file_object",["create","update","delete"],P)}),xt(()=>{v&&(v(),v=null)});function C(t,a,n=e(x)){return`${t}-${a||"all"}-${n}`}function G(){const t=Date.now();for(const[a,n]of b.entries())t-n.timestamp>re&&b.delete(a)}async function L(t=!1){try{r(I,!t),r(R,"");const a=e(T).trim()?e(T).trim().replace(/\s+/g,","):void 0,n=C(e(d),a);if(t){const g=b.get(n);if(g&&Date.now()-g.timestampe(D))return;const a=e(T).trim()?e(T).trim().replace(/\s+/g,","):void 0,n=C(t,a),c=b.get(n);if(!(c&&Date.now()-c.timestamp{n.lengthComputable&&r($,Math.round(n.loaded/n.total*100))}),await new Promise((n,c)=>{a.addEventListener("load",async()=>{a.status>=200&&a.status<300?n():c(new Error(`Upload failed with status ${a.status}`))}),a.addEventListener("error",()=>{c(new Error("Upload failed"))});const g=localStorage.getItem("token"),q=window.location.origin;a.open("POST",`${q}/api/v1/objects/`),g&&a.setRequestHeader("Authorization",`Bearer ${g}`),a.setRequestHeader("X-File-Name",e(o).name),e(o).tags.length>0&&a.setRequestHeader("X-Tags",e(o).tags.join(",")),e(o).description.trim()&&a.setRequestHeader("X-File-Description",e(o).description.trim()),a.send(e(o).file)}),te.add({type:"success",title:"Upload successful",message:`File "${e(o).name}" has been uploaded successfully.`}),r(H,!1),await L()}catch(t){const a=Ue(t);te.add({type:"error",title:"Upload failed",message:a})}finally{r(h,!1),r($,0)}}async function Le(){if(e(k)?.id)try{await Ve.updateFileObject(e(k).id.toString(),{name:e(u).name||void 0,tags:e(u).tags,description:e(u).description||void 0}),te.add({type:"success",title:"Object updated",message:"Object has been updated successfully."}),r(V,!1),r(k,null),await L()}catch(t){const a=Ue(t);te.add({type:"error",title:"Failed to update object",message:a})}}async function Be(t){try{const n=`${window.location.origin}/api/v1/objects/${t.id}/download`,c=await fetch(n,{method:"HEAD",credentials:"include"});if(!c.ok){const q=await c.text();throw new Error(q||`Download failed with status ${c.status}`)}const g=document.createElement("a");g.href=n,g.download=t.name||"download",document.body.appendChild(g),g.click(),document.body.removeChild(g)}catch(a){const n=Ue(a);te.add({type:"error",title:"Download failed",message:n})}}function Me(t){const a=t.detail.term,n=e(T).length>0,c=a.length>0;r(T,a),Z&&clearTimeout(Z),Z=setTimeout(()=>{!n&&c?(w=e(d),r(d,1)):n&&!c?r(d,w):c&&r(d,1),b.clear(),L(),Z=null},fe)}function Se(t){r(d,t.detail.page),L(!0)}function Ze(t){r(x,t.detail.pageSize),localStorage.setItem(ae,e(x).toString()),r(d,1),b.clear(),L()}function Fe(t){Ae(t.detail.page)}function Je(t){const a=t.target;a.files&&a.files[0]&&(K(o,e(o).file=a.files[0]),K(o,e(o).name=a.files[0].name))}let ce=p(""),M=p("");function B(t,a){const c=t.target.value.trim();if((t.key===" "||t.key==="Enter")&&c)t.preventDefault(),X(c,a),a==="upload"?r(ce,""):r(M,"");else if(t.key==="Backspace"&&!c){t.preventDefault();const g=a==="upload"?e(o).tags:e(u).tags;g.length>0&&Qe(g.length-1,a)}}function se(t){const a=t==="upload"?e(ce).trim():e(M).trim();a&&(X(a,t),t==="upload"?r(ce,""):r(M,""))}function X(t,a){const n=t.trim().toLowerCase();n&&(a==="upload"?e(o).tags.includes(n)||K(o,e(o).tags=[...e(o).tags,n]):e(u).tags.includes(n)||K(u,e(u).tags=[...e(u).tags,n]))}function Qe(t,a){a==="upload"?K(o,e(o).tags=e(o).tags.filter((n,c)=>c!==t)):K(u,e(u).tags=e(u).tags.filter((n,c)=>c!==t))}const kt=[{key:"name",title:"Name",cellComponent:Nt,cellProps:{entityType:"object"}},{key:"size",title:"Size",cellComponent:gt,cellProps:{getValue:t=>ft(t.size||0)}},{key:"tags",title:"Tags",cellComponent:Qt,hideOnMobile:!0,cellProps:{tags:[]}},{key:"updated_at",title:"Last Modified",hideOnMobile:!0,cellComponent:gt,cellProps:{getValue:t=>vt(t.updated_at)}},{key:"actions",title:"Actions",align:"right",width:"min",cellComponent:Ht,cellProps:{actions:[{type:"custom",label:"Download",action:"download",title:"Download",ariaLabel:"Download object"},{type:"edit",action:"edit",title:"Update",ariaLabel:"Update object"},{type:"delete",action:"delete",title:"Delete",ariaLabel:"Delete object"}]}}],$t=` +This feature allows you to use GARM as a simple, private internal-use object storage system. The primary goal of this is to allow users to store provider binaries, agent binaries, runner tools and any other type of files needed for a functional GARM deployment. + +Files are stored in the database as blobs. You do not need to configure additional storage. + +It is not meant to be used to serve files outside of the needs of GARM and it does not implement S3, nor will it ever. + `.trim(),Pt={entityType:"repository",primaryText:{field:"name",isClickable:!0,href:"/objects/{id}"},secondaryText:{field:"description",computedValue:t=>{const a=t.description||"No description";return a.length>100?a.substring(0,100)+"...":a}},customInfo:[{icon:'',text:t=>ft(t.size||0)},{icon:'',text:t=>vt(t.updated_at)}],actions:[{type:"edit",handler:ve},{type:"delete",handler:be}]};tt();var st=ca(),ot=_t(st);Bt(ot,{title:"Object Storage",description:"Manage files stored in GARM's internal object storage",$$slots:{actions:(t,a)=>{W(t,{variant:"primary",icon:'',$$events:{click:Ce},children:(n,c)=>{Y();var g=ie("Upload New Object");f(n,g)},$$slots:{default:!0}})}}});var et=s(ot,2),Re=l(et),jt=s(l(Re),2);i(Re);var Ct=s(Re,2);{var Mt=t=>{var a=sa(),n=l(a,!0);i(a),z(()=>j(n,$t)),f(t,a)};ne(Ct,t=>{e(J)&&t(Mt)})}i(et);var it=s(et,2);Ft(it,{get columns(){return kt},get data(){return e(m)},get loading(){return e(I)},get error(){return e(R)},itemName:"objects",emptyIconType:"document",showSearch:!0,searchType:"backend",searchPlaceholder:"Search by name or tags...",searchHelpText:"",showPagination:!0,get paginationComponent(){return ra},get currentPage(){return e(d)},get totalPages(){return e(D)},get totalItems(){return e(E)},get perPage(){return e(x)},get mobileCardConfig(){return Pt},get searchTerm(){return e(T)},set searchTerm(t){r(T,t)},$$events:{search:Me,pageChange:Se,pageSizeChange:Ze,prefetch:Fe,edit:t=>ve(t.detail.item),delete:t=>be(t.detail.item),action:t=>t.detail.type==="download"&&Be(t.detail.item)},$$legacy:!0});var lt=s(it,2);{var St=t=>{mt(t,{$$events:{close:()=>!e(h)&&r(H,!1)},children:(a,n)=>{var c=la(),g=s(l(c),2),q=l(g),he=s(l(q),2);Xe(he),i(q);var pe=s(q,2),Te=s(l(pe),2),xe=l(Te),oe=s(xe,2);W(oe,{type:"button",variant:"secondary",get disabled(){return e(h)},$$events:{click:()=>document.getElementById("upload-file-input")?.click()},children:(y,ee)=>{Y();var F=ie("Choose File");f(y,F)},$$slots:{default:!0}});var ye=s(oe,2),De=l(ye,!0);i(ye),i(Te),i(pe);var _e=s(pe,2),Ne=s(l(_e),2),Ee=l(Ne);Ye(Ee,1,()=>e(o).tags,We,(y,ee,F)=>{var ke=oa(),Ge=l(ke),$e=s(Ge);i(ke),z(()=>{j(Ge,`${e(ee)??""} `),$e.disabled=e(h),Ke($e,"aria-label",`Remove tag ${e(ee)??""}`)}),U("click",$e,()=>Qe(F,"upload")),f(y,ke)});var Q=s(Ee,2);Xe(Q),i(Ne),Y(2),i(_e);var ze=s(_e,2),_=s(l(ze),2);ct(_);var ue=s(_,2),ge=l(ue);i(ue),i(ze);var we=s(ze,2);{var He=y=>{var ee=ia(),F=l(ee),ke=s(l(F),2),Ge=l(ke);i(ke),i(F);var $e=s(F,2),Ot=l($e);i($e),i(ee),z(()=>{j(Ge,`${e($)??""}%`),wt(Ot,`width: ${e($)??""}%`)}),f(y,ee)};ne(we,y=>{e(h)&&y(He)})}var Oe=s(we,2),dt=l(Oe);W(dt,{type:"button",variant:"secondary",get disabled(){return e(h)},$$events:{click:()=>r(H,!1)},children:(y,ee)=>{Y();var F=ie("Cancel");f(y,F)},$$slots:{default:!0}});var zt=s(dt,2);W(zt,{type:"submit",variant:"primary",get disabled(){return e(h)},get loading(){return e(h)},children:(y,ee)=>{Y();var F=ie();z(()=>j(F,e(h)?"Uploading...":"Upload")),f(y,F)},$$slots:{default:!0}}),i(Oe),i(g),i(c),z(()=>{he.disabled=e(h),xe.disabled=e(h),j(De,e(o).file?e(o).file.name:"No file chosen"),Q.disabled=e(h),Ke(Q,"placeholder",e(o).tags.length===0?"Type and press space to add tags...":""),_.disabled=e(h),j(ge,`${e(o).description.length??""} / 8192 characters`)}),Pe(he,()=>e(o).name,y=>K(o,e(o).name=y)),U("change",xe,Je),Pe(Q,()=>e(ce),y=>r(ce,y)),U("keydown",Q,y=>B(y,"upload")),U("blur",Q,()=>se("upload")),Pe(_,()=>e(o).description,y=>K(o,e(o).description=y)),U("submit",g,ut(Ie)),f(a,c)},$$slots:{default:!0}})};ne(lt,t=>{e(H)&&t(St)})}var nt=s(lt,2);{var Tt=t=>{mt(t,{$$events:{close:()=>r(V,!1)},children:(a,n)=>{var c=da(),g=s(l(c),2),q=l(g),he=s(l(q),2);Xe(he),i(q);var pe=s(q,2),Te=s(l(pe),2),xe=l(Te);Ye(xe,1,()=>e(u).tags,We,(_,ue,ge)=>{var we=na(),He=l(we),Oe=s(He);i(we),z(()=>{j(He,`${e(ue)??""} `),Ke(Oe,"aria-label",`Remove tag ${e(ue)??""}`)}),U("click",Oe,()=>Qe(ge,"update")),f(_,we)});var oe=s(xe,2);Xe(oe),i(Te),Y(2),i(pe);var ye=s(pe,2),De=s(l(ye),2);ct(De);var _e=s(De,2),Ne=l(_e);i(_e),i(ye);var Ee=s(ye,2),Q=l(Ee);W(Q,{type:"button",variant:"secondary",$$events:{click:()=>r(V,!1)},children:(_,ue)=>{Y();var ge=ie("Cancel");f(_,ge)},$$slots:{default:!0}});var ze=s(Q,2);W(ze,{type:"submit",variant:"primary",children:(_,ue)=>{Y();var ge=ie("Update");f(_,ge)},$$slots:{default:!0}}),i(Ee),i(g),i(c),z(()=>{Ke(oe,"placeholder",e(u).tags.length===0?"Type and press space to add tags...":""),j(Ne,`${e(u).description.length??""} / 8192 characters`)}),Pe(he,()=>e(u).name,_=>K(u,e(u).name=_)),Pe(oe,()=>e(M),_=>r(M,_)),U("keydown",oe,_=>B(_,"update")),U("blur",oe,()=>se("update")),Pe(De,()=>e(u).description,_=>K(u,e(u).description=_)),U("submit",g,ut(Le)),f(a,c)},$$slots:{default:!0}})};ne(nt,t=>{e(V)&&e(k)&&t(Tt)})}var Dt=s(nt,2);{var Et=t=>{Rt(t,{title:"Delete Object",get message(){return`Are you sure you want to delete the object '${e(k).name??""}'? This action cannot be undone.`},$$events:{confirm:de,close:()=>{r(N,!1),r(k,null)}}})};ne(Dt,t=>{e(N)&&e(k)&&t(Et)})}z(()=>Lt(jt,0,`w-4 h-4 ml-1 transform ${e(J)?"rotate-180":""}`)),U("click",Re,()=>r(J,!e(J))),f(je,st),rt()}export{Ea as component}; diff --git a/webapp/assets/_app/immutable/nodes/12.nODRGCSI.js b/webapp/assets/_app/immutable/nodes/12.nODRGCSI.js deleted file mode 100644 index 41314352..00000000 --- a/webapp/assets/_app/immutable/nodes/12.nODRGCSI.js +++ /dev/null @@ -1,7 +0,0 @@ -import{c as _t,a as K,e as I,b as x,l as kt,t as se,f as ne,g as wt,s as T,r as gt}from"../chunks/CxOx-TIJ.js";import{i as $t}from"../chunks/3NxSoY2_.js";import{p as Pt,B as At,l as Ue,h as S,b as Nt,d as f,g as e,e as We,c as n,s as o,t as H,a as Tt,m,w as G,F as B,j as r,i as v,r as l,v as Rt,o as Lt,x as Ht,f as Gt,n as F,k as L}from"../chunks/DzFKsO_V.js";import{p as Te,i as Fe}from"../chunks/B_jyf0qs.js";import{e as mt,i as ft}from"../chunks/CdXRaxkX.js";import{w as z}from"../chunks/DoJxysSt.js";import{B as q,b as qt,g as Ye,r as Ze,d as Je,k as Kt,s as Vt}from"../chunks/BguOOs3x.js";import{b as je}from"../chunks/BVM1034P.js";import{p as vt}from"../chunks/CdEA5IGF.js";import{l as Xt}from"../chunks/BAcG6-Ep.js";import"../chunks/BzzAh3Be.js";import"../chunks/C14okzlM.js";import{P as Wt}from"../chunks/DTko0dwG.js";import"../chunks/Ct5kWObc.js";import{D as Yt,E as Zt,G as bt,T as Jt,A as Qt}from"../chunks/C2FKJqnN.js";import{M as ht}from"../chunks/Pgjt70l7.js";import{t as Q}from"../chunks/li_-Mkq2.js";import{e as Ie}from"../chunks/BZiHL9L3.js";import{D as ea}from"../chunks/DL1RlOO9.js";import{f as xt,a as yt}from"../chunks/aK-A9Gop.js";import{w as ta}from"../chunks/DSHGoHxX.js";P[B]="src/lib/components/BackendPagination.svelte";var aa=K(wt(''),P[B],[[110,4,[[111,5]]]]),ra=K(wt(''),P[B],[[123,4,[[124,5]]]]),oa=K(ne('
'),P[B],[[55,0,[[56,1],[74,1,[[75,2,[[76,3,[[78,4],[80,4],[82,4]]],[85,3,[[86,4],[89,4,[[96,5],[97,5],[98,5],[99,5]]]]]]],[103,2,[[114,3,[[115,9],[115,59]]]]]]]]]]);function P(Qe,V){_t(new.target),Pt(V,!1,P);const j=m(),X=m(),le=m(),E=m();let u=Te(V,"currentPage",8,1),$=Te(V,"totalPages",8,1),W=Te(V,"totalItems",8,0),O=Te(V,"pageSize",12,25),M=Te(V,"loading",8,!1),Ae=Te(V,"itemName",8,"items");const _=At();function fe(){e(X)&&!M()&&(_("pageChange",{page:u()-1}),u()-2>0&&_("prefetch",{page:u()-2}))}function ie(){e(j)&&!M()&&(_("pageChange",{page:u()+1}),u()+2<=$()&&_("prefetch",{page:u()+2}))}function et(w){const C=w.target,re=parseInt(C.value);_("pageSizeChange",{pageSize:re})}Ue(()=>(S(u()),S($())),()=>{r(j,u()<$())}),Ue(()=>S(u()),()=>{r(X,u()>1)}),Ue(()=>(S(W()),S(u()),S(O())),()=>{r(le,v(W(),0)?0:(u()-1)*O()+1)}),Ue(()=>(S(u()),S(O()),S(W())),()=>{r(E,Math.min(u()*O(),W()))}),Ue(()=>(S(u()),S($()),S(M())),()=>{u()<$()&&!M()&&_("prefetch",{page:u()+1})}),Nt(),$t();var ee=oa(),Y=n(ee),te=n(Y);{let w=We(()=>!e(X)||M());f(()=>q(te,{variant:"secondary",size:"sm",get disabled(){return e(w)},$$events:{click:fe},children:z(P,(C,re)=>{G();var R=se("Previous");x(C,R)}),$$slots:{default:!0}}),"component",P,57,2,{componentTag:"Button"})}var k=o(te,2);{let w=We(()=>!e(j)||M());f(()=>q(k,{variant:"secondary",size:"sm",get disabled(){return e(w)},$$events:{click:ie},children:z(P,(C,re)=>{G();var R=se("Next");x(C,R)}),$$slots:{default:!0}}),"component",P,65,2,{componentTag:"Button"})}l(Y);var de=o(Y,2),ae=n(de),i=n(ae),A=o(n(i)),y=n(A,!0);l(A);var g=o(A,2),tt=n(g,!0);l(g);var ve=o(g,2),at=n(ve,!0);l(ve);var N=o(ve);l(i);var Ne=o(i,2),ce=o(n(Ne),2);H(()=>{O(),Rt(()=>{M()})});var Me=n(ce);Me.value=Me.__value=10;var be=o(Me);be.value=be.__value=25;var he=o(be);he.value=he.__value=50;var Re=o(he);Re.value=Re.__value=100,l(ce),l(Ne),l(ae);var Le=o(ae,2),He=n(Le);{let w=We(()=>!e(X)||M());f(()=>q(He,{variant:"secondary",size:"sm",get disabled(){return e(w)},$$events:{click:fe},children:z(P,(C,re)=>{var R=aa();x(C,R)}),$$slots:{default:!0}}),"component",P,104,3,{componentTag:"Button"})}var Ce=o(He,2),De=o(n(Ce)),rt=n(De,!0);l(De);var Ge=o(De,2),ot=n(Ge,!0);l(Ge),l(Ce);var pe=o(Ce,2);{let w=We(()=>!e(j)||M());f(()=>q(pe,{variant:"secondary",size:"sm",get disabled(){return e(w)},$$events:{click:ie},children:z(P,(C,re)=>{var R=ra();x(C,R)}),$$slots:{default:!0}}),"component",P,117,3,{componentTag:"Button"})}return l(Le),l(de),l(ee),H(()=>{T(y,e(le)),T(tt,e(E)),T(at,W()),T(N,` ${Ae()??""}`),ce.disabled=M(),T(rt,u()),T(ot,$())}),qt(ce,O),I("change",ce,et),x(Qe,ee),Tt({...kt()})}d[B]="src/routes/objects/+page.svelte";var sa=K(ne('
'),d[B],[[670,2]]),na=K(ne(' '),d[B],[[758,7,[[760,8,[[767,9,[[768,10]]]]]]]]),la=K(ne('
Uploading...
'),d[B],[[808,5,[[809,6,[[810,7],[811,7]]],[813,6,[[814,7]]]]]]),ia=K(ne('

Upload New Object

Press Space or Enter to add a tag. Press Backspace to remove the last tag.

'),d[B],[[708,2,[[709,3],[711,3,[[712,4,[[713,5],[716,5]]],[726,4,[[727,5],[730,5,[[731,6],[746,6]]]]],[752,4,[[753,5],[756,5,[[773,6]]],[784,5]]],[789,4,[[790,5],[793,5],[802,5]]],[819,4]]]]]]),da=K(ne(' '),d[B],[[867,7,[[869,8,[[875,9,[[876,10]]]]]]]]),ca=K(ne('

Update Object

Press Space or Enter to add a tag. Press Backspace to remove the last tag.

'),d[B],[[845,2,[[846,3],[848,3,[[849,4,[[850,5],[853,5]]],[861,4,[[862,5],[865,5,[[881,6]]],[891,5]]],[896,4,[[897,5],[900,5],[908,5]]],[913,4]]]]]]),pa=K(ne(`
`,1),d[B],[[655,0,[[656,1,[[660,2,[[661,3]]],[664,2,[[665,3]]]]]]]]);function d(Qe,V){_t(new.target),Pt(V,!1,d);let j=m([]),X=m(!0),le=m(""),E=m(""),u=m(1),$=m(25),W=m(1),O=m(0),M=1;const Ae="garm_objects_page_size";let _=new Map;const fe=300*1e3;let ie=null;const et=500;let ee=m(!1),Y=m(!1),te=m(!1),k=m(null),de=m(!1),ae=null,i=m({name:"",file:null,tags:[],description:""}),A=m(0),y=m(!1),g=m({name:"",tags:[],description:""});function tt(t){if(v(t.operation,"create"))N();else if(v(t.operation,"update")){const a=t.payload;r(j,e(j).map(s=>v(s.id,a.id)?a:s))}else if(v(t.operation,"delete")){const a=t.payload.id||t.payload;r(j,e(j).filter(s=>v(s.id,a,!1))),r(O,Math.max(0,e(O)-1))}}Lt(async()=>{const t=localStorage.getItem(Ae);if(t){const a=parseInt(t,10);!isNaN(a)&&a>0&&r($,a)}(await F(N()))(),ae=ta.subscribeToEntity("file_object",["create","update","delete"],tt)}),Ht(()=>{ae&&(ae(),ae=null)});function ve(t,a,s=e($)){return`${t}-${a||"all"}-${s}`}function at(){const t=Date.now();for(const[a,s]of _.entries())t-s.timestamp>fe&&_.delete(a)}async function N(t=!1){try{r(X,!t),r(le,"");const a=e(E).trim()?e(E).trim().replace(/\s+/g,","):void 0,s=ve(e(u),a);if(t){const p=_.get(s);if(p&&Date.now()-p.timestampe(W))return;const a=e(E).trim()?e(E).trim().replace(/\s+/g,","):void 0,s=ve(t,a),c=_.get(s);if(!(c&&Date.now()-c.timestamp{s.lengthComputable&&r(A,Math.round(s.loaded/s.total*100))}),(await F(new Promise((s,c)=>{a.addEventListener("load",async()=>{a.status>=200&&a.status<300?s():c(new Error(`Upload failed with status ${a.status}`))}),a.addEventListener("error",()=>{c(new Error("Upload failed"))});const p=localStorage.getItem("token"),U=window.location.origin;a.open("POST",`${U}/api/v1/objects/`),p&&a.setRequestHeader("Authorization",`Bearer ${p}`),a.setRequestHeader("X-File-Name",e(i).name),e(i).tags.length>0&&a.setRequestHeader("X-Tags",e(i).tags.join(",")),e(i).description.trim()&&a.setRequestHeader("X-File-Description",e(i).description.trim()),a.send(e(i).file)})))(),Q.add({type:"success",title:"Upload successful",message:`File "${e(i).name}" has been uploaded successfully.`}),r(Y,!1),(await F(N()))()}catch(t){const a=Ie(t);Q.add({type:"error",title:"Upload failed",message:a})}finally{r(y,!1),r(A,0)}}async function Le(){if(e(k)?.id)try{(await F(Ye.updateFileObject(e(k).id.toString(),{name:e(g).name||void 0,tags:e(g).tags,description:e(g).description||void 0})))(),Q.add({type:"success",title:"Object updated",message:"Object has been updated successfully."}),r(te,!1),r(k,null),(await F(N()))()}catch(t){const a=Ie(t);Q.add({type:"error",title:"Failed to update object",message:a})}}async function He(t){try{const s=`${window.location.origin}/api/v1/objects/${t.id}/download`,c=(await F(fetch(s,{method:"HEAD",credentials:"include"})))();if(!c.ok){const U=(await F(c.text()))();throw new Error(U||`Download failed with status ${c.status}`)}const p=document.createElement("a");p.href=s,p.download=t.name||"download",document.body.appendChild(p),p.click(),document.body.removeChild(p)}catch(a){const s=Ie(a);Q.add({type:"error",title:"Download failed",message:s})}}function Ce(t){const a=t.detail.term,s=e(E).length>0,c=a.length>0;r(E,a),ie&&clearTimeout(ie),ie=setTimeout(()=>{!s&&c?(M=e(u),r(u,1)):s&&!c?r(u,M):c&&r(u,1),_.clear(),N(),ie=null},et)}function De(t){r(u,t.detail.page),N(!0)}function rt(t){r($,t.detail.pageSize),localStorage.setItem(Ae,e($).toString()),r(u,1),_.clear(),N()}function Ge(t){Ne(t.detail.page)}function ot(t){const a=t.target;a.files&&a.files[0]&&(L(i,e(i).file=a.files[0]),L(i,e(i).name=a.files[0].name))}let pe=m(""),w=m("");function C(t,a){const c=t.target.value.trim();if((v(t.key," ")||v(t.key,"Enter"))&&c)t.preventDefault(),R(c,a),v(a,"upload")?r(pe,""):r(w,"");else if(v(t.key,"Backspace")&&!c){t.preventDefault();const p=v(a,"upload")?e(i).tags:e(g).tags;p.length>0&&st(p.length-1,a)}}function re(t){const a=v(t,"upload")?e(pe).trim():e(w).trim();a&&(R(a,t),v(t,"upload")?r(pe,""):r(w,""))}function R(t,a){const s=t.trim().toLowerCase();s&&(v(a,"upload")?e(i).tags.includes(s)||L(i,e(i).tags=[...e(i).tags,s]):e(g).tags.includes(s)||L(g,e(g).tags=[...e(g).tags,s]))}function st(t,a){v(a,"upload")?L(i,e(i).tags=e(i).tags.filter((s,c)=>v(c,t,!1))):L(g,e(g).tags=e(g).tags.filter((s,c)=>v(c,t,!1)))}const jt=[{key:"name",title:"Name",cellComponent:Zt,cellProps:{entityType:"object"}},{key:"size",title:"Size",cellComponent:bt,cellProps:{getValue:t=>xt(t.size||0)}},{key:"tags",title:"Tags",cellComponent:Jt,hideOnMobile:!0,cellProps:{tags:[]}},{key:"updated_at",title:"Last Modified",hideOnMobile:!0,cellComponent:bt,cellProps:{getValue:t=>yt(t.updated_at)}},{key:"actions",title:"Actions",align:"right",width:"min",cellComponent:Qt,cellProps:{actions:[{type:"custom",label:"Download",action:"download",title:"Download",ariaLabel:"Download object"},{type:"edit",action:"edit",title:"Update",ariaLabel:"Update object"},{type:"delete",action:"delete",title:"Delete",ariaLabel:"Delete object"}]}}],Mt=` -This feature allows you to use GARM as a simple, private internal-use object storage system. The primary goal of this is to allow users to store provider binaries, agent binaries, runner tools and any other type of files needed for a functional GARM deployment. - -Files are stored in the database as blobs. You do not need to configure additional storage. - -It is not meant to be used to serve files outside of the needs of GARM and it does not implement S3, nor will it ever. - `.trim(),Ct={entityType:"repository",primaryText:{field:"name",isClickable:!0,href:"/objects/{id}"},secondaryText:{field:"description",computedValue:t=>{const a=t.description||"No description";return a.length>100?a.substring(0,100)+"...":a}},customInfo:[{icon:'',text:t=>xt(t.size||0)},{icon:'',text:t=>yt(t.updated_at)}],actions:[{type:"edit",handler:be},{type:"delete",handler:he}]};$t();var lt=pa(),it=Gt(lt);f(()=>Wt(it,{title:"Object Storage",description:"Manage files stored in GARM's internal object storage",$$slots:{actions:(t,a)=>{f(()=>q(t,{variant:"primary",icon:'',$$events:{click:Me},children:z(d,(s,c)=>{G();var p=se("Upload New Object");x(s,p)}),$$slots:{default:!0}}),"component",d,644,2,{componentTag:"Button"})}}}),"component",d,639,0,{componentTag:"PageHeader"});var nt=o(it,2),qe=n(nt),Dt=o(n(qe),2);l(qe);var St=o(qe,2);{var zt=t=>{var a=sa(),s=n(a,!0);l(a),H(()=>T(s,Mt)),x(t,a)};f(()=>Fe(St,t=>{e(de)&&t(zt)}),"if",d,669,1)}l(nt);var dt=o(nt,2);f(()=>Yt(dt,{get columns(){return jt},get data(){return e(j)},get loading(){return e(X)},get error(){return e(le)},itemName:"objects",emptyIconType:"document",showSearch:!0,searchType:"backend",searchPlaceholder:"Search by name or tags...",searchHelpText:"",showPagination:!0,get paginationComponent(){return P},get currentPage(){return e(u)},get totalPages(){return e(W)},get totalItems(){return e(O)},get perPage(){return e($)},get mobileCardConfig(){return Ct},get searchTerm(){return e(E)},set searchTerm(t){r(E,t)},$$events:{search:Ce,pageChange:De,pageSizeChange:rt,prefetch:Ge,edit:t=>be(t.detail.item),delete:t=>he(t.detail.item),action:t=>v(t.detail.type,"download")&&He(t.detail.item)},$$legacy:!0}),"component",d,677,0,{componentTag:"DataTable"});var ct=o(dt,2);{var Bt=t=>{f(()=>ht(t,{$$events:{close:()=>!e(y)&&r(Y,!1)},children:z(d,(a,s)=>{var c=ia(),p=o(n(c),2),U=n(p),xe=o(n(U),2);Ze(xe),l(U);var ue=o(U,2),Se=o(n(ue),2),ye=n(Se),oe=o(ye,2);f(()=>q(oe,{type:"button",variant:"secondary",get disabled(){return e(y)},$$events:{click:()=>document.getElementById("upload-file-input")?.click()},children:z(d,(b,J)=>{G();var D=se("Choose File");x(b,D)}),$$slots:{default:!0}}),"component",d,738,6,{componentTag:"Button"});var _e=o(oe,2),ze=n(_e,!0);l(_e),l(Se),l(ue);var ke=o(ue,2),Ke=o(n(ke),2),Be=n(Ke);f(()=>mt(Be,1,()=>e(i).tags,ft,(b,J,D)=>{var $e=na(),Xe=n($e),Pe=o(Xe);l($e),H(()=>{T(Xe,`${e(J)??""} `),Pe.disabled=e(y),Je(Pe,"aria-label",`Remove tag ${e(J)??""}`)}),I("click",Pe,()=>st(D,"upload")),x(b,$e)}),"each",d,757,6);var Z=o(Be,2);Ze(Z),l(Ke),G(2),l(ke);var Ee=o(ke,2),h=o(n(Ee),2);gt(h);var ge=o(h,2),me=n(ge);l(ge),l(Ee);var we=o(Ee,2);{var Ve=b=>{var J=la(),D=n(J),$e=o(n(D),2),Xe=n($e);l($e),l(D);var Pe=o(D,2),It=n(Pe);l(Pe),l(J),H(()=>{T(Xe,`${e(A)??""}%`),Kt(It,`width: ${e(A)??""}%`)}),x(b,J)};f(()=>Fe(we,b=>{e(y)&&b(Ve)}),"if",d,807,4)}var Oe=o(we,2),ut=n(Oe);f(()=>q(ut,{type:"button",variant:"secondary",get disabled(){return e(y)},$$events:{click:()=>r(Y,!1)},children:z(d,(b,J)=>{G();var D=se("Cancel");x(b,D)}),$$slots:{default:!0}}),"component",d,820,5,{componentTag:"Button"});var Ft=o(ut,2);f(()=>q(Ft,{type:"submit",variant:"primary",get disabled(){return e(y)},get loading(){return e(y)},children:z(d,(b,J)=>{G();var D=se();H(()=>T(D,e(y)?"Uploading...":"Upload")),x(b,D)}),$$slots:{default:!0}}),"component",d,828,5,{componentTag:"Button"}),l(Oe),l(p),l(c),H(()=>{xe.disabled=e(y),ye.disabled=e(y),T(ze,e(i).file?e(i).file.name:"No file chosen"),Z.disabled=e(y),Je(Z,"placeholder",v(e(i).tags.length,0)?"Type and press space to add tags...":""),h.disabled=e(y),T(me,`${e(i).description.length??""} / 8192 characters`)}),je(xe,()=>e(i).name,b=>L(i,e(i).name=b)),I("change",ye,ot),je(Z,()=>e(pe),b=>r(pe,b)),I("keydown",Z,b=>C(b,"upload")),I("blur",Z,()=>re("upload")),je(h,()=>e(i).description,b=>L(i,e(i).description=b)),I("submit",p,vt(Re)),x(a,c)}),$$slots:{default:!0}}),"component",d,707,1,{componentTag:"Modal"})};f(()=>Fe(ct,t=>{e(Y)&&t(Bt)}),"if",d,706,0)}var pt=o(ct,2);{var Et=t=>{f(()=>ht(t,{$$events:{close:()=>r(te,!1)},children:z(d,(a,s)=>{var c=ca(),p=o(n(c),2),U=n(p),xe=o(n(U),2);Ze(xe),l(U);var ue=o(U,2),Se=o(n(ue),2),ye=n(Se);f(()=>mt(ye,1,()=>e(g).tags,ft,(h,ge,me)=>{var we=da(),Ve=n(we),Oe=o(Ve);l(we),H(()=>{T(Ve,`${e(ge)??""} `),Je(Oe,"aria-label",`Remove tag ${e(ge)??""}`)}),I("click",Oe,()=>st(me,"update")),x(h,we)}),"each",d,866,6);var oe=o(ye,2);Ze(oe),l(Se),G(2),l(ue);var _e=o(ue,2),ze=o(n(_e),2);gt(ze);var ke=o(ze,2),Ke=n(ke);l(ke),l(_e);var Be=o(_e,2),Z=n(Be);f(()=>q(Z,{type:"button",variant:"secondary",$$events:{click:()=>r(te,!1)},children:z(d,(h,ge)=>{G();var me=se("Cancel");x(h,me)}),$$slots:{default:!0}}),"component",d,914,5,{componentTag:"Button"});var Ee=o(Z,2);f(()=>q(Ee,{type:"submit",variant:"primary",children:z(d,(h,ge)=>{G();var me=se("Update");x(h,me)}),$$slots:{default:!0}}),"component",d,921,5,{componentTag:"Button"}),l(Be),l(p),l(c),H(()=>{Je(oe,"placeholder",v(e(g).tags.length,0)?"Type and press space to add tags...":""),T(Ke,`${e(g).description.length??""} / 8192 characters`)}),je(xe,()=>e(g).name,h=>L(g,e(g).name=h)),je(oe,()=>e(w),h=>r(w,h)),I("keydown",oe,h=>C(h,"update")),I("blur",oe,()=>re("update")),je(ze,()=>e(g).description,h=>L(g,e(g).description=h)),I("submit",p,vt(Le)),x(a,c)}),$$slots:{default:!0}}),"component",d,844,1,{componentTag:"Modal"})};f(()=>Fe(pt,t=>{e(te)&&e(k)&&t(Et)}),"if",d,843,0)}var Ot=o(pt,2);{var Ut=t=>{f(()=>ea(t,{title:"Delete Object",get message(){return`Are you sure you want to delete the object '${e(k).name??""}'? This action cannot be undone.`},$$events:{confirm:ce,close:()=>{r(ee,!1),r(k,null)}}}),"component",d,935,1,{componentTag:"DeleteModal"})};f(()=>Fe(Ot,t=>{e(ee)&&e(k)&&t(Ut)}),"if",d,934,0)}return H(()=>Vt(Dt,0,`w-4 h-4 ml-1 transform ${e(de)?"rotate-180":""}`)),I("click",qe,()=>r(de,!e(de))),x(Qe,lt),Tt({...kt()})}export{d as component}; diff --git a/webapp/assets/_app/immutable/nodes/13.B33JDb5v.js b/webapp/assets/_app/immutable/nodes/13.B33JDb5v.js deleted file mode 100644 index 01391acd..00000000 --- a/webapp/assets/_app/immutable/nodes/13.B33JDb5v.js +++ /dev/null @@ -1 +0,0 @@ -import{c as yt,a as k,b as f,l as ht,s as b,f as w,d as _t,e as M,r as kt,t as Ce}from"../chunks/CxOx-TIJ.js";import{i as wt}from"../chunks/3NxSoY2_.js";import{p as jt,o as $t,l as Dt,b as Tt,f as ce,d as u,t as z,a as Mt,s,g as e,m as D,u as c,h as Z,F as h,c as r,n as B,j as n,r as a,w as me,i as V,k as ee}from"../chunks/DzFKsO_V.js";import{s as Bt,a as Ft,i as F,v as Ot}from"../chunks/B_jyf0qs.js";import{e as Ne,i as Pe}from"../chunks/CdXRaxkX.js";import{w as ve}from"../chunks/DoJxysSt.js";import{c as ge,d as ue,g as pe,r as ze,B as Re}from"../chunks/BguOOs3x.js";import{b as xe}from"../chunks/BVM1034P.js";import{p as At}from"../chunks/CdEA5IGF.js";import{p as He}from"../chunks/DgabA6iF.js";import{g as Et}from"../chunks/BzzAh3Be.js";import{t as O}from"../chunks/li_-Mkq2.js";import{e as te}from"../chunks/BZiHL9L3.js";import{f as qe,a as ae}from"../chunks/aK-A9Gop.js";import{D as St}from"../chunks/DL1RlOO9.js";import{M as Ut}from"../chunks/Pgjt70l7.js";import{B as It}from"../chunks/1CdJgrM6.js";o[h]="src/routes/objects/[id]/+page.svelte";var Lt=k(w('

Error

'),o[h],[[224,1,[[225,2,[[226,3,[[227,4],[228,4]]]]]]]]),Ct=k(w('

Loading object details...

'),o[h],[[235,1,[[236,2,[[237,3],[238,3]]]]]]),Nt=k(w('
'),o[h],[[311,7]]),Pt=k(w('No tags'),o[h],[[317,7]]),zt=k(w('

Description

'),o[h],[[327,2,[[328,3],[329,3]]]]),Rt=k(w('

File Information

ID:
Name:
Size:
File Type:
SHA256:

Metadata & Timestamps

Created At:
Updated At:
Tags:
',1),o[h],[[243,1,[[245,2,[[246,3,[[247,4],[248,4,[[249,5],[255,5],[261,5]]]]],[269,3,[[270,4,[[271,5],[272,5]]],[274,4,[[275,5],[276,5]]],[278,4,[[279,5],[280,5]]],[282,4,[[283,5],[284,5]]],[286,4,[[287,5],[288,5]]]]]]],[296,2,[[297,3],[298,3,[[299,4,[[300,5],[301,5]]],[303,4,[[304,5],[305,5]]],[307,4,[[308,5],[309,5]]]]]]]]]]),Ht=k(w(' '),o[h],[[362,7,[[364,8,[[370,9,[[371,10]]]]]]]]),qt=k(w('

Update Object

Press Space or Enter to add a tag. Press Backspace on empty field to remove last tag.

'),o[h],[[339,2,[[340,3],[342,3,[[343,4,[[344,5],[347,5]]],[356,4,[[357,5],[360,5,[[376,6]]],[386,5]]],[391,4,[[392,5],[395,5],[403,5]]],[408,4]]]]]]),Kt=k(w(' ',1),o[h],[[203,0,[[204,1,[[205,2,[[206,3]]],[210,2,[[211,3,[[212,4,[[213,5]]],[215,4]]]]]]]]]]);function o(Ke,Ge){yt(new.target),jt(Ge,!1,o);const[Je,Qe]=Bt(),fe=()=>(Ot(He,"page"),Ft(He,"$page",Je)),re=D();let t=D(null),W=D(!0),A=D(""),de=D(!1),R=D(!1),i=D({name:"",tags:[],description:""}),E=D("");$t(async()=>{(await B(be()))()});async function be(){if(!e(re)){n(A,"Invalid object ID"),n(W,!1);return}try{n(W,!0),n(A,""),n(t,(await B(pe.getFileObject(e(re))))())}catch(d){n(A,te(d)),O.add({type:"error",title:"Failed to load object",message:e(A)})}finally{n(W,!1)}}async function Ve(){if(e(t)?.id)try{(await B(pe.deleteFileObject(e(t).id.toString())))(),O.add({type:"success",title:"Object deleted",message:`Object "${e(t).name}" has been deleted successfully.`}),Et(ge("/objects"))}catch(d){const l=te(d);O.add({type:"error",title:"Failed to delete object",message:l})}}async function We(){if(e(t)?.id)try{const l=`${window.location.origin}/api/v1/objects/${e(t).id}/download`,m=(await B(fetch(l,{method:"HEAD",credentials:"include"})))();if(!m.ok){const p=(await B(m.text()))();throw new Error(p||`Download failed with status ${m.status}`)}const v=document.createElement("a");v.href=l,v.download=e(t).name||"download",document.body.appendChild(v),v.click(),document.body.removeChild(v),O.add({type:"success",title:"Download started",message:`Downloading "${e(t).name}"...`})}catch(d){const l=te(d);O.add({type:"error",title:"Download failed",message:l})}}function Xe(){e(t)&&(n(i,{name:e(t).name||"",tags:e(t).tags||[],description:e(t).description||""}),n(E,""),n(R,!0))}async function Ye(){if(e(t)?.id)try{(await B(pe.updateFileObject(e(t).id.toString(),{name:e(i).name||void 0,tags:e(i).tags,description:e(i).description||void 0})))(),O.add({type:"success",title:"Object updated",message:"Object has been updated successfully."}),n(R,!1),(await B(be()))()}catch(d){const l=te(d);O.add({type:"error",title:"Failed to update object",message:l})}}function Ze(d){const m=d.target.value.trim();(V(d.key," ")||V(d.key,"Enter"))&&m?(d.preventDefault(),ye(m),n(E,"")):V(d.key,"Backspace")&&!m&&e(i).tags.length>0&&(d.preventDefault(),he(e(i).tags.length-1))}function et(){const d=e(E).trim();d&&(ye(d),n(E,""))}function ye(d){const l=d.trim().toLowerCase();l&&(e(i).tags.includes(l)||ee(i,e(i).tags=[...e(i).tags,l]))}function he(d){ee(i,e(i).tags=e(i).tags.filter((l,m)=>V(m,d,!1)))}Dt(()=>fe(),()=>{n(re,fe().params.id||"")}),Tt(),wt();var _e=Kt(),se=ce(_e),ke=r(se),oe=r(ke),tt=r(oe);a(oe);var we=s(oe,2),je=r(we),$e=s(r(je),2),at=r($e,!0);a($e),a(je),a(we),a(ke),a(se);var De=s(se,2);{var rt=d=>{var l=Lt(),m=r(l),v=r(m),p=s(r(v),2),j=r(p,!0);a(p),a(v),a(m),a(l),z(()=>b(j,e(A))),f(d,l)};u(()=>F(De,d=>{e(A)&&d(rt)}),"if",o,223,0)}var Te=s(De,2);{var dt=d=>{var l=Ct();f(d,l)},st=d=>{var l=_t(),m=ce(l);{var v=p=>{var j=Rt(),S=ce(j),T=r(S),U=r(T),H=s(r(U),2),$=r(H),I=s($,2),q=s(I,2);a(H),a(U);var K=s(U,2),G=r(K),J=s(r(G),2),X=r(J,!0);a(J),a(G);var Q=s(G,2),g=s(r(Q),2),L=r(g,!0);a(g),a(Q);var _=s(Q,2),C=s(r(_),2),Y=r(C,!0);a(C),a(_);var N=s(_,2),Be=s(r(N),2),ct=r(Be,!0);a(Be),a(N);var Fe=s(N,2),Oe=s(r(Fe),2),mt=r(Oe,!0);a(Oe),a(Fe),a(K),a(T);var Ae=s(T,2),Ee=s(r(Ae),2),ie=r(Ee),Se=s(r(ie),2),vt=r(Se,!0);a(Se),a(ie);var le=s(ie,2),Ue=s(r(le),2),gt=r(Ue,!0);a(Ue),a(le);var Ie=s(le,2),Le=s(r(Ie),2),ut=r(Le);{var pt=x=>{var y=Nt();u(()=>Ne(y,5,()=>(e(t),c(()=>e(t).tags)),Pe,(P,ne)=>{u(()=>It(P,{variant:"blue",get text(){return e(ne)}}),"component",o,313,9,{componentTag:"Badge"})}),"each",o,312,8),a(y),f(x,y)},xt=x=>{var y=Pt();f(x,y)};u(()=>F(ut,x=>{e(t),c(()=>e(t).tags&&e(t).tags.length>0)?x(pt):x(xt,!1)}),"if",o,310,6)}a(Le),a(Ie),a(Ee),a(Ae),a(S);var ft=s(S,2);{var bt=x=>{var y=zt(),P=s(r(y),2),ne=r(P,!0);a(P),a(y),z(()=>b(ne,(e(t),c(()=>e(t).description)))),f(x,y)};u(()=>F(ft,x=>{e(t),c(()=>e(t).description)&&x(bt)}),"if",o,326,1)}z((x,y,P)=>{b(X,(e(t),c(()=>e(t).id))),b(L,(e(t),c(()=>e(t).name))),b(Y,x),b(ct,(e(t),c(()=>e(t).file_type||"N/A"))),b(mt,(e(t),c(()=>e(t).sha256||"N/A"))),b(vt,y),b(gt,P)},[()=>(Z(qe),e(t),c(()=>qe(e(t).size||0))),()=>(Z(ae),e(t),c(()=>ae(e(t).created_at))),()=>(Z(ae),e(t),c(()=>ae(e(t).updated_at)))]),M("click",$,Xe),M("click",I,We),M("click",q,()=>n(de,!0)),f(p,j)};u(()=>F(m,p=>{e(t)&&p(v)},!0),"if",o,241,0)}f(d,l)};u(()=>F(Te,d=>{e(W)?d(dt):d(st,!1)}),"if",o,234,0)}var Me=s(Te,2);{var ot=d=>{u(()=>Ut(d,{$$events:{close:()=>n(R,!1)},children:ve(o,(l,m)=>{var v=qt(),p=s(r(v),2),j=r(p),S=s(r(j),2);ze(S),a(j);var T=s(j,2),U=s(r(T),2),H=r(U);u(()=>Ne(H,1,()=>(e(i),c(()=>e(i).tags)),Pe,(g,L,_)=>{var C=Ht(),Y=r(C),N=s(Y);a(C),z(()=>{b(Y,`${e(L)??""} `),ue(N,"aria-label",`Remove tag ${e(L)??""}`)}),M("click",N,()=>he(_)),f(g,C)}),"each",o,361,6);var $=s(H,2);ze($),a(U),me(2),a(T);var I=s(T,2),q=s(r(I),2);kt(q);var K=s(q,2),G=r(K);a(K),a(I);var J=s(I,2),X=r(J);u(()=>Re(X,{type:"button",variant:"secondary",$$events:{click:()=>n(R,!1)},children:ve(o,(g,L)=>{me();var _=Ce("Cancel");f(g,_)}),$$slots:{default:!0}}),"component",o,409,5,{componentTag:"Button"});var Q=s(X,2);u(()=>Re(Q,{type:"submit",variant:"primary",children:ve(o,(g,L)=>{me();var _=Ce("Update Object");f(g,_)}),$$slots:{default:!0}}),"component",o,416,5,{componentTag:"Button"}),a(J),a(p),a(v),z(()=>{ue($,"placeholder",(e(i),c(()=>V(e(i).tags.length,0)?"Type and press Space or Enter":""))),b(G,`${e(i),c(()=>e(i).description.length)??""} / 8192 characters`)}),xe(S,()=>e(i).name,g=>ee(i,e(i).name=g)),xe($,()=>e(E),g=>n(E,g)),M("keydown",$,Ze),M("blur",$,et),xe(q,()=>e(i).description,g=>ee(i,e(i).description=g)),M("submit",p,At(Ye)),f(l,v)}),$$slots:{default:!0}}),"component",o,338,1,{componentTag:"Modal"})};u(()=>F(Me,d=>{e(R)&&e(t)&&d(ot)}),"if",o,337,0)}var it=s(Me,2);{var lt=d=>{u(()=>St(d,{title:"Delete Object",get message(){return`Are you sure you want to delete the object '${e(t),c(()=>e(t).name)??""}'? This action cannot be undone.`},$$events:{confirm:Ve,close:()=>n(de,!1)}}),"component",o,430,1,{componentTag:"DeleteModal"})};u(()=>F(it,d=>{e(de)&&e(t)&&d(lt)}),"if",o,429,0)}z(d=>{ue(tt,"href",d),b(at,(e(t),c(()=>e(t)?e(t).name:"Object Details")))},[()=>(Z(ge),c(()=>ge("/objects")))]),f(Ke,_e);var nt=Mt({...ht()});return Qe(),nt}export{o as component}; diff --git a/webapp/assets/_app/immutable/nodes/13.Ck8fk5zC.js b/webapp/assets/_app/immutable/nodes/13.Ck8fk5zC.js new file mode 100644 index 00000000..b9cf7e62 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/13.Ck8fk5zC.js @@ -0,0 +1 @@ +import{f as y,a as x,s as p,c as ct,e as j,r as vt,t as Ae}from"../chunks/o8CdT7B0.js";import{i as mt}from"../chunks/ChJfoPF0.js";import{p as ut,o as gt,l as xt,b as pt,f as de,t as C,a as ft,u as n,h as J,g as e,m as k,c as r,s,d as l,r as a,n as se,j as Q}from"../chunks/DUMcBckj.js";import{i as $,s as bt,a as yt}from"../chunks/i7pKks78.js";import{e as Be,i as Ee}from"../chunks/DC7Aeygn.js";import{c as ie,d as oe,g as le,r as Se,B as Ue}from"../chunks/_9uqtkkk.js";import{b as ne}from"../chunks/BtzOUN4g.js";import{p as ht}from"../chunks/CdEA5IGF.js";import{p as _t}from"../chunks/K7MmO9Q9.js";import{g as kt}from"../chunks/BcoJ4GZv.js";import{t as D}from"../chunks/Bbk4dQfI.js";import{e as V}from"../chunks/BZiHL9L3.js";import{f as Ce,a as W}from"../chunks/aK-A9Gop.js";import{D as wt}from"../chunks/mBfsYUjq.js";import{M as jt}from"../chunks/CYPHW1bs.js";import{B as $t}from"../chunks/Bi2FJHrT.js";var Dt=y('

Error

'),Mt=y('

Loading object details...

'),Ot=y('
'),Tt=y('No tags'),Ft=y('

Description

'),At=y('

File Information

ID:
Name:
Size:
File Type:
SHA256:

Metadata & Timestamps

Created At:
Updated At:
Tags:
',1),Bt=y(' '),Et=y('

Update Object

Press Space or Enter to add a tag. Press Backspace on empty field to remove last tag.

'),St=y(' ',1);function Xt(Ie,Le){ut(Le,!1);const[Pe,ze]=bt(),ce=()=>yt(_t,"$page",Pe),X=k();let t=k(null),K=k(!0),M=k(""),Y=k(!1),I=k(!1),i=k({name:"",tags:[],description:""}),O=k("");gt(async()=>{await ve()});async function ve(){if(!e(X)){l(M,"Invalid object ID"),l(K,!1);return}try{l(K,!0),l(M,""),l(t,await le.getFileObject(e(X)))}catch(d){l(M,V(d)),D.add({type:"error",title:"Failed to load object",message:e(M)})}finally{l(K,!1)}}async function Ne(){if(e(t)?.id)try{await le.deleteFileObject(e(t).id.toString()),D.add({type:"success",title:"Object deleted",message:`Object "${e(t).name}" has been deleted successfully.`}),kt(ie("/objects"))}catch(d){const o=V(d);D.add({type:"error",title:"Failed to delete object",message:o})}}async function Re(){if(e(t)?.id)try{const o=`${window.location.origin}/api/v1/objects/${e(t).id}/download`,c=await fetch(o,{method:"HEAD",credentials:"include"});if(!c.ok){const u=await c.text();throw new Error(u||`Download failed with status ${c.status}`)}const v=document.createElement("a");v.href=o,v.download=e(t).name||"download",document.body.appendChild(v),v.click(),document.body.removeChild(v),D.add({type:"success",title:"Download started",message:`Downloading "${e(t).name}"...`})}catch(d){const o=V(d);D.add({type:"error",title:"Download failed",message:o})}}function He(){e(t)&&(l(i,{name:e(t).name||"",tags:e(t).tags||[],description:e(t).description||""}),l(O,""),l(I,!0))}async function Ke(){if(e(t)?.id)try{await le.updateFileObject(e(t).id.toString(),{name:e(i).name||void 0,tags:e(i).tags,description:e(i).description||void 0}),D.add({type:"success",title:"Object updated",message:"Object has been updated successfully."}),l(I,!1),await ve()}catch(d){const o=V(d);D.add({type:"error",title:"Failed to update object",message:o})}}function qe(d){const c=d.target.value.trim();(d.key===" "||d.key==="Enter")&&c?(d.preventDefault(),me(c),l(O,"")):d.key==="Backspace"&&!c&&e(i).tags.length>0&&(d.preventDefault(),ue(e(i).tags.length-1))}function Ge(){const d=e(O).trim();d&&(me(d),l(O,""))}function me(d){const o=d.trim().toLowerCase();o&&(e(i).tags.includes(o)||Q(i,e(i).tags=[...e(i).tags,o]))}function ue(d){Q(i,e(i).tags=e(i).tags.filter((o,c)=>c!==d))}xt(()=>ce(),()=>{l(X,ce().params.id||"")}),pt(),mt();var ge=St(),Z=de(ge),xe=r(Z),ee=r(xe),Je=r(ee);a(ee);var pe=s(ee,2),fe=r(pe),be=s(r(fe),2),Qe=r(be,!0);a(be),a(fe),a(pe),a(xe),a(Z);var ye=s(Z,2);{var Ve=d=>{var o=Dt(),c=r(o),v=r(c),u=s(r(v),2),h=r(u,!0);a(u),a(v),a(c),a(o),C(()=>p(h,e(M))),x(d,o)};$(ye,d=>{e(M)&&d(Ve)})}var he=s(ye,2);{var We=d=>{var o=Mt();x(d,o)},Xe=d=>{var o=ct(),c=de(o);{var v=u=>{var h=At(),T=de(h),w=r(T),F=r(w),L=s(r(F),2),_=r(L),A=s(_,2),P=s(A,2);a(L),a(F);var z=s(F,2),N=r(z),R=s(r(N),2),q=r(R,!0);a(R),a(N);var H=s(N,2),m=s(r(H),2),B=r(m,!0);a(m),a(H);var b=s(H,2),E=s(r(b),2),G=r(E,!0);a(E),a(b);var S=s(b,2),ke=s(r(S),2),tt=r(ke,!0);a(ke),a(S);var we=s(S,2),je=s(r(we),2),at=r(je,!0);a(je),a(we),a(z),a(w);var $e=s(w,2),De=s(r($e),2),te=r(De),Me=s(r(te),2),rt=r(Me,!0);a(Me),a(te);var ae=s(te,2),Oe=s(r(ae),2),dt=r(Oe,!0);a(Oe),a(ae);var Te=s(ae,2),Fe=s(r(Te),2),st=r(Fe);{var it=g=>{var f=Ot();Be(f,5,()=>(e(t),n(()=>e(t).tags)),Ee,(U,re)=>{$t(U,{variant:"blue",get text(){return e(re)}})}),a(f),x(g,f)},ot=g=>{var f=Tt();x(g,f)};$(st,g=>{e(t),n(()=>e(t).tags&&e(t).tags.length>0)?g(it):g(ot,!1)})}a(Fe),a(Te),a(De),a($e),a(T);var lt=s(T,2);{var nt=g=>{var f=Ft(),U=s(r(f),2),re=r(U,!0);a(U),a(f),C(()=>p(re,(e(t),n(()=>e(t).description)))),x(g,f)};$(lt,g=>{e(t),n(()=>e(t).description)&&g(nt)})}C((g,f,U)=>{p(q,(e(t),n(()=>e(t).id))),p(B,(e(t),n(()=>e(t).name))),p(G,g),p(tt,(e(t),n(()=>e(t).file_type||"N/A"))),p(at,(e(t),n(()=>e(t).sha256||"N/A"))),p(rt,f),p(dt,U)},[()=>(J(Ce),e(t),n(()=>Ce(e(t).size||0))),()=>(J(W),e(t),n(()=>W(e(t).created_at))),()=>(J(W),e(t),n(()=>W(e(t).updated_at)))]),j("click",_,He),j("click",A,Re),j("click",P,()=>l(Y,!0)),x(u,h)};$(c,u=>{e(t)&&u(v)},!0)}x(d,o)};$(he,d=>{e(K)?d(We):d(Xe,!1)})}var _e=s(he,2);{var Ye=d=>{jt(d,{$$events:{close:()=>l(I,!1)},children:(o,c)=>{var v=Et(),u=s(r(v),2),h=r(u),T=s(r(h),2);Se(T),a(h);var w=s(h,2),F=s(r(w),2),L=r(F);Be(L,1,()=>(e(i),n(()=>e(i).tags)),Ee,(m,B,b)=>{var E=Bt(),G=r(E),S=s(G);a(E),C(()=>{p(G,`${e(B)??""} `),oe(S,"aria-label",`Remove tag ${e(B)??""}`)}),j("click",S,()=>ue(b)),x(m,E)});var _=s(L,2);Se(_),a(F),se(2),a(w);var A=s(w,2),P=s(r(A),2);vt(P);var z=s(P,2),N=r(z);a(z),a(A);var R=s(A,2),q=r(R);Ue(q,{type:"button",variant:"secondary",$$events:{click:()=>l(I,!1)},children:(m,B)=>{se();var b=Ae("Cancel");x(m,b)},$$slots:{default:!0}});var H=s(q,2);Ue(H,{type:"submit",variant:"primary",children:(m,B)=>{se();var b=Ae("Update Object");x(m,b)},$$slots:{default:!0}}),a(R),a(u),a(v),C(()=>{oe(_,"placeholder",(e(i),n(()=>e(i).tags.length===0?"Type and press Space or Enter":""))),p(N,`${e(i),n(()=>e(i).description.length)??""} / 8192 characters`)}),ne(T,()=>e(i).name,m=>Q(i,e(i).name=m)),ne(_,()=>e(O),m=>l(O,m)),j("keydown",_,qe),j("blur",_,Ge),ne(P,()=>e(i).description,m=>Q(i,e(i).description=m)),j("submit",u,ht(Ke)),x(o,v)},$$slots:{default:!0}})};$(_e,d=>{e(I)&&e(t)&&d(Ye)})}var Ze=s(_e,2);{var et=d=>{wt(d,{title:"Delete Object",get message(){return`Are you sure you want to delete the object '${e(t),n(()=>e(t).name)??""}'? This action cannot be undone.`},$$events:{confirm:Ne,close:()=>l(Y,!1)}})};$(Ze,d=>{e(Y)&&e(t)&&d(et)})}C(d=>{oe(Je,"href",d),p(Qe,(e(t),n(()=>e(t)?e(t).name:"Object Details")))},[()=>(J(ie),n(()=>ie("/objects")))]),x(Ie,ge),ft(),ze()}export{Xt as component}; diff --git a/webapp/assets/_app/immutable/nodes/14.3rNSWGL0.js b/webapp/assets/_app/immutable/nodes/14.3rNSWGL0.js new file mode 100644 index 00000000..81fe05a1 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/14.3rNSWGL0.js @@ -0,0 +1 @@ +import{f as E,a as T,s as de,e as Pe,h as Qe}from"../chunks/o8CdT7B0.js";import{i as je}from"../chunks/ChJfoPF0.js";import{p as Ge,v as Xe,o as Le,l as x,d as a,m as l,g as e,j as F,b as Ne,s,c as o,r as n,t as K,k as Ue,u as v,n as Me,a as qe,f as Ze,$ as et,h as P,i as be}from"../chunks/DUMcBckj.js";import{a as He,i as Q,s as Je}from"../chunks/i7pKks78.js";import{r as le,b as Re,h as tt,c as We,d as at,g as ve}from"../chunks/_9uqtkkk.js";import{e as rt,i as ot}from"../chunks/DC7Aeygn.js";import{b as Ie,a as Te}from"../chunks/BtzOUN4g.js";import{p as nt}from"../chunks/CdEA5IGF.js";import{M as it}from"../chunks/CYPHW1bs.js";import{F as st}from"../chunks/CbREEdny.js";import{e as Ae}from"../chunks/BZiHL9L3.js";import{e as Ve,a as Se}from"../chunks/zgwRPQVC.js";import{U as lt}from"../chunks/Dk1ODhlO.js";import{D as dt}from"../chunks/mBfsYUjq.js";import{P as ct}from"../chunks/UrL2GjpD.js";import{t as Y}from"../chunks/Bbk4dQfI.js";import{k as Ee,g as De,l as ut}from"../chunks/DQsxKNC2.js";import{B as gt}from"../chunks/Bi2FJHrT.js";import{D as mt,G as pt}from"../chunks/DG4LDt2Z.js";import{A as Be}from"../chunks/FjbxnYNv.js";import{E as ft}from"../chunks/llowLxE6.js";import{E as bt}from"../chunks/BqCROW90.js";import{S as vt}from"../chunks/C0gwpZbz.js";import{A as ht}from"../chunks/7XD7ITBY.js";var yt=E('

'),_t=E('

Loading...

'),xt=E(""),kt=E(''),wt=E('

Webhook secret will be automatically generated

'),zt=E('
'),$t=E('

Create Organization

');function Ct(he,ye){Ge(ye,!1);const[_e,xe]=Je(),f=()=>He(Ve,"$eagerCache",_e),D=l(),w=l(),z=l(),X=l(),$=Xe();let C=l(!1),b=l(""),h=l("github"),r=l({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin",agent_mode:!1}),k=l(!0),p=l(!0);async function U(){if(!f().loaded.credentials&&!f().loading.credentials)try{await Se.getCredentials()}catch(d){a(b,Ae(d))}}function B(d){a(h,d.detail),F(r,e(r).credentials_name="")}function u(){if(e(r).credentials_name){const d=e(D).find(j=>j.name===e(r).credentials_name);d&&d.forge_type&&a(h,d.forge_type)}}function ke(){const d=new Uint8Array(32);return crypto.getRandomValues(d),Array.from(d,j=>j.toString(16).padStart(2,"0")).join("")}async function we(){if(!e(r).name?.trim()){a(b,"Organization name is required");return}if(!e(r).credentials_name){a(b,"Please select credentials");return}try{a(C,!0),a(b,"");const d={...e(r),install_webhook:e(k),auto_generate_secret:e(p)};$("submit",d)}catch(d){a(b,d instanceof Error?d.message:"Failed to create organization"),a(C,!1)}}Le(()=>{U()}),x(()=>f(),()=>{a(D,f().credentials)}),x(()=>f(),()=>{a(w,f().loading.credentials)}),x(()=>(e(D),e(h)),()=>{a(z,e(D).filter(d=>e(h)?d.forge_type===e(h):!0))}),x(()=>e(p),()=>{e(p)?F(r,e(r).webhook_secret=ke()):e(p)||F(r,e(r).webhook_secret="")}),x(()=>(e(r),e(p)),()=>{a(X,e(r).name?.trim()!==""&&e(r).credentials_name!==""&&(e(p)||e(r).webhook_secret&&e(r).webhook_secret.trim()!==""))}),Ne(),je(),it(he,{$$events:{close:()=>$("close")},children:(d,j)=>{var Z=$t(),G=s(o(Z),2);{var ee=y=>{var _=yt(),R=o(_),W=o(R,!0);n(R),n(_),K(()=>de(W,e(b))),T(y,_)};Q(G,y=>{e(b)&&y(ee)})}var ze=s(G,2);{var $e=y=>{var _=_t();T(y,_)},Ce=y=>{var _=zt(),R=o(_);st(R,{get selectedForgeType(){return e(h)},set selectedForgeType(i){a(h,i)},$$events:{select:B},$$legacy:!0});var W=s(R,2),ce=s(o(W),2);le(ce),n(W);var L=s(W,2),A=s(o(L),2);K(()=>{e(r),Ue(()=>{e(z)})});var N=o(A);N.value=N.__value="";var Oe=s(N);rt(Oe,1,()=>e(z),ot,(i,m)=>{var O=xt(),fe=o(O);n(O);var se={};K(()=>{de(fe,`${e(m),v(()=>e(m).name)??""} (${e(m),v(()=>e(m).endpoint?.name||"Unknown endpoint")??""})`),se!==(se=(e(m),v(()=>e(m).name)))&&(O.value=(O.__value=(e(m),v(()=>e(m).name)))??"")}),T(i,O)}),n(A),n(L);var q=s(L,2),te=s(o(q),2);K(()=>{e(r),Ue(()=>{})});var H=o(te);H.value=H.__value="roundrobin";var ue=s(H);ue.value=ue.__value="pack",n(te),n(q);var ae=s(q,2),ge=o(ae),t=o(ge);le(t),Me(4),n(ge),n(ae);var c=s(ae,2),I=o(c),M=o(I);le(M),Me(2),n(I);var g=s(I,2),S=o(g),J=o(S);le(J),Me(2),n(S);var re=s(S,2);{var oe=i=>{var m=kt();le(m),Ie(m,()=>e(r).webhook_secret,O=>F(r,e(r).webhook_secret=O)),T(i,m)},ne=i=>{var m=wt();T(i,m)};Q(re,i=>{e(p)?i(ne,!1):i(oe)})}n(g),n(c);var me=s(c,2),ie=o(me),V=s(ie,2),pe=o(V,!0);n(V),n(me),n(_),K(()=>{V.disabled=e(C)||e(w)||!e(X),de(pe,e(C)?"Creating...":"Create Organization")}),Ie(ce,()=>e(r).name,i=>F(r,e(r).name=i)),Re(A,()=>e(r).credentials_name,i=>F(r,e(r).credentials_name=i)),Pe("change",A,u),Re(te,()=>e(r).pool_balancer_type,i=>F(r,e(r).pool_balancer_type=i)),Te(t,()=>e(r).agent_mode,i=>F(r,e(r).agent_mode=i)),Te(M,()=>e(k),i=>a(k,i)),Te(J,()=>e(p),i=>a(p,i)),Pe("click",ie,()=>$("close")),Pe("submit",_,nt(we)),T(y,_)};Q(ze,y=>{e(C)?y($e):y(Ce,!1)})}n(Z),T(d,Z)},$$slots:{default:!0}}),qe(),xe()}var Ot=E(''),Pt=E('
',1);function Zt(he,ye){Ge(ye,!1);const[_e,xe]=Je(),f=()=>He(Ve,"$eagerCache",_e),D=l(),w=l(),z=l(),X=l();let $=l([]),C=l(!0),b=l(""),h=l(""),r=l(1),k=l(25),p=l(!1),U=l(!1),B=l(!1),u=l(null);function ke(){a(p,!1),a(B,!1),a(U,!1)}async function we(t){try{a(b,"");const c=t.detail,I={name:c.name,credentials_name:c.credentials_name,webhook_secret:c.webhook_secret,pool_balancer_type:c.pool_balancer_type},M=await ve.createOrganization(I);if(c.install_webhook&&M.id)try{await ve.installOrganizationWebhook(M.id),Y.success("Webhook Installed",`Webhook for organization ${M.name} has been installed successfully.`)}catch(g){console.warn("Organization created but webhook installation failed:",g),Y.error("Webhook Installation Failed",g instanceof Error?g.message:"Failed to install webhook. You can try installing it manually from the organization details page.")}Y.success("Organization Created",`Organization ${M.name} has been created successfully.`),a(p,!1)}catch(c){throw a(b,Ae(c)),c}}async function d(t){if(e(u))try{await ve.updateOrganization(e(u).id,t),Y.success("Organization Updated",`Organization ${e(u).name} has been updated successfully.`),a(U,!1),a(u,null)}catch(c){throw c}}async function j(){if(e(u))try{a(b,""),await ve.deleteOrganization(e(u).id),Y.success("Organization Deleted",`Organization ${e(u).name} has been deleted successfully.`),a(u,null)}catch(t){const c=Ae(t);Y.error("Delete Failed",c)}finally{ke()}}function Z(){a(p,!0)}function G(t){a(u,t),a(U,!0)}function ee(t){a(u,t),a(B,!0)}Le(async()=>{try{a(C,!0);const t=await Se.getOrganizations();t&&Array.isArray(t)&&a($,t)}catch(t){console.error("Failed to load organizations:",t),a(b,t instanceof Error?t.message:"Failed to load organizations")}finally{a(C,!1)}});async function ze(){try{await Se.retryResource("organizations")}catch(t){console.error("Retry failed:",t)}}const $e=[{key:"name",title:"Name",cellComponent:ft,cellProps:{entityType:"organization"}},{key:"endpoint",title:"Endpoint",cellComponent:bt},{key:"credentials",title:"Credentials",cellComponent:pt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:vt,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:ht}],Ce={entityType:"organization",primaryText:{field:"name",isClickable:!0,href:"/organizations/{id}"},customInfo:[{icon:t=>De(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>Ee(t)}],actions:[{type:"edit",handler:t=>G(t)},{type:"delete",handler:t=>ee(t)}]};function y(t){a(h,t.detail.term),a(r,1)}function _(t){a(r,t.detail.page)}function R(t){a(k,t.detail.perPage),a(r,1)}function W(t){G(t.detail.item)}function ce(t){ee(t.detail.item)}x(()=>(e($),f()),()=>{(!e($).length||f().loaded.organizations)&&a($,f().organizations)}),x(()=>f(),()=>{a(C,f().loading.organizations)}),x(()=>f(),()=>{a(D,f().errorMessages.organizations)}),x(()=>(e($),e(h)),()=>{a(w,ut(e($),e(h)))}),x(()=>(e(w),e(k)),()=>{a(z,Math.ceil(e(w).length/e(k)))}),x(()=>(e(r),e(z)),()=>{e(r)>e(z)&&e(z)>0&&a(r,e(z))}),x(()=>(e(w),e(r),e(k)),()=>{a(X,e(w).slice((e(r)-1)*e(k),e(r)*e(k)))}),Ne(),je();var L=Pt();Qe(t=>{et.title="Organizations - GARM"});var A=Ze(L),N=o(A);ct(N,{title:"Organizations",description:"Manage GitHub and Gitea organizations",actionLabel:"Add Organization",$$events:{action:Z}});var Oe=s(N,2);{let t=be(()=>e(D)||e(b)),c=be(()=>!!e(D));mt(Oe,{get columns(){return $e},get data(){return e(X)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(h)},searchPlaceholder:"Search organizations...",get currentPage(){return e(r)},get perPage(){return e(k)},get totalPages(){return e(z)},get totalItems(){return e(w),v(()=>e(w).length)},itemName:"organizations",emptyIconType:"building",get showRetry(){return e(c)},get mobileCardConfig(){return Ce},$$events:{search:y,pageChange:_,perPageChange:R,retry:ze,edit:W,delete:ce},$$slots:{"mobile-card":(I,M)=>{const g=be(()=>M.item),S=be(()=>(P(Ee),P(e(g)),v(()=>Ee(e(g)))));var J=Ot(),re=o(J),oe=o(re),ne=o(oe),me=o(ne,!0);n(ne);var ie=s(ne,2),V=o(ie),pe=o(V);tt(pe,()=>(P(De),P(e(g)),v(()=>De(e(g).endpoint?.endpoint_type||"unknown"))));var i=s(pe,2),m=o(i,!0);n(i),n(V),n(ie),n(oe),n(re);var O=s(re,2),fe=o(O);gt(fe,{get variant(){return P(e(S)),v(()=>e(S).variant)},get text(){return P(e(S)),v(()=>e(S).text)}});var se=s(fe,2),Fe=o(se);Be(Fe,{action:"edit",size:"sm",title:"Edit organization",ariaLabel:"Edit organization",$$events:{click:()=>G(e(g))}});var Ye=s(Fe,2);Be(Ye,{action:"delete",size:"sm",title:"Delete organization",ariaLabel:"Delete organization",$$events:{click:()=>ee(e(g))}}),n(se),n(O),n(J),K(Ke=>{at(oe,"href",Ke),de(me,(P(e(g)),v(()=>e(g).name))),de(m,(P(e(g)),v(()=>e(g).endpoint?.name||"Unknown")))},[()=>(P(We),P(e(g)),v(()=>We(`/organizations/${e(g).id}`)))]),T(I,J)}}})}n(A);var q=s(A,2);{var te=t=>{Ct(t,{$$events:{close:()=>a(p,!1),submit:we}})};Q(q,t=>{e(p)&&t(te)})}var H=s(q,2);{var ue=t=>{lt(t,{get entity(){return e(u)},entityType:"organization",$$events:{close:()=>{a(U,!1),a(u,null)},submit:c=>d(c.detail)}})};Q(H,t=>{e(U)&&e(u)&&t(ue)})}var ae=s(H,2);{var ge=t=>{dt(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone.",get itemName(){return e(u),v(()=>e(u).name)},$$events:{close:()=>{a(B,!1),a(u,null)},confirm:j}})};Q(ae,t=>{e(B)&&e(u)&&t(ge)})}T(he,L),qe(),xe()}export{Zt as component}; diff --git a/webapp/assets/_app/immutable/nodes/14.DsQEpiva.js b/webapp/assets/_app/immutable/nodes/14.DsQEpiva.js deleted file mode 100644 index 2787cf40..00000000 --- a/webapp/assets/_app/immutable/nodes/14.DsQEpiva.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Xe,a as S,s as ve,b as F,e as Ue,l as Ze,f as B,h as ct}from"../chunks/CxOx-TIJ.js";import{i as et}from"../chunks/3NxSoY2_.js";import{p as tt,B as gt,o as at,l as z,j as a,m as l,g as e,i as me,k as R,b as rt,d as p,s,c as o,r as n,t as te,v as Je,u as _,w as Ie,a as ot,n as J,F as C,f as ut,$ as mt,e as pe,y as pt,h as A}from"../chunks/DzFKsO_V.js";import{a as nt,i as ae,s as it,v as st}from"../chunks/B_jyf0qs.js";import{r as fe,b as Ve,h as ft,d as vt,c as Ye,g as ze}from"../chunks/BguOOs3x.js";import{l as Re}from"../chunks/BAcG6-Ep.js";import{e as bt,i as ht}from"../chunks/CdXRaxkX.js";import{w as yt}from"../chunks/DoJxysSt.js";import{b as Ke,a as We}from"../chunks/BVM1034P.js";import{p as _t}from"../chunks/CdEA5IGF.js";import{M as xt}from"../chunks/Pgjt70l7.js";import{F as kt}from"../chunks/DvQW-lMP.js";import{e as je}from"../chunks/BZiHL9L3.js";import{e as $e,a as Ge}from"../chunks/Penjr-j0.js";import{U as wt}from"../chunks/B8GNZv7s.js";import{D as zt}from"../chunks/DL1RlOO9.js";import{P as $t}from"../chunks/DTko0dwG.js";import{t as ee}from"../chunks/li_-Mkq2.js";import{k as Le,g as Ne,l as Ct}from"../chunks/JkzpcrZD.js";import{B as Tt}from"../chunks/1CdJgrM6.js";import{D as Mt,E as Ot,a as Pt,G as Et,S as At,A as Dt}from"../chunks/C2FKJqnN.js";import{A as Qe}from"../chunks/Ct5kWObc.js";f[C]="src/lib/components/CreateOrganizationModal.svelte";var Ft=S(B('

'),f[C],[[124,3,[[125,4]]]]),St=S(B('

Loading...

'),f[C],[[130,3,[[131,4],[132,4]]]]),Bt=S(B(""),f[C],[[171,7]]),Ut=S(B(''),f[C],[[261,7]]),It=S(B('

Webhook secret will be automatically generated

'),f[C],[[268,7]]),Rt=S(B('
'),f[C],[[135,3,[[143,4,[[144,5],[147,5]]],[158,4,[[159,5],[162,5,[[169,6]]]]],[179,4,[[180,5,[[181,6],[184,6,[[185,7,[[186,8]]],[188,7,[[189,8,[[190,9]]],[192,8,[[193,9]]],[195,8]]]]]]],[199,5,[[204,6],[205,6]]]]],[210,4,[[211,5,[[212,6],[218,6],[221,6,[[222,7,[[223,8]]],[225,7,[[227,8]]]]]]]]],[234,4,[[235,5,[[236,6],[242,6]]],[247,5,[[248,6,[[249,7],[255,7]]]]]]],[276,4,[[277,5],[284,5]]]]]]),Wt=S(B('

Create Organization

'),f[C],[[120,1,[[121,2]]]]);function f(Ce,Te){Xe(new.target),tt(Te,!1,f);const[Me,Oe]=it(),h=()=>(st($e,"eagerCache"),nt($e,"$eagerCache",Me)),U=l(),T=l(),M=l(),re=l(),O=gt();let P=l(!1),y=l(""),x=l("github"),r=l({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin",agent_mode:!1}),$=l(!0),v=l(!0);async function W(){if(!h().loaded.credentials&&!h().loading.credentials)try{(await J(Ge.getCredentials()))()}catch(d){a(y,je(d))}}function V(d){a(x,d.detail),R(r,e(r).credentials_name="")}function c(){if(e(r).credentials_name){const d=e(U).find(Y=>me(Y.name,e(r).credentials_name));d&&d.forge_type&&a(x,d.forge_type)}}function Pe(){const d=new Uint8Array(32);return crypto.getRandomValues(d),Array.from(d,Y=>Y.toString(16).padStart(2,"0")).join("")}async function Ee(){if(!e(r).name?.trim()){a(y,"Organization name is required");return}if(!e(r).credentials_name){a(y,"Please select credentials");return}try{a(P,!0),a(y,"");const d={...e(r),install_webhook:e($),auto_generate_secret:e(v)};O("submit",d)}catch(d){a(y,d instanceof Error?d.message:"Failed to create organization"),a(P,!1)}}at(()=>{W()}),z(()=>h(),()=>{a(U,h().credentials)}),z(()=>h(),()=>{a(T,h().loading.credentials)}),z(()=>(e(U),e(x)),()=>{a(M,e(U).filter(d=>e(x)?me(d.forge_type,e(x)):!0))}),z(()=>e(v),()=>{e(v)?R(r,e(r).webhook_secret=Pe()):e(v)||R(r,e(r).webhook_secret="")}),z(()=>(e(r),e(v)),()=>{a(re,me(e(r).name?.trim(),"",!1)&&me(e(r).credentials_name,"",!1)&&(e(v)||e(r).webhook_secret&&me(e(r).webhook_secret.trim(),"",!1)))}),rt(),et(),p(()=>xt(Ce,{$$events:{close:()=>O("close")},children:yt(f,(d,Y)=>{var L=Wt(),K=s(o(L),2);{var De=k=>{var w=Ft(),N=o(w),j=o(N,!0);n(N),n(w),te(()=>ve(j,e(y))),F(k,w)};p(()=>ae(K,k=>{e(y)&&k(De)}),"if",f,123,2)}var Fe=s(K,2);{var Se=k=>{var w=St();F(k,w)},Be=k=>{var w=Rt(),N=o(w);p(()=>kt(N,{get selectedForgeType(){return e(x)},set selectedForgeType(i){a(x,i)},$$events:{select:V},$$legacy:!0}),"component",f,137,4,{componentTag:"ForgeTypeSelector"});var j=s(N,2),oe=s(o(j),2);fe(oe),n(j);var G=s(j,2),q=s(o(G),2);te(()=>{e(r),Je(()=>{e(M)})});var ne=o(q);ne.value=ne.__value="";var be=s(ne);p(()=>bt(be,1,()=>e(M),ht,(i,m)=>{var D=Bt(),we=o(D);n(D);var ue={};te(()=>{ve(we,`${e(m),_(()=>e(m).name)??""} (${e(m),_(()=>e(m).endpoint?.name||"Unknown endpoint")??""})`),ue!==(ue=(e(m),_(()=>e(m).name)))&&(D.value=(D.__value=(e(m),_(()=>e(m).name)))??"")}),F(i,D)}),"each",f,170,6),n(q),n(G);var ie=s(G,2),Q=s(o(ie),2);te(()=>{e(r),Je(()=>{})});var se=o(Q);se.value=se.__value="roundrobin";var he=s(se);he.value=he.__value="pack",n(Q),n(ie);var le=s(ie,2),ye=o(le),t=o(ye);fe(t),Ie(4),n(ye),n(le);var g=s(le,2),H=o(g),E=o(H);fe(E),Ie(2),n(H);var u=s(H,2),_e=o(u),I=o(_e);fe(I),Ie(2),n(_e);var de=s(_e,2);{var ce=i=>{var m=Ut();fe(m),Ke(m,()=>e(r).webhook_secret,D=>R(r,e(r).webhook_secret=D)),F(i,m)},ge=i=>{var m=It();F(i,m)};p(()=>ae(de,i=>{e(v)?i(ge,!1):i(ce)}),"if",f,260,6)}n(u),n(g);var X=s(g,2),xe=o(X),Z=s(xe,2),ke=o(Z,!0);n(Z),n(X),n(w),te(()=>{Z.disabled=e(P)||e(T)||!e(re),ve(ke,e(P)?"Creating...":"Create Organization")}),Ke(oe,()=>e(r).name,i=>R(r,e(r).name=i)),Ve(q,()=>e(r).credentials_name,i=>R(r,e(r).credentials_name=i)),Ue("change",q,c),Ve(Q,()=>e(r).pool_balancer_type,i=>R(r,e(r).pool_balancer_type=i)),We(t,()=>e(r).agent_mode,i=>R(r,e(r).agent_mode=i)),We(E,()=>e($),i=>a($,i)),We(I,()=>e(v),i=>a(v,i)),Ue("click",xe,()=>O("close")),Ue("submit",w,_t(Ee)),F(k,w)};p(()=>ae(Fe,k=>{e(P)?k(Se):k(Be,!1)}),"if",f,129,2)}n(L),F(d,L)}),$$slots:{default:!0}}),"component",f,119,0,{componentTag:"Modal"});var Ae=ot({...Ze()});return Oe(),Ae}b[C]="src/routes/organizations/+page.svelte";var Lt=S(B(''),b[C],[[308,3,[[309,4,[[310,5,[[311,6],[314,6,[[315,7,[[317,8]]]]]]]]],[322,4,[[324,5]]]]]]),Nt=S(B('
',1),b[C],[[274,0]]);function b(Ce,Te){Xe(new.target),tt(Te,!1,b);const[Me,Oe]=it(),h=()=>(st($e,"eagerCache"),nt($e,"$eagerCache",Me)),U=l(),T=l(),M=l(),re=l();let O=l([]),P=l(!0),y=l(""),x=l(""),r=l(1),$=l(25),v=l(!1),W=l(!1),V=l(!1),c=l(null);function Pe(){a(v,!1),a(V,!1),a(W,!1)}async function Ee(t){try{a(y,"");const g=t.detail,H={name:g.name,credentials_name:g.credentials_name,webhook_secret:g.webhook_secret,pool_balancer_type:g.pool_balancer_type},E=(await J(ze.createOrganization(H)))();if(g.install_webhook&&E.id)try{(await J(ze.installOrganizationWebhook(E.id)))(),ee.success("Webhook Installed",`Webhook for organization ${E.name} has been installed successfully.`)}catch(u){console.warn(...Re("warn","Organization created but webhook installation failed:",u)),ee.error("Webhook Installation Failed",u instanceof Error?u.message:"Failed to install webhook. You can try installing it manually from the organization details page.")}ee.success("Organization Created",`Organization ${E.name} has been created successfully.`),a(v,!1)}catch(g){throw a(y,je(g)),g}}async function Ae(t){if(e(c))try{(await J(ze.updateOrganization(e(c).id,t)))(),ee.success("Organization Updated",`Organization ${e(c).name} has been updated successfully.`),a(W,!1),a(c,null)}catch(g){throw g}}async function d(){if(e(c))try{a(y,""),(await J(ze.deleteOrganization(e(c).id)))(),ee.success("Organization Deleted",`Organization ${e(c).name} has been deleted successfully.`),a(c,null)}catch(t){const g=je(t);ee.error("Delete Failed",g)}finally{Pe()}}function Y(){a(v,!0)}function L(t){a(c,t),a(W,!0)}function K(t){a(c,t),a(V,!0)}at(async()=>{try{a(P,!0);const t=(await J(Ge.getOrganizations()))();t&&Array.isArray(t)&&a(O,t)}catch(t){console.error(...Re("error","Failed to load organizations:",t)),a(y,t instanceof Error?t.message:"Failed to load organizations")}finally{a(P,!1)}});async function De(){try{(await J(Ge.retryResource("organizations")))()}catch(t){console.error(...Re("error","Retry failed:",t))}}const Fe=[{key:"name",title:"Name",cellComponent:Ot,cellProps:{entityType:"organization"}},{key:"endpoint",title:"Endpoint",cellComponent:Pt},{key:"credentials",title:"Credentials",cellComponent:Et,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:At,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:Dt}],Se={entityType:"organization",primaryText:{field:"name",isClickable:!0,href:"/organizations/{id}"},customInfo:[{icon:t=>Ne(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>Le(t)}],actions:[{type:"edit",handler:t=>L(t)},{type:"delete",handler:t=>K(t)}]};function Be(t){a(x,t.detail.term),a(r,1)}function k(t){a(r,t.detail.page)}function w(t){a($,t.detail.perPage),a(r,1)}function N(t){L(t.detail.item)}function j(t){K(t.detail.item)}z(()=>(e(O),h()),()=>{(!e(O).length||h().loaded.organizations)&&a(O,h().organizations)}),z(()=>h(),()=>{a(P,h().loading.organizations)}),z(()=>h(),()=>{a(U,h().errorMessages.organizations)}),z(()=>(e(O),e(x)),()=>{a(T,Ct(e(O),e(x)))}),z(()=>(e(T),e($)),()=>{a(M,Math.ceil(e(T).length/e($)))}),z(()=>(e(r),e(M)),()=>{e(r)>e(M)&&e(M)>0&&a(r,e(M))}),z(()=>(e(T),e(r),e($)),()=>{a(re,e(T).slice((e(r)-1)*e($),e(r)*e($)))}),rt(),et();var oe=Nt();ct(t=>{mt.title="Organizations - GARM"});var G=ut(oe),q=o(G);p(()=>$t(q,{title:"Organizations",description:"Manage GitHub and Gitea organizations",actionLabel:"Add Organization",$$events:{action:Y}}),"component",b,276,1,{componentTag:"PageHeader"});var ne=s(q,2);{let t=pe(()=>e(U)||e(y)),g=pe(()=>!!e(U));p(()=>Mt(ne,{get columns(){return Fe},get data(){return e(re)},get loading(){return e(P)},get error(){return e(t)},get searchTerm(){return e(x)},searchPlaceholder:"Search organizations...",get currentPage(){return e(r)},get perPage(){return e($)},get totalPages(){return e(M)},get totalItems(){return e(T),_(()=>e(T).length)},itemName:"organizations",emptyIconType:"building",get showRetry(){return e(g)},get mobileCardConfig(){return Se},$$events:{search:Be,pageChange:k,perPageChange:w,retry:De,edit:N,delete:j},$$slots:{"mobile-card":(H,E)=>{const u=pe(()=>E.item),_e=pe(()=>E.index),I=pt(pe(()=>(A(Le),A(e(u)),_(()=>Le(e(u))))),"status");e(I);var de=Lt(),ce=o(de),ge=o(ce),X=o(ge),xe=o(X,!0);n(X);var Z=s(X,2),ke=o(Z),i=o(ke);ft(i,()=>(A(Ne),A(e(u)),_(()=>Ne(e(u).endpoint?.endpoint_type||"unknown"))));var m=s(i,2),D=o(m,!0);n(m),n(ke),n(Z),n(ge),n(ce);var we=s(ce,2),ue=o(we);p(()=>Tt(ue,{get variant(){return A(e(I)),_(()=>e(I).variant)},get text(){return A(e(I)),_(()=>e(I).text)}}),"component",b,323,5,{componentTag:"Badge"});var qe=s(ue,2),He=o(qe);p(()=>Qe(He,{action:"edit",size:"sm",title:"Edit organization",ariaLabel:"Edit organization",$$events:{click:()=>L(e(u))}}),"component",b,325,6,{componentTag:"ActionButton"});var lt=s(He,2);p(()=>Qe(lt,{action:"delete",size:"sm",title:"Delete organization",ariaLabel:"Delete organization",$$events:{click:()=>K(e(u))}}),"component",b,332,6,{componentTag:"ActionButton"}),n(qe),n(we),n(de),te(dt=>{vt(ge,"href",dt),ve(xe,(A(e(u)),_(()=>e(u).name))),ve(D,(A(e(u)),_(()=>e(u).endpoint?.name||"Unknown")))},[()=>(A(Ye),A(e(u)),_(()=>Ye(`/organizations/${e(u).id}`)))]),F(H,de)}}}),"component",b,283,1,{componentTag:"DataTable"})}n(G);var be=s(G,2);{var ie=t=>{p(()=>f(t,{$$events:{close:()=>a(v,!1),submit:Ee}}),"component",b,349,1,{componentTag:"CreateOrganizationModal"})};p(()=>ae(be,t=>{e(v)&&t(ie)}),"if",b,348,0)}var Q=s(be,2);{var se=t=>{p(()=>wt(t,{get entity(){return e(c)},entityType:"organization",$$events:{close:()=>{a(W,!1),a(c,null)},submit:g=>Ae(g.detail)}}),"component",b,356,1,{componentTag:"UpdateEntityModal"})};p(()=>ae(Q,t=>{e(W)&&e(c)&&t(se)}),"if",b,355,0)}var he=s(Q,2);{var le=t=>{p(()=>zt(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone.",get itemName(){return e(c),_(()=>e(c).name)},$$events:{close:()=>{a(V,!1),a(c,null)},confirm:d}}),"component",b,365,1,{componentTag:"DeleteModal"})};p(()=>ae(he,t=>{e(V)&&e(c)&&t(le)}),"if",b,364,0)}F(Ce,oe);var ye=ot({...Ze()});return Oe(),ye}export{b as component}; diff --git a/webapp/assets/_app/immutable/nodes/15.5uMapiYU.js b/webapp/assets/_app/immutable/nodes/15.5uMapiYU.js deleted file mode 100644 index d25a84d4..00000000 --- a/webapp/assets/_app/immutable/nodes/15.5uMapiYU.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Ke,a as W,h as Qe,b as w,l as Xe,s as ge,f as H,d as ve}from"../chunks/CxOx-TIJ.js";import{i as Ye}from"../chunks/3NxSoY2_.js";import{p as Ze,o as et,x as tt,l as at,b as nt,f as L,d as s,t as Q,a as ot,s as u,g as e,m,u as c,h as ye,F as P,c as g,j as o,$ as rt,r as v,e as y,n as E,k as it,i as l}from"../chunks/DzFKsO_V.js";import{s as st,a as lt,i as z,v as ct}from"../chunks/B_jyf0qs.js";import{c as N,d as dt,g as $}from"../chunks/BguOOs3x.js";import{p as he}from"../chunks/DgabA6iF.js";import{g as _e}from"../chunks/BzzAh3Be.js";import{U as ut}from"../chunks/B8GNZv7s.js";import{D as be}from"../chunks/DL1RlOO9.js";import{E as mt,P as pt,a as ft}from"../chunks/Cfss7k9J.js";import{D as gt}from"../chunks/BLYRAgBX.js";import{g as ze}from"../chunks/JkzpcrZD.js";import{e as B}from"../chunks/BZiHL9L3.js";import{I as vt}from"../chunks/CzarUgpd.js";import{W as yt}from"../chunks/DMKMpIvH.js";import{C as ht}from"../chunks/BBvIKVJT.js";import{w as X}from"../chunks/DSHGoHxX.js";import{t as D}from"../chunks/li_-Mkq2.js";r[P]="src/routes/organizations/[id]/+page.svelte";var _t=W(H('

Loading organization...

'),r[P],[[320,2,[[321,3],[322,3]]]]),bt=W(H('

'),r[P],[[325,2,[[326,3]]]]),zt=W(H(" ",1),r[P],[]),$t=W(H(' ',1),r[P],[[294,0,[[296,1,[[297,2,[[298,3,[[299,4,[[300,5,[[301,6]]]]]]],[306,3,[[307,4,[[308,5,[[309,6]]],[311,5]]]]]]]]]]]]);function r($e,xe){Ke(new.target),Ze(xe,!1,r);const[Ie,Te]=st(),Y=()=>(ct(he,"page"),lt(he,"$page",Ie)),M=m();let a=m(null),p=m([]),h=m([]),q=m(!0),k=m(""),C=m(!1),S=m(!1),O=m(!1),A=m(!1),f=m(null),F=null,x=m();async function Z(){if(e(M))try{o(q,!0),o(k,"");const[t,n,i]=(await E(Promise.all([$.getOrganization(e(M)),$.listOrganizationPools(e(M)).catch(()=>[]),$.listOrganizationInstances(e(M)).catch(()=>[])])))();o(a,t),o(p,n),o(h,i)}catch(t){o(k,B(t))}finally{o(q,!1)}}function we(t,n){const{events:i}=t;return{...n,events:i}}async function Ee(t){if(e(a))try{(await E($.updateOrganization(e(a).id,t)))(),(await E(Z()))(),D.success("Organization Updated",`Organization ${e(a).name} has been updated successfully.`),o(C,!1)}catch(n){throw n}}async function De(){if(e(a)){try{(await E($.deleteOrganization(e(a).id)))(),_e(N("/organizations"))}catch(t){const n=B(t);D.error("Delete Failed",n)}o(S,!1)}}async function Me(){if(e(f))try{(await E($.deleteInstance(e(f).name)))(),D.success("Instance Deleted",`Instance ${e(f).name} has been deleted successfully.`),o(O,!1),o(f,null)}catch(t){const n=B(t);D.error("Delete Failed",n),o(O,!1),o(f,null)}}function Oe(t){o(f,t),o(O,!0)}function Pe(){o(A,!0)}async function ke(t){try{if(!e(a))return;(await E($.createOrganizationPool(e(a).id,t.detail)))(),D.success("Pool Created",`Pool has been created successfully for organization ${e(a).name}.`),o(A,!1)}catch(n){const i=B(n);D.error("Pool Creation Failed",i)}}function ee(){e(x)&&it(x,e(x).scrollTop=e(x).scrollHeight)}function Ce(t){if(l(t.operation,"update")){const n=t.payload;if(e(a)&&l(n.id,e(a).id)){const i=e(a).events?.length||0,d=n.events?.length||0;o(a,we(e(a),n)),d>i&&setTimeout(()=>{ee()},100)}}else if(l(t.operation,"delete")){const n=t.payload.id||t.payload;e(a)&&l(e(a).id,n)&&_e(N("/organizations"))}}function Se(t){if(!e(a))return;const n=t.payload;if(!l(n.org_id,e(a).id,!1)){if(l(t.operation,"create"))o(p,[...e(p),n]);else if(l(t.operation,"update"))o(p,e(p).map(i=>l(i.id,n.id)?n:i));else if(l(t.operation,"delete")){const i=n.id||n;o(p,e(p).filter(d=>l(d.id,i,!1)))}}}function Ae(t){if(!e(a)||!e(p))return;const n=t.payload;if(e(p).some(d=>l(d.id,n.pool_id))){if(l(t.operation,"create"))o(h,[...e(h),n]);else if(l(t.operation,"update"))o(h,e(h).map(d=>l(d.id,n.id)?n:d));else if(l(t.operation,"delete")){const d=n.id||n;o(h,e(h).filter(V=>l(V.id,d,!1)))}}}et(()=>{Z().then(()=>{e(a)?.events?.length&&setTimeout(()=>{ee()},100)});const t=X.subscribeToEntity("organization",["update","delete"],Ce),n=X.subscribeToEntity("pool",["create","update","delete"],Se),i=X.subscribeToEntity("instance",["create","update","delete"],Ae);F=()=>{t(),n(),i()}}),tt(()=>{F&&(F(),F=null)}),at(()=>Y(),()=>{o(M,Y().params.id)}),nt(),Ye();var te=$t();Qe(t=>{Q(()=>rt.title=`${e(a),c(()=>e(a)?`${e(a).name} - Organization Details`:"Organization Details")??""} - GARM`)});var j=L(te),G=g(j),ae=g(G),R=g(ae),Fe=g(R);v(R);var ne=u(R,2),oe=g(ne),re=u(g(oe),2),Ue=g(re,!0);v(re),v(oe),v(ne),v(ae),v(G);var Le=u(G,2);{var Ne=t=>{var n=_t();w(t,n)},Be=t=>{var n=ve(),i=L(n);{var d=I=>{var T=bt(),U=g(T),J=g(U,!0);v(U),v(T),Q(()=>ge(J,e(k))),w(I,T)},V=I=>{var T=ve(),U=L(T);{var J=K=>{var ce=zt(),de=L(ce);{let _=y(()=>(e(a),c(()=>e(a).name||"Organization"))),b=y(()=>(e(a),c(()=>e(a).endpoint?.name))),Je=y(()=>(ye(ze),e(a),c(()=>ze(e(a).endpoint?.endpoint_type||"unknown"))));s(()=>gt(de,{get title(){return e(_)},get subtitle(){return`Endpoint: ${e(b)??""}`},get forgeIcon(){return e(Je)},onEdit:()=>o(C,!0),onDelete:()=>o(S,!0)}),"component",r,330,2,{componentTag:"DetailHeader"})}var ue=u(de,2);s(()=>mt(ue,{get entity(){return e(a)},entityType:"organization"}),"component",r,339,2,{componentTag:"EntityInformation"});var me=u(ue,2);{let _=y(()=>(e(a),c(()=>e(a).id||""))),b=y(()=>(e(a),c(()=>e(a).name||"")));s(()=>yt(me,{entityType:"organization",get entityId(){return e(_)},get entityName(){return e(b)}}),"component",r,342,2,{componentTag:"WebhookSection"})}var pe=u(me,2);{let _=y(()=>(e(a),c(()=>e(a).id||""))),b=y(()=>(e(a),c(()=>e(a).name||"")));s(()=>pt(pe,{get pools(){return e(p)},entityType:"organization",get entityId(){return e(_)},get entityName(){return e(b)},$$events:{addPool:Pe}}),"component",r,349,2,{componentTag:"PoolsSection"})}var fe=u(pe,2);s(()=>vt(fe,{get instances(){return e(h)},entityType:"organization",onDeleteInstance:Oe}),"component",r,358,2,{componentTag:"InstancesSection"});var Ve=u(fe,2);{let _=y(()=>(e(a),c(()=>e(a)?.events)));s(()=>ft(Ve,{get events(){return e(_)},get eventsContainer(){return e(x)},set eventsContainer(b){o(x,b)},$$legacy:!0}),"component",r,361,2,{componentTag:"EventsSection"})}w(K,ce)};s(()=>z(U,K=>{e(a)&&K(J)},!0),"if",r,328,1)}w(I,T)};s(()=>z(i,I=>{e(k)?I(d):I(V,!1)},!0),"if",r,324,1)}w(t,n)};s(()=>z(Le,t=>{e(q)?t(Ne):t(Be,!1)}),"if",r,319,1)}v(j);var ie=u(j,2);{var We=t=>{s(()=>ut(t,{get entity(){return e(a)},entityType:"organization",$$events:{close:()=>o(C,!1),submit:n=>Ee(n.detail)}}),"component",r,367,1,{componentTag:"UpdateEntityModal"})};s(()=>z(ie,t=>{e(C)&&e(a)&&t(We)}),"if",r,366,0)}var se=u(ie,2);{var He=t=>{s(()=>be(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a),c(()=>e(a).name)},$$events:{close:()=>o(S,!1),confirm:De}}),"component",r,376,1,{componentTag:"DeleteModal"})};s(()=>z(se,t=>{e(S)&&e(a)&&t(He)}),"if",r,375,0)}var le=u(se,2);{var qe=t=>{s(()=>be(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(f),c(()=>e(f).name)},$$events:{close:()=>{o(O,!1),o(f,null)},confirm:Me}}),"component",r,386,1,{componentTag:"DeleteModal"})};s(()=>z(le,t=>{e(O)&&e(f)&&t(qe)}),"if",r,385,0)}var je=u(le,2);{var Ge=t=>{{let n=y(()=>(e(a),c(()=>e(a).id||"")));s(()=>ht(t,{initialEntityType:"organization",get initialEntityId(){return e(n)},$$events:{close:()=>o(A,!1),submit:ke}}),"component",r,396,1,{componentTag:"CreatePoolModal"})}};s(()=>z(je,t=>{e(A)&&e(a)&&t(Ge)}),"if",r,395,0)}Q(t=>{dt(Fe,"href",t),ge(Ue,(e(a),c(()=>e(a)?e(a).name:"Loading...")))},[()=>(ye(N),c(()=>N("/organizations")))]),w($e,te);var Re=ot({...Xe()});return Te(),Re}export{r as component}; diff --git a/webapp/assets/_app/immutable/nodes/15.DmnqOOd9.js b/webapp/assets/_app/immutable/nodes/15.DmnqOOd9.js new file mode 100644 index 00000000..c12a5d09 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/15.DmnqOOd9.js @@ -0,0 +1 @@ +import{f as F,h as We,a as x,s as de,c as ce}from"../chunks/o8CdT7B0.js";import{i as qe}from"../chunks/ChJfoPF0.js";import{p as He,o as je,q as Ge,l as Re,b as Ve,f as k,t as j,a as Je,u as i,h as ue,g as e,m as l,c as f,s as d,d as o,$ as Ke,r as m,j as Qe,i as g}from"../chunks/DUMcBckj.js";import{i as h,s as Xe,a as Ye}from"../chunks/i7pKks78.js";import{c as A,d as Ze,g as _}from"../chunks/_9uqtkkk.js";import{p as et}from"../chunks/K7MmO9Q9.js";import{g as fe}from"../chunks/BcoJ4GZv.js";import{U as tt}from"../chunks/Dk1ODhlO.js";import{D as me}from"../chunks/mBfsYUjq.js";import{E as at,P as nt,a as ot}from"../chunks/DGDf0Obs.js";import{D as rt}from"../chunks/Ckj0xxjl.js";import{g as ge}from"../chunks/DQsxKNC2.js";import{e as S}from"../chunks/BZiHL9L3.js";import{I as it}from"../chunks/Dah3498E.js";import{W as st}from"../chunks/O0YA8q4d.js";import{C as lt}from"../chunks/4L8NSMkU.js";import{w as G}from"../chunks/DTRhxHIE.js";import{t as I}from"../chunks/Bbk4dQfI.js";var dt=F('

Loading organization...

'),ct=F('

'),ut=F(" ",1),ft=F(' ',1);function Mt(pe,ve){He(ve,!1);const[ye,he]=Xe(),R=()=>Ye(et,"$page",ye),w=l();let a=l(null),c=l([]),p=l([]),U=l(!0),O=l(""),D=l(!1),P=l(!1),E=l(!1),T=l(!1),u=l(null),M=null,b=l();async function V(){if(e(w))try{o(U,!0),o(O,"");const[t,n,r]=await Promise.all([_.getOrganization(e(w)),_.listOrganizationPools(e(w)).catch(()=>[]),_.listOrganizationInstances(e(w)).catch(()=>[])]);o(a,t),o(c,n),o(p,r)}catch(t){o(O,S(t))}finally{o(U,!1)}}function _e(t,n){const{events:r}=t;return{...n,events:r}}async function be(t){if(e(a))try{await _.updateOrganization(e(a).id,t),await V(),I.success("Organization Updated",`Organization ${e(a).name} has been updated successfully.`),o(D,!1)}catch(n){throw n}}async function ze(){if(e(a)){try{await _.deleteOrganization(e(a).id),fe(A("/organizations"))}catch(t){const n=S(t);I.error("Delete Failed",n)}o(P,!1)}}async function $e(){if(e(u))try{await _.deleteInstance(e(u).name),I.success("Instance Deleted",`Instance ${e(u).name} has been deleted successfully.`),o(E,!1),o(u,null)}catch(t){const n=S(t);I.error("Delete Failed",n),o(E,!1),o(u,null)}}function xe(t){o(u,t),o(E,!0)}function Ie(){o(T,!0)}async function we(t){try{if(!e(a))return;await _.createOrganizationPool(e(a).id,t.detail),I.success("Pool Created",`Pool has been created successfully for organization ${e(a).name}.`),o(T,!1)}catch(n){const r=S(n);I.error("Pool Creation Failed",r)}}function J(){e(b)&&Qe(b,e(b).scrollTop=e(b).scrollHeight)}function Ee(t){if(t.operation==="update"){const n=t.payload;if(e(a)&&n.id===e(a).id){const r=e(a).events?.length||0,s=n.events?.length||0;o(a,_e(e(a),n)),s>r&&setTimeout(()=>{J()},100)}}else if(t.operation==="delete"){const n=t.payload.id||t.payload;e(a)&&e(a).id===n&&fe(A("/organizations"))}}function Oe(t){if(!e(a))return;const n=t.payload;if(n.org_id===e(a).id){if(t.operation==="create")o(c,[...e(c),n]);else if(t.operation==="update")o(c,e(c).map(r=>r.id===n.id?n:r));else if(t.operation==="delete"){const r=n.id||n;o(c,e(c).filter(s=>s.id!==r))}}}function De(t){if(!e(a)||!e(c))return;const n=t.payload;if(e(c).some(s=>s.id===n.pool_id)){if(t.operation==="create")o(p,[...e(p),n]);else if(t.operation==="update")o(p,e(p).map(s=>s.id===n.id?n:s));else if(t.operation==="delete"){const s=n.id||n;o(p,e(p).filter(W=>W.id!==s))}}}je(()=>{V().then(()=>{e(a)?.events?.length&&setTimeout(()=>{J()},100)});const t=G.subscribeToEntity("organization",["update","delete"],Ee),n=G.subscribeToEntity("pool",["create","update","delete"],Oe),r=G.subscribeToEntity("instance",["create","update","delete"],De);M=()=>{t(),n(),r()}}),Ge(()=>{M&&(M(),M=null)}),Re(()=>R(),()=>{o(w,R().params.id)}),Ve(),qe();var K=ft();We(t=>{j(()=>Ke.title=`${e(a),i(()=>e(a)?`${e(a).name} - Organization Details`:"Organization Details")??""} - GARM`)});var B=k(K),L=f(B),Q=f(L),N=f(Q),Pe=f(N);m(N);var X=d(N,2),Y=f(X),Z=d(f(Y),2),Te=f(Z,!0);m(Z),m(Y),m(X),m(Q),m(L);var Me=d(L,2);{var Ce=t=>{var n=dt();x(t,n)},ke=t=>{var n=ce(),r=k(n);{var s=z=>{var $=ct(),C=f($),q=f(C,!0);m(C),m($),j(()=>de(q,e(O))),x(z,$)},W=z=>{var $=ce(),C=k($);{var q=H=>{var ne=ut(),oe=k(ne);{let v=g(()=>(e(a),i(()=>e(a).name||"Organization"))),y=g(()=>(e(a),i(()=>e(a).endpoint?.name))),Ne=g(()=>(ue(ge),e(a),i(()=>ge(e(a).endpoint?.endpoint_type||"unknown"))));rt(oe,{get title(){return e(v)},get subtitle(){return`Endpoint: ${e(y)??""}`},get forgeIcon(){return e(Ne)},onEdit:()=>o(D,!0),onDelete:()=>o(P,!0)})}var re=d(oe,2);at(re,{get entity(){return e(a)},entityType:"organization"});var ie=d(re,2);{let v=g(()=>(e(a),i(()=>e(a).id||""))),y=g(()=>(e(a),i(()=>e(a).name||"")));st(ie,{entityType:"organization",get entityId(){return e(v)},get entityName(){return e(y)}})}var se=d(ie,2);{let v=g(()=>(e(a),i(()=>e(a).id||""))),y=g(()=>(e(a),i(()=>e(a).name||"")));nt(se,{get pools(){return e(c)},entityType:"organization",get entityId(){return e(v)},get entityName(){return e(y)},$$events:{addPool:Ie}})}var le=d(se,2);it(le,{get instances(){return e(p)},entityType:"organization",onDeleteInstance:xe});var Le=d(le,2);{let v=g(()=>(e(a),i(()=>e(a)?.events)));ot(Le,{get events(){return e(v)},get eventsContainer(){return e(b)},set eventsContainer(y){o(b,y)},$$legacy:!0})}x(H,ne)};h(C,H=>{e(a)&&H(q)},!0)}x(z,$)};h(r,z=>{e(O)?z(s):z(W,!1)},!0)}x(t,n)};h(Me,t=>{e(U)?t(Ce):t(ke,!1)})}m(B);var ee=d(B,2);{var Ae=t=>{tt(t,{get entity(){return e(a)},entityType:"organization",$$events:{close:()=>o(D,!1),submit:n=>be(n.detail)}})};h(ee,t=>{e(D)&&e(a)&&t(Ae)})}var te=d(ee,2);{var Se=t=>{me(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a),i(()=>e(a).name)},$$events:{close:()=>o(P,!1),confirm:ze}})};h(te,t=>{e(P)&&e(a)&&t(Se)})}var ae=d(te,2);{var Fe=t=>{me(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(u),i(()=>e(u).name)},$$events:{close:()=>{o(E,!1),o(u,null)},confirm:$e}})};h(ae,t=>{e(E)&&e(u)&&t(Fe)})}var Ue=d(ae,2);{var Be=t=>{{let n=g(()=>(e(a),i(()=>e(a).id||"")));lt(t,{initialEntityType:"organization",get initialEntityId(){return e(n)},$$events:{close:()=>o(T,!1),submit:we}})}};h(Ue,t=>{e(T)&&e(a)&&t(Be)})}j(t=>{Ze(Pe,"href",t),de(Te,(e(a),i(()=>e(a)?e(a).name:"Loading...")))},[()=>(ue(A),i(()=>A("/organizations")))]),x(pe,K),Je(),he()}export{Mt as component}; diff --git a/webapp/assets/_app/immutable/nodes/16.CZAXeJjl.js b/webapp/assets/_app/immutable/nodes/16.CZAXeJjl.js new file mode 100644 index 00000000..c50c30dc --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/16.CZAXeJjl.js @@ -0,0 +1 @@ +import{f as J,h as ye,a as V}from"../chunks/o8CdT7B0.js";import{i as he}from"../chunks/ChJfoPF0.js";import{p as Pe,o as ve,l as p,b as Ce,f as _e,a as $e,g as t,m as r,$ as be,c as q,i as w,u as H,s as y,d as o,r as j,h as Me}from"../chunks/DUMcBckj.js";import{i as _,s as Te,a as De}from"../chunks/i7pKks78.js";import{g as k}from"../chunks/_9uqtkkk.js";import{P as Ee}from"../chunks/UrL2GjpD.js";import{C as we}from"../chunks/4L8NSMkU.js";import{U as ke}from"../chunks/Bje4SFZN.js";import{D as Ae}from"../chunks/mBfsYUjq.js";import{M as Ie}from"../chunks/CYPHW1bs.js";import{D as Se,G as A,L as xe}from"../chunks/DG4LDt2Z.js";import{e as Fe,a as z}from"../chunks/zgwRPQVC.js";import{t as m}from"../chunks/Bbk4dQfI.js";import{e as $,h as Ue}from"../chunks/DQsxKNC2.js";import{e as b}from"../chunks/BZiHL9L3.js";import{E as Le}from"../chunks/llowLxE6.js";import{E as Ne}from"../chunks/BqCROW90.js";import{S as Re}from"../chunks/C0gwpZbz.js";import{A as Ge}from"../chunks/7XD7ITBY.js";import{P as Ve}from"../chunks/DMKBQAZn.js";import"../chunks/CnZ9nHem.js";const B={};var qe=J('
'),He=J('
',1);function dt(K,O){Pe(O,!1);const[Q,W]=Te(),s=()=>De(Fe,"$eagerCache",Q),M=r(),c=r(),u=r(),I=r();let f=r([]),h=r(!0),S=r(""),P=r(""),n=r(1),d=r(25),v=r(!1),C=r(!1),g=r(!1),a=r(null),T=r(!1);async function X(e){try{m.success("Pool Created","Pool has been created successfully."),o(v,!1)}catch(l){const i=b(l);m.error("Pool Creation Failed",i)}}async function Y(e){if(t(a))try{await k.updatePool(t(a).id,e),o(C,!1),m.add({type:"success",title:"Pool Updated",message:`Pool ${t(a).id.slice(0,8)}... has been updated successfully.`}),o(a,null)}catch(l){const i=b(l);throw m.add({type:"error",title:"Update Failed",message:i}),l}}async function Z(){if(!t(a))return;const e=`Pool ${t(a).id.slice(0,8)}...`;try{await k.deletePool(t(a).id),o(g,!1),m.add({type:"success",title:"Pool Deleted",message:`${e} has been deleted successfully.`}),o(a,null)}catch(l){const i=b(l);m.add({type:"error",title:"Delete Failed",message:i})}o(g,!1),o(a,null)}function ee(){o(v,!0)}async function x(e){try{o(T,!0);const l=await k.getPool(e.id);o(a,l),o(C,!0)}catch(l){const i=b(l);m.error("Failed to Load Pool Details",i)}finally{o(T,!1)}}function F(e){o(a,e),o(g,!0)}ve(async()=>{try{o(h,!0);const e=await z.getPools();e&&Array.isArray(e)&&o(f,e)}catch(e){B?.VITEST||console.error("Failed to load pools:",e),o(S,e instanceof Error?e.message:"Failed to load pools")}finally{o(h,!1)}});async function te(){try{await z.retryResource("pools")}catch(e){B?.VITEST||console.error("Retry failed:",e)}}const oe=[{key:"id",title:"ID",flexible:!0,cellComponent:Le,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:A,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:A,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:A,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:Ve},{key:"endpoint",title:"Endpoint",cellComponent:Ne},{key:"status",title:"Status",cellComponent:Re,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:Ge}],ae={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:e=>$(e,s())},badges:[{type:"custom",value:e=>({variant:e.enabled?"success":"error",text:e.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:e=>x(e)},{type:"delete",handler:e=>F(e)}]};function le(e){o(P,e.detail.term),o(n,1)}function re(e){o(n,e.detail.page)}function se(e){o(d,e.detail.perPage),o(n,1)}function ne(e){x(e.detail.item)}function ie(e){F(e.detail.item)}p(()=>(t(f),s()),()=>{(!t(f).length||s().loaded.pools)&&o(f,s().pools)}),p(()=>s(),()=>{o(h,s().loading.pools)}),p(()=>s(),()=>{o(M,s().errorMessages.pools)}),p(()=>(t(f),t(P),s()),()=>{o(c,Ue(t(f),t(P),e=>$(e,s())))}),p(()=>(t(c),t(d)),()=>{o(u,Math.ceil(t(c).length/t(d)))}),p(()=>(t(n),t(u)),()=>{t(n)>t(u)&&t(u)>0&&o(n,t(u))}),p(()=>(t(c),t(n),t(d)),()=>{o(I,t(c).slice((t(n)-1)*t(d),t(n)*t(d)))}),Ce(),he();var U=He();ye(e=>{be.title="Pools - GARM"});var D=_e(U),L=q(D);Ee(L,{title:"Pools",description:"Manage runner pools across all entities",actionLabel:"Add Pool",$$events:{action:ee}});var ce=y(L,2);{let e=w(()=>t(M)||t(S)),l=w(()=>!!t(M));Se(ce,{get columns(){return oe},get data(){return t(I)},get loading(){return t(h)},get error(){return t(e)},get searchTerm(){return t(P)},searchPlaceholder:"Search by entity name...",get currentPage(){return t(n)},get perPage(){return t(d)},get totalPages(){return t(u)},get totalItems(){return t(c),H(()=>t(c).length)},itemName:"pools",emptyIconType:"cog",get showRetry(){return t(l)},get mobileCardConfig(){return ae},$$events:{search:le,pageChange:re,perPageChange:se,retry:te,edit:ne,delete:ie}})}j(D);var N=y(D,2);{var de=e=>{we(e,{$$events:{close:()=>o(v,!1),submit:X}})};_(N,e=>{t(v)&&e(de)})}var R=y(N,2);{var pe=e=>{ke(e,{get pool(){return t(a)},$$events:{close:()=>{o(C,!1),o(a,null)},submit:l=>Y(l.detail)}})};_(R,e=>{t(C)&&t(a)&&e(pe)})}var G=y(R,2);{var me=e=>{{let l=w(()=>(t(a),Me($),s(),H(()=>`Pool ${t(a).id.slice(0,8)}... (${$(t(a),s())})`)));Ae(e,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(l)},$$events:{close:()=>{o(g,!1),o(a,null)},confirm:Z}})}};_(G,e=>{t(g)&&t(a)&&e(me)})}var ue=y(G,2);{var fe=e=>{Ie(e,{$$events:{close:()=>{}},children:(l,i)=>{var E=qe(),ge=q(E);xe(ge,{message:"Loading pool details..."}),j(E),V(l,E)},$$slots:{default:!0}})};_(ue,e=>{t(T)&&e(fe)})}V(K,U),$e(),W()}export{dt as component}; diff --git a/webapp/assets/_app/immutable/nodes/16.DytzVHZP.js b/webapp/assets/_app/immutable/nodes/16.DytzVHZP.js deleted file mode 100644 index 646a089d..00000000 --- a/webapp/assets/_app/immutable/nodes/16.DytzVHZP.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Me,a as Y,h as Te,b as z,l as De,f as Z}from"../chunks/CxOx-TIJ.js";import{i as we}from"../chunks/3NxSoY2_.js";import{p as Ee,o as ke,l as u,b as Ae,f as Ie,d as i,a as Se,g as t,m as s,$ as Fe,c as B,s as P,e as I,u as J,F as L,j as o,n as v,r as K,h as Le}from"../chunks/DzFKsO_V.js";import{s as Ue,a as xe,i as M,v as Ne}from"../chunks/B_jyf0qs.js";import{w as Re}from"../chunks/DoJxysSt.js";import{l as O}from"../chunks/BAcG6-Ep.js";import{g as S}from"../chunks/BguOOs3x.js";import{P as Ge}from"../chunks/DTko0dwG.js";import{C as Ve}from"../chunks/BBvIKVJT.js";import{U as He}from"../chunks/lcoLiK7X.js";import{D as je}from"../chunks/DL1RlOO9.js";import{M as qe}from"../chunks/Pgjt70l7.js";import{D as ze,E as Be,G as F,P as Je,a as Ke,S as Oe,A as Qe,L as We}from"../chunks/C2FKJqnN.js";import{e as Q,a as W}from"../chunks/Penjr-j0.js";import{t as f}from"../chunks/li_-Mkq2.js";import{e as T,h as Xe}from"../chunks/JkzpcrZD.js";import{e as D}from"../chunks/BZiHL9L3.js";const X={};r[L]="src/routes/pools/+page.svelte";var Ye=Y(Z('
'),r[L],[[370,2]]),Ze=Y(Z('
',1),r[L],[[308,0]]);function r(ee,te){Me(new.target),Ee(te,!1,r);const[oe,ae]=Ue(),n=()=>(Ne(Q,"eagerCache"),xe(Q,"$eagerCache",oe)),w=s(),p=s(),g=s(),U=s();let y=s([]),_=s(!0),x=s(""),C=s(""),c=s(1),m=s(25),$=s(!1),b=s(!1),h=s(!1),a=s(null),E=s(!1);async function le(e){try{f.success("Pool Created","Pool has been created successfully."),o($,!1)}catch(l){const d=D(l);f.error("Pool Creation Failed",d)}}async function re(e){if(t(a))try{(await v(S.updatePool(t(a).id,e)))(),o(b,!1),f.add({type:"success",title:"Pool Updated",message:`Pool ${t(a).id.slice(0,8)}... has been updated successfully.`}),o(a,null)}catch(l){const d=D(l);throw f.add({type:"error",title:"Update Failed",message:d}),l}}async function se(){if(!t(a))return;const e=`Pool ${t(a).id.slice(0,8)}...`;try{(await v(S.deletePool(t(a).id)))(),o(h,!1),f.add({type:"success",title:"Pool Deleted",message:`${e} has been deleted successfully.`}),o(a,null)}catch(l){const d=D(l);f.add({type:"error",title:"Delete Failed",message:d})}o(h,!1),o(a,null)}function ne(){o($,!0)}async function N(e){try{o(E,!0);const l=(await v(S.getPool(e.id)))();o(a,l),o(b,!0)}catch(l){const d=D(l);f.error("Failed to Load Pool Details",d)}finally{o(E,!1)}}function R(e){o(a,e),o(h,!0)}ke(async()=>{try{o(_,!0);const e=(await v(W.getPools()))();e&&Array.isArray(e)&&o(y,e)}catch(e){X?.VITEST||console.error(...O("error","Failed to load pools:",e)),o(x,e instanceof Error?e.message:"Failed to load pools")}finally{o(_,!1)}});async function ie(){try{(await v(W.retryResource("pools")))()}catch(e){X?.VITEST||console.error(...O("error","Retry failed:",e))}}const ce=[{key:"id",title:"ID",flexible:!0,cellComponent:Be,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:F,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:F,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:F,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:Je},{key:"endpoint",title:"Endpoint",cellComponent:Ke},{key:"status",title:"Status",cellComponent:Oe,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:Qe}],de={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:e=>T(e,n())},badges:[{type:"custom",value:e=>({variant:e.enabled?"success":"error",text:e.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:e=>N(e)},{type:"delete",handler:e=>R(e)}]};function pe(e){o(C,e.detail.term),o(c,1)}function me(e){o(c,e.detail.page)}function ue(e){o(m,e.detail.perPage),o(c,1)}function fe(e){N(e.detail.item)}function ge(e){R(e.detail.item)}u(()=>(t(y),n()),()=>{(!t(y).length||n().loaded.pools)&&o(y,n().pools)}),u(()=>n(),()=>{o(_,n().loading.pools)}),u(()=>n(),()=>{o(w,n().errorMessages.pools)}),u(()=>(t(y),t(C),n()),()=>{o(p,Xe(t(y),t(C),e=>T(e,n())))}),u(()=>(t(p),t(m)),()=>{o(g,Math.ceil(t(p).length/t(m)))}),u(()=>(t(c),t(g)),()=>{t(c)>t(g)&&t(g)>0&&o(c,t(g))}),u(()=>(t(p),t(c),t(m)),()=>{o(U,t(p).slice((t(c)-1)*t(m),t(c)*t(m)))}),Ae(),we();var G=Ze();Te(e=>{Fe.title="Pools - GARM"});var k=Ie(G),V=B(k);i(()=>Ge(V,{title:"Pools",description:"Manage runner pools across all entities",actionLabel:"Add Pool",$$events:{action:ne}}),"component",r,310,1,{componentTag:"PageHeader"});var ye=P(V,2);{let e=I(()=>t(w)||t(x)),l=I(()=>!!t(w));i(()=>ze(ye,{get columns(){return ce},get data(){return t(U)},get loading(){return t(_)},get error(){return t(e)},get searchTerm(){return t(C)},searchPlaceholder:"Search by entity name...",get currentPage(){return t(c)},get perPage(){return t(m)},get totalPages(){return t(g)},get totalItems(){return t(p),J(()=>t(p).length)},itemName:"pools",emptyIconType:"cog",get showRetry(){return t(l)},get mobileCardConfig(){return de},$$events:{search:pe,pageChange:me,perPageChange:ue,retry:ie,edit:fe,delete:ge}}),"component",r,317,1,{componentTag:"DataTable"})}K(k);var H=P(k,2);{var he=e=>{i(()=>Ve(e,{$$events:{close:()=>o($,!1),submit:le}}),"component",r,343,1,{componentTag:"CreatePoolModal"})};i(()=>M(H,e=>{t($)&&e(he)}),"if",r,342,0)}var j=P(H,2);{var Pe=e=>{i(()=>He(e,{get pool(){return t(a)},$$events:{close:()=>{o(b,!1),o(a,null)},submit:l=>re(l.detail)}}),"component",r,350,1,{componentTag:"UpdatePoolModal"})};i(()=>M(j,e=>{t(b)&&t(a)&&e(Pe)}),"if",r,349,0)}var q=P(j,2);{var ve=e=>{{let l=I(()=>(t(a),Le(T),n(),J(()=>`Pool ${t(a).id.slice(0,8)}... (${T(t(a),n())})`)));i(()=>je(e,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(l)},$$events:{close:()=>{o(h,!1),o(a,null)},confirm:se}}),"component",r,358,1,{componentTag:"DeleteModal"})}};i(()=>M(q,e=>{t(h)&&t(a)&&e(ve)}),"if",r,357,0)}var _e=P(q,2);{var Ce=e=>{i(()=>qe(e,{$$events:{close:()=>{}},children:Re(r,(l,d)=>{var A=Ye(),be=B(A);i(()=>We(be,{message:"Loading pool details..."}),"component",r,371,3,{componentTag:"LoadingState"}),K(A),z(l,A)}),$$slots:{default:!0}}),"component",r,369,1,{componentTag:"Modal"})};i(()=>M(_e,e=>{t(E)&&e(Ce)}),"if",r,368,0)}z(ee,G);var $e=Se({...De()});return ae(),$e}export{r as component}; diff --git a/webapp/assets/_app/immutable/nodes/17.BJrLJtRa.js b/webapp/assets/_app/immutable/nodes/17.BJrLJtRa.js new file mode 100644 index 00000000..85e93bce --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/17.BJrLJtRa.js @@ -0,0 +1 @@ +import{f as _,h as Ze,a as u,s as o,c as ee}from"../chunks/o8CdT7B0.js";import{i as ta}from"../chunks/ChJfoPF0.js";import{p as ea,o as aa,q as ra,l as da,b as sa,f as B,t as h,a as ia,u as i,h as g,g as t,m as k,c as r,s,d as v,$ as la,r as a,j as M,i as E}from"../chunks/DUMcBckj.js";import{i as f}from"../chunks/i7pKks78.js";import{e as oa,i as na}from"../chunks/DC7Aeygn.js";import{c as P,d as _t,g as C,s as ae}from"../chunks/_9uqtkkk.js";import{p as re}from"../chunks/CPri_0tM.js";import{g as de}from"../chunks/BcoJ4GZv.js";import{U as va}from"../chunks/Bje4SFZN.js";import{D as se}from"../chunks/mBfsYUjq.js";import{I as ma}from"../chunks/Dah3498E.js";import{D as ca}from"../chunks/Ckj0xxjl.js";import{w as ie}from"../chunks/DTRhxHIE.js";import{t as T}from"../chunks/Bbk4dQfI.js";import{e as D,i as L,j as le,b as O,g as oe}from"../chunks/DQsxKNC2.js";import{e as G}from"../chunks/BZiHL9L3.js";import{F as xa}from"../chunks/DYis7hcW.js";var ua=_('

Loading pool...

'),ga=_('

'),fa=_('
Runner Install Template
'),pa=_('
GitHub Runner Group
'),_a=_(' '),ya=_('
Tags
'),ba=_('

Extra Specifications

 
'),ha=_('

Basic Information

Pool ID
Provider
Forge Type
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Priority
Runner Prefix
OS Type / Architecture
Shell Access
',1),ka=_(' ',1);function Oa(ne,ve){ea(ve,!1);const J=k();let e=k(null),j=k(!0),A=k(""),F=k(!1),S=k(!1),U=k(!1),p=k(null),N=null;async function me(){if(t(J))try{v(j,!0),v(A,""),v(e,await C.getPool(t(J))),t(e).instances||M(e,t(e).instances=[])}catch(d){v(A,G(d))}finally{v(j,!1)}}async function ce(d){if(t(e))try{const l=await C.updatePool(t(e).id,d);v(e,l),v(F,!1),T.success("Pool Updated",`Pool ${t(e).id} has been updated successfully.`)}catch(l){const y=G(l);T.error("Update Failed",y)}}async function xe(){if(t(e)){try{await C.deletePool(t(e).id),de(P("/pools"))}catch(d){const l=G(d);T.error("Delete Failed",l)}v(S,!1)}}async function ue(){if(t(p)){try{await C.deleteInstance(t(p).name),T.success("Instance Deleted",`Instance ${t(p).name} has been deleted successfully.`)}catch(d){const l=G(d);T.error("Delete Failed",l)}v(U,!1),v(p,null)}}function ge(d){v(p,d),v(U,!0)}function fe(d){if(!d)return"{}";try{if(typeof d=="string"){const l=JSON.parse(d);return JSON.stringify(l,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function pe(d){if(d.operation==="update"){const l=d.payload;t(e)&&l.id===t(e).id&&v(e,l)}else if(d.operation==="delete"){const l=d.payload.id||d.payload;t(e)&&t(e).id===l&&de(P("/pools"))}}function _e(d){if(!t(e))return;const l=d.payload;if(l.pool_id===t(e).id){if(t(e).instances||M(e,t(e).instances=[]),d.operation==="create")M(e,t(e).instances=[...t(e).instances,l]);else if(d.operation==="update")M(e,t(e).instances=t(e).instances.map(y=>y.id===l.id?l:y));else if(d.operation==="delete"){const y=l.id||l;M(e,t(e).instances=t(e).instances.filter(V=>V.id!==y))}v(e,t(e))}}aa(()=>{me();const d=ie.subscribeToEntity("pool",["update","delete"],pe),l=ie.subscribeToEntity("instance",["create","update","delete"],_e);N=()=>{d(),l()}}),ra(()=>{N&&(N(),N=null)}),da(()=>re,()=>{v(J,re.params.id)}),sa(),ta();var yt=ka();Ze(d=>{h(()=>la.title=`${t(e),i(()=>t(e)?`Pool ${t(e).id} - Pool Details`:"Pool Details")??""} - GARM`)});var q=B(yt),z=r(q),bt=r(z),H=r(bt),ye=r(H);a(H);var ht=s(H,2),kt=r(ht),wt=s(r(kt),2),be=r(wt,!0);a(wt),a(kt),a(ht),a(bt),a(z);var he=s(z,2);{var ke=d=>{var l=ua();u(d,l)},we=d=>{var l=ee(),y=B(l);{var V=$=>{var I=ga(),R=r(I),W=r(R,!0);a(R),a(I),h(()=>o(W,t(A))),u($,I)},Me=$=>{var I=ee(),R=B(I);{var W=K=>{var Pt=ha(),Dt=B(Pt);{let n=E(()=>(g(D),t(e),i(()=>D(t(e))))),m=E(()=>(g(L),t(e),i(()=>L(t(e))))),c=E(()=>(g(oe),t(e),i(()=>oe(t(e).endpoint?.endpoint_type||"unknown"))));ca(Dt,{get title(){return t(e),i(()=>t(e).id)},get subtitle(){return`Pool for ${t(n)??""} (${t(m)??""})`},get forgeIcon(){return t(c)},onEdit:()=>v(F,!0),onDelete:()=>v(S,!0)})}var Q=s(Dt,2),X=r(Q),Mt=r(X),Et=s(r(Mt),2),Y=r(Et),Tt=s(r(Y),2),Ee=r(Tt,!0);a(Tt),a(Y);var Z=s(Y,2),At=s(r(Z),2),Te=r(At,!0);a(At),a(Z);var tt=s(Z,2),Ft=s(r(tt),2),Ae=r(Ft);xa(Ae,{get item(){return t(e)}}),a(Ft),a(tt);var et=s(tt,2),St=s(r(et),2),Ut=r(St),Fe=r(Ut,!0);a(Ut),a(St),a(et);var at=s(et,2),Nt=s(r(at),2),Se=r(Nt,!0);a(Nt),a(at);var rt=s(at,2),Rt=s(r(rt),2),dt=r(Rt),Ue=r(dt,!0);a(dt),a(Rt),a(rt);var st=s(rt,2),Bt=s(r(st),2),Ct=r(Bt),it=r(Ct),Ne=r(it,!0);a(it);var lt=s(it,2),Re=r(lt,!0);a(lt),a(Ct),a(Bt),a(st);var ot=s(st,2),Lt=s(r(ot),2),Be=r(Lt,!0);a(Lt),a(ot);var Ot=s(ot,2),Gt=s(r(Ot),2),Ce=r(Gt,!0);a(Gt),a(Ot),a(Et),a(Mt),a(X);var Jt=s(X,2),jt=r(Jt),qt=s(r(jt),2),nt=r(qt),zt=s(r(nt),2),Le=r(zt,!0);a(zt),a(nt);var vt=s(nt,2),Ht=s(r(vt),2),Oe=r(Ht,!0);a(Ht),a(vt);var mt=s(vt,2),Vt=s(r(mt),2),Ge=r(Vt);a(Vt),a(mt);var ct=s(mt,2),Wt=s(r(ct),2),Je=r(Wt,!0);a(Wt),a(ct);var xt=s(ct,2),Kt=s(r(xt),2),je=r(Kt,!0);a(Kt),a(xt);var ut=s(xt,2),Qt=s(r(ut),2),qe=r(Qt);a(Qt),a(ut);var gt=s(ut,2),Xt=s(r(gt),2),ft=r(Xt),ze=r(ft,!0);a(ft),a(Xt),a(gt);var Yt=s(gt,2);{var He=n=>{var m=fa(),c=s(r(m),2),x=r(c),w=r(x,!0);a(x),a(c),a(m),h(b=>{_t(x,"href",b),o(w,(t(e),i(()=>t(e).template_name)))},[()=>(g(P),t(e),i(()=>P(`/templates/${t(e).template_id}`)))]),u(n,m)};f(Yt,n=>{t(e),i(()=>t(e).template_name)&&n(He)})}var Zt=s(Yt,2);{var Ve=n=>{var m=pa(),c=s(r(m),2),x=r(c,!0);a(c),a(m),h(()=>o(x,(t(e),i(()=>t(e)["github-runner-group"])))),u(n,m)};f(Zt,n=>{t(e),i(()=>t(e)["github-runner-group"])&&n(Ve)})}var We=s(Zt,2);{var Ke=n=>{var m=ya(),c=s(r(m),2),x=r(c);oa(x,5,()=>(t(e),i(()=>t(e).tags)),na,(w,b)=>{var pt=_a(),Ye=r(pt,!0);a(pt),h(()=>o(Ye,(t(b),i(()=>typeof t(b)=="string"?t(b):t(b).name)))),u(w,pt)}),a(x),a(c),a(m),u(n,m)};f(We,n=>{t(e),i(()=>t(e).tags&&t(e).tags.length>0)&&n(Ke)})}a(qt),a(jt),a(Jt),a(Q);var te=s(Q,2);{var Qe=n=>{var m=ba(),c=r(m),x=s(r(c),2),w=r(x,!0);a(x),a(c),a(m),h(b=>o(w,b),[()=>(t(e),i(()=>fe(t(e).extra_specs)))]),u(n,m)};f(te,n=>{t(e),i(()=>t(e).extra_specs)&&n(Qe)})}var Xe=s(te,2);{let n=E(()=>(t(e),i(()=>t(e).instances||[])));ma(Xe,{get instances(){return t(n)},entityType:"pool",onDeleteInstance:ge})}h((n,m,c,x,w)=>{o(Ee,(t(e),i(()=>t(e).id))),o(Te,(t(e),i(()=>t(e).provider_name))),o(Fe,(t(e),i(()=>t(e).image))),o(Se,(t(e),i(()=>t(e).flavor))),ae(dt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),o(Ue,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),o(Ne,n),_t(lt,"href",m),o(Re,c),o(Be,x),o(Ce,w),o(Le,(t(e),i(()=>t(e).max_runners))),o(Oe,(t(e),i(()=>t(e).min_idle_runners))),o(Ge,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),o(Je,(t(e),i(()=>t(e).priority))),o(je,(t(e),i(()=>t(e).runner_prefix||"garm"))),o(qe,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`),ae(ft,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enable_shell?"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200":"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200")??""}`),o(ze,(t(e),i(()=>t(e).enable_shell?"Enabled":"Disabled")))},[()=>(g(L),t(e),i(()=>L(t(e)))),()=>(g(le),t(e),i(()=>le(t(e)))),()=>(g(D),t(e),i(()=>D(t(e)))),()=>(g(O),t(e),i(()=>O(t(e).created_at||""))),()=>(g(O),t(e),i(()=>O(t(e).updated_at||"")))]),u(K,Pt)};f(R,K=>{t(e)&&K(W)},!0)}u($,I)};f(y,$=>{t(A)?$(V):$(Me,!1)},!0)}u(d,l)};f(he,d=>{t(j)?d(ke):d(we,!1)})}a(q);var $t=s(q,2);{var $e=d=>{va(d,{get pool(){return t(e)},$$events:{close:()=>v(F,!1),submit:l=>ce(l.detail)}})};f($t,d=>{t(F)&&t(e)&&d($e)})}var It=s($t,2);{var Ie=d=>{{let l=E(()=>(t(e),g(D),i(()=>`Pool ${t(e).id} (${D(t(e))})`)));se(d,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(l)},$$events:{close:()=>v(S,!1),confirm:xe}})}};f(It,d=>{t(S)&&t(e)&&d(Ie)})}var Pe=s(It,2);{var De=d=>{se(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(p),i(()=>t(p).name)},$$events:{close:()=>{v(U,!1),v(p,null)},confirm:ue}})};f(Pe,d=>{t(U)&&t(p)&&d(De)})}h(d=>{_t(ye,"href",d),o(be,(t(e),i(()=>t(e)?t(e).id:"Loading...")))},[()=>(g(P),i(()=>P("/pools")))]),u(ne,yt),ia()}export{Oa as component}; diff --git a/webapp/assets/_app/immutable/nodes/17.DxoZE9xY.js b/webapp/assets/_app/immutable/nodes/17.DxoZE9xY.js deleted file mode 100644 index 9f112cf6..00000000 --- a/webapp/assets/_app/immutable/nodes/17.DxoZE9xY.js +++ /dev/null @@ -1 +0,0 @@ -import{c as sa,a as k,h as ia,b as f,l as oa,s as l,f as w,d as oe}from"../chunks/CxOx-TIJ.js";import{i as na}from"../chunks/3NxSoY2_.js";import{p as la,o as va,x as ma,l as ca,b as xa,f as H,d as x,t as P,a as ua,s,g as t,m as $,u as i,h as _,F as b,c as r,j as m,$ as ga,r as a,e as S,n as J,k as U,i as p}from"../chunks/DzFKsO_V.js";import{i as y}from"../chunks/B_jyf0qs.js";import{e as pa,i as fa}from"../chunks/CdXRaxkX.js";import{c as F,d as Dt,g as j,s as ne}from"../chunks/BguOOs3x.js";import{p as le}from"../chunks/CH-vk5qo.js";import{g as ve}from"../chunks/BzzAh3Be.js";import{U as _a}from"../chunks/lcoLiK7X.js";import{D as me}from"../chunks/DL1RlOO9.js";import{I as ya}from"../chunks/CzarUgpd.js";import{D as ba}from"../chunks/BLYRAgBX.js";import{w as ce}from"../chunks/DSHGoHxX.js";import{t as N}from"../chunks/li_-Mkq2.js";import{e as A,i as q,j as xe,b as z,g as ue}from"../chunks/JkzpcrZD.js";import{e as V}from"../chunks/BZiHL9L3.js";import{F as ha}from"../chunks/DaHsWCjd.js";n[b]="src/routes/pools/[id]/+page.svelte";var ka=k(w('

Loading pool...

'),n[b],[[231,2,[[232,3],[233,3]]]]),wa=k(w('

'),n[b],[[236,2,[[237,3]]]]),Da=k(w('
Runner Install Template
'),n[b],[[351,7,[[352,8],[353,8,[[354,9]]]]]]),Ia=k(w('
GitHub Runner Group
'),n[b],[[361,7,[[362,8],[363,8]]]]),Pa=k(w(' '),n[b],[[372,11]]),$a=k(w('
Tags
'),n[b],[[367,7,[[368,8],[369,8,[[370,9]]]]]]),Ma=k(w('

Extra Specifications

 
'),n[b],[[387,3,[[388,4,[[389,5],[390,5]]]]]]),Ta=k(w('

Basic Information

Pool ID
Provider
Forge Type
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Priority
Runner Prefix
OS Type / Architecture
Shell Access
',1),n[b],[[250,2,[[252,3,[[253,4,[[254,5],[255,5,[[256,6,[[257,7],[258,7]]],[260,6,[[261,7],[262,7]]],[264,6,[[265,7],[266,7]]],[270,6,[[271,7],[272,7,[[273,8]]]]],[276,6,[[277,7],[278,7]]],[280,6,[[281,7],[282,7,[[283,8]]]]],[288,6,[[289,7],[290,7,[[291,8,[[292,9],[295,9]]]]]]],[301,6,[[302,7],[303,7]]],[305,6,[[306,7],[307,7]]]]]]]]],[314,3,[[315,4,[[316,5],[317,5,[[318,6,[[319,7],[320,7]]],[322,6,[[323,7],[324,7]]],[326,6,[[327,7],[328,7]]],[330,6,[[331,7],[332,7]]],[334,6,[[335,7],[336,7]]],[338,6,[[339,7],[340,7]]],[342,6,[[343,7],[344,7,[[345,8]]]]]]]]]]]]]]),Ea=k(w(' ',1),n[b],[[205,0,[[207,1,[[208,2,[[209,3,[[210,4,[[211,5,[[212,6]]]]]]],[217,3,[[218,4,[[219,5,[[220,6]]],[222,5]]]]]]]]]]]]);function n(ge,pe){sa(new.target),la(pe,!1,n);const W=$();let e=$(null),K=$(!0),C=$(""),R=$(!1),B=$(!1),L=$(!1),h=$(null),O=null;async function fe(){if(t(W))try{m(K,!0),m(C,""),m(e,(await J(j.getPool(t(W))))()),t(e).instances||U(e,t(e).instances=[])}catch(d){m(C,V(d))}finally{m(K,!1)}}async function _e(d){if(t(e))try{const o=(await J(j.updatePool(t(e).id,d)))();m(e,o),m(R,!1),N.success("Pool Updated",`Pool ${t(e).id} has been updated successfully.`)}catch(o){const D=V(o);N.error("Update Failed",D)}}async function ye(){if(t(e)){try{(await J(j.deletePool(t(e).id)))(),ve(F("/pools"))}catch(d){const o=V(d);N.error("Delete Failed",o)}m(B,!1)}}async function be(){if(t(h)){try{(await J(j.deleteInstance(t(h).name)))(),N.success("Instance Deleted",`Instance ${t(h).name} has been deleted successfully.`)}catch(d){const o=V(d);N.error("Delete Failed",o)}m(L,!1),m(h,null)}}function he(d){m(h,d),m(L,!0)}function ke(d){if(!d)return"{}";try{if(p(typeof d,"string")){const o=JSON.parse(d);return JSON.stringify(o,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function we(d){if(p(d.operation,"update")){const o=d.payload;t(e)&&p(o.id,t(e).id)&&m(e,o)}else if(p(d.operation,"delete")){const o=d.payload.id||d.payload;t(e)&&p(t(e).id,o)&&ve(F("/pools"))}}function De(d){if(!t(e))return;const o=d.payload;if(!p(o.pool_id,t(e).id,!1)){if(t(e).instances||U(e,t(e).instances=[]),p(d.operation,"create"))U(e,t(e).instances=[...t(e).instances,o]);else if(p(d.operation,"update"))U(e,t(e).instances=t(e).instances.map(D=>p(D.id,o.id)?o:D));else if(p(d.operation,"delete")){const D=o.id||o;U(e,t(e).instances=t(e).instances.filter(Z=>p(Z.id,D,!1)))}m(e,t(e))}}va(()=>{fe();const d=ce.subscribeToEntity("pool",["update","delete"],we),o=ce.subscribeToEntity("instance",["create","update","delete"],De);O=()=>{d(),o()}}),ma(()=>{O&&(O(),O=null)}),ca(()=>le,()=>{m(W,le.params.id)}),xa(),na();var It=Ea();ia(d=>{P(()=>ga.title=`${t(e),i(()=>t(e)?`Pool ${t(e).id} - Pool Details`:"Pool Details")??""} - GARM`)});var Q=H(It),X=r(Q),Pt=r(X),Y=r(Pt),Ie=r(Y);a(Y);var $t=s(Y,2),Mt=r($t),Tt=s(r(Mt),2),Pe=r(Tt,!0);a(Tt),a(Mt),a($t),a(Pt),a(X);var $e=s(X,2);{var Me=d=>{var o=ka();f(d,o)},Te=d=>{var o=oe(),D=H(o);{var Z=T=>{var E=wa(),G=r(E),tt=r(G,!0);a(G),a(E),P(()=>l(tt,t(C))),f(T,E)},Ue=T=>{var E=oe(),G=H(E);{var tt=et=>{var At=Ta(),St=H(At);{let v=S(()=>(_(A),t(e),i(()=>A(t(e))))),c=S(()=>(_(q),t(e),i(()=>q(t(e))))),u=S(()=>(_(ue),t(e),i(()=>ue(t(e).endpoint?.endpoint_type||"unknown"))));x(()=>ba(St,{get title(){return t(e),i(()=>t(e).id)},get subtitle(){return`Pool for ${t(v)??""} (${t(c)??""})`},get forgeIcon(){return t(u)},onEdit:()=>m(R,!0),onDelete:()=>m(B,!0)}),"component",n,241,2,{componentTag:"DetailHeader"})}var at=s(St,2),rt=r(at),Ut=r(rt),Nt=s(r(Ut),2),dt=r(Nt),Ct=s(r(dt),2),Ne=r(Ct,!0);a(Ct),a(dt);var st=s(dt,2),Rt=s(r(st),2),Ce=r(Rt,!0);a(Rt),a(st);var it=s(st,2),Bt=s(r(it),2),Re=r(Bt);x(()=>ha(Re,{get item(){return t(e)}}),"component",n,267,8,{componentTag:"ForgeTypeCell"}),a(Bt),a(it);var ot=s(it,2),Lt=s(r(ot),2),Ot=r(Lt),Be=r(Ot,!0);a(Ot),a(Lt),a(ot);var nt=s(ot,2),Gt=s(r(nt),2),Le=r(Gt,!0);a(Gt),a(nt);var lt=s(nt,2),Ht=s(r(lt),2),vt=r(Ht),Oe=r(vt,!0);a(vt),a(Ht),a(lt);var mt=s(lt,2),Jt=s(r(mt),2),jt=r(Jt),ct=r(jt),Ge=r(ct,!0);a(ct);var xt=s(ct,2),He=r(xt,!0);a(xt),a(jt),a(Jt),a(mt);var ut=s(mt,2),qt=s(r(ut),2),Je=r(qt,!0);a(qt),a(ut);var zt=s(ut,2),Vt=s(r(zt),2),je=r(Vt,!0);a(Vt),a(zt),a(Nt),a(Ut),a(rt);var Wt=s(rt,2),Kt=r(Wt),Qt=s(r(Kt),2),gt=r(Qt),Xt=s(r(gt),2),qe=r(Xt,!0);a(Xt),a(gt);var pt=s(gt,2),Yt=s(r(pt),2),ze=r(Yt,!0);a(Yt),a(pt);var ft=s(pt,2),Zt=s(r(ft),2),Ve=r(Zt);a(Zt),a(ft);var _t=s(ft,2),te=s(r(_t),2),We=r(te,!0);a(te),a(_t);var yt=s(_t,2),ee=s(r(yt),2),Ke=r(ee,!0);a(ee),a(yt);var bt=s(yt,2),ae=s(r(bt),2),Qe=r(ae);a(ae),a(bt);var ht=s(bt,2),re=s(r(ht),2),kt=r(re),Xe=r(kt,!0);a(kt),a(re),a(ht);var de=s(ht,2);{var Ye=v=>{var c=Da(),u=s(r(c),2),g=r(u),M=r(g,!0);a(g),a(u),a(c),P(I=>{Dt(g,"href",I),l(M,(t(e),i(()=>t(e).template_name)))},[()=>(_(F),t(e),i(()=>F(`/templates/${t(e).template_id}`)))]),f(v,c)};x(()=>y(de,v=>{t(e),i(()=>t(e).template_name)&&v(Ye)}),"if",n,350,6)}var se=s(de,2);{var Ze=v=>{var c=Ia(),u=s(r(c),2),g=r(u,!0);a(u),a(c),P(()=>l(g,(t(e),i(()=>t(e)["github-runner-group"])))),f(v,c)};x(()=>y(se,v=>{t(e),i(()=>t(e)["github-runner-group"])&&v(Ze)}),"if",n,360,6)}var ta=s(se,2);{var ea=v=>{var c=$a(),u=s(r(c),2),g=r(u);x(()=>pa(g,5,()=>(t(e),i(()=>t(e).tags)),fa,(M,I)=>{var wt=Pa(),da=r(wt,!0);a(wt),P(()=>l(da,(t(I),i(()=>p(typeof t(I),"string")?t(I):t(I).name)))),f(M,wt)}),"each",n,371,10),a(g),a(u),a(c),f(v,c)};x(()=>y(ta,v=>{t(e),i(()=>t(e).tags&&t(e).tags.length>0)&&v(ea)}),"if",n,366,6)}a(Qt),a(Kt),a(Wt),a(at);var ie=s(at,2);{var aa=v=>{var c=Ma(),u=r(c),g=s(r(u),2),M=r(g,!0);a(g),a(u),a(c),P(I=>l(M,I),[()=>(t(e),i(()=>ke(t(e).extra_specs)))]),f(v,c)};x(()=>y(ie,v=>{t(e),i(()=>t(e).extra_specs)&&v(aa)}),"if",n,386,2)}var ra=s(ie,2);{let v=S(()=>(t(e),i(()=>t(e).instances||[])));x(()=>ya(ra,{get instances(){return t(v)},entityType:"pool",onDeleteInstance:he}),"component",n,396,2,{componentTag:"InstancesSection"})}P((v,c,u,g,M)=>{l(Ne,(t(e),i(()=>t(e).id))),l(Ce,(t(e),i(()=>t(e).provider_name))),l(Be,(t(e),i(()=>t(e).image))),l(Le,(t(e),i(()=>t(e).flavor))),ne(vt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),l(Oe,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),l(Ge,v),Dt(xt,"href",c),l(He,u),l(Je,g),l(je,M),l(qe,(t(e),i(()=>t(e).max_runners))),l(ze,(t(e),i(()=>t(e).min_idle_runners))),l(Ve,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),l(We,(t(e),i(()=>t(e).priority))),l(Ke,(t(e),i(()=>t(e).runner_prefix||"garm"))),l(Qe,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`),ne(kt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enable_shell?"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200":"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200")??""}`),l(Xe,(t(e),i(()=>t(e).enable_shell?"Enabled":"Disabled")))},[()=>(_(q),t(e),i(()=>q(t(e)))),()=>(_(xe),t(e),i(()=>xe(t(e)))),()=>(_(A),t(e),i(()=>A(t(e)))),()=>(_(z),t(e),i(()=>z(t(e).created_at||""))),()=>(_(z),t(e),i(()=>z(t(e).updated_at||"")))]),f(et,At)};x(()=>y(G,et=>{t(e)&&et(tt)},!0),"if",n,239,1)}f(T,E)};x(()=>y(D,T=>{t(C)?T(Z):T(Ue,!1)},!0),"if",n,235,1)}f(d,o)};x(()=>y($e,d=>{t(K)?d(Me):d(Te,!1)}),"if",n,230,1)}a(Q);var Et=s(Q,2);{var Ee=d=>{x(()=>_a(d,{get pool(){return t(e)},$$events:{close:()=>m(R,!1),submit:o=>_e(o.detail)}}),"component",n,403,1,{componentTag:"UpdatePoolModal"})};x(()=>y(Et,d=>{t(R)&&t(e)&&d(Ee)}),"if",n,402,0)}var Ft=s(Et,2);{var Fe=d=>{{let o=S(()=>(t(e),_(A),i(()=>`Pool ${t(e).id} (${A(t(e))})`)));x(()=>me(d,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(o)},$$events:{close:()=>m(B,!1),confirm:ye}}),"component",n,411,1,{componentTag:"DeleteModal"})}};x(()=>y(Ft,d=>{t(B)&&t(e)&&d(Fe)}),"if",n,410,0)}var Ae=s(Ft,2);{var Se=d=>{x(()=>me(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(h),i(()=>t(h).name)},$$events:{close:()=>{m(L,!1),m(h,null)},confirm:be}}),"component",n,421,1,{componentTag:"DeleteModal"})};x(()=>y(Ae,d=>{t(L)&&t(h)&&d(Se)}),"if",n,420,0)}return P(d=>{Dt(Ie,"href",d),l(Pe,(t(e),i(()=>t(e)?t(e).id:"Loading...")))},[()=>(_(F),i(()=>F("/pools")))]),f(ge,It),ua({...oa()})}export{n as component}; diff --git a/webapp/assets/_app/immutable/nodes/18.BaIemZME.js b/webapp/assets/_app/immutable/nodes/18.BaIemZME.js new file mode 100644 index 00000000..e888bb36 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/18.BaIemZME.js @@ -0,0 +1 @@ +import{f as S,a as D,s as ye,e as ve,h as Oe}from"../chunks/o8CdT7B0.js";import{i as Se}from"../chunks/ChJfoPF0.js";import{p as Ae,v as He,o as Fe,l as w,d as r,m as a,g as e,j as $,b as Ie,s as i,c as d,r as c,t as X,k as Te,u as j,n as he,a as We,f as Je,$ as Ve,i as Ee}from"../chunks/DUMcBckj.js";import{a as Ue,i as Y,s as qe}from"../chunks/i7pKks78.js";import{r as J,b as De,g as oe}from"../chunks/_9uqtkkk.js";import{e as Ye,i as Ke}from"../chunks/DC7Aeygn.js";import{b as _e,a as we}from"../chunks/BtzOUN4g.js";import{p as Qe}from"../chunks/CdEA5IGF.js";import{M as Xe}from"../chunks/CYPHW1bs.js";import{e as ae}from"../chunks/BZiHL9L3.js";import{F as Ze}from"../chunks/CbREEdny.js";import{e as je,a as xe}from"../chunks/zgwRPQVC.js";import{U as et}from"../chunks/Dk1ODhlO.js";import{D as tt}from"../chunks/mBfsYUjq.js";import{P as rt}from"../chunks/UrL2GjpD.js";import{t as V}from"../chunks/Bbk4dQfI.js";import{k as ot,g as at,c as st,m as nt,p as it}from"../chunks/DQsxKNC2.js";import{D as lt,G as dt}from"../chunks/DG4LDt2Z.js";import{E as ct}from"../chunks/llowLxE6.js";import{E as ut}from"../chunks/BqCROW90.js";import{S as pt}from"../chunks/C0gwpZbz.js";import{A as mt}from"../chunks/7XD7ITBY.js";import"../chunks/CnZ9nHem.js";var gt=S('

'),bt=S('

Loading...

'),ft=S(""),yt=S(''),vt=S('

Webhook secret will be automatically generated

'),ht=S('
'),_t=S('

Create Repository

');function wt(se,ne){Ae(ne,!1);const[ie,le]=qe(),p=()=>Ue(je,"$eagerCache",ie),C=a(),x=a(),G=a(),R=a(),P=He();let y=a(!1),g=a(""),b=a("github"),o=a({name:"",owner:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin",agent_mode:!1}),A=a(!0),u=a(!0);async function f(){if(!p().loaded.credentials&&!p().loading.credentials)try{await xe.getCredentials()}catch(l){r(g,ae(l))}}function _(l){r(b,l.detail),$(o,e(o).credentials_name="")}function M(){if(e(o).credentials_name){const l=e(C).find(F=>F.name===e(o).credentials_name);l&&l.forge_type&&r(b,l.forge_type)}}function T(){const l=new Uint8Array(32);return crypto.getRandomValues(l),Array.from(l,F=>F.toString(16).padStart(2,"0")).join("")}Fe(()=>{f()});async function de(){if(!e(o).name?.trim()){r(g,"Repository name is required");return}if(!e(o).owner?.trim()){r(g,"Repository owner is required");return}if(!e(o).credentials_name){r(g,"Please select credentials");return}try{r(y,!0),r(g,"");const l={...e(o),install_webhook:e(A),auto_generate_secret:e(u)};P("submit",l)}catch(l){r(g,ae(l)),r(y,!1)}}w(()=>p(),()=>{r(C,p().credentials)}),w(()=>p(),()=>{r(x,p().loading.credentials)}),w(()=>(e(C),e(b)),()=>{r(G,e(C).filter(l=>e(b)?l.forge_type===e(b):!0))}),w(()=>e(u),()=>{e(u)?$(o,e(o).webhook_secret=T()):e(u)||$(o,e(o).webhook_secret="")}),w(()=>(e(o),e(u)),()=>{r(R,e(o).name?.trim()!==""&&e(o).owner?.trim()!==""&&e(o).credentials_name!==""&&(e(u)||e(o).webhook_secret?.trim()!==""))}),Ie(),Se(),Xe(se,{$$events:{close:()=>P("close")},children:(l,F)=>{var E=_t(),Z=i(d(E),2);{var ce=v=>{var h=gt(),I=d(h),W=d(I,!0);c(I),c(h),X(()=>ye(W,e(g))),D(v,h)};Y(Z,v=>{e(g)&&v(ce)})}var ue=i(Z,2);{var pe=v=>{var h=bt();D(v,h)},me=v=>{var h=ht(),I=d(h);Ze(I,{get selectedForgeType(){return e(b)},set selectedForgeType(s){r(b,s)},$$events:{select:_},$$legacy:!0});var W=i(I,2),ee=i(d(W),2);J(ee),c(W);var z=i(W,2),B=i(d(z),2);J(B),c(z);var L=i(z,2),N=i(d(L),2);X(()=>{e(o),Te(()=>{e(G)})});var O=d(N);O.value=O.__value="";var ge=i(O);Ye(ge,1,()=>e(G),Ke,(s,m)=>{var q=ft(),Ne=d(q);c(q);var Me={};X(()=>{ye(Ne,`${e(m),j(()=>e(m).name)??""} (${e(m),j(()=>e(m).endpoint?.name)??""})`),Me!==(Me=(e(m),j(()=>e(m).name)))&&(q.value=(q.__value=(e(m),j(()=>e(m).name)))??"")}),D(s,q)}),c(N),c(L);var H=i(L,2),K=i(d(H),2);X(()=>{e(o),Te(()=>{})});var Q=d(K);Q.value=Q.__value="roundrobin";var te=i(Q);te.value=te.__value="pack",c(K),c(H);var t=i(H,2),n=d(t),re=d(n);J(re),he(4),c(n),c(t);var k=i(t,2),U=d(k),ke=d(U);J(ke),he(2),c(U);var Re=i(U,2),be=d(Re),$e=d(be);J($e),he(2),c(be);var Ge=i(be,2);{var ze=s=>{var m=yt();J(m),_e(m,()=>e(o).webhook_secret,q=>$(o,e(o).webhook_secret=q)),D(s,m)},Be=s=>{var m=vt();D(s,m)};Y(Ge,s=>{e(u)?s(Be,!1):s(ze)})}c(Re),c(k);var Ce=i(k,2),Pe=d(Ce),fe=i(Pe,2),Le=d(fe,!0);c(fe),c(Ce),c(h),X(()=>{fe.disabled=e(y)||e(x)||!e(R),ye(Le,e(y)?"Creating...":"Create Repository")}),_e(ee,()=>e(o).name,s=>$(o,e(o).name=s)),_e(B,()=>e(o).owner,s=>$(o,e(o).owner=s)),De(N,()=>e(o).credentials_name,s=>$(o,e(o).credentials_name=s)),ve("change",N,M),De(K,()=>e(o).pool_balancer_type,s=>$(o,e(o).pool_balancer_type=s)),we(re,()=>e(o).agent_mode,s=>$(o,e(o).agent_mode=s)),we(ke,()=>e(A),s=>r(A,s)),we($e,()=>e(u),s=>r(u,s)),ve("click",Pe,()=>P("close")),ve("submit",h,Qe(de)),D(v,h)};Y(ue,v=>{e(y)?v(pe):v(me,!1)})}c(E),D(l,E)},$$slots:{default:!0}}),We(),le()}var xt=S('
',1);function Ht(se,ne){Ae(ne,!1);const[ie,le]=qe(),p=()=>Ue(je,"$eagerCache",ie),C=a(),x=a(),G=a();let R=a([]),P=a(!0),y=a(""),g=a(""),b=a(!1),o=a(!1),A=a(!1),u=a(null),f=a(null),_=a(1),M=a(25),T=a(1);Fe(async()=>{try{r(P,!0);const t=await xe.getRepositories();t&&Array.isArray(t)&&r(R,t)}catch(t){console.error("Failed to load repositories:",t),r(y,t instanceof Error?t.message:"Failed to load repositories")}finally{r(P,!1)}});async function de(){try{await xe.retryResource("repositories")}catch(t){console.error("Retry failed:",t)}}function l(t){r(u,t),r(o,!0)}function F(t){r(f,t),r(A,!0)}function E(){r(b,!1),r(o,!1),r(A,!1),r(u,null),r(f,null),r(y,"")}async function Z(t){try{r(y,"");const n=t.detail,re={name:n.name,owner:n.owner,credentials_name:n.credentials_name,webhook_secret:n.webhook_secret},k=await oe.createRepository(re);if(n.install_webhook&&k.id)try{await oe.installRepoWebhook(k.id),V.success("Webhook Installed",`Webhook for repository ${k.owner}/${k.name} has been installed successfully.`)}catch(U){console.warn("Repository created but webhook installation failed:",U),V.error("Webhook Installation Failed",U instanceof Error?U.message:"Failed to install webhook. You can try installing it manually from the repository details page.")}r(b,!1),V.success("Repository Created",`Repository ${k.owner}/${k.name} has been created successfully.`)}catch(n){throw r(y,ae(n)),n}}async function ce(t){if(e(u))try{await oe.updateRepository(e(u).id,t),V.success("Repository Updated",`Repository ${e(u).owner}/${e(u).name} has been updated successfully.`),E()}catch(n){throw n}}async function ue(){if(e(f))try{r(y,""),await oe.deleteRepository(e(f).id),V.success("Repository Deleted",`Repository ${e(f).owner}/${e(f).name} has been deleted successfully.`)}catch(t){const n=ae(t);V.error("Delete Failed",n)}finally{E()}}const pe=[{key:"repository",title:"Repository",cellComponent:ct,cellProps:{entityType:"repository",showOwner:!0}},{key:"endpoint",title:"Endpoint",cellComponent:ut},{key:"credentials",title:"Credentials",cellComponent:dt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:pt,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:mt}],me={entityType:"repository",primaryText:{field:"name",isClickable:!0,href:"/repositories/{id}",showOwner:!0},customInfo:[{icon:t=>at(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>ot(t)}],actions:[{type:"edit",handler:t=>l(t)},{type:"delete",handler:t=>F(t)}]};function v(t){r(g,t.detail.term),r(_,1)}function h(t){r(_,t.detail.page)}function I(t){const n=st(t.detail.perPage);r(M,n.newPerPage),r(_,n.newCurrentPage)}function W(t){l(t.detail.item)}function ee(t){F(t.detail.item)}w(()=>(e(R),p()),()=>{(!e(R).length||p().loaded.repositories)&&r(R,p().repositories)}),w(()=>p(),()=>{r(P,p().loading.repositories)}),w(()=>p(),()=>{r(C,p().errorMessages.repositories)}),w(()=>(e(R),e(g)),()=>{r(x,nt(e(R),e(g)))}),w(()=>(e(T),e(x),e(M),e(_)),()=>{r(T,Math.ceil(e(x).length/e(M))),e(_)>e(T)&&e(T)>0&&r(_,e(T))}),w(()=>(e(x),e(_),e(M)),()=>{r(G,it(e(x),e(_),e(M)))}),Ie(),Se();var z=xt();Oe(t=>{Ve.title="Repositories - GARM"});var B=Je(z),L=d(B);rt(L,{title:"Repositories",description:"Manage your GitHub repositories and their runners",actionLabel:"Add Repository",$$events:{action:()=>{r(b,!0)}}});var N=i(L,2);{let t=Ee(()=>e(C)||e(y)),n=Ee(()=>!!e(C));lt(N,{get columns(){return pe},get data(){return e(G)},get loading(){return e(P)},get error(){return e(t)},get searchTerm(){return e(g)},searchPlaceholder:"Search repositories by name or owner...",get currentPage(){return e(_)},get perPage(){return e(M)},get totalPages(){return e(T)},get totalItems(){return e(x),j(()=>e(x).length)},itemName:"repositories",emptyIconType:"building",get showRetry(){return e(n)},get mobileCardConfig(){return me},$$events:{search:v,pageChange:h,perPageChange:I,retry:de,edit:W,delete:ee}})}c(B);var O=i(B,2);{var ge=t=>{wt(t,{$$events:{close:()=>r(b,!1),submit:Z}})};Y(O,t=>{e(b)&&t(ge)})}var H=i(O,2);{var K=t=>{et(t,{get entity(){return e(u)},entityType:"repository",$$events:{close:E,submit:n=>ce(n.detail)}})};Y(H,t=>{e(o)&&e(u)&&t(K)})}var Q=i(H,2);{var te=t=>{tt(t,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and runners.",get itemName(){return`${e(f),j(()=>e(f).owner)??""}/${e(f),j(()=>e(f).name)??""}`},$$events:{close:E,confirm:ue}})};Y(Q,t=>{e(A)&&e(f)&&t(te)})}D(se,z),We(),le()}export{Ht as component}; diff --git a/webapp/assets/_app/immutable/nodes/18.YzZXxt0g.js b/webapp/assets/_app/immutable/nodes/18.YzZXxt0g.js deleted file mode 100644 index c1ae4300..00000000 --- a/webapp/assets/_app/immutable/nodes/18.YzZXxt0g.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Le,a as W,s as Re,b as I,e as Pe,l as Ne,f as U,h as at}from"../chunks/CxOx-TIJ.js";import{i as ze}from"../chunks/3NxSoY2_.js";import{p as He,B as ot,o as Oe,l as $,j as r,m as o,g as e,i as V,k as D,b as Je,d as f,s as i,c as d,r as c,t as ne,v as je,u as O,w as Me,a as Ve,n as H,F as P,f as st,$ as nt,e as Be}from"../chunks/DzFKsO_V.js";import{a as Ye,i as Q,s as Ke,v as Qe}from"../chunks/B_jyf0qs.js";import{l as Te}from"../chunks/BAcG6-Ep.js";import{r as Y,b as Ge,g as pe}from"../chunks/BguOOs3x.js";import{e as it,i as lt}from"../chunks/CdXRaxkX.js";import{w as dt}from"../chunks/DoJxysSt.js";import{b as Ee,a as De}from"../chunks/BVM1034P.js";import{p as ct}from"../chunks/CdEA5IGF.js";import{M as ut}from"../chunks/Pgjt70l7.js";import{e as me}from"../chunks/BZiHL9L3.js";import{F as pt}from"../chunks/DvQW-lMP.js";import{e as ge,a as Se}from"../chunks/Penjr-j0.js";import{U as mt}from"../chunks/B8GNZv7s.js";import{D as gt}from"../chunks/DL1RlOO9.js";import{P as ft}from"../chunks/DTko0dwG.js";import{t as K}from"../chunks/li_-Mkq2.js";import{k as bt,g as yt,c as vt,m as ht,p as _t}from"../chunks/JkzpcrZD.js";import{D as wt,E as kt,a as xt,G as $t,S as Ct,A as Rt}from"../chunks/C2FKJqnN.js";p[P]="src/lib/components/CreateRepositoryModal.svelte";var Pt=W(U('

'),p[P],[[132,3,[[133,4]]]]),Mt=W(U('

Loading...

'),p[P],[[138,3,[[139,4],[140,4]]]]),Tt=W(U(""),p[P],[[194,7]]),Et=W(U(''),p[P],[[284,7]]),Dt=W(U('

Webhook secret will be automatically generated

'),p[P],[[291,7]]),St=W(U('
'),p[P],[[143,3,[[151,4,[[152,5],[155,5]]],[166,4,[[167,5],[170,5]]],[181,4,[[182,5],[185,5,[[192,6]]]]],[202,4,[[203,5,[[204,6],[207,6,[[208,7,[[209,8]]],[211,7,[[212,8,[[213,9]]],[215,8,[[216,9]]],[218,8]]]]]]],[222,5,[[227,6],[228,6]]]]],[233,4,[[234,5,[[235,6],[241,6],[244,6,[[245,7,[[246,8]]],[248,7,[[250,8]]]]]]]]],[257,4,[[258,5,[[259,6],[265,6]]],[270,5,[[271,6,[[272,7],[278,7]]]]]]],[299,4,[[300,5],[307,5]]]]]]),At=W(U('

Create Repository

'),p[P],[[128,1,[[129,2]]]]);function p(fe,be){Le(new.target),He(be,!1,p);const[ye,ve]=Ke(),m=()=>(Qe(ge,"eagerCache"),Ye(ge,"$eagerCache",ye)),S=o(),C=o(),J=o(),M=o(),A=ot();let h=o(!1),b=o(""),y=o("github"),a=o({name:"",owner:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin",agent_mode:!1}),q=o(!0),u=o(!0);async function v(){if(!m().loaded.credentials&&!m().loading.credentials)try{(await H(Se.getCredentials()))()}catch(l){r(b,me(l))}}function k(l){r(y,l.detail),D(a,e(a).credentials_name="")}function T(){if(e(a).credentials_name){const l=e(S).find(E=>V(E.name,e(a).credentials_name));l&&l.forge_type&&r(y,l.forge_type)}}function F(){const l=new Uint8Array(32);return crypto.getRandomValues(l),Array.from(l,E=>E.toString(16).padStart(2,"0")).join("")}Oe(()=>{v()});async function he(){if(!e(a).name?.trim()){r(b,"Repository name is required");return}if(!e(a).owner?.trim()){r(b,"Repository owner is required");return}if(!e(a).credentials_name){r(b,"Please select credentials");return}try{r(h,!0),r(b,"");const l={...e(a),install_webhook:e(q),auto_generate_secret:e(u)};A("submit",l)}catch(l){r(b,me(l)),r(h,!1)}}$(()=>m(),()=>{r(S,m().credentials)}),$(()=>m(),()=>{r(C,m().loading.credentials)}),$(()=>(e(S),e(y)),()=>{r(J,e(S).filter(l=>e(y)?V(l.forge_type,e(y)):!0))}),$(()=>e(u),()=>{e(u)?D(a,e(a).webhook_secret=F()):e(u)||D(a,e(a).webhook_secret="")}),$(()=>(e(a),e(u)),()=>{r(M,V(e(a).name?.trim(),"",!1)&&V(e(a).owner?.trim(),"",!1)&&V(e(a).credentials_name,"",!1)&&(e(u)||V(e(a).webhook_secret?.trim(),"",!1)))}),Je(),ze(),f(()=>ut(fe,{$$events:{close:()=>A("close")},children:dt(p,(l,E)=>{var X=At(),le=i(d(X),2);{var _e=_=>{var w=Pt(),j=d(w),B=d(j,!0);c(j),c(w),ne(()=>Re(B,e(b))),I(_,w)};f(()=>Q(le,_=>{e(b)&&_(_e)}),"if",p,131,2)}var we=i(le,2);{var ke=_=>{var w=Mt();I(_,w)},xe=_=>{var w=St(),j=d(w);f(()=>pt(j,{get selectedForgeType(){return e(y)},set selectedForgeType(s){r(y,s)},$$events:{select:k},$$legacy:!0}),"component",p,145,4,{componentTag:"ForgeTypeSelector"});var B=i(j,2),Z=i(d(B),2);Y(Z),c(B);var G=i(B,2),ee=i(d(G),2);Y(ee),c(G);var te=i(G,2),L=i(d(te),2);ne(()=>{e(a),je(()=>{e(J)})});var re=d(L);re.value=re.__value="";var de=i(re);f(()=>it(de,1,()=>e(J),lt,(s,g)=>{var z=Tt(),rt=d(z);c(z);var qe={};ne(()=>{Re(rt,`${e(g),O(()=>e(g).name)??""} (${e(g),O(()=>e(g).endpoint?.name)??""})`),qe!==(qe=(e(g),O(()=>e(g).name)))&&(z.value=(z.__value=(e(g),O(()=>e(g).name)))??"")}),I(s,z)}),"each",p,193,6),c(L),c(te);var ae=i(te,2),oe=i(d(ae),2);ne(()=>{e(a),je(()=>{})});var se=d(oe);se.value=se.__value="roundrobin";var ce=i(se);ce.value=ce.__value="pack",c(oe),c(ae);var t=i(ae,2),n=d(t),ue=d(n);Y(ue),Me(4),c(n),c(t);var R=i(t,2),N=d(R),Ae=d(N);Y(Ae),Me(2),c(N);var Fe=i(N,2),$e=d(Fe),Ie=d($e);Y(Ie),Me(2),c($e);var Xe=i($e,2);{var Ze=s=>{var g=Et();Y(g),Ee(g,()=>e(a).webhook_secret,z=>D(a,e(a).webhook_secret=z)),I(s,g)},et=s=>{var g=Dt();I(s,g)};f(()=>Q(Xe,s=>{e(u)?s(et,!1):s(Ze)}),"if",p,283,6)}c(Fe),c(R);var We=i(R,2),Ue=d(We),Ce=i(Ue,2),tt=d(Ce,!0);c(Ce),c(We),c(w),ne(()=>{Ce.disabled=e(h)||e(C)||!e(M),Re(tt,e(h)?"Creating...":"Create Repository")}),Ee(Z,()=>e(a).name,s=>D(a,e(a).name=s)),Ee(ee,()=>e(a).owner,s=>D(a,e(a).owner=s)),Ge(L,()=>e(a).credentials_name,s=>D(a,e(a).credentials_name=s)),Pe("change",L,T),Ge(oe,()=>e(a).pool_balancer_type,s=>D(a,e(a).pool_balancer_type=s)),De(ue,()=>e(a).agent_mode,s=>D(a,e(a).agent_mode=s)),De(Ae,()=>e(q),s=>r(q,s)),De(Ie,()=>e(u),s=>r(u,s)),Pe("click",Ue,()=>A("close")),Pe("submit",w,ct(he)),I(_,w)};f(()=>Q(we,_=>{e(h)?_(ke):_(xe,!1)}),"if",p,137,2)}c(X),I(l,X)}),$$slots:{default:!0}}),"component",p,127,0,{componentTag:"Modal"});var ie=Ve({...Ne()});return ve(),ie}x[P]="src/routes/repositories/+page.svelte";var Ft=W(U('
',1),x[P],[[277,0]]);function x(fe,be){Le(new.target),He(be,!1,x);const[ye,ve]=Ke(),m=()=>(Qe(ge,"eagerCache"),Ye(ge,"$eagerCache",ye)),S=o(),C=o(),J=o();let M=o([]),A=o(!0),h=o(""),b=o(""),y=o(!1),a=o(!1),q=o(!1),u=o(null),v=o(null),k=o(1),T=o(25),F=o(1);Oe(async()=>{try{r(A,!0);const t=(await H(Se.getRepositories()))();t&&Array.isArray(t)&&r(M,t)}catch(t){console.error(...Te("error","Failed to load repositories:",t)),r(h,t instanceof Error?t.message:"Failed to load repositories")}finally{r(A,!1)}});async function he(){try{(await H(Se.retryResource("repositories")))()}catch(t){console.error(...Te("error","Retry failed:",t))}}function ie(t){r(u,t),r(a,!0)}function l(t){r(v,t),r(q,!0)}function E(){r(y,!1),r(a,!1),r(q,!1),r(u,null),r(v,null),r(h,"")}async function X(t){try{r(h,"");const n=t.detail,ue={name:n.name,owner:n.owner,credentials_name:n.credentials_name,webhook_secret:n.webhook_secret},R=(await H(pe.createRepository(ue)))();if(n.install_webhook&&R.id)try{(await H(pe.installRepoWebhook(R.id)))(),K.success("Webhook Installed",`Webhook for repository ${R.owner}/${R.name} has been installed successfully.`)}catch(N){console.warn(...Te("warn","Repository created but webhook installation failed:",N)),K.error("Webhook Installation Failed",N instanceof Error?N.message:"Failed to install webhook. You can try installing it manually from the repository details page.")}r(y,!1),K.success("Repository Created",`Repository ${R.owner}/${R.name} has been created successfully.`)}catch(n){throw r(h,me(n)),n}}async function le(t){if(e(u))try{(await H(pe.updateRepository(e(u).id,t)))(),K.success("Repository Updated",`Repository ${e(u).owner}/${e(u).name} has been updated successfully.`),E()}catch(n){throw n}}async function _e(){if(e(v))try{r(h,""),(await H(pe.deleteRepository(e(v).id)))(),K.success("Repository Deleted",`Repository ${e(v).owner}/${e(v).name} has been deleted successfully.`)}catch(t){const n=me(t);K.error("Delete Failed",n)}finally{E()}}const we=[{key:"repository",title:"Repository",cellComponent:kt,cellProps:{entityType:"repository",showOwner:!0}},{key:"endpoint",title:"Endpoint",cellComponent:xt},{key:"credentials",title:"Credentials",cellComponent:$t,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:Ct,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:Rt}],ke={entityType:"repository",primaryText:{field:"name",isClickable:!0,href:"/repositories/{id}",showOwner:!0},customInfo:[{icon:t=>yt(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>bt(t)}],actions:[{type:"edit",handler:t=>ie(t)},{type:"delete",handler:t=>l(t)}]};function xe(t){r(b,t.detail.term),r(k,1)}function _(t){r(k,t.detail.page)}function w(t){const n=vt(t.detail.perPage);r(T,n.newPerPage),r(k,n.newCurrentPage)}function j(t){ie(t.detail.item)}function B(t){l(t.detail.item)}$(()=>(e(M),m()),()=>{(!e(M).length||m().loaded.repositories)&&r(M,m().repositories)}),$(()=>m(),()=>{r(A,m().loading.repositories)}),$(()=>m(),()=>{r(S,m().errorMessages.repositories)}),$(()=>(e(M),e(b)),()=>{r(C,ht(e(M),e(b)))}),$(()=>(e(F),e(C),e(T),e(k)),()=>{r(F,Math.ceil(e(C).length/e(T))),e(k)>e(F)&&e(F)>0&&r(k,e(F))}),$(()=>(e(C),e(k),e(T)),()=>{r(J,_t(e(C),e(k),e(T)))}),Je(),ze();var Z=Ft();at(t=>{nt.title="Repositories - GARM"});var G=st(Z),ee=d(G);f(()=>ft(ee,{title:"Repositories",description:"Manage your GitHub repositories and their runners",actionLabel:"Add Repository",$$events:{action:()=>{r(y,!0)}}}),"component",x,279,1,{componentTag:"PageHeader"});var te=i(ee,2);{let t=Be(()=>e(S)||e(h)),n=Be(()=>!!e(S));f(()=>wt(te,{get columns(){return we},get data(){return e(J)},get loading(){return e(A)},get error(){return e(t)},get searchTerm(){return e(b)},searchPlaceholder:"Search repositories by name or owner...",get currentPage(){return e(k)},get perPage(){return e(T)},get totalPages(){return e(F)},get totalItems(){return e(C),O(()=>e(C).length)},itemName:"repositories",emptyIconType:"building",get showRetry(){return e(n)},get mobileCardConfig(){return ke},$$events:{search:xe,pageChange:_,perPageChange:w,retry:he,edit:j,delete:B}}),"component",x,286,1,{componentTag:"DataTable"})}c(G);var L=i(G,2);{var re=t=>{f(()=>p(t,{$$events:{close:()=>r(y,!1),submit:X}}),"component",x,312,1,{componentTag:"CreateRepositoryModal"})};f(()=>Q(L,t=>{e(y)&&t(re)}),"if",x,311,0)}var de=i(L,2);{var ae=t=>{f(()=>mt(t,{get entity(){return e(u)},entityType:"repository",$$events:{close:E,submit:n=>le(n.detail)}}),"component",x,319,1,{componentTag:"UpdateEntityModal"})};f(()=>Q(de,t=>{e(a)&&e(u)&&t(ae)}),"if",x,318,0)}var oe=i(de,2);{var se=t=>{f(()=>gt(t,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and runners.",get itemName(){return`${e(v),O(()=>e(v).owner)??""}/${e(v),O(()=>e(v).name)??""}`},$$events:{close:E,confirm:_e}}),"component",x,328,1,{componentTag:"DeleteModal"})};f(()=>Q(oe,t=>{e(q)&&e(v)&&t(se)}),"if",x,327,0)}I(fe,Z);var ce=Ve({...Ne()});return ve(),ce}export{x as component}; diff --git a/webapp/assets/_app/immutable/nodes/19.4IHf2A04.js b/webapp/assets/_app/immutable/nodes/19.4IHf2A04.js deleted file mode 100644 index c921e0cb..00000000 --- a/webapp/assets/_app/immutable/nodes/19.4IHf2A04.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Qe,a as W,h as Xe,b as T,l as Ye,s as ve,f as H,d as ye}from"../chunks/CxOx-TIJ.js";import{i as Ze}from"../chunks/3NxSoY2_.js";import{p as et,o as tt,x as ot,l as at,b as rt,f as L,d as i,t as Q,a as nt,s as p,g as e,m as u,u as l,h as ge,F as P,c as v,j as r,$ as st,r as y,e as g,n as E,k as it,i as c}from"../chunks/DzFKsO_V.js";import{s as lt,a as ct,i as $,v as dt}from"../chunks/B_jyf0qs.js";import{c as N,d as pt,g as b}from"../chunks/BguOOs3x.js";import{p as he}from"../chunks/DgabA6iF.js";import{g as _e}from"../chunks/BzzAh3Be.js";import{U as ut}from"../chunks/B8GNZv7s.js";import{D as $e}from"../chunks/DL1RlOO9.js";import{E as mt,P as ft,a as vt}from"../chunks/Cfss7k9J.js";import{D as yt}from"../chunks/BLYRAgBX.js";import{g as be}from"../chunks/JkzpcrZD.js";import{e as B}from"../chunks/BZiHL9L3.js";import{I as gt}from"../chunks/CzarUgpd.js";import{W as ht}from"../chunks/DMKMpIvH.js";import{C as _t}from"../chunks/BBvIKVJT.js";import{w as X}from"../chunks/DSHGoHxX.js";import{t as D}from"../chunks/li_-Mkq2.js";n[P]="src/routes/repositories/[id]/+page.svelte";var $t=W(H('

Loading repository...

'),n[P],[[320,2,[[321,3],[322,3]]]]),bt=W(H('

'),n[P],[[325,2,[[326,3]]]]),xt=W(H(" ",1),n[P],[]),wt=W(H(' ',1),n[P],[[294,0,[[296,1,[[297,2,[[298,3,[[299,4,[[300,5,[[301,6]]]]]]],[306,3,[[307,4,[[308,5,[[309,6]]],[311,5]]]]]]]]]]]]);function n(xe,we){Qe(new.target),et(we,!1,n);const[Ie,Te]=lt(),Y=()=>(dt(he,"page"),ct(he,"$page",Ie)),R=u();let t=u(null),m=u([]),h=u([]),q=u(!0),k=u(""),C=u(!1),S=u(!1),M=u(!1),A=u(!1),f=u(null),F=null,x=u();async function Z(){if(e(R))try{r(q,!0),r(k,"");const[o,a,s]=(await E(Promise.all([b.getRepository(e(R)),b.listRepositoryPools(e(R)).catch(()=>[]),b.listRepositoryInstances(e(R)).catch(()=>[])])))();r(t,o),r(m,a),r(h,s)}catch(o){r(k,B(o))}finally{r(q,!1)}}function Ee(o,a){const{events:s}=o;return{...a,events:s}}async function De(o){if(e(t))try{(await E(b.updateRepository(e(t).id,o)))(),(await E(Z()))(),D.success("Repository Updated",`Repository ${e(t).owner}/${e(t).name} has been updated successfully.`),r(C,!1)}catch(a){throw a}}async function Re(){if(e(t)){try{(await E(b.deleteRepository(e(t).id)))(),_e(N("/repositories"))}catch(o){const a=B(o);D.error("Delete Failed",a)}r(S,!1)}}async function Me(){if(e(f))try{(await E(b.deleteInstance(e(f).name)))(),D.success("Instance Deleted",`Instance ${e(f).name} has been deleted successfully.`),r(M,!1),r(f,null)}catch(o){const a=B(o);D.error("Delete Failed",a),r(M,!1),r(f,null)}}function Pe(o){r(f,o),r(M,!0)}function ke(){r(A,!0)}async function Ce(o){try{if(!e(t))return;(await E(b.createRepositoryPool(e(t).id,o.detail)))(),D.success("Pool Created",`Pool has been created successfully for repository ${e(t).owner}/${e(t).name}.`),r(A,!1)}catch(a){const s=B(a);D.error("Pool Creation Failed",s)}}function ee(){e(x)&&it(x,e(x).scrollTop=e(x).scrollHeight)}function Se(o){if(c(o.operation,"update")){const a=o.payload;if(e(t)&&c(a.id,e(t).id)){const s=e(t).events?.length||0,d=a.events?.length||0;r(t,Ee(e(t),a)),d>s&&setTimeout(()=>{ee()},100)}}else if(c(o.operation,"delete")){const a=o.payload.id||o.payload;e(t)&&c(e(t).id,a)&&_e(N("/repositories"))}}function Ae(o){if(!e(t))return;const a=o.payload;if(!c(a.repo_id,e(t).id,!1)){if(c(o.operation,"create"))r(m,[...e(m),a]);else if(c(o.operation,"update"))r(m,e(m).map(s=>c(s.id,a.id)?a:s));else if(c(o.operation,"delete")){const s=a.id||a;r(m,e(m).filter(d=>c(d.id,s,!1)))}}}function Fe(o){if(!e(t)||!e(m))return;const a=o.payload;if(e(m).some(d=>c(d.id,a.pool_id))){if(c(o.operation,"create"))r(h,[...e(h),a]);else if(c(o.operation,"update"))r(h,e(h).map(d=>c(d.id,a.id)?a:d));else if(c(o.operation,"delete")){const d=a.id||a;r(h,e(h).filter(O=>c(O.id,d,!1)))}}}tt(()=>{Z().then(()=>{e(t)?.events?.length&&setTimeout(()=>{ee()},100)});const o=X.subscribeToEntity("repository",["update","delete"],Se),a=X.subscribeToEntity("pool",["create","update","delete"],Ae),s=X.subscribeToEntity("instance",["create","update","delete"],Fe);F=()=>{o(),a(),s()}}),ot(()=>{F&&(F(),F=null)}),at(()=>Y(),()=>{r(R,Y().params.id)}),rt(),Ze();var te=wt();Xe(o=>{Q(()=>st.title=`${e(t),l(()=>e(t)?`${e(t).name} - Repository Details`:"Repository Details")??""} - GARM`)});var z=L(te),j=v(z),oe=v(j),G=v(oe),Ue=v(G);y(G);var ae=p(G,2),re=v(ae),ne=p(v(re),2),Le=v(ne,!0);y(ne),y(re),y(ae),y(oe),y(j);var Ne=p(j,2);{var Be=o=>{var a=$t();T(o,a)},We=o=>{var a=ye(),s=L(a);{var d=w=>{var I=bt(),U=v(I),V=v(U,!0);y(U),y(I),Q(()=>ve(V,e(k))),T(w,I)},O=w=>{var I=ye(),U=L(I);{var V=J=>{var ce=xt(),de=L(ce);{let _=g(()=>(e(t),l(()=>e(t).name||"Repository"))),K=g(()=>(e(t),l(()=>e(t).owner))),Je=g(()=>(e(t),l(()=>e(t).endpoint?.name))),Ke=g(()=>(ge(be),e(t),l(()=>be(e(t).endpoint?.endpoint_type||"unknown"))));i(()=>yt(de,{get title(){return e(_)},get subtitle(){return`Owner: ${e(K)??""} • Endpoint: ${e(Je)??""}`},get forgeIcon(){return e(Ke)},onEdit:()=>r(C,!0),onDelete:()=>r(S,!0)}),"component",n,330,2,{componentTag:"DetailHeader"})}var pe=p(de,2);i(()=>mt(pe,{get entity(){return e(t)},entityType:"repository"}),"component",n,339,2,{componentTag:"EntityInformation"});var ue=p(pe,2);{let _=g(()=>(e(t),l(()=>e(t).id||"")));i(()=>ht(ue,{entityType:"repository",get entityId(){return e(_)},get entityName(){return`${e(t),l(()=>e(t).owner)??""}/${e(t),l(()=>e(t).name)??""}`}}),"component",n,342,2,{componentTag:"WebhookSection"})}var me=p(ue,2);{let _=g(()=>(e(t),l(()=>e(t).id||"")));i(()=>ft(me,{get pools(){return e(m)},entityType:"repository",get entityId(){return e(_)},get entityName(){return`${e(t),l(()=>e(t).owner)??""}/${e(t),l(()=>e(t).name)??""}`},$$events:{addPool:ke}}),"component",n,349,2,{componentTag:"PoolsSection"})}var fe=p(me,2);i(()=>gt(fe,{get instances(){return e(h)},entityType:"repository",onDeleteInstance:Pe}),"component",n,358,2,{componentTag:"InstancesSection"});var Ve=p(fe,2);{let _=g(()=>(e(t),l(()=>e(t)?.events)));i(()=>vt(Ve,{get events(){return e(_)},get eventsContainer(){return e(x)},set eventsContainer(K){r(x,K)},$$legacy:!0}),"component",n,361,2,{componentTag:"EventsSection"})}T(J,ce)};i(()=>$(U,J=>{e(t)&&J(V)},!0),"if",n,328,1)}T(w,I)};i(()=>$(s,w=>{e(k)?w(d):w(O,!1)},!0),"if",n,324,1)}T(o,a)};i(()=>$(Ne,o=>{e(q)?o(Be):o(We,!1)}),"if",n,319,1)}y(z);var se=p(z,2);{var He=o=>{i(()=>ut(o,{get entity(){return e(t)},entityType:"repository",$$events:{close:()=>r(C,!1),submit:a=>De(a.detail)}}),"component",n,367,1,{componentTag:"UpdateEntityModal"})};i(()=>$(se,o=>{e(C)&&e(t)&&o(He)}),"if",n,366,0)}var ie=p(se,2);{var qe=o=>{{let a=g(()=>(e(t),l(()=>`${e(t).owner}/${e(t).name}`)));i(()=>$e(o,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a)},$$events:{close:()=>r(S,!1),confirm:Re}}),"component",n,376,1,{componentTag:"DeleteModal"})}};i(()=>$(ie,o=>{e(S)&&e(t)&&o(qe)}),"if",n,375,0)}var le=p(ie,2);{var ze=o=>{i(()=>$e(o,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(f),l(()=>e(f).name)},$$events:{close:()=>{r(M,!1),r(f,null)},confirm:Me}}),"component",n,386,1,{componentTag:"DeleteModal"})};i(()=>$(le,o=>{e(M)&&e(f)&&o(ze)}),"if",n,385,0)}var je=p(le,2);{var Ge=o=>{{let a=g(()=>(e(t),l(()=>e(t).id||"")));i(()=>_t(o,{initialEntityType:"repository",get initialEntityId(){return e(a)},$$events:{close:()=>r(A,!1),submit:Ce}}),"component",n,396,1,{componentTag:"CreatePoolModal"})}};i(()=>$(je,o=>{e(A)&&e(t)&&o(Ge)}),"if",n,395,0)}Q(o=>{pt(Ue,"href",o),ve(Le,(e(t),l(()=>e(t)?e(t).name:"Loading...")))},[()=>(ge(N),l(()=>N("/repositories")))]),T(xe,te);var Oe=nt({...Ye()});return Te(),Oe}export{n as component}; diff --git a/webapp/assets/_app/immutable/nodes/19.BpbLvCcG.js b/webapp/assets/_app/immutable/nodes/19.BpbLvCcG.js new file mode 100644 index 00000000..087f4ab6 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/19.BpbLvCcG.js @@ -0,0 +1 @@ +import{f as F,h as ze,a as x,s as de,c as ce}from"../chunks/o8CdT7B0.js";import{i as He}from"../chunks/ChJfoPF0.js";import{p as je,o as Ge,q as Oe,l as Ve,b as Je,f as k,t as j,a as Ke,u as n,h as pe,g as e,m as l,c as u,s as d,d as r,$ as Qe,r as f,j as Xe,i as m}from"../chunks/DUMcBckj.js";import{i as g,s as Ye,a as Ze}from"../chunks/i7pKks78.js";import{c as A,d as et,g as h}from"../chunks/_9uqtkkk.js";import{p as tt}from"../chunks/K7MmO9Q9.js";import{g as ue}from"../chunks/BcoJ4GZv.js";import{U as ot}from"../chunks/Dk1ODhlO.js";import{D as fe}from"../chunks/mBfsYUjq.js";import{E as at,P as rt,a as st}from"../chunks/DGDf0Obs.js";import{D as nt}from"../chunks/Ckj0xxjl.js";import{g as me}from"../chunks/DQsxKNC2.js";import{e as S}from"../chunks/BZiHL9L3.js";import{I as it}from"../chunks/Dah3498E.js";import{W as lt}from"../chunks/O0YA8q4d.js";import{C as dt}from"../chunks/4L8NSMkU.js";import{w as G}from"../chunks/DTRhxHIE.js";import{t as w}from"../chunks/Bbk4dQfI.js";var ct=F('

Loading repository...

'),pt=F('

'),ut=F(" ",1),ft=F(' ',1);function kt(ye,ve){je(ve,!1);const[ge,he]=Ye(),O=()=>Ze(tt,"$page",ge),I=l();let t=l(null),c=l([]),y=l([]),U=l(!0),E=l(""),D=l(!1),P=l(!1),R=l(!1),T=l(!1),p=l(null),M=null,_=l();async function V(){if(e(I))try{r(U,!0),r(E,"");const[o,a,s]=await Promise.all([h.getRepository(e(I)),h.listRepositoryPools(e(I)).catch(()=>[]),h.listRepositoryInstances(e(I)).catch(()=>[])]);r(t,o),r(c,a),r(y,s)}catch(o){r(E,S(o))}finally{r(U,!1)}}function _e(o,a){const{events:s}=o;return{...a,events:s}}async function $e(o){if(e(t))try{await h.updateRepository(e(t).id,o),await V(),w.success("Repository Updated",`Repository ${e(t).owner}/${e(t).name} has been updated successfully.`),r(D,!1)}catch(a){throw a}}async function be(){if(e(t)){try{await h.deleteRepository(e(t).id),ue(A("/repositories"))}catch(o){const a=S(o);w.error("Delete Failed",a)}r(P,!1)}}async function xe(){if(e(p))try{await h.deleteInstance(e(p).name),w.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),r(R,!1),r(p,null)}catch(o){const a=S(o);w.error("Delete Failed",a),r(R,!1),r(p,null)}}function we(o){r(p,o),r(R,!0)}function Ie(){r(T,!0)}async function Re(o){try{if(!e(t))return;await h.createRepositoryPool(e(t).id,o.detail),w.success("Pool Created",`Pool has been created successfully for repository ${e(t).owner}/${e(t).name}.`),r(T,!1)}catch(a){const s=S(a);w.error("Pool Creation Failed",s)}}function J(){e(_)&&Xe(_,e(_).scrollTop=e(_).scrollHeight)}function Ee(o){if(o.operation==="update"){const a=o.payload;if(e(t)&&a.id===e(t).id){const s=e(t).events?.length||0,i=a.events?.length||0;r(t,_e(e(t),a)),i>s&&setTimeout(()=>{J()},100)}}else if(o.operation==="delete"){const a=o.payload.id||o.payload;e(t)&&e(t).id===a&&ue(A("/repositories"))}}function De(o){if(!e(t))return;const a=o.payload;if(a.repo_id===e(t).id){if(o.operation==="create")r(c,[...e(c),a]);else if(o.operation==="update")r(c,e(c).map(s=>s.id===a.id?a:s));else if(o.operation==="delete"){const s=a.id||a;r(c,e(c).filter(i=>i.id!==s))}}}function Pe(o){if(!e(t)||!e(c))return;const a=o.payload;if(e(c).some(i=>i.id===a.pool_id)){if(o.operation==="create")r(y,[...e(y),a]);else if(o.operation==="update")r(y,e(y).map(i=>i.id===a.id?a:i));else if(o.operation==="delete"){const i=a.id||a;r(y,e(y).filter(W=>W.id!==i))}}}Ge(()=>{V().then(()=>{e(t)?.events?.length&&setTimeout(()=>{J()},100)});const o=G.subscribeToEntity("repository",["update","delete"],Ee),a=G.subscribeToEntity("pool",["create","update","delete"],De),s=G.subscribeToEntity("instance",["create","update","delete"],Pe);M=()=>{o(),a(),s()}}),Oe(()=>{M&&(M(),M=null)}),Ve(()=>O(),()=>{r(I,O().params.id)}),Je(),He();var K=ft();ze(o=>{j(()=>Qe.title=`${e(t),n(()=>e(t)?`${e(t).name} - Repository Details`:"Repository Details")??""} - GARM`)});var B=k(K),L=u(B),Q=u(L),N=u(Q),Te=u(N);f(N);var X=d(N,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(L);var Ce=d(L,2);{var ke=o=>{var a=ct();x(o,a)},Ae=o=>{var a=ce(),s=k(a);{var i=$=>{var b=pt(),C=u(b),q=u(C,!0);f(C),f(b),j(()=>de(q,e(E))),x($,b)},W=$=>{var b=ce(),C=k(b);{var q=z=>{var ae=ut(),re=k(ae);{let v=m(()=>(e(t),n(()=>e(t).name||"Repository"))),H=m(()=>(e(t),n(()=>e(t).owner))),We=m(()=>(e(t),n(()=>e(t).endpoint?.name))),qe=m(()=>(pe(me),e(t),n(()=>me(e(t).endpoint?.endpoint_type||"unknown"))));nt(re,{get title(){return e(v)},get subtitle(){return`Owner: ${e(H)??""} • Endpoint: ${e(We)??""}`},get forgeIcon(){return e(qe)},onEdit:()=>r(D,!0),onDelete:()=>r(P,!0)})}var se=d(re,2);at(se,{get entity(){return e(t)},entityType:"repository"});var ne=d(se,2);{let v=m(()=>(e(t),n(()=>e(t).id||"")));lt(ne,{entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),n(()=>e(t).owner)??""}/${e(t),n(()=>e(t).name)??""}`}})}var ie=d(ne,2);{let v=m(()=>(e(t),n(()=>e(t).id||"")));rt(ie,{get pools(){return e(c)},entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),n(()=>e(t).owner)??""}/${e(t),n(()=>e(t).name)??""}`},$$events:{addPool:Ie}})}var le=d(ie,2);it(le,{get instances(){return e(y)},entityType:"repository",onDeleteInstance:we});var Ne=d(le,2);{let v=m(()=>(e(t),n(()=>e(t)?.events)));st(Ne,{get events(){return e(v)},get eventsContainer(){return e(_)},set eventsContainer(H){r(_,H)},$$legacy:!0})}x(z,ae)};g(C,z=>{e(t)&&z(q)},!0)}x($,b)};g(s,$=>{e(E)?$(i):$(W,!1)},!0)}x(o,a)};g(Ce,o=>{e(U)?o(ke):o(Ae,!1)})}f(B);var ee=d(B,2);{var Se=o=>{ot(o,{get entity(){return e(t)},entityType:"repository",$$events:{close:()=>r(D,!1),submit:a=>$e(a.detail)}})};g(ee,o=>{e(D)&&e(t)&&o(Se)})}var te=d(ee,2);{var Fe=o=>{{let a=m(()=>(e(t),n(()=>`${e(t).owner}/${e(t).name}`)));fe(o,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a)},$$events:{close:()=>r(P,!1),confirm:be}})}};g(te,o=>{e(P)&&e(t)&&o(Fe)})}var oe=d(te,2);{var Ue=o=>{fe(o,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),n(()=>e(p).name)},$$events:{close:()=>{r(R,!1),r(p,null)},confirm:xe}})};g(oe,o=>{e(R)&&e(p)&&o(Ue)})}var Be=d(oe,2);{var Le=o=>{{let a=m(()=>(e(t),n(()=>e(t).id||"")));dt(o,{initialEntityType:"repository",get initialEntityId(){return e(a)},$$events:{close:()=>r(T,!1),submit:Re}})}};g(Be,o=>{e(T)&&e(t)&&o(Le)})}j(o=>{et(Te,"href",o),de(Me,(e(t),n(()=>e(t)?e(t).name:"Loading...")))},[()=>(pe(A),n(()=>A("/repositories")))]),x(ye,K),Ke(),he()}export{kt as component}; diff --git a/webapp/assets/_app/immutable/nodes/2.BADPguU9.js b/webapp/assets/_app/immutable/nodes/2.BADPguU9.js deleted file mode 100644 index af30d014..00000000 --- a/webapp/assets/_app/immutable/nodes/2.BADPguU9.js +++ /dev/null @@ -1 +0,0 @@ -import{c as mt,a as w,b as _,s as j,l as ut,e as Oe,f as U,g as Qt,h as Kt}from"../chunks/CxOx-TIJ.js";import{i as pt}from"../chunks/3NxSoY2_.js";import{p as bt,B as Xt,l as je,j as g,m as S,g as e,i as W,b as ft,f as Yt,c as r,s as a,r as t,d as p,w as V,h as k,u as m,t as F,a as xt,F as x,n as ht,o as Zt,x as er,$ as tr,k as X}from"../chunks/DzFKsO_V.js";import{p as rr,i as A,s as ar,a as or,v as sr}from"../chunks/B_jyf0qs.js";import{e as ir,i as nr}from"../chunks/CdXRaxkX.js";import{B as lr,r as re,s as le,g as yt,c as D,d as ie}from"../chunks/BguOOs3x.js";import{l as dr}from"../chunks/BAcG6-Ep.js";import{w as $e}from"../chunks/DSHGoHxX.js";import{e as ct,a as Ie}from"../chunks/Penjr-j0.js";import{w as vt}from"../chunks/DoJxysSt.js";import{b as ne,a as cr}from"../chunks/BVM1034P.js";import{p as vr}from"../chunks/CdEA5IGF.js";import{M as gr}from"../chunks/Pgjt70l7.js";import{T as Y}from"../chunks/Cy4PP0DI.js";import{t as gt}from"../chunks/li_-Mkq2.js";import{e as mr}from"../chunks/BZiHL9L3.js";n[x]="src/lib/components/ControllerInfoCard.svelte";var ur=w(Qt(' Settings',1),n[x],[[150,4,[[151,5],[152,5]]]]),pr=w(U('Enabled'),n[x],[[210,9]]),br=w(U('Disabled'),n[x],[[214,9]]),fr=w(U('
Agent Releases URL
'),n[x],[[223,7,[[224,8,[[225,9],[226,9]]],[233,8]]]]),xr=w(U('
Metadata
'),n[x],[[249,7,[[250,8,[[251,9],[252,9]]],[259,8]]]]),hr=w(U('
Callback
'),n[x],[[267,7,[[268,8,[[269,9],[270,9]]],[277,8]]]]),yr=w(U('
Webhook
'),n[x],[[285,7,[[286,8,[[287,9],[288,9]]],[295,8]]]]),kr=w(U('
Agent
'),n[x],[[303,7,[[304,8,[[305,9],[306,9]]],[313,8]]]]),_r=w(U('

No URLs configured

'),n[x],[[321,7,[[322,8,[[323,9]]],[325,8],[326,8]]]]),wr=w(U('
Controller Webhook URL

Use this URL in your GitHub organization/repository webhook settings

'),n[x],[[341,3,[[342,4,[[343,5],[344,5]]],[351,4,[[352,5,[[353,6,[[354,7,[[355,8]]]]],[358,6,[[359,7],[362,7]]]]]]]]]]),Ur=w(U('

Please enter a valid URL

'),n[x],[[394,6]]),Rr=w(U('

Please enter a valid URL

'),n[x],[[415,6]]),Mr=w(U('

Please enter a valid URL

'),n[x],[[436,6]]),Lr=w(U('

Please enter a valid URL

'),n[x],[[457,6]]),Cr=w(U('

Please enter a valid URL

'),n[x],[[496,6]]),Ar=w(U('

Controller Settings

URL where runners can fetch metadata and setup information

URL where runners send status updates and lifecycle events

URL where GitHub/Gitea will send webhook events for job notifications

URL where GARM agents connect. Must support websocket connections

Time to wait before spinning up a runner for a new job (0 = immediate)

URL where GARM fetches garm-agent binaries (must be compatible with GitHub releases API)

Automatically synchronize garm-agent tools from the configured releases URL

'),n[x],[[376,2,[[377,3],[379,3,[[381,4,[[382,5],[385,5],[396,5]]],[402,4,[[403,5],[406,5],[417,5]]],[423,4,[[424,5],[427,5],[438,5]]],[444,4,[[445,5],[448,5],[459,5]]],[465,4,[[466,5],[469,5],[477,5]]],[483,4,[[484,5],[487,5],[498,5]]],[504,4,[[505,5,[[506,6],[512,6]]],[516,5]]],[522,4,[[523,5],[531,5]]]]]]]]),Tr=w(U('

Controller Information

Identity

Controller ID
Hostname
Job Age Backoff
Agent Tools Sync

Integration URLs

',1),n[x],[[125,0,[[126,1,[[128,2,[[129,3,[[130,4,[[131,5,[[132,6]]]]],[135,4,[[136,5],[137,5,[[138,6]]]]]]]]],[159,2,[[161,3,[[162,4,[[163,5],[164,5,[[166,6,[[167,7],[168,7]]],[174,6,[[175,7],[176,7]]],[182,6,[[183,7,[[184,8],[185,8]]],[192,7]]],[198,6,[[199,7,[[200,8],[201,8]]],[208,7]]]]]]]]],[243,3,[[244,4,[[245,5],[246,5]]]]]]]]]]]]);function n(Ge,ke){mt(new.target),bt(ke,!1,n);const b=S(),_e=S();let s=rr(ke,"controllerInfo",12);const we=Xt();let l=S(!1),G=S(!1),T=S(""),$=S(""),f=S(""),B=S(""),H=S(null),E=S(""),Z=S(!1);function Ue(){g(T,s().metadata_url||""),g($,s().callback_url||""),g(f,s().webhook_url||""),g(B,s().agent_url||""),g(H,s().minimum_job_age_backoff||null),g(E,s().garm_agent_releases_url||""),g(Z,s().enable_agent_tools_sync??!1),g(l,!0)}async function Be(){try{g(G,!0);const o={};e(T).trim()&&(o.metadata_url=e(T).trim()),e($).trim()&&(o.callback_url=e($).trim()),e(f).trim()&&(o.webhook_url=e(f).trim()),e(B).trim()&&(o.agent_url=e(B).trim()),W(e(H),null,!1)&&e(H)>=0&&(o.minimum_job_age_backoff=e(H)),e(E).trim()&&(o.garm_agent_releases_url=e(E).trim()),o.enable_agent_tools_sync=e(Z);const c=(await ht(yt.updateController(o)))();gt.success("Settings Updated","Controller settings have been updated successfully."),g(l,!1),s(c),we("updated",c)}catch(o){gt.error("Update Failed",o instanceof Error?o.message:"Failed to update controller settings")}finally{g(G,!1)}}function ae(){g(l,!1),g(T,""),g($,""),g(f,""),g(B,""),g(H,null),g(E,""),g(Z,!1)}je(()=>{},()=>{g(b,o=>{if(!o.trim())return!0;try{return new URL(o),!0}catch{return!1}})}),je(()=>(e(b),e(T),e($),e(f),e(B),e(E),e(H)),()=>{g(_e,e(b)(e(T))&&e(b)(e($))&&e(b)(e(f))&&e(b)(e(B))&&e(b)(e(E))&&(W(e(H),null)||e(H)>=0))}),ft(),pt();var de=Tr(),ce=Yt(de),oe=r(ce),se=r(oe),ve=r(se),ge=a(r(ve),2),me=a(r(ge),2),ue=r(me),Re=r(ue);t(ue),t(me),t(ge),t(ve);var Me=a(ve,2);p(()=>lr(Me,{variant:"secondary",size:"sm",$$events:{click:Ue},children:vt(n,(o,c)=>{var u=ur();V(),_(o,u)}),$$slots:{default:!0}}),"component",n,145,3,{componentTag:"Button"}),t(se);var pe=a(se,2),be=r(pe),d=r(be),i=a(r(d),2),R=r(i),I=a(r(R),2),M=r(I,!0);t(I),t(R);var L=a(R,2),P=a(r(L),2),ee=r(P,!0);t(P),t(L);var N=a(L,2),J=r(N),Q=a(r(J),2),K=r(Q);p(()=>Y(K,{title:"Job Age Backoff",content:"Time in seconds GARM waits after receiving a new job before spinning up a runner. This delay allows existing idle runners to pick up jobs first, preventing unnecessary runner creation. Set to 0 for immediate response."}),"component",n,186,9,{componentTag:"Tooltip"}),t(Q),t(J);var te=a(J,2),fe=r(te);t(te),t(N);var xe=a(N,2),he=r(xe),Le=a(r(he),2),kt=r(Le);p(()=>Y(kt,{title:"Agent Tools Sync",content:"When enabled, GARM will automatically synchronize garm-agent tools from the configured releases URL. This ensures agents are up-to-date with the latest versions."}),"component",n,202,9,{componentTag:"Tooltip"}),t(Le),t(he);var Ne=a(he,2),_t=r(Ne);{var wt=o=>{var c=pr();_(o,c)},Ut=o=>{var c=br();_(o,c)};p(()=>A(_t,o=>{k(s()),m(()=>s().enable_agent_tools_sync)?o(wt):o(Ut,!1)}),"if",n,209,8)}t(Ne),t(xe);var Rt=a(xe,2);{var Mt=o=>{var c=fr(),u=r(c),h=a(r(u),2),z=r(h);p(()=>Y(z,{title:"Agent Releases URL",content:"URL from where GARM fetches garm-agent binaries. Must be compatible with the GitHub releases API format. Defaults to the official garm-agent releases repository."}),"component",n,227,10,{componentTag:"Tooltip"}),t(h),t(u);var y=a(u,2),C=r(y,!0);t(y),t(c),F(()=>j(C,(k(s()),m(()=>s().garm_agent_releases_url)))),_(o,c)};p(()=>A(Rt,o=>{k(s()),m(()=>s().garm_agent_releases_url)&&o(Mt)}),"if",n,222,6)}t(i),t(d),t(be);var Qe=a(be,2),Ke=r(Qe),Xe=a(r(Ke),2),Ye=r(Xe);{var Lt=o=>{var c=xr(),u=r(c),h=a(r(u),2),z=r(h);p(()=>Y(z,{title:"Metadata URL",content:"URL where runners retrieve setup information and metadata. Runners must be able to connect to this URL during their initialization process. Usually accessible at /api/v1/metadata endpoint."}),"component",n,253,10,{componentTag:"Tooltip"}),t(h),t(u);var y=a(u,2),C=r(y,!0);t(y),t(c),F(()=>j(C,(k(s()),m(()=>s().metadata_url)))),_(o,c)};p(()=>A(Ye,o=>{k(s()),m(()=>s().metadata_url)&&o(Lt)}),"if",n,248,6)}var Ze=a(Ye,2);{var Ct=o=>{var c=hr(),u=r(c),h=a(r(u),2),z=r(h);p(()=>Y(z,{title:"Callback URL",content:"URL where runners send status updates and system information (OS version, runner agent ID, etc.) to the controller. Runners must be able to connect to this URL. Usually accessible at /api/v1/callbacks endpoint."}),"component",n,271,10,{componentTag:"Tooltip"}),t(h),t(u);var y=a(u,2),C=r(y,!0);t(y),t(c),F(()=>j(C,(k(s()),m(()=>s().callback_url)))),_(o,c)};p(()=>A(Ze,o=>{k(s()),m(()=>s().callback_url)&&o(Ct)}),"if",n,266,6)}var et=a(Ze,2);{var At=o=>{var c=yr(),u=r(c),h=a(r(u),2),z=r(h);p(()=>Y(z,{title:"Webhook Base URL",content:"Base URL for webhooks where GitHub sends job notifications. GARM needs to receive these webhooks to know when to create new runners for jobs. GitHub must be able to connect to this URL. Usually accessible at /webhooks endpoint."}),"component",n,289,10,{componentTag:"Tooltip"}),t(h),t(u);var y=a(u,2),C=r(y,!0);t(y),t(c),F(()=>j(C,(k(s()),m(()=>s().webhook_url)))),_(o,c)};p(()=>A(et,o=>{k(s()),m(()=>s().webhook_url)&&o(At)}),"if",n,284,6)}var tt=a(et,2);{var Tt=o=>{var c=kr(),u=r(c),h=a(r(u),2),z=r(h);p(()=>Y(z,{title:"Agent URL",content:"URL where GARM agents connect for communication. This URL must support websocket connections for real-time communication between the controller and agent instances. Usually accessible at /agent endpoint."}),"component",n,307,10,{componentTag:"Tooltip"}),t(h),t(u);var y=a(u,2),C=r(y,!0);t(y),t(c),F(()=>j(C,(k(s()),m(()=>s().agent_url)))),_(o,c)};p(()=>A(tt,o=>{k(s()),m(()=>s().agent_url)&&o(Tt)}),"if",n,302,6)}var zt=a(tt,2);{var St=o=>{var c=_r(),u=a(r(c),4);t(c),Oe("click",u,Ue),_(o,c)};p(()=>A(zt,o=>{k(s()),m(()=>!s().metadata_url&&!s().callback_url&&!s().webhook_url&&!s().agent_url)&&o(St)}),"if",n,320,6)}t(Xe),t(Ke),t(Qe),t(pe);var $t=a(pe,2);{var It=o=>{var c=wr(),u=r(c),h=a(r(u),2),z=r(h);p(()=>Y(z,{title:"Controller Webhook URL",content:"Unique webhook URL for this GARM controller. This is the preferred URL to use in GitHub webhook settings as it's controller-specific and allows multiple GARM controllers to work with the same repository. Automatically combines the webhook base URL with the controller ID."}),"component",n,345,6,{componentTag:"Tooltip"}),t(h),t(u);var y=a(u,2),C=r(y),ye=a(r(C),2),Ce=r(ye),Ee=r(Ce,!0);t(Ce),V(2),t(ye),t(C),t(y),t(c),F(()=>j(Ee,(k(s()),m(()=>s().controller_webhook_url)))),_(o,c)};p(()=>A($t,o=>{k(s()),m(()=>s().controller_webhook_url)&&o(It)}),"if",n,340,2)}t(oe),t(ce);var jt=a(ce,2);{var Gt=o=>{p(()=>gr(o,{$$events:{close:ae},children:vt(n,(c,u)=>{var h=Ar(),z=a(r(h),2),y=r(z),C=a(r(y),2);re(C);let ye;var Ce=a(C,2);{var Ee=v=>{var q=Ur();_(v,q)};p(()=>A(Ce,v=>{e(b),e(T),m(()=>!e(b)(e(T)))&&v(Ee)}),"if",n,393,5)}V(2),t(y);var He=a(y,2),Ae=a(r(He),2);re(Ae);let rt;var Bt=a(Ae,2);{var Et=v=>{var q=Rr();_(v,q)};p(()=>A(Bt,v=>{e(b),e($),m(()=>!e(b)(e($)))&&v(Et)}),"if",n,414,5)}V(2),t(He);var Pe=a(He,2),Te=a(r(Pe),2);re(Te);let at;var Ht=a(Te,2);{var Pt=v=>{var q=Mr();_(v,q)};p(()=>A(Ht,v=>{e(b),e(f),m(()=>!e(b)(e(f)))&&v(Pt)}),"if",n,435,5)}V(2),t(Pe);var qe=a(Pe,2),ze=a(r(qe),2);re(ze);let ot;var qt=a(ze,2);{var Dt=v=>{var q=Lr();_(v,q)};p(()=>A(qt,v=>{e(b),e(B),m(()=>!e(b)(e(B)))&&v(Dt)}),"if",n,456,5)}V(2),t(qe);var De=a(qe,2),st=a(r(De),2);re(st),V(2),t(De);var We=a(De,2),Se=a(r(We),2);re(Se);let it;var Wt=a(Se,2);{var Ft=v=>{var q=Cr();_(v,q)};p(()=>A(Wt,v=>{e(b),e(E),m(()=>!e(b)(e(E)))&&v(Ft)}),"if",n,495,5)}V(2),t(We);var Fe=a(We,2),nt=r(Fe),lt=r(nt);re(lt),V(2),t(nt),V(2),t(Fe);var dt=a(Fe,2),Ve=r(dt),Je=a(Ve,2),Vt=r(Je,!0);t(Je),t(dt),t(z),t(h),F((v,q,Jt,Ot,Nt)=>{ye=le(C,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,ye,v),rt=le(Ae,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,rt,q),at=le(Te,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,at,Jt),ot=le(ze,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,ot,Ot),it=le(Se,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,it,Nt),Ve.disabled=e(G),Je.disabled=!e(_e)||e(G),j(Vt,e(G)?"Saving...":"Save Changes")},[()=>({"border-red-300":!e(b)(e(T))}),()=>({"border-red-300":!e(b)(e($))}),()=>({"border-red-300":!e(b)(e(f))}),()=>({"border-red-300":!e(b)(e(B))}),()=>({"border-red-300":!e(b)(e(E))})]),ne(C,()=>e(T),v=>g(T,v)),ne(Ae,()=>e($),v=>g($,v)),ne(Te,()=>e(f),v=>g(f,v)),ne(ze,()=>e(B),v=>g(B,v)),ne(st,()=>e(H),v=>g(H,v)),ne(Se,()=>e(E),v=>g(E,v)),cr(lt,()=>e(Z),v=>g(Z,v)),Oe("click",Ve,ae),Oe("submit",z,vr(Be)),_(c,h)}),$$slots:{default:!0}}),"component",n,375,1,{componentTag:"Modal"})};p(()=>A(jt,o=>{e(l)&&o(Gt)}),"if",n,374,0)}return F(o=>{j(Re,`v${o??""}`),j(M,(k(s()),m(()=>s().controller_id))),j(ee,(k(s()),m(()=>s().hostname||"Unknown"))),j(fe,`${k(s()),m(()=>s().minimum_job_age_backoff||30)??""}s`)},[()=>(k(s()),m(()=>s().version?.replace(/^v/,"")||"Unknown"))]),_(Ge,de),xt({...ut()})}O[x]="src/routes/+page.svelte";var zr=w(U('

Error loading dashboard

'),O[x],[[210,2,[[211,3,[[212,4,[[213,5,[[214,6]]]]],[217,4,[[218,5],[219,5]]]]]]]]),Sr=w(U('
'),O[x],[[228,3,[[232,4,[[233,5,[[234,6,[[235,7,[[236,8,[[237,9]]]]]]],[241,6,[[242,7,[[243,8],[246,8]]]]]]]]]]]]),$r=w(U('

Dashboard

Welcome to GARM - GitHub Actions Runner Manager

'),O[x],[[199,0,[[201,1,[[202,2],[203,2]]],[226,1],[266,1,[[267,3,[[268,4],[269,4],[273,4,[[274,5,[[278,6,[[279,7,[[280,8]]],[282,7,[[283,8],[284,8]]]]]]],[289,5,[[293,6,[[294,7,[[295,8]]],[297,7,[[298,8],[299,8]]]]]]],[304,5,[[308,6,[[309,7,[[310,8],[311,8]]],[313,7,[[314,8],[315,8]]]]]]]]]]]]]]]]);function O(Ge,ke){mt(new.target),bt(ke,!1,O);const[b,_e]=ar(),s=()=>(sr(ct,"eagerCache"),or(ct,"$eagerCache",b)),we=S();let l=S({repositories:0,organizations:0,pools:0,instances:0}),G=S(null),T=S(""),$=[];function f(d,i,R=1e3){const I=parseInt(d.textContent||"0"),M=(i-I)/(R/16);let L=I;const P=()=>{if(L+=M,M>0&&L>=i||M<0&&L<=i){d.textContent=i.toString();return}d.textContent=Math.floor(L).toString(),requestAnimationFrame(P)};W(I,i,!1)&&requestAnimationFrame(P)}Zt(async()=>{try{const[M,L,P,ee,N]=(await ht(Promise.all([Ie.getRepositories(),Ie.getOrganizations(),Ie.getPools(),yt.listInstances(),Ie.getControllerInfo()])))();setTimeout(()=>{const J=document.querySelector('[data-stat="repositories"]'),Q=document.querySelector('[data-stat="organizations"]'),K=document.querySelector('[data-stat="pools"]'),te=document.querySelector('[data-stat="instances"]');J&&f(J,M.length),Q&&f(Q,L.length),K&&f(K,P.length),te&&f(te,ee.length)},100),g(l,{repositories:M.length,organizations:L.length,pools:P.length,instances:ee.length}),N&&g(G,N)}catch(M){g(T,mr(M)),console.error(...dr("error","Dashboard error:",M))}const d=$e.subscribeToEntity("repository",["create","delete"],B),i=$e.subscribeToEntity("organization",["create","delete"],H),R=$e.subscribeToEntity("pool",["create","delete"],E),I=$e.subscribeToEntity("instance",["create","delete"],Z);$=[d,i,R,I]}),er(()=>{$.forEach(d=>d())});function B(d){const i=document.querySelector('[data-stat="repositories"]');W(d.operation,"create")?(X(l,e(l).repositories++),i&&f(i,e(l).repositories,500)):W(d.operation,"delete")&&(X(l,e(l).repositories=Math.max(0,e(l).repositories-1)),i&&f(i,e(l).repositories,500))}function H(d){const i=document.querySelector('[data-stat="organizations"]');W(d.operation,"create")?(X(l,e(l).organizations++),i&&f(i,e(l).organizations,500)):W(d.operation,"delete")&&(X(l,e(l).organizations=Math.max(0,e(l).organizations-1)),i&&f(i,e(l).organizations,500))}function E(d){const i=document.querySelector('[data-stat="pools"]');W(d.operation,"create")?(X(l,e(l).pools++),i&&f(i,e(l).pools,500)):W(d.operation,"delete")&&(X(l,e(l).pools=Math.max(0,e(l).pools-1)),i&&f(i,e(l).pools,500))}function Z(d){const i=document.querySelector('[data-stat="instances"]');W(d.operation,"create")?(X(l,e(l).instances++),i&&f(i,e(l).instances,500)):W(d.operation,"delete")&&(X(l,e(l).instances=Math.max(0,e(l).instances-1)),i&&f(i,e(l).instances,500))}function Ue(d){g(G,d.detail)}function Be(d){return{blue:"bg-blue-500 text-white",green:"bg-green-500 text-white",purple:"bg-purple-500 text-white",yellow:"bg-yellow-500 text-white"}[d]||"bg-gray-500 text-white"}je(()=>(e(G),s()),()=>{(!e(G)||s().loaded.controllerInfo)&&g(G,s().controllerInfo)}),je(()=>(e(l),D),()=>{g(we,[{title:"Repositories",value:e(l).repositories,icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z",color:"blue",href:D("/repositories")},{title:"Organizations",value:e(l).organizations,icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",color:"green",href:D("/organizations")},{title:"Pools",value:e(l).pools,icon:"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z",color:"purple",href:D("/pools")},{title:"Instances",value:e(l).instances,icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z",color:"yellow",href:D("/instances")}])}),ft(),pt();var ae=$r();Kt(d=>{tr.title="Dashboard - GARM"});var de=a(r(ae),2);{var ce=d=>{var i=zr(),R=r(i),I=a(r(R),2),M=a(r(I),2),L=r(M,!0);t(M),t(I),t(R),t(i),F(()=>j(L,e(T))),_(d,i)};p(()=>A(de,d=>{e(T)&&d(ce)}),"if",O,208,1)}var oe=a(de,2);p(()=>ir(oe,5,()=>e(we),nr,(d,i)=>{var R=Sr(),I=r(R),M=r(I),L=r(M),P=r(L),ee=r(P),N=r(ee);t(ee),t(P),t(L);var J=a(L,2),Q=r(J),K=r(Q),te=r(K,!0);t(K);var fe=a(K,2),xe=r(fe,!0);t(fe),t(Q),t(J),t(M),t(I),t(R),F((he,Le)=>{ie(R,"href",(e(i),m(()=>e(i).href))),le(P,1,`w-8 h-8 rounded-md ${he??""} flex items-center justify-center`),ie(N,"d",(e(i),m(()=>e(i).icon))),j(te,(e(i),m(()=>e(i).title))),ie(fe,"data-stat",Le),j(xe,(e(i),m(()=>e(i).value)))},[()=>(e(i),m(()=>Be(e(i).color))),()=>(e(i),m(()=>e(i).title.toLowerCase()))]),_(d,R)}),"each",O,227,2),t(oe);var se=a(oe,2);{var ve=d=>{p(()=>n(d,{get controllerInfo(){return e(G)},$$events:{updated:Ue}}),"component",O,259,2,{componentTag:"ControllerInfoCard"})};p(()=>A(se,d=>{e(G)&&d(ve)}),"if",O,258,1)}var ge=a(se,2),me=r(ge),ue=a(r(me),4),Re=r(ue),Me=a(Re,2),pe=a(Me,2);t(ue),t(me),t(ge),t(ae),F((d,i,R)=>{ie(Re,"href",d),ie(Me,"href",i),ie(pe,"href",R)},[()=>(k(D),m(()=>D("/repositories"))),()=>(k(D),m(()=>D("/pools"))),()=>(k(D),m(()=>D("/instances")))]),_(Ge,ae);var be=xt({...ut()});return _e(),be}export{O as component}; diff --git a/webapp/assets/_app/immutable/nodes/2.Js7JRvA3.js b/webapp/assets/_app/immutable/nodes/2.Js7JRvA3.js new file mode 100644 index 00000000..5f1a2574 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/2.Js7JRvA3.js @@ -0,0 +1 @@ +import{f as y,b as Et,a as h,s as S,e as Pe,h as Tt}from"../chunks/o8CdT7B0.js";import{i as st}from"../chunks/ChJfoPF0.js";import{p as it,v as Pt,l as Le,d as v,m as C,g as e,b as nt,f as qt,c as r,s as a,r as t,n as P,h as f,u,t as T,a as lt,o as Dt,q as Wt,$ as Vt,j as J}from"../chunks/DUMcBckj.js";import{p as Jt,i as U,s as Ft,a as Ot}from"../chunks/i7pKks78.js";import{e as Nt,i as Qt}from"../chunks/DC7Aeygn.js";import{B as Kt,r as N,s as ae,g as dt,c as E,d as te}from"../chunks/_9uqtkkk.js";import{w as Re}from"../chunks/DTRhxHIE.js";import{e as Xt,a as Me}from"../chunks/zgwRPQVC.js";import{b as re,a as Yt}from"../chunks/BtzOUN4g.js";import{p as Zt}from"../chunks/CdEA5IGF.js";import{M as er}from"../chunks/CYPHW1bs.js";import{T as F}from"../chunks/CmC5OaZC.js";import{t as ot}from"../chunks/Bbk4dQfI.js";import{e as tr}from"../chunks/BZiHL9L3.js";var rr=Et(' Settings',1),ar=y('Enabled'),or=y('Disabled'),sr=y('
Agent Releases URL
'),ir=y('
Metadata
'),nr=y('
Callback
'),lr=y('
Webhook
'),dr=y('
Agent
'),cr=y('

No URLs configured

'),vr=y('
Controller Webhook URL

Use this URL in your GitHub organization/repository webhook settings

'),ur=y('

Please enter a valid URL

'),gr=y('

Please enter a valid URL

'),mr=y('

Please enter a valid URL

'),pr=y('

Please enter a valid URL

'),br=y('

Please enter a valid URL

'),xr=y('

Controller Settings

URL where runners can fetch metadata and setup information

URL where runners send status updates and lifecycle events

URL where GitHub/Gitea will send webhook events for job notifications

URL where GARM agents connect. Must support websocket connections

Time to wait before spinning up a runner for a new job (0 = immediate)

URL where GARM fetches garm-agent binaries (must be compatible with GitHub releases API)

Automatically synchronize garm-agent tools from the configured releases URL

'),fr=y('

Controller Information

Identity

Controller ID
Hostname
Job Age Backoff
Agent Tools Sync

Integration URLs

',1);function hr(Ae,me){it(me,!1);const m=C(),pe=C();let s=Jt(me,"controllerInfo",12);const be=Pt();let l=C(!1),$=C(!1),R=C(""),z=C(""),p=C(""),j=C(""),B=C(null),G=C(""),O=C(!1);function xe(){v(R,s().metadata_url||""),v(z,s().callback_url||""),v(p,s().webhook_url||""),v(j,s().agent_url||""),v(B,s().minimum_job_age_backoff||null),v(G,s().garm_agent_releases_url||""),v(O,s().enable_agent_tools_sync??!1),v(l,!0)}async function Ce(){try{v($,!0);const o={};e(R).trim()&&(o.metadata_url=e(R).trim()),e(z).trim()&&(o.callback_url=e(z).trim()),e(p).trim()&&(o.webhook_url=e(p).trim()),e(j).trim()&&(o.agent_url=e(j).trim()),e(B)!==null&&e(B)>=0&&(o.minimum_job_age_backoff=e(B)),e(G).trim()&&(o.garm_agent_releases_url=e(G).trim()),o.enable_agent_tools_sync=e(O);const d=await dt.updateController(o);ot.success("Settings Updated","Controller settings have been updated successfully."),v(l,!1),s(d),be("updated",d)}catch(o){ot.error("Update Failed",o instanceof Error?o.message:"Failed to update controller settings")}finally{v($,!1)}}function Q(){v(l,!1),v(R,""),v(z,""),v(p,""),v(j,""),v(B,null),v(G,""),v(O,!1)}Le(()=>{},()=>{v(m,o=>{if(!o.trim())return!0;try{return new URL(o),!0}catch{return!1}})}),Le(()=>(e(m),e(R),e(z),e(p),e(j),e(G),e(B)),()=>{v(pe,e(m)(e(R))&&e(m)(e(z))&&e(m)(e(p))&&e(m)(e(j))&&e(m)(e(G))&&(e(B)===null||e(B)>=0))}),nt(),st();var oe=fr(),se=qt(oe),K=r(se),X=r(K),ie=r(X),ne=a(r(ie),2),le=a(r(ne),2),de=r(le),fe=r(de);t(de),t(le),t(ne),t(ie);var he=a(ie,2);Kt(he,{variant:"secondary",size:"sm",$$events:{click:xe},children:(o,d)=>{var g=rr();P(),h(o,g)},$$slots:{default:!0}}),t(X);var ce=a(X,2),n=r(ce),i=r(n),w=a(r(i),2),M=r(w),k=a(r(M),2),L=r(k,!0);t(k),t(M);var I=a(M,2),V=a(r(I),2),Y=r(V,!0);t(V),t(I);var q=a(I,2),D=r(q),W=a(r(D),2),Z=r(W);F(Z,{title:"Job Age Backoff",content:"Time in seconds GARM waits after receiving a new job before spinning up a runner. This delay allows existing idle runners to pick up jobs first, preventing unnecessary runner creation. Set to 0 for immediate response."}),t(W),t(D);var ee=a(D,2),ze=r(ee);t(ee),t(q);var ve=a(q,2),ue=r(ve),qe=a(r(ue),2),ct=r(qe);F(ct,{title:"Agent Tools Sync",content:"When enabled, GARM will automatically synchronize garm-agent tools from the configured releases URL. This ensures agents are up-to-date with the latest versions."}),t(qe),t(ue);var De=a(ue,2),vt=r(De);{var ut=o=>{var d=ar();h(o,d)},gt=o=>{var d=or();h(o,d)};U(vt,o=>{f(s()),u(()=>s().enable_agent_tools_sync)?o(ut):o(gt,!1)})}t(De),t(ve);var mt=a(ve,2);{var pt=o=>{var d=sr(),g=r(d),b=a(r(g),2),A=r(b);F(A,{title:"Agent Releases URL",content:"URL from where GARM fetches garm-agent binaries. Must be compatible with the GitHub releases API format. Defaults to the official garm-agent releases repository."}),t(b),t(g);var x=a(g,2),_=r(x,!0);t(x),t(d),T(()=>S(_,(f(s()),u(()=>s().garm_agent_releases_url)))),h(o,d)};U(mt,o=>{f(s()),u(()=>s().garm_agent_releases_url)&&o(pt)})}t(w),t(i),t(n);var We=a(n,2),Ve=r(We),Je=a(r(Ve),2),Fe=r(Je);{var bt=o=>{var d=ir(),g=r(d),b=a(r(g),2),A=r(b);F(A,{title:"Metadata URL",content:"URL where runners retrieve setup information and metadata. Runners must be able to connect to this URL during their initialization process. Usually accessible at /api/v1/metadata endpoint."}),t(b),t(g);var x=a(g,2),_=r(x,!0);t(x),t(d),T(()=>S(_,(f(s()),u(()=>s().metadata_url)))),h(o,d)};U(Fe,o=>{f(s()),u(()=>s().metadata_url)&&o(bt)})}var Oe=a(Fe,2);{var xt=o=>{var d=nr(),g=r(d),b=a(r(g),2),A=r(b);F(A,{title:"Callback URL",content:"URL where runners send status updates and system information (OS version, runner agent ID, etc.) to the controller. Runners must be able to connect to this URL. Usually accessible at /api/v1/callbacks endpoint."}),t(b),t(g);var x=a(g,2),_=r(x,!0);t(x),t(d),T(()=>S(_,(f(s()),u(()=>s().callback_url)))),h(o,d)};U(Oe,o=>{f(s()),u(()=>s().callback_url)&&o(xt)})}var Ne=a(Oe,2);{var ft=o=>{var d=lr(),g=r(d),b=a(r(g),2),A=r(b);F(A,{title:"Webhook Base URL",content:"Base URL for webhooks where GitHub sends job notifications. GARM needs to receive these webhooks to know when to create new runners for jobs. GitHub must be able to connect to this URL. Usually accessible at /webhooks endpoint."}),t(b),t(g);var x=a(g,2),_=r(x,!0);t(x),t(d),T(()=>S(_,(f(s()),u(()=>s().webhook_url)))),h(o,d)};U(Ne,o=>{f(s()),u(()=>s().webhook_url)&&o(ft)})}var Qe=a(Ne,2);{var ht=o=>{var d=dr(),g=r(d),b=a(r(g),2),A=r(b);F(A,{title:"Agent URL",content:"URL where GARM agents connect for communication. This URL must support websocket connections for real-time communication between the controller and agent instances. Usually accessible at /agent endpoint."}),t(b),t(g);var x=a(g,2),_=r(x,!0);t(x),t(d),T(()=>S(_,(f(s()),u(()=>s().agent_url)))),h(o,d)};U(Qe,o=>{f(s()),u(()=>s().agent_url)&&o(ht)})}var yt=a(Qe,2);{var kt=o=>{var d=cr(),g=a(r(d),4);t(d),Pe("click",g,xe),h(o,d)};U(yt,o=>{f(s()),u(()=>!s().metadata_url&&!s().callback_url&&!s().webhook_url&&!s().agent_url)&&o(kt)})}t(Je),t(Ve),t(We),t(ce);var _t=a(ce,2);{var wt=o=>{var d=vr(),g=r(d),b=a(r(g),2),A=r(b);F(A,{title:"Controller Webhook URL",content:"Unique webhook URL for this GARM controller. This is the preferred URL to use in GitHub webhook settings as it's controller-specific and allows multiple GARM controllers to work with the same repository. Automatically combines the webhook base URL with the controller ID."}),t(b),t(g);var x=a(g,2),_=r(x),ge=a(r(_),2),ye=r(ge),Se=r(ye,!0);t(ye),P(2),t(ge),t(_),t(x),t(d),T(()=>S(Se,(f(s()),u(()=>s().controller_webhook_url)))),h(o,d)};U(_t,o=>{f(s()),u(()=>s().controller_webhook_url)&&o(wt)})}t(K),t(se);var Ut=a(se,2);{var Rt=o=>{er(o,{$$events:{close:Q},children:(d,g)=>{var b=xr(),A=a(r(b),2),x=r(A),_=a(r(x),2);N(_);let ge;var ye=a(_,2);{var Se=c=>{var H=ur();h(c,H)};U(ye,c=>{e(m),e(R),u(()=>!e(m)(e(R)))&&c(Se)})}P(2),t(x);var $e=a(x,2),ke=a(r($e),2);N(ke);let Ke;var Mt=a(ke,2);{var Lt=c=>{var H=gr();h(c,H)};U(Mt,c=>{e(m),e(z),u(()=>!e(m)(e(z)))&&c(Lt)})}P(2),t($e);var je=a($e,2),_e=a(r(je),2);N(_e);let Xe;var At=a(_e,2);{var Ct=c=>{var H=mr();h(c,H)};U(At,c=>{e(m),e(p),u(()=>!e(m)(e(p)))&&c(Ct)})}P(2),t(je);var Ge=a(je,2),we=a(r(Ge),2);N(we);let Ye;var zt=a(we,2);{var St=c=>{var H=pr();h(c,H)};U(zt,c=>{e(m),e(j),u(()=>!e(m)(e(j)))&&c(St)})}P(2),t(Ge);var Ie=a(Ge,2),Ze=a(r(Ie),2);N(Ze),P(2),t(Ie);var Be=a(Ie,2),Ue=a(r(Be),2);N(Ue);let et;var $t=a(Ue,2);{var jt=c=>{var H=br();h(c,H)};U($t,c=>{e(m),e(G),u(()=>!e(m)(e(G)))&&c(jt)})}P(2),t(Be);var He=a(Be,2),tt=r(He),rt=r(tt);N(rt),P(2),t(tt),P(2),t(He);var at=a(He,2),Ee=r(at),Te=a(Ee,2),Gt=r(Te,!0);t(Te),t(at),t(A),t(b),T((c,H,It,Bt,Ht)=>{ge=ae(_,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,ge,c),Ke=ae(ke,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,Ke,H),Xe=ae(_e,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,Xe,It),Ye=ae(we,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,Ye,Bt),et=ae(Ue,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,et,Ht),Ee.disabled=e($),Te.disabled=!e(pe)||e($),S(Gt,e($)?"Saving...":"Save Changes")},[()=>({"border-red-300":!e(m)(e(R))}),()=>({"border-red-300":!e(m)(e(z))}),()=>({"border-red-300":!e(m)(e(p))}),()=>({"border-red-300":!e(m)(e(j))}),()=>({"border-red-300":!e(m)(e(G))})]),re(_,()=>e(R),c=>v(R,c)),re(ke,()=>e(z),c=>v(z,c)),re(_e,()=>e(p),c=>v(p,c)),re(we,()=>e(j),c=>v(j,c)),re(Ze,()=>e(B),c=>v(B,c)),re(Ue,()=>e(G),c=>v(G,c)),Yt(rt,()=>e(O),c=>v(O,c)),Pe("click",Ee,Q),Pe("submit",A,Zt(Ce)),h(d,b)},$$slots:{default:!0}})};U(Ut,o=>{e(l)&&o(Rt)})}T(o=>{S(fe,`v${o??""}`),S(L,(f(s()),u(()=>s().controller_id))),S(Y,(f(s()),u(()=>s().hostname||"Unknown"))),S(ze,`${f(s()),u(()=>s().minimum_job_age_backoff||30)??""}s`)},[()=>(f(s()),u(()=>s().version?.replace(/^v/,"")||"Unknown"))]),h(Ae,oe),lt()}var yr=y('

Error loading dashboard

'),kr=y('
'),_r=y('

Dashboard

Welcome to GARM - GitHub Actions Runner Manager

');function Hr(Ae,me){it(me,!1);const[m,pe]=Ft(),s=()=>Ot(Xt,"$eagerCache",m),be=C();let l=C({repositories:0,organizations:0,pools:0,instances:0}),$=C(null),R=C(""),z=[];function p(n,i,w=1e3){const M=parseInt(n.textContent||"0"),k=(i-M)/(w/16);let L=M;const I=()=>{if(L+=k,k>0&&L>=i||k<0&&L<=i){n.textContent=i.toString();return}n.textContent=Math.floor(L).toString(),requestAnimationFrame(I)};M!==i&&requestAnimationFrame(I)}Dt(async()=>{try{const[k,L,I,V,Y]=await Promise.all([Me.getRepositories(),Me.getOrganizations(),Me.getPools(),dt.listInstances(),Me.getControllerInfo()]);setTimeout(()=>{const q=document.querySelector('[data-stat="repositories"]'),D=document.querySelector('[data-stat="organizations"]'),W=document.querySelector('[data-stat="pools"]'),Z=document.querySelector('[data-stat="instances"]');q&&p(q,k.length),D&&p(D,L.length),W&&p(W,I.length),Z&&p(Z,V.length)},100),v(l,{repositories:k.length,organizations:L.length,pools:I.length,instances:V.length}),Y&&v($,Y)}catch(k){v(R,tr(k)),console.error("Dashboard error:",k)}const n=Re.subscribeToEntity("repository",["create","delete"],j),i=Re.subscribeToEntity("organization",["create","delete"],B),w=Re.subscribeToEntity("pool",["create","delete"],G),M=Re.subscribeToEntity("instance",["create","delete"],O);z=[n,i,w,M]}),Wt(()=>{z.forEach(n=>n())});function j(n){const i=document.querySelector('[data-stat="repositories"]');n.operation==="create"?(J(l,e(l).repositories++),i&&p(i,e(l).repositories,500)):n.operation==="delete"&&(J(l,e(l).repositories=Math.max(0,e(l).repositories-1)),i&&p(i,e(l).repositories,500))}function B(n){const i=document.querySelector('[data-stat="organizations"]');n.operation==="create"?(J(l,e(l).organizations++),i&&p(i,e(l).organizations,500)):n.operation==="delete"&&(J(l,e(l).organizations=Math.max(0,e(l).organizations-1)),i&&p(i,e(l).organizations,500))}function G(n){const i=document.querySelector('[data-stat="pools"]');n.operation==="create"?(J(l,e(l).pools++),i&&p(i,e(l).pools,500)):n.operation==="delete"&&(J(l,e(l).pools=Math.max(0,e(l).pools-1)),i&&p(i,e(l).pools,500))}function O(n){const i=document.querySelector('[data-stat="instances"]');n.operation==="create"?(J(l,e(l).instances++),i&&p(i,e(l).instances,500)):n.operation==="delete"&&(J(l,e(l).instances=Math.max(0,e(l).instances-1)),i&&p(i,e(l).instances,500))}function xe(n){v($,n.detail)}function Ce(n){return{blue:"bg-blue-500 text-white",green:"bg-green-500 text-white",purple:"bg-purple-500 text-white",yellow:"bg-yellow-500 text-white"}[n]||"bg-gray-500 text-white"}Le(()=>(e($),s()),()=>{(!e($)||s().loaded.controllerInfo)&&v($,s().controllerInfo)}),Le(()=>(e(l),E),()=>{v(be,[{title:"Repositories",value:e(l).repositories,icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z",color:"blue",href:E("/repositories")},{title:"Organizations",value:e(l).organizations,icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",color:"green",href:E("/organizations")},{title:"Pools",value:e(l).pools,icon:"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z",color:"purple",href:E("/pools")},{title:"Instances",value:e(l).instances,icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z",color:"yellow",href:E("/instances")}])}),nt(),st();var Q=_r();Tt(n=>{Vt.title="Dashboard - GARM"});var oe=a(r(Q),2);{var se=n=>{var i=yr(),w=r(i),M=a(r(w),2),k=a(r(M),2),L=r(k,!0);t(k),t(M),t(w),t(i),T(()=>S(L,e(R))),h(n,i)};U(oe,n=>{e(R)&&n(se)})}var K=a(oe,2);Nt(K,5,()=>e(be),Qt,(n,i)=>{var w=kr(),M=r(w),k=r(M),L=r(k),I=r(L),V=r(I),Y=r(V);t(V),t(I),t(L);var q=a(L,2),D=r(q),W=r(D),Z=r(W,!0);t(W);var ee=a(W,2),ze=r(ee,!0);t(ee),t(D),t(q),t(k),t(M),t(w),T((ve,ue)=>{te(w,"href",(e(i),u(()=>e(i).href))),ae(I,1,`w-8 h-8 rounded-md ${ve??""} flex items-center justify-center`),te(Y,"d",(e(i),u(()=>e(i).icon))),S(Z,(e(i),u(()=>e(i).title))),te(ee,"data-stat",ue),S(ze,(e(i),u(()=>e(i).value)))},[()=>(e(i),u(()=>Ce(e(i).color))),()=>(e(i),u(()=>e(i).title.toLowerCase()))]),h(n,w)}),t(K);var X=a(K,2);{var ie=n=>{hr(n,{get controllerInfo(){return e($)},$$events:{updated:xe}})};U(X,n=>{e($)&&n(ie)})}var ne=a(X,2),le=r(ne),de=a(r(le),4),fe=r(de),he=a(fe,2),ce=a(he,2);t(de),t(le),t(ne),t(Q),T((n,i,w)=>{te(fe,"href",n),te(he,"href",i),te(ce,"href",w)},[()=>(f(E),u(()=>E("/repositories"))),()=>(f(E),u(()=>E("/pools"))),()=>(f(E),u(()=>E("/instances")))]),h(Ae,Q),lt(),pe()}export{Hr as component}; diff --git a/webapp/assets/_app/immutable/nodes/20.0B9Z8rET.js b/webapp/assets/_app/immutable/nodes/20.0B9Z8rET.js new file mode 100644 index 00000000..1fa96dc5 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/20.0B9Z8rET.js @@ -0,0 +1 @@ +import{f as k,e as ke,a as v,s as H,t as Oe,c as we,h as Pt}from"../chunks/o8CdT7B0.js";import{i as st}from"../chunks/ChJfoPF0.js";import{p as lt,v as Rt,o as it,g as e,m as n,d as r,q as zt,l as U,b as nt,f as V,s as a,c as s,r as o,t as S,n as rr,k as Ge,u as f,a as dt,i as ar,h as ct,$ as At}from"../chunks/DUMcBckj.js";import{i as x,s as ut,a as vt}from"../chunks/i7pKks78.js";import{r as B,s as tr,b as He,g as A,c as tt,d as Dt}from"../chunks/_9uqtkkk.js";import{P as Ut}from"../chunks/UrL2GjpD.js";import{e as Ar,i as Dr}from"../chunks/DC7Aeygn.js";import{b as le,a as at}from"../chunks/BtzOUN4g.js";import{p as It}from"../chunks/CdEA5IGF.js";import{M as gt}from"../chunks/CYPHW1bs.js";import{J as Lt,U as jt,a as Ot,b as Gt}from"../chunks/D9ztHNzD.js";import{e as X}from"../chunks/BZiHL9L3.js";import{w as Ur}from"../chunks/DTRhxHIE.js";import{e as pt,a as ot}from"../chunks/zgwRPQVC.js";import{U as Ht}from"../chunks/BDUel5dG.js";import{D as Nt}from"../chunks/mBfsYUjq.js";import{D as qt,G as Ir,L as Ft}from"../chunks/DG4LDt2Z.js";import{t as Se}from"../chunks/Bbk4dQfI.js";import{e as Ne,h as Bt}from"../chunks/DQsxKNC2.js";import{E as Vt}from"../chunks/llowLxE6.js";import{E as Jt}from"../chunks/BqCROW90.js";import{S as Wt}from"../chunks/C0gwpZbz.js";import{A as Kt}from"../chunks/7XD7ITBY.js";import{P as Qt}from"../chunks/DMKBQAZn.js";import"../chunks/CnZ9nHem.js";var Xt=k('

'),Yt=k('
'),Zt=k(""),ea=k(''),ra=k('
'),ta=k(""),aa=k(''),oa=k('
Loading templates...
'),sa=k(""),la=k('

Templates define how the runner software is installed and configured.

',1),ia=k('

Create a template first or proceed without a template to use default behavior.

'),na=k('

Select an entity first to see available templates

'),da=k(''),ca=k('
'),ua=k('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),va=k('
Creating...
'),ga=k('

Create New Scale Set

Scale sets are only available for GitHub endpoints

Entity Level *
'),pa=k(" ",1);function ba(or,sr){lt(sr,!1);const[lr,ir]=ut(),j=()=>vt(pt,"$eagerCache",lr),ie=n(),$=n(),N=Rt();let Y=n(!1),P=n(""),d=n(""),C=n([]),Z=n([]),_=n([]),O=n(!1),ee=n(!1),re=n(!1),G=n(!1),p=n(null),J=n(""),c=n(""),te=n(""),ne=n(""),de=n(""),ge=n(void 0),pe=n(void 0),$e=n(void 0),Ce=n("garm"),D=n("linux"),be=n("amd64"),Ee=n(""),Me=n(!0),fe=n(!1),ce=n("{}"),I=n(void 0);async function Te(){try{r(ee,!0),r(Z,await A.listProviders())}catch(i){r(P,X(i))}finally{r(ee,!1)}}async function Pe(){try{r(re,!0);const i=Re();if(!i){r(_,[]);return}if(r(_,await A.listTemplates(e(D),void 0,i)),!e(I)||!e(_).find(u=>u.id===e(I))){const u=e(_).find(y=>y.owner_id==="system");u?r(I,u.id):e(_).length>0&&r(I,e(_)[0].id)}}catch(i){r(P,X(i))}finally{r(re,!1)}}function Re(){if(!e(c)||!e(C))return null;const i=e(C).find(u=>u.id===e(c));if(!i)return null;if("forge_type"in i)return i.forge_type;if("endpoint"in i){const u=i.endpoint;if(u&&"endpoint_type"in u)return u.endpoint_type||null}return"github"}function ue(){if(!e(c)||!e(C))return!1;const i=e(C).find(u=>u.id===e(c));return i&&"agent_mode"in i?i.agent_mode??!1:!1}async function qe(){if(e(d))try{switch(r(O,!0),r(C,[]),e(d)){case"repository":r(C,await A.listRepositories());break;case"organization":r(C,await A.listOrganizations());break;case"enterprise":r(C,await A.listEnterprises());break}}catch(i){r(P,X(i))}finally{r(O,!1)}}function me(i){e(d)!==i&&(r(d,i),r(c,""),r(I,void 0),qe())}function Fe(i){if(i.operation!=="update")return;const u=i.payload;if(e(d)==="repository"&&u.id===e(c)){const y=j().repositories.find(L=>L.id===e(c));y&&(Object.assign(y,u),r($,ue()))}else if(e(d)==="organization"&&u.id===e(c)){const y=j().organizations.find(L=>L.id===e(c));y&&(Object.assign(y,u),r($,ue()))}else if(e(d)==="enterprise"&&u.id===e(c)){const y=j().enterprises.find(L=>L.id===e(c));y&&(Object.assign(y,u),r($,ue()))}}async function ye(i){if(!(!e(c)||!e(d)))try{switch(e(d)){case"repository":await A.updateRepository(e(c),i);break;case"organization":await A.updateOrganization(e(c),i);break;case"enterprise":await A.updateEnterprise(e(c),i);break}await qe(),r(G,!1)}catch(u){throw u}}function nr(){return!e(c)||!e(C)?null:e(C).find(i=>i.id===e(c))||null}async function dr(){if(!e(ie)){r(P,"Please fill in all required fields");return}try{r(Y,!0),r(P,"");let i={};if(e(ce).trim())try{i=JSON.parse(e(ce))}catch{throw new Error("Invalid JSON in extra specs")}const u={name:e(J),provider_name:e(te),image:e(ne),flavor:e(de),max_runners:e(ge)||10,min_idle_runners:e(pe)||0,runner_bootstrap_timeout:e($e)||20,runner_prefix:e(Ce),os_type:e(D),os_arch:e(be),"github-runner-group":e(Ee)||void 0,enabled:e(Me),enable_shell:e(fe),extra_specs:e(ce).trim()?i:void 0,template_id:e(I)};let y;switch(e(d)){case"repository":y=await A.createRepositoryScaleSet(e(c),u);break;case"organization":y=await A.createOrganizationScaleSet(e(c),u);break;case"enterprise":y=await A.createEnterpriseScaleSet(e(c),u);break;default:throw new Error("Invalid entity level selected")}N("submit",y)}catch(i){r(P,X(i))}finally{r(Y,!1)}}it(()=>{Te(),e(d)&&(e(d)==="repository"||e(d)==="organization"||e(d)==="enterprise")&&r(p,Ur.subscribeToEntity(e(d),["update"],Fe))}),zt(()=>{e(p)&&(e(p)(),r(p,null))}),U(()=>(e(Y),e(J),e(d),e(c),e(te),e(ne),e(de)),()=>{r(ie,!e(Y)&&e(J).trim()!==""&&e(d)!==""&&e(c)!==""&&e(te)!==""&&e(ne).trim()!==""&&e(de).trim()!=="")}),U(()=>{},()=>{r($,ue())}),U(()=>e($),()=>{e($)||r(fe,!1)}),U(()=>(e(c),e(D)),()=>{e(c)&&e(D)&&Pe()}),U(()=>(e(D),e(c)),()=>{e(D)&&e(c)&&Pe()}),U(()=>(e(d),e(p),Ur),()=>{e(d)&&(e(d)==="repository"||e(d)==="organization"||e(d)==="enterprise")&&(e(p)&&e(p)(),r(p,Ur.subscribeToEntity(e(d),["update"],Fe)))}),nt(),st();var Be=pa(),t=V(Be);gt(t,{$$events:{close:()=>N("close")},children:(i,u)=>{var y=ga(),L=a(s(y),2),Ve=s(L);{var ze=M=>{var q=Xt(),_e=s(q),Ye=s(_e,!0);o(_e),o(q),S(()=>H(Ye,e(P))),v(M,q)};x(Ve,M=>{e(P)&&M(ze)})}var xe=a(Ve,2),Je=a(s(xe),2);B(Je),o(xe);var Ae=a(xe,2),We=s(Ae),W=a(s(We),2),ae=s(W),De=a(ae,2),Ke=a(De,2);o(W),o(We),o(Ae);var Qe=a(Ae,2);{var oe=M=>{var q=ua(),_e=V(q),Ye=a(s(_e),2),ur=s(Ye),vr=s(ur),ft=s(vr);rr(),o(vr);var mt=a(vr,2);{var yt=l=>{var h=Yt();v(l,h)},ht=l=>{var h=ea();S(()=>{e(c),Ge(()=>{e(d),e(C)})});var z=s(h),se=s(z);o(z),z.value=z.__value="";var K=a(z);Ar(K,1,()=>e(C),Dr,(w,g)=>{var E=Zt(),Q=s(E);{var Le=b=>{var R=Oe();S(()=>H(R,`${e(g),f(()=>e(g).owner)??""}/${e(g),f(()=>e(g).name)??""} (${e(g),f(()=>e(g).endpoint?.name||"Unknown endpoint")??""})`)),v(b,R)},F=b=>{var R=Oe();S(()=>H(R,`${e(g),f(()=>e(g).name)??""} (${e(g),f(()=>e(g).endpoint?.name||"Unknown endpoint")??""})`)),v(b,R)};x(Q,b=>{e(d)==="repository"?b(Le):b(F,!1)})}o(E);var T={};S(()=>{T!==(T=(e(g),f(()=>e(g).id)))&&(E.value=(E.__value=(e(g),f(()=>e(g).id)))??"")}),v(w,E)}),o(h),S(()=>H(se,`Select a ${e(d)??""}`)),He(h,()=>e(c),w=>r(c,w)),v(l,h)};x(mt,l=>{e(O)?l(yt):l(ht,!1)})}o(ur);var Lr=a(ur,2),xt=a(s(Lr),2);{var _t=l=>{var h=ra();v(l,h)},kt=l=>{var h=aa();S(()=>{e(te),Ge(()=>{e(Z)})});var z=s(h);z.value=z.__value="";var se=a(z);Ar(se,1,()=>e(Z),Dr,(K,w)=>{var g=ta(),E=s(g,!0);o(g);var Q={};S(()=>{H(E,(e(w),f(()=>e(w).name))),Q!==(Q=(e(w),f(()=>e(w).name)))&&(g.value=(g.__value=(e(w),f(()=>e(w).name)))??"")}),v(K,g)}),o(h),He(h,()=>e(te),K=>r(te,K)),v(l,h)};x(xt,l=>{e(ee)?l(_t):l(kt,!1)})}o(Lr),o(Ye),o(_e);var gr=a(_e,2),pr=a(s(gr),2),br=s(pr),jr=a(s(br),2);B(jr),o(br);var fr=a(br,2),Or=a(s(fr),2);B(Or),o(fr);var mr=a(fr,2),yr=a(s(mr),2);S(()=>{e(D),Ge(()=>{})});var hr=s(yr);hr.value=hr.__value="linux";var Gr=a(hr);Gr.value=Gr.__value="windows",o(yr),o(mr);var Hr=a(mr,2),xr=a(s(Hr),2);S(()=>{e(be),Ge(()=>{})});var _r=s(xr);_r.value=_r.__value="amd64";var Nr=a(_r);Nr.value=Nr.__value="arm64",o(xr),o(Hr),o(pr);var qr=a(pr,2),wt=a(s(qr),2);{var St=l=>{var h=oa();v(l,h)},$t=l=>{var h=we(),z=V(h);{var se=w=>{var g=la(),E=V(g);S(()=>{e(I),Ge(()=>{e(_)})}),Ar(E,5,()=>e(_),Dr,(T,b)=>{var R=sa(),je=s(R),Pr=a(je);{var Rr=zr=>{var rt=Oe();S(()=>H(rt,`- ${e(b),f(()=>e(b).description)??""}`)),v(zr,rt)};x(Pr,zr=>{e(b),f(()=>e(b).description)&&zr(Rr)})}o(R);var er={};S(()=>{H(je,`${e(b),f(()=>e(b).name)??""} ${e(b),f(()=>e(b).owner_id==="system"?"(System)":"")??""} `),er!==(er=(e(b),f(()=>e(b).id)))&&(R.value=(R.__value=(e(b),f(()=>e(b).id)))??"")}),v(T,R)}),o(E);var Q=a(E,2),Le=a(s(Q));{var F=T=>{var b=Oe();S(R=>H(b,`Showing templates for ${R??""} ${e(D)??""}.`),[()=>f(Re)]),v(T,b)};x(Le,T=>{e(c)&&T(F)})}o(Q),He(E,()=>e(I),T=>r(I,T)),v(w,g)},K=w=>{var g=we(),E=V(g);{var Q=F=>{var T=ia(),b=s(T),R=s(b);o(b);var je=a(b,2),Pr=s(je);rr(),o(je),o(T),S((Rr,er)=>{H(R,`No templates found for ${Rr??""} ${e(D)??""}.`),Dt(Pr,"href",er)},[()=>f(Re),()=>(ct(tt),f(()=>tt("/templates")))]),v(F,T)},Le=F=>{var T=na();v(F,T)};x(E,F=>{e(c)?F(Q):F(Le,!1)},!0)}v(w,g)};x(z,w=>{e(_),f(()=>e(_).length>0)?w(se):w(K,!1)},!0)}v(l,h)};x(wt,l=>{e(re)?l(St):l($t,!1)})}o(qr),o(gr);var kr=a(gr,2),Fr=a(s(kr),2),wr=s(Fr),Br=a(s(wr),2);B(Br),o(wr);var Sr=a(wr,2),Vr=a(s(Sr),2);B(Vr),o(Sr);var Jr=a(Sr,2),Wr=a(s(Jr),2);B(Wr),o(Jr),o(Fr),o(kr);var Kr=a(kr,2),$r=a(s(Kr),2),Cr=s($r),Qr=a(s(Cr),2);B(Qr),o(Cr);var Xr=a(Cr,2),Yr=a(s(Xr),2);B(Yr),o(Xr),o($r);var Er=a($r,2),Ct=a(s(Er),2);Lt(Ct,{rows:4,placeholder:"{}",get value(){return e(ce)},set value(l){r(ce,l)},$$legacy:!0}),o(Er);var Mr=a(Er,2),Zr=s(Mr);B(Zr),rr(2),o(Mr);var et=a(Mr,2),Tr=s(et),Ze=s(Tr);B(Ze);var Et=a(Ze,2);rr(2),o(Tr);var Mt=a(Tr,2);{var Tt=l=>{var h=ca(),z=a(s(h),2),se=s(z),K=a(se);{var w=g=>{var E=da();ke("click",E,()=>r(G,!0)),v(g,E)};x(K,g=>{e(c)&&g(w)})}o(z),o(h),S(()=>H(se,`Shell access requires agent mode to be enabled on the ${e(d)??""}. `)),v(l,h)};x(Mt,l=>{e($)||l(Tt)})}o(et),o(Kr),S(l=>{H(ft,`${l??""} `),Ze.disabled=!e($),tr(Et,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e($)?"":"opacity-50"}`)},[()=>(e(d),f(()=>e(d).charAt(0).toUpperCase()+e(d).slice(1)))]),le(jr,()=>e(ne),l=>r(ne,l)),le(Or,()=>e(de),l=>r(de,l)),He(yr,()=>e(D),l=>r(D,l)),He(xr,()=>e(be),l=>r(be,l)),le(Br,()=>e(pe),l=>r(pe,l)),le(Vr,()=>e(ge),l=>r(ge,l)),le(Wr,()=>e($e),l=>r($e,l)),le(Qr,()=>e(Ce),l=>r(Ce,l)),le(Yr,()=>e(Ee),l=>r(Ee,l)),at(Zr,()=>e(Me),l=>r(Me,l)),at(Ze,()=>e(fe),l=>r(fe,l)),v(M,q)};x(Qe,M=>{e(d)&&M(oe)})}var ve=a(Qe,2),Xe=s(ve),Ue=a(Xe,2),Ie=s(Ue);{var cr=M=>{var q=va();v(M,q)},bt=M=>{var q=Oe("Create Scale Set");v(M,q)};x(Ie,M=>{e(Y)?M(cr):M(bt,!1)})}o(Ue),o(ve),o(L),o(y),S(()=>{tr(ae,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(d)==="repository"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),tr(De,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(d)==="organization"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),tr(Ke,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(d)==="enterprise"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Ue.disabled=!e(ie)}),le(Je,()=>e(J),M=>r(J,M)),ke("click",ae,()=>me("repository")),ke("click",De,()=>me("organization")),ke("click",Ke,()=>me("enterprise")),ke("click",Xe,()=>N("close")),ke("submit",L,It(dr)),v(i,y)},$$slots:{default:!0}});var m=a(t,2);{var he=i=>{const u=ar(()=>f(nr));var y=we(),L=V(y);{var Ve=ze=>{var xe=we(),Je=V(xe);{var Ae=W=>{jt(W,{get repository(){return e(u)},$$events:{close:()=>r(G,!1),submit:ae=>ye(ae.detail)}})},We=W=>{var ae=we(),De=V(ae);{var Ke=oe=>{Ot(oe,{get organization(){return e(u)},$$events:{close:()=>r(G,!1),submit:ve=>ye(ve.detail)}})},Qe=oe=>{var ve=we(),Xe=V(ve);{var Ue=Ie=>{Gt(Ie,{get enterprise(){return e(u)},$$events:{close:()=>r(G,!1),submit:cr=>ye(cr.detail)}})};x(Xe,Ie=>{e(d)==="enterprise"&&Ie(Ue)},!0)}v(oe,ve)};x(De,oe=>{e(d)==="organization"?oe(Ke):oe(Qe,!1)},!0)}v(W,ae)};x(Je,W=>{e(d)==="repository"?W(Ae):W(We,!1)})}v(ze,xe)};x(L,ze=>{e(u)&&ze(Ve)})}v(i,y)};x(m,i=>{e(G)&&e(c)&&i(he)})}v(or,Be),dt(),ir()}const fa={};var ma=k('
'),ya=k('
',1);function Fa(or,sr){lt(sr,!1);const[lr,ir]=ut(),j=()=>vt(pt,"$eagerCache",lr),ie=n(),$=n(),N=n(),Y=n();let P=n([]),d=n(!0),C=n(""),Z=n(""),_=n(1),O=n(25),ee=n(!1),re=n(!1),G=n(!1),p=n(null),J=n(!1);async function c(t){try{r(C,""),r(ee,!1),Se.success("Scale Set Created","Scale set has been created successfully.")}catch(m){throw r(C,X(m)),m}}async function te(t){if(e(p))try{await A.updateScaleSet(e(p).id,t),Se.success("Scale Set Updated",`Scale set ${e(p).name} has been updated successfully.`),r(re,!1),r(p,null)}catch(m){const he=X(m);throw Se.error("Update Failed",he),m}}async function ne(){if(e(p))try{await A.deleteScaleSet(e(p).id),Se.success("Scale Set Deleted",`Scale set ${e(p).name} has been deleted successfully.`)}catch(t){const m=X(t);Se.error("Delete Failed",m)}finally{r(G,!1),r(p,null)}}function de(){r(ee,!0)}async function ge(t){try{r(J,!0);const m=await A.getScaleSet(t.id);r(p,m),r(re,!0)}catch(m){const he=X(m);Se.error("Failed to Load Scale Set Details",he)}finally{r(J,!1)}}function pe(t){r(p,t),r(G,!0)}it(async()=>{try{r(d,!0);const t=await ot.getScaleSets();t&&Array.isArray(t)&&r(P,t)}catch(t){fa?.VITEST||console.error("Failed to load scale sets:",t),r(C,X(t))}finally{r(d,!1)}});async function $e(){try{await ot.retryResource("scalesets")}catch(t){console.error("Retry failed:",t)}}const Ce=[{key:"name",title:"Name",cellComponent:Vt,cellProps:{entityType:"scaleset"}},{key:"image",title:"Image",cellComponent:Ir,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:Ir,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:Ir,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:Qt},{key:"endpoint",title:"Endpoint",cellComponent:Jt},{key:"status",title:"Status",cellComponent:Wt,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:Kt}],D={entityType:"scaleset",primaryText:{field:"name",isClickable:!0,href:"/scalesets/{id}"},secondaryText:{field:"entity_name",computedValue:t=>Ne(t)},badges:[{type:"custom",value:t=>({variant:t.enabled?"success":"error",text:t.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:t=>ge(t)},{type:"delete",handler:t=>pe(t)}]};function be(t){r(Z,t.detail.term),r(_,1)}function Ee(t){r(_,t.detail.page)}function Me(t){r(O,t.detail.perPage),r(_,1)}function fe(t){ge(t.detail.item)}function ce(t){pe(t.detail.item)}U(()=>(e(P),j()),()=>{(!e(P).length||j().loaded.scalesets)&&r(P,j().scalesets)}),U(()=>j(),()=>{r(d,j().loading.scalesets)}),U(()=>j(),()=>{r(ie,j().errorMessages.scalesets)}),U(()=>(e(P),e(Z),Ne),()=>{r($,Bt(e(P),e(Z),t=>Ne(t)))}),U(()=>(e($),e(O)),()=>{r(N,Math.ceil(e($).length/e(O)))}),U(()=>(e(_),e(N)),()=>{e(_)>e(N)&&e(N)>0&&r(_,e(N))}),U(()=>(e($),e(_),e(O)),()=>{r(Y,e($).slice((e(_)-1)*e(O),e(_)*e(O)))}),nt(),st();var I=ya();Pt(t=>{At.title="Scale Sets - GARM"});var Te=V(I),Pe=s(Te);Ut(Pe,{title:"Scale Sets",description:"Manage GitHub runner scale sets",actionLabel:"Add Scale Set",$$events:{action:de}});var Re=a(Pe,2);{let t=ar(()=>e(ie)||e(C)),m=ar(()=>!!e(ie));qt(Re,{get columns(){return Ce},get data(){return e(Y)},get loading(){return e(d)},get error(){return e(t)},get searchTerm(){return e(Z)},searchPlaceholder:"Search by entity name...",get currentPage(){return e(_)},get perPage(){return e(O)},get totalPages(){return e(N)},get totalItems(){return e($),f(()=>e($).length)},itemName:"scale sets",emptyIconType:"cog",get showRetry(){return e(m)},get mobileCardConfig(){return D},$$events:{search:be,pageChange:Ee,perPageChange:Me,retry:$e,edit:fe,delete:ce}})}o(Te);var ue=a(Te,2);{var qe=t=>{ba(t,{$$events:{close:()=>r(ee,!1),submit:m=>c(m.detail)}})};x(ue,t=>{e(ee)&&t(qe)})}var me=a(ue,2);{var Fe=t=>{Ht(t,{get scaleSet(){return e(p)},$$events:{close:()=>{r(re,!1),r(p,null)},submit:m=>te(m.detail)}})};x(me,t=>{e(re)&&e(p)&&t(Fe)})}var ye=a(me,2);{var nr=t=>{{let m=ar(()=>(e(p),ct(Ne),f(()=>`Scale Set ${e(p).name} (${Ne(e(p))})`)));Nt(t,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return e(m)},$$events:{close:()=>{r(G,!1),r(p,null)},confirm:ne}})}};x(ye,t=>{e(G)&&e(p)&&t(nr)})}var dr=a(ye,2);{var Be=t=>{gt(t,{$$events:{close:()=>{}},children:(m,he)=>{var i=ma(),u=s(i);Ft(u,{message:"Loading scale set details..."}),o(i),v(m,i)},$$slots:{default:!0}})};x(dr,t=>{e(J)&&t(Be)})}v(or,I),dt(),ir()}export{Fa as component}; diff --git a/webapp/assets/_app/immutable/nodes/20.DNaB4Zl-.js b/webapp/assets/_app/immutable/nodes/20.DNaB4Zl-.js deleted file mode 100644 index 053fa651..00000000 --- a/webapp/assets/_app/immutable/nodes/20.DNaB4Zl-.js +++ /dev/null @@ -1 +0,0 @@ -import{c as fr,a as M,s as W,b as f,t as Je,d as Te,e as Pe,l as br,f as C,h as Fr}from"../chunks/CxOx-TIJ.js";import{i as mr}from"../chunks/3NxSoY2_.js";import{p as yr,B as qr,o as hr,g as e,m as d,i as g,j as t,x as Br,l as N,b as xr,f as Z,d as u,s as a,c as s,r as o,t as T,w as dt,v as Ve,u as h,h as _r,a as kr,n as A,y as Jr,e as ut,F as S,$ as Vr}from"../chunks/DzFKsO_V.js";import{i as w,s as wr,a as Sr,v as $r}from"../chunks/B_jyf0qs.js";import{w as Mr}from"../chunks/DoJxysSt.js";import{l as ur}from"../chunks/BAcG6-Ep.js";import{r as Y,b as We,d as Wr,c as gr,s as ct,g as G}from"../chunks/BguOOs3x.js";import{P as Kr}from"../chunks/DTko0dwG.js";import{e as Nt,i as Ft}from"../chunks/CdXRaxkX.js";import{b as pe,a as pr}from"../chunks/BVM1034P.js";import{p as Qr}from"../chunks/CdEA5IGF.js";import{M as Cr}from"../chunks/Pgjt70l7.js";import{J as Xr,U as Yr,a as Zr,b as ea}from"../chunks/BMieCrfV.js";import{e as oe}from"../chunks/BZiHL9L3.js";import{w as qt}from"../chunks/DSHGoHxX.js";import{e as gt,a as vr}from"../chunks/Penjr-j0.js";import{U as ta}from"../chunks/CZK5Ma2H.js";import{D as ra}from"../chunks/DL1RlOO9.js";import{D as aa,E as oa,G as Bt,P as sa,a as la,S as ia,A as na,L as da}from"../chunks/C2FKJqnN.js";import{t as Re}from"../chunks/li_-Mkq2.js";import{e as Ke,h as ca}from"../chunks/JkzpcrZD.js";i[S]="src/lib/components/CreateScaleSetModal.svelte";var ua=M(C('

'),i[S],[[359,4,[[360,5]]]]),ga=M(C('
'),i[S],[[433,8]]),pa=M(C(""),i[S],[[443,10]]),va=M(C(''),i[S],[[435,8,[[441,9]]]]),fa=M(C('
'),i[S],[[459,8]]),ba=M(C(""),i[S],[[469,10]]),ma=M(C(''),i[S],[[461,8,[[467,9]]]]),ya=M(C('
Loading templates...
'),i[S],[[543,7,[[544,8],[545,8]]]]),ha=M(C(""),i[S],[[554,9]]),xa=M(C('

Templates define how the runner software is installed and configured.

',1),i[S],[[548,7],[560,7]]),_a=M(C('

Create a template first or proceed without a template to use default behavior.

'),i[S],[[567,7,[[568,8],[569,8,[[570,9]]]]]]),ka=M(C('

Select an entity first to see available templates

'),i[S],[[576,7,[[577,8]]]]),wa=M(C(''),i[S],[[719,10]]),Sa=M(C('
'),i[S],[[712,7,[[713,8,[[714,9]]],[716,8]]]]),$a=M(C('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),i[S],[[423,4,[[424,5],[427,5,[[428,6,[[429,7,[[430,69]]]]],[454,6,[[455,7,[[456,17]]]]]]]]],[478,4,[[479,5],[482,5,[[483,6,[[484,7,[[485,14]]],[487,7]]],[496,6,[[497,7,[[498,15]]],[500,7]]],[509,6,[[510,7],[513,7,[[518,8],[519,8]]]]],[522,6,[[523,7],[526,7,[[531,8],[532,8]]]]]]],[538,5,[[539,6]]]]],[584,4,[[585,5],[588,5,[[589,6,[[590,7],[593,7]]],[602,6,[[603,7],[606,7]]],[615,6,[[616,7],[619,7]]]]]]],[632,4,[[633,5],[636,5,[[637,6,[[638,7],[641,7]]],[649,6,[[650,7],[653,7]]]]],[664,5,[[665,6]]],[676,5,[[677,6],[683,6]]],[689,5,[[690,6,[[691,7],[698,7],[701,7,[[702,8,[[703,9]]],[705,8,[[707,9]]]]]]]]]]]]),Ma=M(C('
Creating...
'),i[S],[[749,6,[[750,7]]]]),Ca=M(C('

Create New Scale Set

Scale sets are only available for GitHub endpoints

Entity Level *
'),i[S],[[351,1,[[352,2,[[353,3],[354,3]]],[357,2,[[365,3,[[366,4,[[367,10]]],[369,4]]],[380,3,[[381,4,[[382,5,[[383,19]]],[385,5,[[386,5,[[391,6,[[392,7],[393,7]]],[395,6]]],[397,5,[[402,6,[[403,7]]],[405,6]]],[407,5,[[412,6,[[413,7]]],[415,6]]]]]]]]],[735,3,[[736,4],[743,4]]]]]]]]),Ea=M(C(" ",1),i[S],[]);function i(pt,vt){fr(new.target),yr(vt,!1,i);const[ft,bt]=wr(),B=()=>($r(gt,"eagerCache"),Sr(gt,"$eagerCache",ft)),ve=d(),P=d(),K=qr();let se=d(!1),L=d(""),c=d(""),R=d([]),le=d([]),$=d([]),J=d(!1),ie=d(!1),ne=d(!1),V=d(!1),m=d(null),ee=d(""),p=d(""),de=d(""),fe=d(""),be=d(""),xe=d(void 0),_e=d(void 0),ze=d(void 0),Ae=d("garm"),H=d("linux"),ke=d("amd64"),De=d(""),Ue=d(!0),we=d(!1),me=d("{}"),F=d(void 0);async function Ie(){try{t(ie,!0),t(le,(await A(G.listProviders()))())}catch(n){t(L,oe(n))}finally{t(ie,!1)}}async function Le(){try{t(ne,!0);const n=je();if(!n){t($,[]);return}if(t($,(await A(G.listTemplates(e(H),void 0,n)))()),!e(F)||!e($).find(v=>g(v.id,e(F)))){const v=e($).find(_=>g(_.owner_id,"system"));v?t(F,v.id):e($).length>0&&t(F,e($)[0].id)}}catch(n){t(L,oe(n))}finally{t(ne,!1)}}function je(){if(!e(p)||!e(R))return null;const n=e(R).find(v=>g(v.id,e(p)));if(!n)return null;if("forge_type"in n)return n.forge_type;if("endpoint"in n){const v=n.endpoint;if(v&&"endpoint_type"in v)return v.endpoint_type||null}return"github"}function ye(){if(!e(p)||!e(R))return!1;const n=e(R).find(v=>g(v.id,e(p)));return n&&"agent_mode"in n?n.agent_mode??!1:!1}async function Qe(){if(e(c))try{switch(t(J,!0),t(R,[]),e(c)){case"repository":t(R,(await A(G.listRepositories()))());break;case"organization":t(R,(await A(G.listOrganizations()))());break;case"enterprise":t(R,(await A(G.listEnterprises()))());break}}catch(n){t(L,oe(n))}finally{t(J,!1)}}function Se(n){g(e(c),n)||(t(c,n),t(p,""),t(F,void 0),Qe())}function Xe(n){if(g(n.operation,"update",!1))return;const v=n.payload;if(g(e(c),"repository")&&g(v.id,e(p))){const _=B().repositories.find(q=>g(q.id,e(p)));_&&(Object.assign(_,v),t(P,ye()))}else if(g(e(c),"organization")&&g(v.id,e(p))){const _=B().organizations.find(q=>g(q.id,e(p)));_&&(Object.assign(_,v),t(P,ye()))}else if(g(e(c),"enterprise")&&g(v.id,e(p))){const _=B().enterprises.find(q=>g(q.id,e(p)));_&&(Object.assign(_,v),t(P,ye()))}}async function $e(n){if(!(!e(p)||!e(c)))try{switch(e(c)){case"repository":(await A(G.updateRepository(e(p),n)))();break;case"organization":(await A(G.updateOrganization(e(p),n)))();break;case"enterprise":(await A(G.updateEnterprise(e(p),n)))();break}(await A(Qe()))(),t(V,!1)}catch(v){throw v}}function mt(){return!e(p)||!e(R)?null:e(R).find(n=>g(n.id,e(p)))||null}async function yt(){if(!e(ve)){t(L,"Please fill in all required fields");return}try{t(se,!0),t(L,"");let n={};if(e(me).trim())try{n=JSON.parse(e(me))}catch{throw new Error("Invalid JSON in extra specs")}const v={name:e(ee),provider_name:e(de),image:e(fe),flavor:e(be),max_runners:e(xe)||10,min_idle_runners:e(_e)||0,runner_bootstrap_timeout:e(ze)||20,runner_prefix:e(Ae),os_type:e(H),os_arch:e(ke),"github-runner-group":e(De)||void 0,enabled:e(Ue),enable_shell:e(we),extra_specs:e(me).trim()?n:void 0,template_id:e(F)};let _;switch(e(c)){case"repository":_=(await A(G.createRepositoryScaleSet(e(p),v)))();break;case"organization":_=(await A(G.createOrganizationScaleSet(e(p),v)))();break;case"enterprise":_=(await A(G.createEnterpriseScaleSet(e(p),v)))();break;default:throw new Error("Invalid entity level selected")}K("submit",_)}catch(n){t(L,oe(n))}finally{t(se,!1)}}hr(()=>{Ie(),e(c)&&(g(e(c),"repository")||g(e(c),"organization")||g(e(c),"enterprise"))&&t(m,qt.subscribeToEntity(e(c),["update"],Xe))}),Br(()=>{e(m)&&(e(m)(),t(m,null))}),N(()=>(e(se),e(ee),e(c),e(p),e(de),e(fe),e(be)),()=>{t(ve,!e(se)&&g(e(ee).trim(),"",!1)&&g(e(c),"",!1)&&g(e(p),"",!1)&&g(e(de),"",!1)&&g(e(fe).trim(),"",!1)&&g(e(be).trim(),"",!1))}),N(()=>{},()=>{t(P,ye())}),N(()=>e(P),()=>{e(P)||t(we,!1)}),N(()=>(e(p),e(H)),()=>{e(p)&&e(H)&&Le()}),N(()=>(e(H),e(p)),()=>{e(H)&&e(p)&&Le()}),N(()=>(e(c),e(m),qt),()=>{e(c)&&(g(e(c),"repository")||g(e(c),"organization")||g(e(c),"enterprise"))&&(e(m)&&e(m)(),t(m,qt.subscribeToEntity(e(c),["update"],Xe)))}),xr(),mr();var Ye=Ea(),Ze=Z(Ye);u(()=>Cr(Ze,{$$events:{close:()=>K("close")},children:Mr(i,(n,v)=>{var _=Ca(),q=a(s(_),2),et=s(q);{var Oe=D=>{var Q=ua(),Ee=s(Q),lt=s(Ee,!0);o(Ee),o(Q),T(()=>W(lt,e(L))),f(D,Q)};u(()=>w(et,D=>{e(L)&&D(Oe)}),"if",i,358,3)}var Ce=a(et,2),tt=a(s(Ce),2);Y(tt),o(Ce);var Ge=a(Ce,2),rt=s(Ge),te=a(s(rt),2),ce=s(te),He=a(ce,2),at=a(He,2);o(te),o(rt),o(Ge);var ot=a(Ge,2);{var ue=D=>{var Q=$a(),Ee=Z(Q),lt=a(s(Ee),2),xt=s(lt),_t=s(xt),Tr=s(_t);dt(),o(_t);var Pr=a(_t,2);{var Rr=l=>{var k=ga();f(l,k)},zr=l=>{var k=va();T(()=>{e(p),Ve(()=>{e(c),e(R)})});var O=s(k),ge=s(O);o(O),O.value=O.__value="";var re=a(O);u(()=>Nt(re,1,()=>e(R),Ft,(E,b)=>{var z=pa(),ae=s(z);{var qe=y=>{var j=Je();T(()=>W(j,`${e(b),h(()=>e(b).owner)??""}/${e(b),h(()=>e(b).name)??""} (${e(b),h(()=>e(b).endpoint?.name||"Unknown endpoint")??""})`)),f(y,j)},X=y=>{var j=Je();T(()=>W(j,`${e(b),h(()=>e(b).name)??""} (${e(b),h(()=>e(b).endpoint?.name||"Unknown endpoint")??""})`)),f(y,j)};u(()=>w(ae,y=>{g(e(c),"repository")?y(qe):y(X,!1)}),"if",i,444,11)}o(z);var U={};T(()=>{U!==(U=(e(b),h(()=>e(b).id)))&&(z.value=(z.__value=(e(b),h(()=>e(b).id)))??"")}),f(E,z)}),"each",i,442,9),o(k),T(()=>W(ge,`Select a ${e(c)??""}`)),We(k,()=>e(p),E=>t(p,E)),f(l,k)};u(()=>w(Pr,l=>{e(J)?l(Rr):l(zr,!1)}),"if",i,432,7)}o(xt);var Jt=a(xt,2),Ar=a(s(Jt),2);{var Dr=l=>{var k=fa();f(l,k)},Ur=l=>{var k=ma();T(()=>{e(de),Ve(()=>{e(le)})});var O=s(k);O.value=O.__value="";var ge=a(O);u(()=>Nt(ge,1,()=>e(le),Ft,(re,E)=>{var b=ba(),z=s(b,!0);o(b);var ae={};T(()=>{W(z,(e(E),h(()=>e(E).name))),ae!==(ae=(e(E),h(()=>e(E).name)))&&(b.value=(b.__value=(e(E),h(()=>e(E).name)))??"")}),f(re,b)}),"each",i,468,9),o(k),We(k,()=>e(de),re=>t(de,re)),f(l,k)};u(()=>w(Ar,l=>{e(ie)?l(Dr):l(Ur,!1)}),"if",i,458,7)}o(Jt),o(lt),o(Ee);var kt=a(Ee,2),wt=a(s(kt),2),St=s(wt),Vt=a(s(St),2);Y(Vt),o(St);var $t=a(St,2),Wt=a(s($t),2);Y(Wt),o($t);var Mt=a($t,2),Ct=a(s(Mt),2);T(()=>{e(H),Ve(()=>{})});var Et=s(Ct);Et.value=Et.__value="linux";var Kt=a(Et);Kt.value=Kt.__value="windows",o(Ct),o(Mt);var Qt=a(Mt,2),Tt=a(s(Qt),2);T(()=>{e(ke),Ve(()=>{})});var Pt=s(Tt);Pt.value=Pt.__value="amd64";var Xt=a(Pt);Xt.value=Xt.__value="arm64",o(Tt),o(Qt),o(wt);var Yt=a(wt,2),Ir=a(s(Yt),2);{var Lr=l=>{var k=ya();f(l,k)},jr=l=>{var k=Te(),O=Z(k);{var ge=E=>{var b=xa(),z=Z(b);T(()=>{e(F),Ve(()=>{e($)})}),u(()=>Nt(z,5,()=>e($),Ft,(U,y)=>{var j=ha(),Be=s(j),Ot=a(Be);{var Gt=Ht=>{var cr=Je();T(()=>W(cr,`- ${e(y),h(()=>e(y).description)??""}`)),f(Ht,cr)};u(()=>w(Ot,Ht=>{e(y),h(()=>e(y).description)&&Ht(Gt)}),"if",i,556,10)}o(j);var nt={};T(()=>{W(Be,`${e(y),h(()=>e(y).name)??""} ${e(y),h(()=>g(e(y).owner_id,"system")?"(System)":"")??""} `),nt!==(nt=(e(y),h(()=>e(y).id)))&&(j.value=(j.__value=(e(y),h(()=>e(y).id)))??"")}),f(U,j)}),"each",i,553,8),o(z);var ae=a(z,2),qe=a(s(ae));{var X=U=>{var y=Je();T(j=>W(y,`Showing templates for ${j??""} ${e(H)??""}.`),[()=>h(je)]),f(U,y)};u(()=>w(qe,U=>{e(p)&&U(X)}),"if",i,562,8)}o(ae),We(z,()=>e(F),U=>t(F,U)),f(E,b)},re=E=>{var b=Te(),z=Z(b);{var ae=X=>{var U=_a(),y=s(U),j=s(y);o(y);var Be=a(y,2),Ot=s(Be);dt(),o(Be),o(U),T((Gt,nt)=>{W(j,`No templates found for ${Gt??""} ${e(H)??""}.`),Wr(Ot,"href",nt)},[()=>h(je),()=>(_r(gr),h(()=>gr("/templates")))]),f(X,U)},qe=X=>{var U=ka();f(X,U)};u(()=>w(z,X=>{e(p)?X(ae):X(qe,!1)},!0),"if",i,566,6)}f(E,b)};u(()=>w(O,E=>{e($),h(()=>e($).length>0)?E(ge):E(re,!1)},!0),"if",i,547,6)}f(l,k)};u(()=>w(Ir,l=>{e(ne)?l(Lr):l(jr,!1)}),"if",i,542,6)}o(Yt),o(kt);var Rt=a(kt,2),Zt=a(s(Rt),2),zt=s(Zt),er=a(s(zt),2);Y(er),o(zt);var At=a(zt,2),tr=a(s(At),2);Y(tr),o(At);var rr=a(At,2),ar=a(s(rr),2);Y(ar),o(rr),o(Zt),o(Rt);var or=a(Rt,2),Dt=a(s(or),2),Ut=s(Dt),sr=a(s(Ut),2);Y(sr),o(Ut);var lr=a(Ut,2),ir=a(s(lr),2);Y(ir),o(lr),o(Dt);var It=a(Dt,2),Or=a(s(It),2);u(()=>Xr(Or,{rows:4,placeholder:"{}",get value(){return e(me)},set value(l){t(me,l)},$$legacy:!0}),"component",i,668,6,{componentTag:"JsonEditor"}),o(It);var Lt=a(It,2),nr=s(Lt);Y(nr),dt(2),o(Lt);var dr=a(Lt,2),jt=s(dr),it=s(jt);Y(it);var Gr=a(it,2);dt(2),o(jt);var Hr=a(jt,2);{var Nr=l=>{var k=Sa(),O=a(s(k),2),ge=s(O),re=a(ge);{var E=b=>{var z=wa();Pe("click",z,()=>t(V,!0)),f(b,z)};u(()=>w(re,b=>{e(p)&&b(E)}),"if",i,718,9)}o(O),o(k),T(()=>W(ge,`Shell access requires agent mode to be enabled on the ${e(c)??""}. `)),f(l,k)};u(()=>w(Hr,l=>{e(P)||l(Nr)}),"if",i,711,6)}o(dr),o(or),T(l=>{W(Tr,`${l??""} `),it.disabled=!e(P),ct(Gr,1,`ml-2 block text-sm font-medium text-gray-700 dark:text-gray-300 ${e(P)?"":"opacity-50"}`)},[()=>(e(c),h(()=>e(c).charAt(0).toUpperCase()+e(c).slice(1)))]),pe(Vt,()=>e(fe),l=>t(fe,l)),pe(Wt,()=>e(be),l=>t(be,l)),We(Ct,()=>e(H),l=>t(H,l)),We(Tt,()=>e(ke),l=>t(ke,l)),pe(er,()=>e(_e),l=>t(_e,l)),pe(tr,()=>e(xe),l=>t(xe,l)),pe(ar,()=>e(ze),l=>t(ze,l)),pe(sr,()=>e(Ae),l=>t(Ae,l)),pe(ir,()=>e(De),l=>t(De,l)),pr(nr,()=>e(Ue),l=>t(Ue,l)),pr(it,()=>e(we),l=>t(we,l)),f(D,Q)};u(()=>w(ot,D=>{e(c)&&D(ue)}),"if",i,421,3)}var he=a(ot,2),st=s(he),Ne=a(st,2),Fe=s(Ne);{var ht=D=>{var Q=Ma();f(D,Q)},Er=D=>{var Q=Je("Create Scale Set");f(D,Q)};u(()=>w(Fe,D=>{e(se)?D(ht):D(Er,!1)}),"if",i,748,5)}o(Ne),o(he),o(q),o(_),T(()=>{ct(ce,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${g(e(c),"repository")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),ct(He,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${g(e(c),"organization")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),ct(at,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${g(e(c),"enterprise")?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Ne.disabled=!e(ve)}),pe(tt,()=>e(ee),D=>t(ee,D)),Pe("click",ce,()=>Se("repository")),Pe("click",He,()=>Se("organization")),Pe("click",at,()=>Se("enterprise")),Pe("click",st,()=>K("close")),Pe("submit",q,Qr(yt)),f(n,_)}),$$slots:{default:!0}}),"component",i,350,0,{componentTag:"Modal"});var r=a(Ze,2);{var x=n=>{const v=Jr(ut(()=>h(mt)),"selectedEntity");e(v);var _=Te(),q=Z(_);{var et=Oe=>{var Ce=Te(),tt=Z(Ce);{var Ge=te=>{u(()=>Yr(te,{get repository(){return e(v)},$$events:{close:()=>t(V,!1),submit:ce=>$e(ce.detail)}}),"component",i,767,3,{componentTag:"UpdateRepositoryModal"})},rt=te=>{var ce=Te(),He=Z(ce);{var at=ue=>{u(()=>Zr(ue,{get organization(){return e(v)},$$events:{close:()=>t(V,!1),submit:he=>$e(he.detail)}}),"component",i,773,3,{componentTag:"UpdateOrganizationModal"})},ot=ue=>{var he=Te(),st=Z(he);{var Ne=Fe=>{u(()=>ea(Fe,{get enterprise(){return e(v)},$$events:{close:()=>t(V,!1),submit:ht=>$e(ht.detail)}}),"component",i,779,3,{componentTag:"UpdateEnterpriseModal"})};u(()=>w(st,Fe=>{g(e(c),"enterprise")&&Fe(Ne)},!0),"if",i,778,2)}f(ue,he)};u(()=>w(He,ue=>{g(e(c),"organization")?ue(at):ue(ot,!1)},!0),"if",i,772,2)}f(te,ce)};u(()=>w(tt,te=>{g(e(c),"repository")?te(Ge):te(rt,!1)}),"if",i,766,2)}f(Oe,Ce)};u(()=>w(q,Oe=>{e(v)&&Oe(et)}),"if",i,765,1)}f(n,_)};u(()=>w(r,n=>{e(V)&&e(p)&&n(x)}),"if",i,763,0)}f(pt,Ye);var Me=kr({...br()});return bt(),Me}const Ta={};I[S]="src/routes/scalesets/+page.svelte";var Pa=M(C('
'),I[S],[[345,2]]),Ra=M(C('
',1),I[S],[[283,0]]);function I(pt,vt){fr(new.target),yr(vt,!1,I);const[ft,bt]=wr(),B=()=>($r(gt,"eagerCache"),Sr(gt,"$eagerCache",ft)),ve=d(),P=d(),K=d(),se=d();let L=d([]),c=d(!0),R=d(""),le=d(""),$=d(1),J=d(25),ie=d(!1),ne=d(!1),V=d(!1),m=d(null),ee=d(!1);async function p(r){try{t(R,""),t(ie,!1),Re.success("Scale Set Created","Scale set has been created successfully.")}catch(x){throw t(R,oe(x)),x}}async function de(r){if(e(m))try{(await A(G.updateScaleSet(e(m).id,r)))(),Re.success("Scale Set Updated",`Scale set ${e(m).name} has been updated successfully.`),t(ne,!1),t(m,null)}catch(x){const Me=oe(x);throw Re.error("Update Failed",Me),x}}async function fe(){if(e(m))try{(await A(G.deleteScaleSet(e(m).id)))(),Re.success("Scale Set Deleted",`Scale set ${e(m).name} has been deleted successfully.`)}catch(r){const x=oe(r);Re.error("Delete Failed",x)}finally{t(V,!1),t(m,null)}}function be(){t(ie,!0)}async function xe(r){try{t(ee,!0);const x=(await A(G.getScaleSet(r.id)))();t(m,x),t(ne,!0)}catch(x){const Me=oe(x);Re.error("Failed to Load Scale Set Details",Me)}finally{t(ee,!1)}}function _e(r){t(m,r),t(V,!0)}hr(async()=>{try{t(c,!0);const r=(await A(vr.getScaleSets()))();r&&Array.isArray(r)&&t(L,r)}catch(r){Ta?.VITEST||console.error(...ur("error","Failed to load scale sets:",r)),t(R,oe(r))}finally{t(c,!1)}});async function ze(){try{(await A(vr.retryResource("scalesets")))()}catch(r){console.error(...ur("error","Retry failed:",r))}}const Ae=[{key:"name",title:"Name",cellComponent:oa,cellProps:{entityType:"scaleset"}},{key:"image",title:"Image",cellComponent:Bt,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:Bt,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:Bt,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:sa},{key:"endpoint",title:"Endpoint",cellComponent:la},{key:"status",title:"Status",cellComponent:ia,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:na}],H={entityType:"scaleset",primaryText:{field:"name",isClickable:!0,href:"/scalesets/{id}"},secondaryText:{field:"entity_name",computedValue:r=>Ke(r)},badges:[{type:"custom",value:r=>({variant:r.enabled?"success":"error",text:r.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:r=>xe(r)},{type:"delete",handler:r=>_e(r)}]};function ke(r){t(le,r.detail.term),t($,1)}function De(r){t($,r.detail.page)}function Ue(r){t(J,r.detail.perPage),t($,1)}function we(r){xe(r.detail.item)}function me(r){_e(r.detail.item)}N(()=>(e(L),B()),()=>{(!e(L).length||B().loaded.scalesets)&&t(L,B().scalesets)}),N(()=>B(),()=>{t(c,B().loading.scalesets)}),N(()=>B(),()=>{t(ve,B().errorMessages.scalesets)}),N(()=>(e(L),e(le),Ke),()=>{t(P,ca(e(L),e(le),r=>Ke(r)))}),N(()=>(e(P),e(J)),()=>{t(K,Math.ceil(e(P).length/e(J)))}),N(()=>(e($),e(K)),()=>{e($)>e(K)&&e(K)>0&&t($,e(K))}),N(()=>(e(P),e($),e(J)),()=>{t(se,e(P).slice((e($)-1)*e(J),e($)*e(J)))}),xr(),mr();var F=Ra();Fr(r=>{Vr.title="Scale Sets - GARM"});var Ie=Z(F),Le=s(Ie);u(()=>Kr(Le,{title:"Scale Sets",description:"Manage GitHub runner scale sets",actionLabel:"Add Scale Set",$$events:{action:be}}),"component",I,285,1,{componentTag:"PageHeader"});var je=a(Le,2);{let r=ut(()=>e(ve)||e(R)),x=ut(()=>!!e(ve));u(()=>aa(je,{get columns(){return Ae},get data(){return e(se)},get loading(){return e(c)},get error(){return e(r)},get searchTerm(){return e(le)},searchPlaceholder:"Search by entity name...",get currentPage(){return e($)},get perPage(){return e(J)},get totalPages(){return e(K)},get totalItems(){return e(P),h(()=>e(P).length)},itemName:"scale sets",emptyIconType:"cog",get showRetry(){return e(x)},get mobileCardConfig(){return H},$$events:{search:ke,pageChange:De,perPageChange:Ue,retry:ze,edit:we,delete:me}}),"component",I,292,1,{componentTag:"DataTable"})}o(Ie);var ye=a(Ie,2);{var Qe=r=>{u(()=>i(r,{$$events:{close:()=>t(ie,!1),submit:x=>p(x.detail)}}),"component",I,318,1,{componentTag:"CreateScaleSetModal"})};u(()=>w(ye,r=>{e(ie)&&r(Qe)}),"if",I,317,0)}var Se=a(ye,2);{var Xe=r=>{u(()=>ta(r,{get scaleSet(){return e(m)},$$events:{close:()=>{t(ne,!1),t(m,null)},submit:x=>de(x.detail)}}),"component",I,325,1,{componentTag:"UpdateScaleSetModal"})};u(()=>w(Se,r=>{e(ne)&&e(m)&&r(Xe)}),"if",I,324,0)}var $e=a(Se,2);{var mt=r=>{{let x=ut(()=>(e(m),_r(Ke),h(()=>`Scale Set ${e(m).name} (${Ke(e(m))})`)));u(()=>ra(r,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return e(x)},$$events:{close:()=>{t(V,!1),t(m,null)},confirm:fe}}),"component",I,333,1,{componentTag:"DeleteModal"})}};u(()=>w($e,r=>{e(V)&&e(m)&&r(mt)}),"if",I,332,0)}var yt=a($e,2);{var Ye=r=>{u(()=>Cr(r,{$$events:{close:()=>{}},children:Mr(I,(x,Me)=>{var n=Pa(),v=s(n);u(()=>da(v,{message:"Loading scale set details..."}),"component",I,346,3,{componentTag:"LoadingState"}),o(n),f(x,n)}),$$slots:{default:!0}}),"component",I,344,1,{componentTag:"Modal"})};u(()=>w(yt,r=>{e(ee)&&r(Ye)}),"if",I,343,0)}f(pt,F);var Ze=kr({...br()});return bt(),Ze}export{I as component}; diff --git a/webapp/assets/_app/immutable/nodes/21.BxFmjbkC.js b/webapp/assets/_app/immutable/nodes/21.BxFmjbkC.js new file mode 100644 index 00000000..ddc5f27c --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/21.BxFmjbkC.js @@ -0,0 +1 @@ +import{f as _,h as ea,a as u,s as n,c as yt}from"../chunks/o8CdT7B0.js";import{i as aa}from"../chunks/ChJfoPF0.js";import{p as ra,o as da,q as sa,l as ia,b as la,f as T,t as h,a as na,u as i,h as g,g as t,m as b,c as a,s,d as v,$ as oa,r,j as A,i as $}from"../chunks/DUMcBckj.js";import{i as f}from"../chunks/i7pKks78.js";import{c as k,d as L,g as O,s as ae}from"../chunks/_9uqtkkk.js";import{p as re}from"../chunks/CPri_0tM.js";import{g as de}from"../chunks/BcoJ4GZv.js";import{U as va}from"../chunks/BDUel5dG.js";import{D as se}from"../chunks/mBfsYUjq.js";import{I as ca}from"../chunks/Dah3498E.js";import{D as ma}from"../chunks/Ckj0xxjl.js";import{w as ie}from"../chunks/DTRhxHIE.js";import{t as H}from"../chunks/Bbk4dQfI.js";import{e as le}from"../chunks/BZiHL9L3.js";import{e as E,i as J,j as ne,b as P,g as oe}from"../chunks/DQsxKNC2.js";import{F as xa}from"../chunks/DYis7hcW.js";var ua=_('

Loading scale set...

'),ga=_('

'),fa=_(' '),pa=_(' '),_a=_('Default system template'),ya=_('
GitHub Runner Group
'),ha=_('

Extra Specifications

 
'),ba=_('

Basic Information

Scale Set ID
Name
Provider
Forge Type
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Runner Prefix
OS Type / Architecture
Shell Access
Runner Install Template
',1),ka=_(' ',1);function La(ve,ce){ra(ce,!1);const N=b();let e=b(null),j=b(!0),F=b(""),R=b(!1),U=b(!1),B=b(!1),p=b(null),C=null;async function ht(){if(!(!t(N)||isNaN(t(N))))try{v(j,!0),v(F,""),v(e,await O.getScaleSet(t(N))),t(e).instances||A(e,t(e).instances=[])}catch(d){v(F,d instanceof Error?d.message:"Failed to load scale set")}finally{v(j,!1)}}async function me(d){if(t(e))try{await O.updateScaleSet(t(e).id,d),await ht(),H.success("Scale Set Updated",`Scale Set ${t(e).name} has been updated successfully.`),v(R,!1)}catch(l){throw l}}async function xe(){if(t(e)){try{await O.deleteScaleSet(t(e).id),de(k("/scalesets"))}catch(d){const l=le(d);H.error("Delete Failed",l)}v(U,!1)}}async function ue(){if(t(p)){try{await O.deleteInstance(t(p).name),H.success("Instance Deleted",`Instance ${t(p).name} has been deleted successfully.`)}catch(d){const l=le(d);H.error("Delete Failed",l)}v(B,!1),v(p,null)}}function ge(d){v(p,d),v(B,!0)}function fe(d){if(!d)return"{}";try{if(typeof d=="string"){const l=JSON.parse(d);return JSON.stringify(l,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function pe(d){if(d.operation==="update"){const l=d.payload;t(e)&&l.id===t(e).id&&v(e,l)}else if(d.operation==="delete"){const l=d.payload.id||d.payload;t(e)&&t(e).id===l&&de(k("/scalesets"))}}function _e(d){if(!t(e))return;const l=d.payload;if(l.scale_set_id===t(e).id){if(t(e).instances||A(e,t(e).instances=[]),d.operation==="create")A(e,t(e).instances=[...t(e).instances,l]);else if(d.operation==="update")A(e,t(e).instances=t(e).instances.map(S=>S.id===l.id?l:S));else if(d.operation==="delete"){const S=l.id||l;A(e,t(e).instances=t(e).instances.filter(W=>W.id!==S))}v(e,t(e))}}da(()=>{ht();const d=ie.subscribeToEntity("scaleset",["update","delete"],pe),l=ie.subscribeToEntity("instance",["create","update","delete"],_e);C=()=>{d(),l()}}),sa(()=>{C&&(C(),C=null)}),ia(()=>re,()=>{v(N,parseInt(re.params.id||"0"))}),la(),aa();var bt=ka();ea(d=>{h(()=>oa.title=`${t(e),i(()=>t(e)?`${t(e).name} - Scale Set Details`:"Scale Set Details")??""} - GARM`)});var q=T(bt),z=a(q),kt=a(z),V=a(kt),ye=a(V);r(V);var St=s(V,2),wt=a(St),It=s(a(wt),2),he=a(It,!0);r(It),r(wt),r(St),r(kt),r(z);var be=s(z,2);{var ke=d=>{var l=ua();u(d,l)},Se=d=>{var l=yt(),S=T(l);{var W=w=>{var I=ga(),G=a(I),K=a(G,!0);r(G),r(I),h(()=>n(K,t(F))),u(w,I)},Ee=w=>{var I=yt(),G=T(I);{var K=Q=>{var Et=ba(),Mt=T(Et);{let o=$(()=>(t(e),i(()=>t(e).name||"Scale Set"))),c=$(()=>(g(E),t(e),i(()=>E(t(e))))),m=$(()=>(g(J),t(e),i(()=>J(t(e))))),x=$(()=>(g(oe),i(()=>oe("github"))));ma(Mt,{get title(){return t(o)},get subtitle(){return`Scale set for ${t(c)??""} (${t(m)??""}) • GitHub Runner Scale Set`},get forgeIcon(){return t(x)},onEdit:()=>v(R,!0),onDelete:()=>v(U,!0)})}var X=s(Mt,2),Y=a(X),Tt=a(Y),At=s(a(Tt),2),Z=a(At),Nt=s(a(Z),2),Me=a(Nt,!0);r(Nt),r(Z);var tt=s(Z,2),Ft=s(a(tt),2),Te=a(Ft,!0);r(Ft),r(tt);var et=s(tt,2),Rt=s(a(et),2),Ae=a(Rt,!0);r(Rt),r(et);var at=s(et,2),Ut=s(a(at),2),Ne=a(Ut);xa(Ne,{get item(){return t(e)}}),r(Ut),r(at);var rt=s(at,2),Bt=s(a(rt),2),Ct=a(Bt),Fe=a(Ct,!0);r(Ct),r(Bt),r(rt);var dt=s(rt,2),Gt=s(a(dt),2),Re=a(Gt,!0);r(Gt),r(dt);var st=s(dt,2),Lt=s(a(st),2),it=a(Lt),Ue=a(it,!0);r(it),r(Lt),r(st);var lt=s(st,2),Ot=s(a(lt),2),Ht=a(Ot),nt=a(Ht),Be=a(nt,!0);r(nt);var ot=s(nt,2),Ce=a(ot,!0);r(ot),r(Ht),r(Ot),r(lt);var vt=s(lt,2),Jt=s(a(vt),2),Ge=a(Jt,!0);r(Jt),r(vt);var Pt=s(vt,2),jt=s(a(Pt),2),Le=a(jt,!0);r(jt),r(Pt),r(At),r(Tt),r(Y);var qt=s(Y,2),zt=a(qt),Vt=s(a(zt),2),ct=a(Vt),Wt=s(a(ct),2),Oe=a(Wt,!0);r(Wt),r(ct);var mt=s(ct,2),Kt=s(a(mt),2),He=a(Kt,!0);r(Kt),r(mt);var xt=s(mt,2),Qt=s(a(xt),2),Je=a(Qt);r(Qt),r(xt);var ut=s(xt,2),Xt=s(a(ut),2),Pe=a(Xt,!0);r(Xt),r(ut);var gt=s(ut,2),Yt=s(a(gt),2),je=a(Yt);r(Yt),r(gt);var ft=s(gt,2),Zt=s(a(ft),2),pt=a(Zt),qe=a(pt,!0);r(pt),r(Zt),r(ft);var _t=s(ft,2),te=s(a(_t),2),ze=a(te);{var Ve=o=>{var c=fa(),m=a(c,!0);r(c),h(x=>{L(c,"href",x),n(m,(t(e),i(()=>t(e).template_name)))},[()=>(g(k),t(e),i(()=>k(`/templates/${t(e).template_id}`)))]),u(o,c)},We=o=>{var c=yt(),m=T(c);{var x=y=>{var D=pa(),Ze=a(D);r(D),h(ta=>{L(D,"href",ta),n(Ze,`Template ID: ${t(e),i(()=>t(e).template_id)??""}`)},[()=>(g(k),t(e),i(()=>k(`/templates/${t(e).template_id}`)))]),u(y,D)},M=y=>{var D=_a();u(y,D)};f(m,y=>{t(e),i(()=>t(e).template_id)?y(x):y(M,!1)},!0)}u(o,c)};f(ze,o=>{t(e),i(()=>t(e).template_name)?o(Ve):o(We,!1)})}r(te),r(_t);var Ke=s(_t,2);{var Qe=o=>{var c=ya(),m=s(a(c),2),x=a(m,!0);r(m),r(c),h(()=>n(x,(t(e),i(()=>t(e)["github-runner-group"])))),u(o,c)};f(Ke,o=>{t(e),i(()=>t(e)["github-runner-group"])&&o(Qe)})}r(Vt),r(zt),r(qt),r(X);var ee=s(X,2);{var Xe=o=>{var c=ha(),m=a(c),x=s(a(m),2),M=a(x,!0);r(x),r(m),r(c),h(y=>n(M,y),[()=>(t(e),i(()=>fe(t(e).extra_specs)))]),u(o,c)};f(ee,o=>{t(e),i(()=>t(e).extra_specs)&&o(Xe)})}var Ye=s(ee,2);{let o=$(()=>(t(e),i(()=>t(e).instances||[])));ca(Ye,{get instances(){return t(o)},entityType:"scaleset",onDeleteInstance:ge})}h((o,c,m,x,M)=>{n(Me,(t(e),i(()=>t(e).id))),n(Te,(t(e),i(()=>t(e).name))),n(Ae,(t(e),i(()=>t(e).provider_name))),n(Fe,(t(e),i(()=>t(e).image))),n(Re,(t(e),i(()=>t(e).flavor))),ae(it,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),n(Ue,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),n(Be,o),L(ot,"href",c),n(Ce,m),n(Ge,x),n(Le,M),n(Oe,(t(e),i(()=>t(e).max_runners))),n(He,(t(e),i(()=>t(e).min_idle_runners))),n(Je,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),n(Pe,(t(e),i(()=>t(e).runner_prefix||"garm"))),n(je,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`),ae(pt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enable_shell?"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200":"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200")??""}`),n(qe,(t(e),i(()=>t(e).enable_shell?"Enabled":"Disabled")))},[()=>(g(J),t(e),i(()=>J(t(e)))),()=>(g(ne),t(e),i(()=>ne(t(e)))),()=>(g(E),t(e),i(()=>E(t(e)))),()=>(g(P),t(e),i(()=>P(t(e).created_at||""))),()=>(g(P),t(e),i(()=>P(t(e).updated_at||"")))]),u(Q,Et)};f(G,Q=>{t(e)&&Q(K)},!0)}u(w,I)};f(S,w=>{t(F)?w(W):w(Ee,!1)},!0)}u(d,l)};f(be,d=>{t(j)?d(ke):d(Se,!1)})}r(q);var Dt=s(q,2);{var we=d=>{va(d,{get scaleSet(){return t(e)},$$events:{close:()=>v(R,!1),submit:l=>me(l.detail)}})};f(Dt,d=>{t(R)&&t(e)&&d(we)})}var $t=s(Dt,2);{var Ie=d=>{{let l=$(()=>(t(e),g(E),i(()=>`Scale Set ${t(e).name} (${E(t(e))})`)));se(d,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return t(l)},$$events:{close:()=>v(U,!1),confirm:xe}})}};f($t,d=>{t(U)&&t(e)&&d(Ie)})}var De=s($t,2);{var $e=d=>{se(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(p),i(()=>t(p).name)},$$events:{close:()=>{v(B,!1),v(p,null)},confirm:ue}})};f(De,d=>{t(B)&&t(p)&&d($e)})}h(d=>{L(ye,"href",d),n(he,(t(e),i(()=>t(e)?t(e).name:"Loading...")))},[()=>(g(k),i(()=>k("/scalesets")))]),u(ve,bt),na()}export{La as component}; diff --git a/webapp/assets/_app/immutable/nodes/21.DyAtvlhs.js b/webapp/assets/_app/immutable/nodes/21.DyAtvlhs.js deleted file mode 100644 index 9ca8d7eb..00000000 --- a/webapp/assets/_app/immutable/nodes/21.DyAtvlhs.js +++ /dev/null @@ -1 +0,0 @@ -import{c as la,a as k,h as na,b as f,l as oa,s as o,f as S,d as De}from"../chunks/CxOx-TIJ.js";import{i as ca}from"../chunks/3NxSoY2_.js";import{p as va,o as ma,x as xa,l as ua,b as ga,f as R,d as x,t as D,a as fa,s,g as e,m as I,u as i,h as p,F as h,c as a,j as v,$ as pa,r,e as A,n as C,k as B,i as _}from"../chunks/DzFKsO_V.js";import{i as y}from"../chunks/B_jyf0qs.js";import{c as $,d as q,g as z,s as nt}from"../chunks/BguOOs3x.js";import{p as ot}from"../chunks/CH-vk5qo.js";import{g as ct}from"../chunks/BzzAh3Be.js";import{U as _a}from"../chunks/CZK5Ma2H.js";import{D as vt}from"../chunks/DL1RlOO9.js";import{I as ya}from"../chunks/CzarUgpd.js";import{D as ha}from"../chunks/BLYRAgBX.js";import{w as mt}from"../chunks/DSHGoHxX.js";import{t as V}from"../chunks/li_-Mkq2.js";import{e as xt}from"../chunks/BZiHL9L3.js";import{e as N,i as W,j as ut,b as K,g as gt}from"../chunks/JkzpcrZD.js";import{F as ba}from"../chunks/DaHsWCjd.js";n[h]="src/routes/scalesets/[id]/+page.svelte";var ka=k(S('

Loading scale set...

'),n[h],[[227,2,[[228,3],[229,3]]]]),Sa=k(S('

'),n[h],[[232,2,[[233,3]]]]),wa=k(S(' '),n[h],[[351,9]]),Da=k(S(' '),n[h],[[355,9]]),Ia=k(S('Default system template'),n[h],[[359,9]]),$a=k(S('
GitHub Runner Group
'),n[h],[[364,7,[[365,8],[366,8]]]]),Ta=k(S('

Extra Specifications

 
'),n[h],[[378,3,[[379,4,[[380,5],[381,5]]]]]]),Ma=k(S('

Basic Information

Scale Set ID
Name
Provider
Forge Type
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Runner Prefix
OS Type / Architecture
Shell Access
Runner Install Template
',1),n[h],[[246,2,[[248,3,[[249,4,[[250,5],[251,5,[[252,6,[[253,7],[254,7]]],[256,6,[[257,7],[258,7]]],[260,6,[[261,7],[262,7]]],[264,6,[[265,7],[266,7]]],[270,6,[[271,7],[272,7,[[273,8]]]]],[276,6,[[277,7],[278,7]]],[280,6,[[281,7],[282,7,[[283,8]]]]],[288,6,[[289,7],[290,7,[[291,8,[[292,9],[295,9]]]]]]],[301,6,[[302,7],[303,7]]],[305,6,[[306,7],[307,7]]]]]]]]],[314,3,[[315,4,[[316,5],[317,5,[[318,6,[[319,7],[320,7]]],[322,6,[[323,7],[324,7]]],[326,6,[[327,7],[328,7]]],[331,6,[[332,7],[333,7]]],[335,6,[[336,7],[337,7]]],[339,6,[[340,7],[341,7,[[342,8]]]]],[347,6,[[348,7],[349,7]]]]]]]]]]]]),Ea=k(S(' ',1),n[h],[[201,0,[[203,1,[[204,2,[[205,3,[[206,4,[[207,5,[[208,6]]]]]]],[213,3,[[214,4,[[215,5,[[216,6]]],[218,5]]]]]]]]]]]]);function n(ft,pt){la(new.target),va(pt,!1,n);const L=I();let t=I(null),Q=I(!0),G=I(""),H=I(!1),O=I(!1),J=I(!1),b=I(null),P=null;async function Ie(){if(!(!e(L)||isNaN(e(L))))try{v(Q,!0),v(G,""),v(t,(await C(z.getScaleSet(e(L))))()),e(t).instances||B(t,e(t).instances=[])}catch(d){v(G,d instanceof Error?d.message:"Failed to load scale set")}finally{v(Q,!1)}}async function _t(d){if(e(t))try{(await C(z.updateScaleSet(e(t).id,d)))(),(await C(Ie()))(),V.success("Scale Set Updated",`Scale Set ${e(t).name} has been updated successfully.`),v(H,!1)}catch(l){throw l}}async function yt(){if(e(t)){try{(await C(z.deleteScaleSet(e(t).id)))(),ct($("/scalesets"))}catch(d){const l=xt(d);V.error("Delete Failed",l)}v(O,!1)}}async function ht(){if(e(b)){try{(await C(z.deleteInstance(e(b).name)))(),V.success("Instance Deleted",`Instance ${e(b).name} has been deleted successfully.`)}catch(d){const l=xt(d);V.error("Delete Failed",l)}v(J,!1),v(b,null)}}function bt(d){v(b,d),v(J,!0)}function kt(d){if(!d)return"{}";try{if(_(typeof d,"string")){const l=JSON.parse(d);return JSON.stringify(l,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function St(d){if(_(d.operation,"update")){const l=d.payload;e(t)&&_(l.id,e(t).id)&&v(t,l)}else if(_(d.operation,"delete")){const l=d.payload.id||d.payload;e(t)&&_(e(t).id,l)&&ct($("/scalesets"))}}function wt(d){if(!e(t))return;const l=d.payload;if(!_(l.scale_set_id,e(t).id,!1)){if(e(t).instances||B(t,e(t).instances=[]),_(d.operation,"create"))B(t,e(t).instances=[...e(t).instances,l]);else if(_(d.operation,"update"))B(t,e(t).instances=e(t).instances.map(T=>_(T.id,l.id)?l:T));else if(_(d.operation,"delete")){const T=l.id||l;B(t,e(t).instances=e(t).instances.filter(ee=>_(ee.id,T,!1)))}v(t,e(t))}}ma(()=>{Ie();const d=mt.subscribeToEntity("scaleset",["update","delete"],St),l=mt.subscribeToEntity("instance",["create","update","delete"],wt);P=()=>{d(),l()}}),xa(()=>{P&&(P(),P=null)}),ua(()=>ot,()=>{v(L,parseInt(ot.params.id||"0"))}),ga(),ca();var $e=Ea();na(d=>{D(()=>pa.title=`${e(t),i(()=>e(t)?`${e(t).name} - Scale Set Details`:"Scale Set Details")??""} - GARM`)});var X=R($e),Y=a(X),Te=a(Y),Z=a(Te),Dt=a(Z);r(Z);var Me=s(Z,2),Ee=a(Me),Fe=s(a(Ee),2),It=a(Fe,!0);r(Fe),r(Ee),r(Me),r(Te),r(Y);var $t=s(Y,2);{var Tt=d=>{var l=ka();f(d,l)},Mt=d=>{var l=De(),T=R(l);{var ee=M=>{var E=Sa(),j=a(E),te=a(j,!0);r(j),r(E),D(()=>o(te,e(G))),f(M,E)},Ut=M=>{var E=De(),j=R(E);{var te=ae=>{var Ue=Ma(),Re=R(Ue);{let c=A(()=>(e(t),i(()=>e(t).name||"Scale Set"))),m=A(()=>(p(N),e(t),i(()=>N(e(t))))),u=A(()=>(p(W),e(t),i(()=>W(e(t))))),g=A(()=>(p(gt),i(()=>gt("github"))));x(()=>ha(Re,{get title(){return e(c)},get subtitle(){return`Scale set for ${e(m)??""} (${e(u)??""}) • GitHub Runner Scale Set`},get forgeIcon(){return e(g)},onEdit:()=>v(H,!0),onDelete:()=>v(O,!0)}),"component",n,237,2,{componentTag:"DetailHeader"})}var re=s(Re,2),de=a(re),Ce=a(de),Be=s(a(Ce),2),se=a(Be),Le=s(a(se),2),Rt=a(Le,!0);r(Le),r(se);var ie=s(se,2),Ge=s(a(ie),2),Ct=a(Ge,!0);r(Ge),r(ie);var le=s(ie,2),He=s(a(le),2),Bt=a(He,!0);r(He),r(le);var ne=s(le,2),Oe=s(a(ne),2),Lt=a(Oe);x(()=>ba(Lt,{get item(){return e(t)}}),"component",n,267,8,{componentTag:"ForgeTypeCell"}),r(Oe),r(ne);var oe=s(ne,2),Je=s(a(oe),2),Pe=a(Je),Gt=a(Pe,!0);r(Pe),r(Je),r(oe);var ce=s(oe,2),je=s(a(ce),2),Ht=a(je,!0);r(je),r(ce);var ve=s(ce,2),qe=s(a(ve),2),me=a(qe),Ot=a(me,!0);r(me),r(qe),r(ve);var xe=s(ve,2),ze=s(a(xe),2),Ve=a(ze),ue=a(Ve),Jt=a(ue,!0);r(ue);var ge=s(ue,2),Pt=a(ge,!0);r(ge),r(Ve),r(ze),r(xe);var fe=s(xe,2),We=s(a(fe),2),jt=a(We,!0);r(We),r(fe);var Ke=s(fe,2),Qe=s(a(Ke),2),qt=a(Qe,!0);r(Qe),r(Ke),r(Be),r(Ce),r(de);var Xe=s(de,2),Ye=a(Xe),Ze=s(a(Ye),2),pe=a(Ze),et=s(a(pe),2),zt=a(et,!0);r(et),r(pe);var _e=s(pe,2),tt=s(a(_e),2),Vt=a(tt,!0);r(tt),r(_e);var ye=s(_e,2),at=s(a(ye),2),Wt=a(at);r(at),r(ye);var he=s(ye,2),rt=s(a(he),2),Kt=a(rt,!0);r(rt),r(he);var be=s(he,2),dt=s(a(be),2),Qt=a(dt);r(dt),r(be);var ke=s(be,2),st=s(a(ke),2),Se=a(st),Xt=a(Se,!0);r(Se),r(st),r(ke);var we=s(ke,2),it=s(a(we),2),Yt=a(it);{var Zt=c=>{var m=wa(),u=a(m,!0);r(m),D(g=>{q(m,"href",g),o(u,(e(t),i(()=>e(t).template_name)))},[()=>(p($),e(t),i(()=>$(`/templates/${e(t).template_id}`)))]),f(c,m)},ea=c=>{var m=De(),u=R(m);{var g=w=>{var F=Da(),sa=a(F);r(F),D(ia=>{q(F,"href",ia),o(sa,`Template ID: ${e(t),i(()=>e(t).template_id)??""}`)},[()=>(p($),e(t),i(()=>$(`/templates/${e(t).template_id}`)))]),f(w,F)},U=w=>{var F=Ia();f(w,F)};x(()=>y(u,w=>{e(t),i(()=>e(t).template_id)?w(g):w(U,!1)},!0),"if",n,354,8)}f(c,m)};x(()=>y(Yt,c=>{e(t),i(()=>e(t).template_name)?c(Zt):c(ea,!1)}),"if",n,350,8)}r(it),r(we);var ta=s(we,2);{var aa=c=>{var m=$a(),u=s(a(m),2),g=a(u,!0);r(u),r(m),D(()=>o(g,(e(t),i(()=>e(t)["github-runner-group"])))),f(c,m)};x(()=>y(ta,c=>{e(t),i(()=>e(t)["github-runner-group"])&&c(aa)}),"if",n,363,6)}r(Ze),r(Ye),r(Xe),r(re);var lt=s(re,2);{var ra=c=>{var m=Ta(),u=a(m),g=s(a(u),2),U=a(g,!0);r(g),r(u),r(m),D(w=>o(U,w),[()=>(e(t),i(()=>kt(e(t).extra_specs)))]),f(c,m)};x(()=>y(lt,c=>{e(t),i(()=>e(t).extra_specs)&&c(ra)}),"if",n,377,2)}var da=s(lt,2);{let c=A(()=>(e(t),i(()=>e(t).instances||[])));x(()=>ya(da,{get instances(){return e(c)},entityType:"scaleset",onDeleteInstance:bt}),"component",n,387,2,{componentTag:"InstancesSection"})}D((c,m,u,g,U)=>{o(Rt,(e(t),i(()=>e(t).id))),o(Ct,(e(t),i(()=>e(t).name))),o(Bt,(e(t),i(()=>e(t).provider_name))),o(Gt,(e(t),i(()=>e(t).image))),o(Ht,(e(t),i(()=>e(t).flavor))),nt(me,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${e(t),i(()=>e(t).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),o(Ot,(e(t),i(()=>e(t).enabled?"Enabled":"Disabled"))),o(Jt,c),q(ge,"href",m),o(Pt,u),o(jt,g),o(qt,U),o(zt,(e(t),i(()=>e(t).max_runners))),o(Vt,(e(t),i(()=>e(t).min_idle_runners))),o(Wt,`${e(t),i(()=>e(t).runner_bootstrap_timeout)??""} minutes`),o(Kt,(e(t),i(()=>e(t).runner_prefix||"garm"))),o(Qt,`${e(t),i(()=>e(t).os_type)??""} / ${e(t),i(()=>e(t).os_arch)??""}`),nt(Se,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${e(t),i(()=>e(t).enable_shell?"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200":"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200")??""}`),o(Xt,(e(t),i(()=>e(t).enable_shell?"Enabled":"Disabled")))},[()=>(p(W),e(t),i(()=>W(e(t)))),()=>(p(ut),e(t),i(()=>ut(e(t)))),()=>(p(N),e(t),i(()=>N(e(t)))),()=>(p(K),e(t),i(()=>K(e(t).created_at||""))),()=>(p(K),e(t),i(()=>K(e(t).updated_at||"")))]),f(ae,Ue)};x(()=>y(j,ae=>{e(t)&&ae(te)},!0),"if",n,235,1)}f(M,E)};x(()=>y(T,M=>{e(G)?M(ee):M(Ut,!1)},!0),"if",n,231,1)}f(d,l)};x(()=>y($t,d=>{e(Q)?d(Tt):d(Mt,!1)}),"if",n,226,1)}r(X);var Ae=s(X,2);{var Et=d=>{x(()=>_a(d,{get scaleSet(){return e(t)},$$events:{close:()=>v(H,!1),submit:l=>_t(l.detail)}}),"component",n,394,1,{componentTag:"UpdateScaleSetModal"})};x(()=>y(Ae,d=>{e(H)&&e(t)&&d(Et)}),"if",n,393,0)}var Ne=s(Ae,2);{var Ft=d=>{{let l=A(()=>(e(t),p(N),i(()=>`Scale Set ${e(t).name} (${N(e(t))})`)));x(()=>vt(d,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return e(l)},$$events:{close:()=>v(O,!1),confirm:yt}}),"component",n,402,1,{componentTag:"DeleteModal"})}};x(()=>y(Ne,d=>{e(O)&&e(t)&&d(Ft)}),"if",n,401,0)}var At=s(Ne,2);{var Nt=d=>{x(()=>vt(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(b),i(()=>e(b).name)},$$events:{close:()=>{v(J,!1),v(b,null)},confirm:ht}}),"component",n,412,1,{componentTag:"DeleteModal"})};x(()=>y(At,d=>{e(J)&&e(b)&&d(Nt)}),"if",n,411,0)}return D(d=>{q(Dt,"href",d),o(It,(e(t),i(()=>e(t)?e(t).name:"Loading...")))},[()=>(p($),i(()=>$("/scalesets")))]),f(ft,$e),fa({...oa()})}export{n as component}; diff --git a/webapp/assets/_app/immutable/nodes/22.CliGwwFO.js b/webapp/assets/_app/immutable/nodes/22.CliGwwFO.js deleted file mode 100644 index 0f090c75..00000000 --- a/webapp/assets/_app/immutable/nodes/22.CliGwwFO.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Oe,a as Te,h as je,b as f,l as qe,d as N,t as Q,s as de,f as be}from"../chunks/CxOx-TIJ.js";import{i as We}from"../chunks/3NxSoY2_.js";import{p as Je,o as Ke,l as L,b as Qe,f as A,d as l,a as Ve,g as e,m as i,$ as Xe,w as me,h as d,u as c,s as $,e as U,y as pe,t as ge,i as D,j as a,F as Y,n as B,c as R,r as E}from"../chunks/DzFKsO_V.js";import{s as Ye,a as Ze,i as C,v as et}from"../chunks/B_jyf0qs.js";import{w as ue}from"../chunks/DoJxysSt.js";import{l as fe}from"../chunks/BAcG6-Ep.js";import{g as z}from"../chunks/BzzAh3Be.js";import{B as tt,c as O,g as ye}from"../chunks/BguOOs3x.js";import{P as at}from"../chunks/DTko0dwG.js";import{A as rt}from"../chunks/Ct5kWObc.js";import{D as ot,E as st,G as j,A as nt}from"../chunks/C2FKJqnN.js";import{t as I}from"../chunks/li_-Mkq2.js";import{e as ve}from"../chunks/BZiHL9L3.js";import{B as _e}from"../chunks/1CdJgrM6.js";import{D as he}from"../chunks/DL1RlOO9.js";import{i as V}from"../chunks/C98nByjP.js";import{e as we,a as X}from"../chunks/Penjr-j0.js";r[Y]="src/routes/templates/+page.svelte";var lt=Te(be('

Error loading templates

'),r[Y],[[320,1,[[321,2,[[322,3,[[323,4,[[324,5]]]]],[327,3,[[328,4],[331,4],[334,4]]]]]]]]),it=Te(be(" ",1),r[Y],[]);function r(xe,$e){Oe(new.target),Je($e,!1,r);const[Ce,ke]=Ye(),h=()=>(et(we,"eagerCache"),Ze(we,"$eagerCache",Ce)),q=i(),W=i(),w=i(),Z=i();let T=i([]),S=i(""),y=i(""),m=i(1),b=i(25),k=i(1),F=i(!1),G=i(!1),g=i(null);async function Me(){try{(await B(X.retryResource("templates")))()}catch(t){console.error(...fe("error","Retry failed:",t))}}async function Pe(){if(e(g)?.id)try{(await B(ye.deleteTemplate(e(g).id)))(),I.add({type:"success",title:"Template deleted",message:`Template "${e(g).name}" has been deleted successfully.`}),a(F,!1),a(g,null)}catch(t){const o=ve(t);I.add({type:"error",title:"Failed to delete template",message:o})}}function Le(){z(O("/templates/create"))}async function ee(t){if(!t.id){I.add({type:"error",title:"Error",message:"Template ID is missing"});return}z(O(`/templates/create?clone=${t.id}`))}function te(t){a(g,t),a(F,!0)}function Ae(){a(G,!0)}async function De(){try{(await B(ye.restoreTemplates({restore_all:!0})))(),I.add({type:"success",title:"Templates restored",message:"System templates have been restored successfully."}),a(G,!1),(await B(X.retryResource("templates")))()}catch(t){const o=ve(t);I.add({type:"error",title:"Failed to restore templates",message:o})}}function ae(t){switch(t){case"github":return{color:"blue",text:"GitHub"};case"gitea":return{color:"green",text:"Gitea"};default:return{color:"gray",text:t||"Unknown"}}}function re(t){switch(t){case"linux":return{color:"blue",text:"Linux"};case"windows":return{color:"info",text:"Windows"};default:return{color:"gray",text:t||"Unknown"}}}const Be=[{key:"name",title:"Name",cellComponent:st,cellProps:{entityType:"template"}},{key:"description",title:"Description",cellComponent:j,cellProps:{field:"description",type:"description"}},{key:"forge_type",title:"Forge Type",cellComponent:j,cellProps:{field:"forge_type"}},{key:"os_type",title:"OS Type",cellComponent:j,cellProps:{field:"os_type"}},{key:"owner_id",title:"Owner",cellComponent:j,cellProps:{field:"owner_id"}},{key:"actions",title:"Actions",align:"right",cellComponent:nt,cellProps:t=>{const o=V(),s=D(t.owner_id,"system"),n=[];return n.push({type:"copy",title:"Clone",ariaLabel:"Clone template",action:"clone"}),(o||!s)&&n.push({type:"edit",title:"Edit",ariaLabel:"Edit template",action:"edit"}),(o||!s)&&n.push({type:"delete",title:"Delete",ariaLabel:"Delete template",action:"delete"}),{actions:n}}}],Re={entityType:"template",primaryText:{field:"name",isClickable:!0,href:"/templates/{id}"},secondaryText:{field:"description"},badges:[{type:"custom",value:t=>{const o=ae(t.forge_type);return{variant:o.color,text:o.text}}},{type:"custom",value:t=>{const o=re(t.os_type);return{variant:o.color,text:o.text}}}],actions:[{type:"clone",handler:t=>ee(t)},{type:"edit",handler:t=>z(O(`/templates/${t.id}?edit=true`))},{type:"delete",handler:t=>te(t)}]};Ke(async()=>{try{const t=(await B(X.getTemplates()))();t&&Array.isArray(t)&&a(T,t)}catch(t){console.error(...fe("error","Failed to load templates:",t)),a(S,t instanceof Error?t.message:"Failed to load templates")}}),L(()=>(e(T),h()),()=>{(!e(T).length||h().loaded.templates)&&a(T,h().templates)}),L(()=>h(),()=>{a(q,h().loading.templates)}),L(()=>h(),()=>{a(W,h().errorMessages.templates)}),L(()=>(e(y),e(T)),()=>{a(w,e(y)?e(T).filter(t=>t.name?.toLowerCase().includes(e(y).toLowerCase())||t.description?.toLowerCase().includes(e(y).toLowerCase())||t.forge_type?.toLowerCase().includes(e(y).toLowerCase())||t.os_type?.toLowerCase().includes(e(y).toLowerCase())):e(T))}),L(()=>(e(k),e(w),e(b),e(m)),()=>{a(k,Math.ceil(e(w).length/e(b))),e(m)>e(k)&&e(k)>0&&a(m,e(k))}),L(()=>(e(w),e(m),e(b)),()=>{a(Z,e(w).slice((e(m)-1)*e(b),e(m)*e(b)))}),Qe(),We();var oe=it();je(t=>{Xe.title="Runner Install Templates - GARM"});var se=A(oe);l(()=>at(se,{title:"Runner Install Templates",description:"Manage templates for configuring runner software installation. These templates can be set on pools or scale sets.",actionLabel:"Create Template",showAction:!0,$$events:{action:Le},$$slots:{"secondary-actions":(t,o)=>{var s=N(),n=A(s);{var v=x=>{l(()=>tt(x,{variant:"secondary",icon:'',$$events:{click:Ae},children:ue(r,(M,H)=>{me();var p=Q("Restore System Templates");f(M,p)}),$$slots:{default:!0}}),"component",r,308,3,{componentTag:"Button"})};l(()=>C(n,x=>{d(V),c(V)&&x(v)}),"if",r,307,2)}f(t,s)}}}),"component",r,299,0,{componentTag:"PageHeader"});var ne=$(se,2);{var Ee=t=>{var o=lt(),s=R(o),n=$(R(s),2),v=$(R(n),2),x=R(v,!0);E(v);var M=$(v,2),H=R(M);l(()=>rt(H,{variant:"secondary",size:"sm",$$events:{click:Me},children:ue(r,(p,u)=>{me();var J=Q("Try Again");f(p,J)}),$$slots:{default:!0}}),"component",r,335,5,{componentTag:"ActionButton"}),E(M),E(n),E(s),E(o),ge(()=>de(x,e(S)||e(W))),f(t,o)};l(()=>C(ne,t=>{(e(S)||e(W))&&!e(q)&&t(Ee)}),"if",r,319,0)}var le=$(ne,2);l(()=>ot(le,{get columns(){return Be},get data(){return e(Z)},get loading(){return e(q)},get error(){return e(S)},get searchTerm(){return e(y)},searchPlaceholder:"Search templates by name, description, type...",get currentPage(){return e(m)},get perPage(){return e(b)},get totalPages(){return e(k)},get totalItems(){return e(w),c(()=>e(w).length)},get mobileCardConfig(){return Re},emptyMessage:"No templates found",$$events:{search:t=>{a(y,t.detail.term),a(m,1)},pageChange:t=>a(m,t.detail.page),perPageChange:t=>{a(b,t.detail.perPage),a(m,1)},clone:t=>ee(t.detail.item),edit:t=>z(O(`/templates/${t.detail.item.id}?edit=true`)),delete:t=>te(t.detail.item)},$$slots:{cell:(t,o)=>{const s=U(()=>o.item),n=U(()=>o.column);var v=N(),x=A(v);{var M=p=>{const u=pe(U(()=>(d(e(s)),c(()=>ae(e(s).forge_type)))),"badgeInfo");e(u),l(()=>_e(p,{get variant(){return d(e(u)),c(()=>e(u).color)},get text(){return d(e(u)),c(()=>e(u).text)}}),"component",r,367,3,{componentTag:"Badge"})},H=p=>{var u=N(),J=A(u);{var He=P=>{const _=pe(U(()=>(d(e(s)),c(()=>re(e(s).os_type)))),"badgeInfo");e(_),l(()=>_e(P,{get variant(){return d(e(_)),c(()=>e(_).color)},get text(){return d(e(_)),c(()=>e(_).text)}}),"component",r,370,3,{componentTag:"Badge"})},Ne=P=>{var _=N(),Ue=A(_);{var ze=K=>{var ce=Q();ge(()=>de(ce,(d(e(s)),c(()=>D(e(s).owner_id,"system")?"System":e(s).owner_id||"Unknown")))),f(K,ce)};l(()=>C(Ue,K=>{d(e(n)),c(()=>D(e(n).key,"owner_id"))&&K(ze)},!0),"if",r,371,2)}f(P,_)};l(()=>C(J,P=>{d(e(n)),c(()=>D(e(n).key,"os_type"))?P(He):P(Ne,!1)},!0),"if",r,368,2)}f(p,u)};l(()=>C(x,p=>{d(e(n)),c(()=>D(e(n).key,"forge_type"))?p(M):p(H,!1)}),"if",r,365,2)}f(t,v)}}}),"component",r,344,0,{componentTag:"DataTable"});var ie=$(le,2);{var Ie=t=>{l(()=>he(t,{title:"Delete Template",message:"Are you sure you want to delete this template? This action cannot be undone.",get itemName(){return e(g),c(()=>e(g).name)},$$events:{close:()=>{a(F,!1),a(g,null)},confirm:Pe}}),"component",r,380,1,{componentTag:"DeleteModal"})};l(()=>C(ie,t=>{e(F)&&e(g)&&t(Ie)}),"if",r,379,0)}var Se=$(ie,2);{var Fe=t=>{l(()=>he(t,{title:"Restore System Templates",message:"This will restore all system templates from the default configuration. Any missing system templates will be created, and any changes made to existing system templates will be overwritten with the default content.",itemName:"",confirmLabel:"Restore Templates",danger:!1,$$events:{close:()=>a(G,!1),confirm:De}}),"component",r,391,1,{componentTag:"DeleteModal"})};l(()=>C(Se,t=>{e(G)&&t(Fe)}),"if",r,390,0)}f(xe,oe);var Ge=Ve({...qe()});return ke(),Ge}export{r as component}; diff --git a/webapp/assets/_app/immutable/nodes/22.DxgQgozR.js b/webapp/assets/_app/immutable/nodes/22.DxgQgozR.js new file mode 100644 index 00000000..3d37f1e8 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/22.DxgQgozR.js @@ -0,0 +1 @@ +import{f as pe,h as Re,a as p,c as I,t as q,s as oe}from"../chunks/o8CdT7B0.js";import{i as Ee}from"../chunks/ChJfoPF0.js";import{p as Se,o as Be,l as P,b as Ie,f as L,a as Fe,g as e,m as l,$ as Ge,d as a,u as n,s as b,h as i,n as le,i as F,c as M,r as A,t as ne}from"../chunks/DUMcBckj.js";import{i as C,s as He,a as Ne}from"../chunks/i7pKks78.js";import{g as G}from"../chunks/BcoJ4GZv.js";import{c as H,B as Ue,g as ie}from"../chunks/_9uqtkkk.js";import{P as ze}from"../chunks/UrL2GjpD.js";import{A as Oe}from"../chunks/FjbxnYNv.js";import{D as je,G as N}from"../chunks/DG4LDt2Z.js";import{t as D}from"../chunks/Bbk4dQfI.js";import{e as ce}from"../chunks/BZiHL9L3.js";import{B as de}from"../chunks/Bi2FJHrT.js";import{D as me}from"../chunks/mBfsYUjq.js";import{E as qe}from"../chunks/llowLxE6.js";import{A as We}from"../chunks/7XD7ITBY.js";import{i as W}from"../chunks/C98nByjP.js";import{e as Je,a as J}from"../chunks/zgwRPQVC.js";var Ke=pe('

Error loading templates

'),Qe=pe(" ",1);function ut(ue,fe){Se(fe,!1);const[ge,ye]=He(),y=()=>Ne(Je,"$eagerCache",ge),U=l(),z=l(),v=l(),K=l();let h=l([]),R=l(""),u=l(""),c=l(1),_=l(25),$=l(1),E=l(!1),S=l(!1),m=l(null);async function ve(){try{await J.retryResource("templates")}catch(t){console.error("Retry failed:",t)}}async function he(){if(e(m)?.id)try{await ie.deleteTemplate(e(m).id),D.add({type:"success",title:"Template deleted",message:`Template "${e(m).name}" has been deleted successfully.`}),a(E,!1),a(m,null)}catch(t){const r=ce(t);D.add({type:"error",title:"Failed to delete template",message:r})}}function _e(){G(H("/templates/create"))}async function Q(t){if(!t.id){D.add({type:"error",title:"Error",message:"Template ID is missing"});return}G(H(`/templates/create?clone=${t.id}`))}function V(t){a(m,t),a(E,!0)}function we(){a(S,!0)}async function xe(){try{await ie.restoreTemplates({restore_all:!0}),D.add({type:"success",title:"Templates restored",message:"System templates have been restored successfully."}),a(S,!1),await J.retryResource("templates")}catch(t){const r=ce(t);D.add({type:"error",title:"Failed to restore templates",message:r})}}function X(t){switch(t){case"github":return{color:"blue",text:"GitHub"};case"gitea":return{color:"green",text:"Gitea"};default:return{color:"gray",text:t||"Unknown"}}}function Y(t){switch(t){case"linux":return{color:"blue",text:"Linux"};case"windows":return{color:"info",text:"Windows"};default:return{color:"gray",text:t||"Unknown"}}}const be=[{key:"name",title:"Name",cellComponent:qe,cellProps:{entityType:"template"}},{key:"description",title:"Description",cellComponent:N,cellProps:{field:"description",type:"description"}},{key:"forge_type",title:"Forge Type",cellComponent:N,cellProps:{field:"forge_type"}},{key:"os_type",title:"OS Type",cellComponent:N,cellProps:{field:"os_type"}},{key:"owner_id",title:"Owner",cellComponent:N,cellProps:{field:"owner_id"}},{key:"actions",title:"Actions",align:"right",cellComponent:We,cellProps:t=>{const r=W(),s=t.owner_id==="system",o=[];return o.push({type:"copy",title:"Clone",ariaLabel:"Clone template",action:"clone"}),(r||!s)&&o.push({type:"edit",title:"Edit",ariaLabel:"Edit template",action:"edit"}),(r||!s)&&o.push({type:"delete",title:"Delete",ariaLabel:"Delete template",action:"delete"}),{actions:o}}}],Ce={entityType:"template",primaryText:{field:"name",isClickable:!0,href:"/templates/{id}"},secondaryText:{field:"description"},badges:[{type:"custom",value:t=>{const r=X(t.forge_type);return{variant:r.color,text:r.text}}},{type:"custom",value:t=>{const r=Y(t.os_type);return{variant:r.color,text:r.text}}}],actions:[{type:"clone",handler:t=>Q(t)},{type:"edit",handler:t=>G(H(`/templates/${t.id}?edit=true`))},{type:"delete",handler:t=>V(t)}]};Be(async()=>{try{const t=await J.getTemplates();t&&Array.isArray(t)&&a(h,t)}catch(t){console.error("Failed to load templates:",t),a(R,t instanceof Error?t.message:"Failed to load templates")}}),P(()=>(e(h),y()),()=>{(!e(h).length||y().loaded.templates)&&a(h,y().templates)}),P(()=>y(),()=>{a(U,y().loading.templates)}),P(()=>y(),()=>{a(z,y().errorMessages.templates)}),P(()=>(e(u),e(h)),()=>{a(v,e(u)?e(h).filter(t=>t.name?.toLowerCase().includes(e(u).toLowerCase())||t.description?.toLowerCase().includes(e(u).toLowerCase())||t.forge_type?.toLowerCase().includes(e(u).toLowerCase())||t.os_type?.toLowerCase().includes(e(u).toLowerCase())):e(h))}),P(()=>(e($),e(v),e(_),e(c)),()=>{a($,Math.ceil(e(v).length/e(_))),e(c)>e($)&&e($)>0&&a(c,e($))}),P(()=>(e(v),e(c),e(_)),()=>{a(K,e(v).slice((e(c)-1)*e(_),e(c)*e(_)))}),Ie(),Ee();var Z=Qe();Re(t=>{Ge.title="Runner Install Templates - GARM"});var ee=L(Z);ze(ee,{title:"Runner Install Templates",description:"Manage templates for configuring runner software installation. These templates can be set on pools or scale sets.",actionLabel:"Create Template",showAction:!0,$$events:{action:_e},$$slots:{"secondary-actions":(t,r)=>{var s=I(),o=L(s);{var f=w=>{Ue(w,{variant:"secondary",icon:'',$$events:{click:we},children:(T,B)=>{le();var d=q("Restore System Templates");p(T,d)},$$slots:{default:!0}})};C(o,w=>{i(W),n(W)&&w(f)})}p(t,s)}}});var te=b(ee,2);{var $e=t=>{var r=Ke(),s=M(r),o=b(M(s),2),f=b(M(o),2),w=M(f,!0);A(f);var T=b(f,2),B=M(T);Oe(B,{variant:"secondary",size:"sm",$$events:{click:ve},children:(d,g)=>{le();var O=q("Try Again");p(d,O)},$$slots:{default:!0}}),A(T),A(o),A(s),A(r),ne(()=>oe(w,e(R)||e(z))),p(t,r)};C(te,t=>{(e(R)||e(z))&&!e(U)&&t($e)})}var ae=b(te,2);je(ae,{get columns(){return be},get data(){return e(K)},get loading(){return e(U)},get error(){return e(R)},get searchTerm(){return e(u)},searchPlaceholder:"Search templates by name, description, type...",get currentPage(){return e(c)},get perPage(){return e(_)},get totalPages(){return e($)},get totalItems(){return e(v),n(()=>e(v).length)},get mobileCardConfig(){return Ce},emptyMessage:"No templates found",$$events:{search:t=>{a(u,t.detail.term),a(c,1)},pageChange:t=>a(c,t.detail.page),perPageChange:t=>{a(_,t.detail.perPage),a(c,1)},clone:t=>Q(t.detail.item),edit:t=>G(H(`/templates/${t.detail.item.id}?edit=true`)),delete:t=>V(t.detail.item)},$$slots:{cell:(t,r)=>{const s=F(()=>r.item),o=F(()=>r.column);var f=I(),w=L(f);{var T=d=>{const g=F(()=>(i(e(s)),n(()=>X(e(s).forge_type))));de(d,{get variant(){return i(e(g)),n(()=>e(g).color)},get text(){return i(e(g)),n(()=>e(g).text)}})},B=d=>{var g=I(),O=L(g);{var Le=k=>{const x=F(()=>(i(e(s)),n(()=>Y(e(s).os_type))));de(k,{get variant(){return i(e(x)),n(()=>e(x).color)},get text(){return i(e(x)),n(()=>e(x).text)}})},Me=k=>{var x=I(),Ae=L(x);{var De=j=>{var se=q();ne(()=>oe(se,(i(e(s)),n(()=>e(s).owner_id==="system"?"System":e(s).owner_id||"Unknown")))),p(j,se)};C(Ae,j=>{i(e(o)),n(()=>e(o).key==="owner_id")&&j(De)},!0)}p(k,x)};C(O,k=>{i(e(o)),n(()=>e(o).key==="os_type")?k(Le):k(Me,!1)},!0)}p(d,g)};C(w,d=>{i(e(o)),n(()=>e(o).key==="forge_type")?d(T):d(B,!1)})}p(t,f)}}});var re=b(ae,2);{var Te=t=>{me(t,{title:"Delete Template",message:"Are you sure you want to delete this template? This action cannot be undone.",get itemName(){return e(m),n(()=>e(m).name)},$$events:{close:()=>{a(E,!1),a(m,null)},confirm:he}})};C(re,t=>{e(E)&&e(m)&&t(Te)})}var ke=b(re,2);{var Pe=t=>{me(t,{title:"Restore System Templates",message:"This will restore all system templates from the default configuration. Any missing system templates will be created, and any changes made to existing system templates will be overwritten with the default content.",itemName:"",confirmLabel:"Restore Templates",danger:!1,$$events:{close:()=>a(S,!1),confirm:xe}})};C(ke,t=>{e(S)&&t(Pe)})}p(ue,Z),Fe(),ye()}export{ut as component}; diff --git a/webapp/assets/_app/immutable/nodes/23.DFWYlnUs.js b/webapp/assets/_app/immutable/nodes/23.DFWYlnUs.js deleted file mode 100644 index 9a2dfc32..00000000 --- a/webapp/assets/_app/immutable/nodes/23.DFWYlnUs.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as St,a as E,h as Ht,b as w,l as Pt,f as M,d as et,t as tt,s as G,e as Re}from"../chunks/CxOx-TIJ.js";import{i as jt}from"../chunks/3NxSoY2_.js";import{p as Gt,o as Nt,l as ye,b as Vt,f as le,d as u,a as Wt,g as e,m as C,t as z,s as r,F as I,i as A,j as s,u as l,$ as zt,n as he,k as S,c as o,r as d,w as X,e as b,h as R,y as N,v as Ot}from"../chunks/DzFKsO_V.js";import{i as $}from"../chunks/B_jyf0qs.js";import{w as at}from"../chunks/DoJxysSt.js";import{c as ie,g as Fe,r as rt,b as qt}from"../chunks/BguOOs3x.js";import{b as ot}from"../chunks/BVM1034P.js";import{p as Jt}from"../chunks/CdEA5IGF.js";import{l as ce}from"../chunks/BAcG6-Ep.js";import{p as _e}from"../chunks/CH-vk5qo.js";import{g as Be}from"../chunks/BzzAh3Be.js";import{A as dt}from"../chunks/Ct5kWObc.js";import{t as P}from"../chunks/li_-Mkq2.js";import{e as Se}from"../chunks/BZiHL9L3.js";import{B as ke}from"../chunks/1CdJgrM6.js";import{D as Yt}from"../chunks/BLYRAgBX.js";import{C as Kt,a as nt}from"../chunks/g1bAVjVL.js";import{D as Qt}from"../chunks/DL1RlOO9.js";import{i as st}from"../chunks/C98nByjP.js";import{g as lt}from"../chunks/JkzpcrZD.js";import{w as Xt}from"../chunks/DSHGoHxX.js";n[I]="src/routes/templates/[id]/+page.svelte";var Zt=E(M('
Loading template...
'),n[I],[[412,1,[[413,2],[414,2]]]]),ea=E(M('

Error loading template

'),n[I],[[417,1,[[418,2,[[419,3,[[420,4,[[421,5]]]]],[424,3,[[425,4],[428,4],[431,4]]]]]]]]),ta=E(M('
Forge Type

Cannot be changed

OS Type

Cannot be changed

'),n[I],[[474,5,[[475,6,[[476,7,[[477,8],[480,8]]],[489,7,[[490,8],[493,8]]]]],[502,6,[[503,7,[[504,8],[511,8]]],[514,7,[[515,8],[522,8]]]]]]]]),aa=E(M('
Created
'),n[I],[[571,7,[[572,8],[573,8]]]]),ra=E(M('
Last Updated
'),n[I],[[580,7,[[581,8],[582,8]]]]),oa=E(M('
Name
Description
Forge Type
OS Type
Owner
Template ID
'),n[I],[[527,5,[[528,6,[[529,7],[530,7]]],[533,6,[[534,7],[535,7]]],[538,6,[[539,7],[540,7]]],[548,6,[[549,7],[550,7]]],[558,6,[[559,7],[560,7]]],[565,6,[[566,7],[567,7]]]]]]),da=E(M('
'),n[I],[[600,6,[[601,7],[604,7,[[610,8],[611,8],[612,8],[613,8]]]]]]),na=E(M('

Available Template Variables

Your template can use the following variables using Go template syntax (e.g., ):

Runner Info
  • .RunnerName - Runner name
  • .RunnerLabels - Comma separated labels
  • .RunnerUsername - Runner service username
  • .RunnerGroup - Runner service group
  • .GitHubRunnerGroup - GitHub runner group
Download & Install
  • .FileName - Download file name
  • .DownloadURL - Runner download URL
  • .TempDownloadToken - Download token
  • .RepoURL - Repository URL
Configuration
  • .MetadataURL - Instance metadata URL
  • .CallbackURL - Status callback URL
  • .CallbackToken - Callback token
  • .CABundle - CA certificate bundle
  • .EnableBootDebug - Enable debug mode
  • .UseJITConfig - Use JIT configuration
  • .ExtraContext - Additional context map

💡 Tip: Use for conditional content, or to iterate over extra context.

'),n[I],[[621,5,[[622,6],[625,6,[[626,85]]],[628,6,[[629,7,[[630,8],[631,8,[[632,9,[[632,13]]],[633,9,[[633,13]]],[634,9,[[634,13]]],[635,9,[[635,13]]],[636,9,[[636,13]]]]]]],[639,7,[[640,8],[641,8,[[642,9,[[642,13]]],[643,9,[[643,13]]],[644,9,[[644,13]]],[645,9,[[645,13]]]]]]],[648,7,[[649,8],[650,8,[[651,9,[[651,13]]],[652,9,[[652,13]]],[653,9,[[653,13]]],[654,9,[[654,13]]],[655,9,[[655,13]]],[656,9,[[656,13]]],[657,9,[[657,13]]]]]]]]],[661,6,[[662,10],[662,36],[662,158]]]]]]),sa=E(M('

'),n[I],[[668,5,[[679,6]]]]),la=E(M('
',1),n[I],[[684,5,[[685,6],[686,6,[[692,7,[[693,8]]]]]]],[698,5]]),ia=E(M('

Template Information

Template Content

',1),n[I],[[465,1,[[467,2,[[468,3,[[469,4]]]]],[593,2,[[594,3,[[595,4,[[596,5]]]]]]]]]]),ca=E(M(" ",1),n[I],[]);function n(it,ct){St(new.target),Gt(ct,!1,n);const ue=C(),we=C(),Te=C();let me=C(!0),t=C(null),O=C(""),k=C(!1),c=C({name:"",description:"",data:new Uint8Array}),g=C(""),Z=C("text"),V=C(!1),D=C({name:"",description:""}),j=C(""),Ce=C(!1),pe=C(!1);async function $e(){try{if(s(me,!0),s(O,""),s(t,(await he(Fe.getTemplate(e(ue))))()),!e(t))throw new Error("Template not found");if(S(c,e(c).name=e(t).name||""),S(c,e(c).description=e(t).description||""),S(D,e(D).name=e(t).name||""),S(D,e(D).description=e(t).description||""),e(t).data)try{if(Array.isArray(e(t).data)){const a=new Uint8Array(e(t).data);s(g,new TextDecoder().decode(a)),s(j,e(g))}else s(g,atob(e(t).data)),s(j,e(g))}catch(a){console.error(...ce("error","Failed to decode template data:",a)),s(g,""),s(j,"")}else s(g,""),s(j,"")}catch(a){s(O,Se(a)),P.add({type:"error",title:"Failed to load template",message:e(O)})}finally{s(me,!1)}}async function Ae(){if(!(!e(t)?.id||!e(Te)))try{const a={name:e(c).name,description:e(c).description||void 0,data:Array.from(new TextEncoder().encode(e(g)))};(await he(Fe.updateTemplate(e(t).id,a)))(),P.add({type:"success",title:"Template updated",message:`Template "${e(c).name}" has been updated successfully.`}),S(D,e(D).name=e(c).name),S(D,e(D).description=e(c).description),s(j,e(g))}catch(a){const i=Se(a);P.add({type:"error",title:"Failed to update template",message:i})}}async function ut(){if(e(t)?.id)try{(await he(Fe.deleteTemplate(e(t).id)))(),P.add({type:"success",title:"Template deleted",message:`Template "${e(t).name}" has been deleted successfully.`}),Be(ie("/templates"))}catch(a){const i=Se(a);P.add({type:"error",title:"Failed to delete template",message:i})}}function He(){s(k,!0),s(V,!1)}function mt(){return A(e(c).name,e(D).name,!1)||A(e(c).description,e(D).description,!1)||A(e(g),e(j),!1)}function pt(){if(mt()){s(pe,!0);return}Pe()}function Pe(){if(s(k,!1),s(V,!1),A(_e.url.searchParams.get("edit"),"true")){Be(ie("/templates"));return}if(e(t))if(S(c,e(c).name=e(t).name||""),S(c,e(c).description=e(t).description||""),e(t).data)try{if(Array.isArray(e(t).data)){const a=new Uint8Array(e(t).data);s(g,new TextDecoder().decode(a))}else s(g,atob(e(t).data))}catch(a){console.error(...ce("error","Failed to decode template data:",a)),s(g,"")}else s(g,"")}function gt(){s(pe,!1),Pe()}function je(a){switch(a){case"github":return{color:"blue",text:"GitHub"};case"gitea":return{color:"green",text:"Gitea"};default:return{color:"gray",text:a||"Unknown"}}}function Ge(a){switch(a){case"linux":return{color:"blue",text:"Linux"};case"windows":return{color:"info",text:"Windows"};default:return{color:"gray",text:a||"Unknown"}}}function De(){if(!e(t)?.data)return"";try{if(Array.isArray(e(t).data)){const a=new Uint8Array(e(t).data);return new TextDecoder().decode(a)}else return atob(e(t).data)}catch(a){return console.error(...ce("error","Failed to decode template data:",a)),"Error: Failed to decode template content"}}function Ne(a){const F=a.split(` -`)[0]?.trim()||"";return F.startsWith("#!/bin/bash")||F.startsWith("#!/bin/sh")?"bash":F.startsWith("#!/usr/bin/env pwsh")||F.includes("#ps1_sysnative")?"powershell":F.startsWith("#!/usr/bin/env python")||F.startsWith("#!/usr/bin/python")?"python":a.includes("param(")||a.includes("Write-Host")||a.includes("$_")?"powershell":a.includes("def ")||a.includes("import ")||a.includes("print(")?"python":a.includes("echo ")||a.includes("export ")||a.includes("if [")?"bash":"text"}async function vt(a){try{navigator.clipboard&&navigator.clipboard.writeText?((await he(navigator.clipboard.writeText(a)))(),P.add({type:"success",title:"Copied to clipboard",message:"Template content has been copied to your clipboard."})):Ve(a)}catch(i){console.error(...ce("error","Failed to copy to clipboard:",i)),Ve(a)}}function Ve(a){try{const i=document.createElement("textarea");i.value=a,i.style.position="fixed",i.style.left="-999999px",i.style.top="-999999px",document.body.appendChild(i),i.focus(),i.select();const F=document.execCommand("copy");if(document.body.removeChild(i),F)P.add({type:"success",title:"Copied to clipboard",message:"Template content has been copied to your clipboard."});else throw new Error("Copy command failed")}catch(i){console.error(...ce("error","Fallback copy failed:",i)),P.add({type:"error",title:"Copy failed",message:"Unable to copy to clipboard. Please manually select and copy the content."})}}Nt(()=>{if(e(ue))return $e().then(()=>{A(_e.url.searchParams.get("edit"),"true")&&He()}),Xt.subscribeToEntity("template",["update","delete"],i=>{i.payload&&A(i.payload.id,e(ue))&&(A(i.operation,"update")?e(k)?s(t,i.payload):$e():A(i.operation,"delete")&&(P.add({type:"info",title:"Template deleted",message:`Template "${e(t)?.name||"Unknown"}" has been deleted.`}),Be(ie("/templates"))))});s(O,"Invalid template ID"),s(me,!1)}),ye(()=>_e,()=>{s(ue,parseInt(_e.params.id||"0"))}),ye(()=>(e(g),e(V)),()=>{e(g)&&!e(V)&&s(Z,Ne(e(g)))}),ye(()=>(e(c),e(D),e(g),e(j)),()=>{s(we,A(e(c).name,e(D).name,!1)||A(e(c).description,e(D).description,!1)||A(e(g),e(j),!1))}),ye(()=>(e(we),e(c),e(g)),()=>{s(Te,e(we)&&e(c).name.trim().length>0&&e(g).trim().length>0)}),Vt(),jt();var We=ca();Ht(a=>{z(()=>zt.title=`${e(t),l(()=>e(t)?.name||"Template")??""} - GARM`)});var ze=le(We);{var bt=a=>{var i=Zt();w(a,i)},ft=a=>{var i=et(),F=le(i);{var _t=q=>{var J=ea(),ge=o(J),ve=r(o(ge),2),W=r(o(ve),2),ee=o(W,!0);d(W);var Y=r(W,2),te=o(Y);u(()=>dt(te,{variant:"secondary",size:"sm",$$events:{click:$e},children:at(n,(K,ae)=>{X();var re=tt("Try Again");w(K,re)}),$$slots:{default:!0}}),"component",n,432,5,{componentTag:"ActionButton"});var be=r(te,2);{let K=b(()=>(R(ie),l(()=>ie("/templates"))));u(()=>dt(be,{variant:"secondary",size:"sm",get href(){return e(K)},children:at(n,(ae,re)=>{X();var oe=tt("Back to Templates");w(ae,oe)}),$$slots:{default:!0}}),"component",n,435,5,{componentTag:"ActionButton"})}d(Y),d(ve),d(ge),d(J),z(()=>G(ee,e(O))),w(q,J)},kt=q=>{var J=et(),ge=le(J);{var ve=W=>{const ee=N(b(()=>(R(st),l(st))),"isAdmin");e(ee);const Y=N(b(()=>(e(t),l(()=>A(e(t).owner_id,"system")))),"isSystemTemplate");e(Y);const te=N(b(()=>e(ee)||!e(Y)),"canEdit");e(te);const be=N(b(()=>e(ee)||!e(Y)),"canDelete");e(be);var K=ia(),ae=le(K);{let v=b(()=>(e(t),l(()=>e(t).name||"Unnamed Template"))),m=b(()=>(R(lt),e(t),l(()=>lt(e(t).forge_type||"unknown")))),p=b(()=>e(k)?pt:e(te)?He:null),f=b(()=>e(k)?Ae:e(be)?()=>s(Ce,!0):null),h=b(()=>e(k)?"Close":"Edit"),x=b(()=>e(k)?"Save Changes":"Delete"),_=b(()=>(e(k),"secondary")),B=b(()=>e(k)?"primary":"danger"),H=b(()=>e(k)?!e(Te):!1),Q=b(()=>e(k)?"":""),de=b(()=>e(k)?"":"");u(()=>Yt(ae,{get title(){return e(v)},subtitle:"View and manage template details",get forgeIcon(){return e(m)},get onEdit(){return e(p)},get onDelete(){return e(f)},get editLabel(){return e(h)},get deleteLabel(){return e(x)},get editVariant(){return e(_)},get deleteVariant(){return e(B)},get deleteDisabled(){return e(H)},get editIcon(){return e(Q)},get deleteIcon(){return e(de)}}),"component",n,449,1,{componentTag:"DetailHeader"})}var re=r(ae,2),oe=o(re),qe=o(oe),wt=r(o(qe),2);{var Tt=v=>{var m=ta(),p=o(m),f=o(p),h=r(o(f),2);rt(h),d(f);var x=r(f,2),_=r(o(x),2);rt(_),d(x),d(p);var B=r(p,2),H=o(B),Q=r(o(H),2);{var de=L=>{const U=N(b(()=>(e(t),l(()=>je(e(t).forge_type)))),"badgeInfo");e(U),u(()=>ke(L,{get variant(){return R(e(U)),l(()=>e(U).color)},get text(){return R(e(U)),l(()=>e(U).text)}}),"component",n,509,9,{componentTag:"Badge"})};u(()=>$(Q,L=>{e(t),l(()=>e(t).forge_type)&&L(de)}),"if",n,507,8)}X(2),d(H);var fe=r(H,2),ne=r(o(fe),2);{var xe=L=>{const U=N(b(()=>(e(t),l(()=>Ge(e(t).os_type)))),"badgeInfo");e(U),u(()=>ke(L,{get variant(){return R(e(U)),l(()=>e(U).color)},get text(){return R(e(U)),l(()=>e(U).text)}}),"component",n,520,9,{componentTag:"Badge"})};u(()=>$(ne,L=>{e(t),l(()=>e(t).os_type)&&L(xe)}),"if",n,518,8)}X(2),d(fe),d(B),d(m),ot(h,()=>e(c).name,L=>S(c,e(c).name=L)),ot(_,()=>e(c).description,L=>S(c,e(c).description=L)),Re("submit",m,Jt(Ae)),w(v,m)},Ct=v=>{var m=oa(),p=o(m),f=r(o(p),2),h=o(f,!0);d(f),d(p);var x=r(p,2),_=r(o(x),2),B=o(_,!0);d(_),d(x);var H=r(x,2),Q=r(o(H),2),de=o(Q);{var fe=T=>{const y=N(b(()=>(e(t),l(()=>je(e(t).forge_type)))),"badgeInfo");e(y),u(()=>ke(T,{get variant(){return R(e(y)),l(()=>e(y).color)},get text(){return R(e(y)),l(()=>e(y).text)}}),"component",n,543,9,{componentTag:"Badge"})};u(()=>$(de,T=>{e(t),l(()=>e(t).forge_type)&&T(fe)}),"if",n,541,8)}d(Q),d(H);var ne=r(H,2),xe=r(o(ne),2),L=o(xe);{var U=T=>{const y=N(b(()=>(e(t),l(()=>Ge(e(t).os_type)))),"badgeInfo");e(y),u(()=>ke(T,{get variant(){return R(e(y)),l(()=>e(y).color)},get text(){return R(e(y)),l(()=>e(y).text)}}),"component",n,553,9,{componentTag:"Badge"})};u(()=>$(L,T=>{e(t),l(()=>e(t).os_type)&&T(U)}),"if",n,551,8)}d(xe),d(ne);var Ue=r(ne,2),Qe=r(o(Ue),2),Et=o(Qe,!0);d(Qe),d(Ue);var Ie=r(Ue,2),Xe=r(o(Ie),2),Mt=o(Xe,!0);d(Xe),d(Ie);var Ze=r(Ie,2);{var Rt=T=>{var y=aa(),se=r(o(y),2),Ee=o(se,!0);d(se),d(y),z(Me=>G(Ee,Me),[()=>(e(t),l(()=>new Date(e(t).created_at).toLocaleDateString()))]),w(T,y)};u(()=>$(Ze,T=>{e(t),l(()=>e(t).created_at)&&T(Rt)}),"if",n,570,6)}var Ft=r(Ze,2);{var Bt=T=>{var y=ra(),se=r(o(y),2),Ee=o(se,!0);d(se),d(y),z(Me=>G(Ee,Me),[()=>(e(t),l(()=>new Date(e(t).updated_at).toLocaleDateString()))]),w(T,y)};u(()=>$(Ft,T=>{e(t),l(()=>e(t).updated_at)&&T(Bt)}),"if",n,579,6)}d(m),z(()=>{G(h,(e(t),l(()=>e(t).name||"Unnamed Template"))),G(B,(e(t),l(()=>e(t).description||"No description"))),G(Et,(e(t),l(()=>A(e(t).owner_id,"system")?"System":e(t).owner_id||"Unknown"))),G(Mt,(e(t),l(()=>e(t).id)))}),w(v,m)};u(()=>$(wt,v=>{e(k)?v(Tt):v(Ct,!1)}),"if",n,473,4)}d(qe),d(oe);var Je=r(oe,2),Ye=o(Je),Le=o(Ye),$t=r(o(Le),2);{var At=v=>{var m=da(),p=r(o(m),2);z(()=>{e(Z),Ot(()=>{e(V)})});var f=o(p);f.value=f.__value="bash";var h=r(f);h.value=h.__value="powershell";var x=r(h);x.value=x.__value="python";var _=r(x);_.value=_.__value="text",d(p),d(m),qt(p,()=>e(Z),B=>s(Z,B)),Re("change",p,()=>s(V,!0)),w(v,m)};u(()=>$($t,v=>{e(k)&&v(At)}),"if",n,599,5)}d(Le);var Ke=r(Le,2);{var Dt=v=>{var m=na(),p=r(o(m),2),f=r(o(p));f.textContent="{{ .RunnerName }}",X(),d(p);var h=r(p,4),x=r(o(h),3);x.textContent="{{if .CABundle}}...{{end}}";var _=r(x,2);_.textContent="{{range $key, $value := .ExtraContext}}{{$key}}: {{$value}}{{end}}",X(),d(h),d(m),w(v,m)};u(()=>$(Ke,v=>{e(k)&&v(Dt)}),"if",n,619,4)}var Lt=r(Ke,2);{var Ut=v=>{var m=sa(),p=o(m);{let x=b(()=>!e(V));u(()=>nt(p,{get language(){return e(Z)},get autoDetect(){return e(x)},enableTemplateCompletion:!0,minHeight:"400px",placeholder:"Enter your template script content here...",get value(){return e(g)},set value(_){s(g,_)},$$events:{change:_=>s(g,_.detail.value),save:Ae},$$legacy:!0}),"component",n,669,6,{componentTag:"CodeEditor"})}var f=r(p,2),h=o(f);d(f),d(m),z(()=>G(h,`Template content should be a ${e(t),l(()=>A(e(t).os_type,"windows")?"PowerShell":"bash")??""} script for runner installation and configuration on ${e(t),l(()=>e(t).os_type)??""}.`)),w(v,m)},It=v=>{var m=la(),p=le(m),f=r(o(p),2);d(p);var h=r(p,2),x=o(h);{let _=b(()=>l(De)),B=b(()=>l(()=>Ne(De())));u(()=>nt(x,{get value(){return e(_)},get language(){return e(B)},readonly:!0,minHeight:"400px"}),"component",n,699,6,{componentTag:"CodeEditor"})}d(h),Re("click",f,()=>vt(De())),w(v,m)};u(()=>$(Lt,v=>{e(k)?v(Ut):v(It,!1)}),"if",n,667,4)}d(Ye),d(Je),d(re),w(W,K)};u(()=>$(ge,W=>{e(t)&&W(ve)},!0),"if",n,442,0)}w(q,J)};u(()=>$(F,q=>{e(O)&&!e(t)?q(_t):q(kt,!1)},!0),"if",n,416,0)}w(a,i)};u(()=>$(ze,a=>{e(me)?a(bt):a(ft,!1)}),"if",n,411,0)}var Oe=r(ze,2);{var xt=a=>{u(()=>Qt(a,{title:"Delete Template",message:"Are you sure you want to delete this template? This action cannot be undone.",get itemName(){return e(t),l(()=>e(t).name)},$$events:{close:()=>s(Ce,!1),confirm:ut}}),"component",n,714,1,{componentTag:"DeleteModal"})};u(()=>$(Oe,a=>{e(Ce)&&e(t)&&a(xt)}),"if",n,713,0)}var yt=r(Oe,2);{var ht=a=>{u(()=>Kt(a,{title:"Unsaved Changes",message:"You have unsaved changes. Are you sure you want to discard them?",confirmText:"Discard Changes",cancelText:"Stay on Page",variant:"warning",$$events:{close:()=>s(pe,!1),confirm:gt}}),"component",n,725,1,{componentTag:"ConfirmationModal"})};u(()=>$(yt,a=>{e(pe)&&a(ht)}),"if",n,724,0)}return w(it,We),Wt({...Pt()})}export{n as component}; diff --git a/webapp/assets/_app/immutable/nodes/23.vWjBPYxf.js b/webapp/assets/_app/immutable/nodes/23.vWjBPYxf.js new file mode 100644 index 00000000..33593eb4 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/23.vWjBPYxf.js @@ -0,0 +1,2 @@ +import{f as A,h as Dt,a as _,c as Oe,t as qe,s as S,e as $e}from"../chunks/o8CdT7B0.js";import{i as Ut}from"../chunks/ChJfoPF0.js";import{p as Lt,o as Rt,l as ue,b as It,f as ee,a as Mt,g as e,m as w,t as P,d as l,u as s,$ as Et,s as r,j as I,c as d,r as o,n as z,i as g,h as U,k as Ft}from"../chunks/DUMcBckj.js";import{i as T}from"../chunks/i7pKks78.js";import{c as te,g as Ae,r as Je,b as St}from"../chunks/_9uqtkkk.js";import{b as Ye}from"../chunks/BtzOUN4g.js";import{p as Ht}from"../chunks/CdEA5IGF.js";import{p as me}from"../chunks/CPri_0tM.js";import{g as De}from"../chunks/BcoJ4GZv.js";import{A as Ke}from"../chunks/FjbxnYNv.js";import{t as E}from"../chunks/Bbk4dQfI.js";import{e as Ue}from"../chunks/BZiHL9L3.js";import{B as pe}from"../chunks/Bi2FJHrT.js";import{D as Bt}from"../chunks/Ckj0xxjl.js";import{C as Pt,a as Qe}from"../chunks/zrfkhNmc.js";import{D as jt}from"../chunks/mBfsYUjq.js";import{i as Xe}from"../chunks/C98nByjP.js";import{g as Ze}from"../chunks/DQsxKNC2.js";import{w as Gt}from"../chunks/DTRhxHIE.js";var Vt=A('
Loading template...
'),Nt=A('

Error loading template

'),Wt=A('
Forge Type

Cannot be changed

OS Type

Cannot be changed

'),zt=A('
Created
'),Ot=A('
Last Updated
'),qt=A('
Name
Description
Forge Type
OS Type
Owner
Template ID
'),Jt=A('
'),Yt=A('

Available Template Variables

Your template can use the following variables using Go template syntax (e.g., ):

Runner Info
  • .RunnerName - Runner name
  • .RunnerLabels - Comma separated labels
  • .RunnerUsername - Runner service username
  • .RunnerGroup - Runner service group
  • .GitHubRunnerGroup - GitHub runner group
Download & Install
  • .FileName - Download file name
  • .DownloadURL - Runner download URL
  • .TempDownloadToken - Download token
  • .RepoURL - Repository URL
Configuration
  • .MetadataURL - Instance metadata URL
  • .CallbackURL - Status callback URL
  • .CallbackToken - Callback token
  • .CABundle - CA certificate bundle
  • .EnableBootDebug - Enable debug mode
  • .UseJITConfig - Use JIT configuration
  • .ExtraContext - Additional context map

💡 Tip: Use for conditional content, or to iterate over extra context.

'),Kt=A('

'),Qt=A('
',1),Xt=A('

Template Information

Template Content

',1),Zt=A(" ",1);function ya(et,tt){Lt(tt,!1);const ae=w(),ge=w(),ve=w();let re=w(!0),t=w(null),j=w(""),h=w(!1),i=w({name:"",description:"",data:new Uint8Array}),m=w(""),O=w("text"),H=w(!1),C=w({name:"",description:""}),F=w(""),be=w(!1),de=w(!1);async function xe(){try{if(l(re,!0),l(j,""),l(t,await Ae.getTemplate(e(ae))),!e(t))throw new Error("Template not found");if(I(i,e(i).name=e(t).name||""),I(i,e(i).description=e(t).description||""),I(C,e(C).name=e(t).name||""),I(C,e(C).description=e(t).description||""),e(t).data)try{if(Array.isArray(e(t).data)){const a=new Uint8Array(e(t).data);l(m,new TextDecoder().decode(a)),l(F,e(m))}else l(m,atob(e(t).data)),l(F,e(m))}catch(a){console.error("Failed to decode template data:",a),l(m,""),l(F,"")}else l(m,""),l(F,"")}catch(a){l(j,Ue(a)),E.add({type:"error",title:"Failed to load template",message:e(j)})}finally{l(re,!1)}}async function fe(){if(!(!e(t)?.id||!e(ve)))try{const a={name:e(i).name,description:e(i).description||void 0,data:Array.from(new TextEncoder().encode(e(m)))};await Ae.updateTemplate(e(t).id,a),E.add({type:"success",title:"Template updated",message:`Template "${e(i).name}" has been updated successfully.`}),I(C,e(C).name=e(i).name),I(C,e(C).description=e(i).description),l(F,e(m))}catch(a){const n=Ue(a);E.add({type:"error",title:"Failed to update template",message:n})}}async function at(){if(e(t)?.id)try{await Ae.deleteTemplate(e(t).id),E.add({type:"success",title:"Template deleted",message:`Template "${e(t).name}" has been deleted successfully.`}),De(te("/templates"))}catch(a){const n=Ue(a);E.add({type:"error",title:"Failed to delete template",message:n})}}function Le(){l(h,!0),l(H,!1)}function rt(){return e(i).name!==e(C).name||e(i).description!==e(C).description||e(m)!==e(F)}function dt(){if(rt()){l(de,!0);return}Re()}function Re(){if(l(h,!1),l(H,!1),me.url.searchParams.get("edit")==="true"){De(te("/templates"));return}if(e(t))if(I(i,e(i).name=e(t).name||""),I(i,e(i).description=e(t).description||""),e(t).data)try{if(Array.isArray(e(t).data)){const a=new Uint8Array(e(t).data);l(m,new TextDecoder().decode(a))}else l(m,atob(e(t).data))}catch(a){console.error("Failed to decode template data:",a),l(m,"")}else l(m,"")}function ot(){l(de,!1),Re()}function Ie(a){switch(a){case"github":return{color:"blue",text:"GitHub"};case"gitea":return{color:"green",text:"Gitea"};default:return{color:"gray",text:a||"Unknown"}}}function Me(a){switch(a){case"linux":return{color:"blue",text:"Linux"};case"windows":return{color:"info",text:"Windows"};default:return{color:"gray",text:a||"Unknown"}}}function ye(){if(!e(t)?.data)return"";try{if(Array.isArray(e(t).data)){const a=new Uint8Array(e(t).data);return new TextDecoder().decode(a)}else return atob(e(t).data)}catch(a){return console.error("Failed to decode template data:",a),"Error: Failed to decode template content"}}function Ee(a){const L=a.split(` +`)[0]?.trim()||"";return L.startsWith("#!/bin/bash")||L.startsWith("#!/bin/sh")?"bash":L.startsWith("#!/usr/bin/env pwsh")||L.includes("#ps1_sysnative")?"powershell":L.startsWith("#!/usr/bin/env python")||L.startsWith("#!/usr/bin/python")?"python":a.includes("param(")||a.includes("Write-Host")||a.includes("$_")?"powershell":a.includes("def ")||a.includes("import ")||a.includes("print(")?"python":a.includes("echo ")||a.includes("export ")||a.includes("if [")?"bash":"text"}async function lt(a){try{navigator.clipboard&&navigator.clipboard.writeText?(await navigator.clipboard.writeText(a),E.add({type:"success",title:"Copied to clipboard",message:"Template content has been copied to your clipboard."})):Fe(a)}catch(n){console.error("Failed to copy to clipboard:",n),Fe(a)}}function Fe(a){try{const n=document.createElement("textarea");n.value=a,n.style.position="fixed",n.style.left="-999999px",n.style.top="-999999px",document.body.appendChild(n),n.focus(),n.select();const L=document.execCommand("copy");if(document.body.removeChild(n),L)E.add({type:"success",title:"Copied to clipboard",message:"Template content has been copied to your clipboard."});else throw new Error("Copy command failed")}catch(n){console.error("Fallback copy failed:",n),E.add({type:"error",title:"Copy failed",message:"Unable to copy to clipboard. Please manually select and copy the content."})}}Rt(()=>{if(e(ae))return xe().then(()=>{me.url.searchParams.get("edit")==="true"&&Le()}),Gt.subscribeToEntity("template",["update","delete"],n=>{n.payload&&n.payload.id===e(ae)&&(n.operation==="update"?e(h)?l(t,n.payload):xe():n.operation==="delete"&&(E.add({type:"info",title:"Template deleted",message:`Template "${e(t)?.name||"Unknown"}" has been deleted.`}),De(te("/templates"))))});l(j,"Invalid template ID"),l(re,!1)}),ue(()=>me,()=>{l(ae,parseInt(me.params.id||"0"))}),ue(()=>(e(m),e(H)),()=>{e(m)&&!e(H)&&l(O,Ee(e(m)))}),ue(()=>(e(i),e(C),e(m),e(F)),()=>{l(ge,e(i).name!==e(C).name||e(i).description!==e(C).description||e(m)!==e(F))}),ue(()=>(e(ge),e(i),e(m)),()=>{l(ve,e(ge)&&e(i).name.trim().length>0&&e(m).trim().length>0)}),It(),Ut();var Se=Zt();Dt(a=>{P(()=>Et.title=`${e(t),s(()=>e(t)?.name||"Template")??""} - GARM`)});var He=ee(Se);{var st=a=>{var n=Vt();_(a,n)},nt=a=>{var n=Oe(),L=ee(n);{var mt=G=>{var V=Nt(),oe=d(V),le=r(d(oe),2),B=r(d(le),2),se=d(B,!0);o(B);var q=r(B,2),ne=d(q);Ke(ne,{variant:"secondary",size:"sm",$$events:{click:xe},children:(N,J)=>{z();var Y=qe("Try Again");_(N,Y)},$$slots:{default:!0}});var he=r(ne,2);{let N=g(()=>(U(te),s(()=>te("/templates"))));Ke(he,{variant:"secondary",size:"sm",get href(){return e(N)},children:(J,Y)=>{z();var K=qe("Back to Templates");_(J,K)},$$slots:{default:!0}})}o(q),o(le),o(oe),o(V),P(()=>S(se,e(j))),_(G,V)},pt=G=>{var V=Oe(),oe=ee(V);{var le=B=>{const se=g(()=>(U(Xe),s(Xe))),q=g(()=>(e(t),s(()=>e(t).owner_id==="system"))),ne=g(()=>e(se)||!e(q)),he=g(()=>e(se)||!e(q));var N=Xt(),J=ee(N);{let p=g(()=>(e(t),s(()=>e(t).name||"Unnamed Template"))),c=g(()=>(U(Ze),e(t),s(()=>Ze(e(t).forge_type||"unknown")))),u=g(()=>e(h)?dt:e(ne)?Le:null),v=g(()=>e(h)?fe:e(he)?()=>l(be,!0):null),x=g(()=>e(h)?"Close":"Edit"),b=g(()=>e(h)?"Save Changes":"Delete"),f=g(()=>(e(h),"secondary")),R=g(()=>e(h)?"primary":"danger"),M=g(()=>e(h)?!e(ve):!1),W=g(()=>e(h)?"":""),Q=g(()=>e(h)?"":"");Bt(J,{get title(){return e(p)},subtitle:"View and manage template details",get forgeIcon(){return e(c)},get onEdit(){return e(u)},get onDelete(){return e(v)},get editLabel(){return e(x)},get deleteLabel(){return e(b)},get editVariant(){return e(f)},get deleteVariant(){return e(R)},get deleteDisabled(){return e(M)},get editIcon(){return e(W)},get deleteIcon(){return e(Q)}})}var Y=r(J,2),K=d(Y),Pe=d(K),gt=r(d(Pe),2);{var vt=p=>{var c=Wt(),u=d(c),v=d(u),x=r(d(v),2);Je(x),o(v);var b=r(v,2),f=r(d(b),2);Je(f),o(b),o(u);var R=r(u,2),M=d(R),W=r(d(M),2);{var Q=$=>{const D=g(()=>(e(t),s(()=>Ie(e(t).forge_type))));pe($,{get variant(){return U(e(D)),s(()=>e(D).color)},get text(){return U(e(D)),s(()=>e(D).text)}})};T(W,$=>{e(t),s(()=>e(t).forge_type)&&$(Q)})}z(2),o(M);var ie=r(M,2),X=r(d(ie),2);{var ce=$=>{const D=g(()=>(e(t),s(()=>Me(e(t).os_type))));pe($,{get variant(){return U(e(D)),s(()=>e(D).color)},get text(){return U(e(D)),s(()=>e(D).text)}})};T(X,$=>{e(t),s(()=>e(t).os_type)&&$(ce)})}z(2),o(ie),o(R),o(c),Ye(x,()=>e(i).name,$=>I(i,e(i).name=$)),Ye(f,()=>e(i).description,$=>I(i,e(i).description=$)),$e("submit",c,Ht(fe)),_(p,c)},bt=p=>{var c=qt(),u=d(c),v=r(d(u),2),x=d(v,!0);o(v),o(u);var b=r(u,2),f=r(d(b),2),R=d(f,!0);o(f),o(b);var M=r(b,2),W=r(d(M),2),Q=d(W);{var ie=k=>{const y=g(()=>(e(t),s(()=>Ie(e(t).forge_type))));pe(k,{get variant(){return U(e(y)),s(()=>e(y).color)},get text(){return U(e(y)),s(()=>e(y).text)}})};T(Q,k=>{e(t),s(()=>e(t).forge_type)&&k(ie)})}o(W),o(M);var X=r(M,2),ce=r(d(X),2),$=d(ce);{var D=k=>{const y=g(()=>(e(t),s(()=>Me(e(t).os_type))));pe(k,{get variant(){return U(e(y)),s(()=>e(y).color)},get text(){return U(e(y)),s(()=>e(y).text)}})};T($,k=>{e(t),s(()=>e(t).os_type)&&k(D)})}o(ce),o(X);var ke=r(X,2),Ne=r(d(ke),2),wt=d(Ne,!0);o(Ne),o(ke);var we=r(ke,2),We=r(d(we),2),Tt=d(We,!0);o(We),o(we);var ze=r(we,2);{var Ct=k=>{var y=zt(),Z=r(d(y),2),Te=d(Z,!0);o(Z),o(y),P(Ce=>S(Te,Ce),[()=>(e(t),s(()=>new Date(e(t).created_at).toLocaleDateString()))]),_(k,y)};T(ze,k=>{e(t),s(()=>e(t).created_at)&&k(Ct)})}var $t=r(ze,2);{var At=k=>{var y=Ot(),Z=r(d(y),2),Te=d(Z,!0);o(Z),o(y),P(Ce=>S(Te,Ce),[()=>(e(t),s(()=>new Date(e(t).updated_at).toLocaleDateString()))]),_(k,y)};T($t,k=>{e(t),s(()=>e(t).updated_at)&&k(At)})}o(c),P(()=>{S(x,(e(t),s(()=>e(t).name||"Unnamed Template"))),S(R,(e(t),s(()=>e(t).description||"No description"))),S(wt,(e(t),s(()=>e(t).owner_id==="system"?"System":e(t).owner_id||"Unknown"))),S(Tt,(e(t),s(()=>e(t).id)))}),_(p,c)};T(gt,p=>{e(h)?p(vt):p(bt,!1)})}o(Pe),o(K);var je=r(K,2),Ge=d(je),_e=d(Ge),xt=r(d(_e),2);{var ft=p=>{var c=Jt(),u=r(d(c),2);P(()=>{e(O),Ft(()=>{e(H)})});var v=d(u);v.value=v.__value="bash";var x=r(v);x.value=x.__value="powershell";var b=r(x);b.value=b.__value="python";var f=r(b);f.value=f.__value="text",o(u),o(c),St(u,()=>e(O),R=>l(O,R)),$e("change",u,()=>l(H,!0)),_(p,c)};T(xt,p=>{e(h)&&p(ft)})}o(_e);var Ve=r(_e,2);{var yt=p=>{var c=Yt(),u=r(d(c),2),v=r(d(u));v.textContent="{{ .RunnerName }}",z(),o(u);var x=r(u,4),b=r(d(x),3);b.textContent="{{if .CABundle}}...{{end}}";var f=r(b,2);f.textContent="{{range $key, $value := .ExtraContext}}{{$key}}: {{$value}}{{end}}",z(),o(x),o(c),_(p,c)};T(Ve,p=>{e(h)&&p(yt)})}var ht=r(Ve,2);{var _t=p=>{var c=Kt(),u=d(c);{let b=g(()=>!e(H));Qe(u,{get language(){return e(O)},get autoDetect(){return e(b)},enableTemplateCompletion:!0,minHeight:"400px",placeholder:"Enter your template script content here...",get value(){return e(m)},set value(f){l(m,f)},$$events:{change:f=>l(m,f.detail.value),save:fe},$$legacy:!0})}var v=r(u,2),x=d(v);o(v),o(c),P(()=>S(x,`Template content should be a ${e(t),s(()=>e(t).os_type==="windows"?"PowerShell":"bash")??""} script for runner installation and configuration on ${e(t),s(()=>e(t).os_type)??""}.`)),_(p,c)},kt=p=>{var c=Qt(),u=ee(c),v=r(d(u),2);o(u);var x=r(u,2),b=d(x);{let f=g(()=>s(ye)),R=g(()=>s(()=>Ee(ye())));Qe(b,{get value(){return e(f)},get language(){return e(R)},readonly:!0,minHeight:"400px"})}o(x),$e("click",v,()=>lt(ye())),_(p,c)};T(ht,p=>{e(h)?p(_t):p(kt,!1)})}o(Ge),o(je),o(Y),_(B,N)};T(oe,B=>{e(t)&&B(le)},!0)}_(G,V)};T(L,G=>{e(j)&&!e(t)?G(mt):G(pt,!1)},!0)}_(a,n)};T(He,a=>{e(re)?a(st):a(nt,!1)})}var Be=r(He,2);{var it=a=>{jt(a,{title:"Delete Template",message:"Are you sure you want to delete this template? This action cannot be undone.",get itemName(){return e(t),s(()=>e(t).name)},$$events:{close:()=>l(be,!1),confirm:at}})};T(Be,a=>{e(be)&&e(t)&&a(it)})}var ct=r(Be,2);{var ut=a=>{Pt(a,{title:"Unsaved Changes",message:"You have unsaved changes. Are you sure you want to discard them?",confirmText:"Discard Changes",cancelText:"Stay on Page",variant:"warning",$$events:{close:()=>l(de,!1),confirm:ot}})};T(ct,a=>{e(de)&&a(ut)})}_(et,Se),Mt()}export{ya as component}; diff --git a/webapp/assets/_app/immutable/nodes/24.Cvh0k1-p.js b/webapp/assets/_app/immutable/nodes/24.Cvh0k1-p.js deleted file mode 100644 index cc74c795..00000000 --- a/webapp/assets/_app/immutable/nodes/24.Cvh0k1-p.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as tt,a as U,h as at,b as R,l as rt,f as H,g as lt,s as ot,e as E}from"../chunks/CxOx-TIJ.js";import{i as st}from"../chunks/3NxSoY2_.js";import{p as nt,o as it,l as ae,b as dt,f as Fe,d as _,a as ut,g as e,m as g,t as $,s as r,F as C,j as l,i as k,u as I,$ as ct,e as re,c as o,r as s,v as le,w as W,k as v,n as oe}from"../chunks/DzFKsO_V.js";import{i as se}from"../chunks/B_jyf0qs.js";import{r as De,b as ne,g as Me,c as ie}from"../chunks/BguOOs3x.js";import{b as Ee}from"../chunks/BVM1034P.js";import{b as pt}from"../chunks/Dtavz0EF.js";import{p as gt}from"../chunks/CdEA5IGF.js";import{l as bt}from"../chunks/BAcG6-Ep.js";import{g as de}from"../chunks/BzzAh3Be.js";import{p as mt}from"../chunks/CH-vk5qo.js";import"../chunks/Ct5kWObc.js";import{t as w}from"../chunks/li_-Mkq2.js";import{e as Ie}from"../chunks/BZiHL9L3.js";import"../chunks/1CdJgrM6.js";import{D as ft}from"../chunks/BLYRAgBX.js";import{a as vt,C as xt}from"../chunks/g1bAVjVL.js";p[C]="src/routes/templates/create/+page.svelte";var yt=U(H('
Loading...
'),p[C],[[296,1,[[297,2],[298,2]]]]),ht=U(H('
Uploading...',1),p[C],[[402,8]]),_t=U(lt(' Upload File',1),p[C],[[405,8,[[406,9]]]]),kt=U(H('

Template Information

Template Content

Available Template Variables

Your template can use the following variables using Go template syntax (e.g., ):

Runner Info
  • .RunnerName - Runner name
  • .RunnerLabels - Comma separated labels
  • .RunnerUsername - Runner service username
  • .RunnerGroup - Runner service group
  • .GitHubRunnerGroup - GitHub runner group
Download & Install
  • .FileName - Download file name
  • .DownloadURL - Runner download URL
  • .TempDownloadToken - Download token
  • .RepoURL - Repository URL
Configuration
  • .MetadataURL - Instance metadata URL
  • .CallbackURL - Status callback URL
  • .CallbackToken - Callback token
  • .CABundle - CA certificate bundle
  • .EnableBootDebug - Enable debug mode
  • .UseJITConfig - Use JIT configuration
  • .ExtraContext - Additional context map

💡 Tip: Use for conditional content, or to iterate over extra context.

',1),p[C],[[316,1,[[318,2,[[319,3,[[320,4],[324,4,[[325,5,[[326,6,[[327,7],[330,7]]],[339,6,[[340,7],[343,7]]]]],[352,5,[[353,6,[[354,7],[357,7,[[363,8],[364,8]]]]],[368,6,[[369,7],[372,7,[[378,8],[379,8]]]]]]]]]]]]],[388,2,[[389,3,[[390,4,[[391,5],[394,5,[[395,6],[411,6],[414,6,[[420,7],[421,7],[422,7],[423,7]]]]]]],[429,4],[438,4,[[439,5],[442,5,[[443,84]]],[445,5,[[446,6,[[447,7],[448,7,[[449,8,[[449,12]]],[450,8,[[450,12]]],[451,8,[[451,12]]],[452,8,[[452,12]]],[453,8,[[453,12]]]]]]],[456,6,[[457,7],[458,7,[[459,8,[[459,12]]],[460,8,[[460,12]]],[461,8,[[461,12]]],[462,8,[[462,12]]]]]]],[465,6,[[466,7],[467,7,[[468,8,[[468,12]]],[469,8,[[469,12]]],[470,8,[[470,12]]],[471,8,[[471,12]]],[472,8,[[472,12]]],[473,8,[[473,12]]],[474,8,[[474,12]]]]]]]]],[478,5,[[479,9],[479,35],[479,157]]]]],[483,4,[[493,5]]]]]]]]]]),wt=U(H(" ",1),p[C],[]);function p(We,He){tt(new.target),nt(He,!1,p);const ue=g(),S=g();let T=g(!1),d=g(null),t=g({name:"",description:"",forge_type:"github",os_type:"linux",data:new Uint8Array}),u=g(""),x=g("text"),y=g(!1),G=g(),A=g(!1),F={name:"",description:"",forge_type:"github",os_type:"linux"},Se="",D=g(!1);async function ce(){if(e(S))try{l(T,!0);const a={name:e(t).name,description:e(t).description||void 0,forge_type:e(t).forge_type,os_type:e(t).os_type,data:Array.from(new TextEncoder().encode(e(u)))};(await oe(Me.createTemplate(a)))(),w.add({type:"success",title:"Template created",message:`Template "${e(t).name}" has been created successfully.`}),de(ie("/templates"))}catch(a){const c=Ie(a);w.add({type:"error",title:"Failed to create template",message:c})}finally{l(T,!1)}}function Ge(){return e(ue)}function Pe(){if(Ge()){l(D,!0);return}pe()}function pe(){de(ie("/templates"))}function Ne(){l(D,!1),pe()}function je(){e(G).click()}async function Be(a){const c=a.target,i=c.files?.[0];if(i){if(i.size>1024*1024){w.add({type:"error",title:"File too large",message:"Please select a file smaller than 1MB."});return}try{l(A,!0);const h=(await oe(i.text()))();l(u,h);const b=i.name.toLowerCase();let f="text";b.endsWith(".sh")||b.endsWith(".bash")?f="bash":b.endsWith(".ps1")||b.endsWith(".psm1")?f="powershell":b.endsWith(".py")?f="python":f=P(h),l(x,f),l(y,!1),w.add({type:"success",title:"File uploaded",message:`Successfully loaded content from "${i.name}".`})}catch{w.add({type:"error",title:"Failed to read file",message:"Unable to read the selected file. Please try again."})}finally{l(A,!1),c.value=""}}}function P(a){const i=a.split(` -`)[0]?.trim()||"";return i.startsWith("#!/bin/bash")||i.startsWith("#!/bin/sh")?"bash":i.startsWith("#!/usr/bin/env pwsh")||i.includes("#ps1_sysnative")?"powershell":i.startsWith("#!/usr/bin/env python")||i.startsWith("#!/usr/bin/python")?"python":a.includes("param(")||a.includes("Write-Host")||a.includes("$_")?"powershell":a.includes("def ")||a.includes("import ")||a.includes("print(")?"python":a.includes("echo ")||a.includes("export ")||a.includes("if [")?"bash":"text"}async function qe(){const a=mt.url.searchParams.get("clone");if(a)try{if(l(T,!0),l(d,(await oe(Me.getTemplate(parseInt(a))))()),!e(d))throw new Error("Template not found");if(v(t,e(t).name=`${e(d).name} (Copy)`),v(t,e(t).description=e(d).description||""),v(t,e(t).forge_type=e(d).forge_type||"github"),v(t,e(t).os_type=e(d).os_type||"linux"),e(d).data)try{if(Array.isArray(e(d).data)){const c=new Uint8Array(e(d).data);l(u,new TextDecoder().decode(c))}else l(u,atob(e(d).data));l(x,P(e(u)))}catch(c){console.error(...bt("error","Failed to decode template data:",c)),l(u,"")}}catch(c){const i=Ie(c);w.add({type:"error",title:"Failed to load template",message:i}),de(ie("/templates"))}finally{l(T,!1)}}it(()=>{qe()}),ae(()=>(e(t),e(u)),()=>{l(ue,k(e(t).name,F.name,!1)||k(e(t).description,F.description,!1)||k(e(t).forge_type,F.forge_type,!1)||k(e(t).os_type,F.os_type,!1)||k(e(u),Se,!1))}),ae(()=>(e(t),e(u)),()=>{l(S,e(t).name.trim().length>0&&e(u).trim().length>0)}),ae(()=>(e(u),e(y)),()=>{e(u)&&!e(y)&&l(x,P(e(u)))}),dt(),st();var ge=wt();at(a=>{$(()=>ct.title=`${e(d),I(()=>e(d)?`Clone ${e(d).name}`:"Create Template")??""} - GARM`)});var be=Fe(ge);{var Ve=a=>{var c=yt();R(a,c)},Je=a=>{var c=kt(),i=Fe(c);{let n=re(()=>(e(d),I(()=>e(d)?`Clone Template: ${e(d).name}`:"Create New Template"))),m=re(()=>!e(S));_(()=>ft(i,{get title(){return e(n)},subtitle:"Create a new runner install template",onEdit:Pe,onDelete:ce,editLabel:"Cancel",deleteLabel:"Create Template",editVariant:"secondary",deleteVariant:"primary",get deleteDisabled(){return e(m)},editIcon:"",deleteIcon:""}),"component",p,302,1,{componentTag:"DetailHeader"})}var h=r(i,2),b=o(h),f=o(b),N=r(o(f),2),j=o(N),B=o(j),me=r(o(B),2);De(me),s(B);var fe=r(B,2),ve=r(o(fe),2);De(ve),s(fe),s(j);var xe=r(j,2),q=o(xe),V=r(o(q),2);$(()=>{e(t),le(()=>{})});var J=o(V);J.value=J.__value="github";var ye=r(J);ye.value=ye.__value="gitea",s(V),s(q);var he=r(q,2),O=r(o(he),2);$(()=>{e(t),le(()=>{})});var Y=o(O);Y.value=Y.__value="linux";var _e=r(Y);_e.value=_e.__value="windows",s(O),s(he),s(xe),s(N),s(f),s(b);var ke=r(b,2),we=o(ke),z=o(we),Ce=r(o(z),2),L=o(Ce),ze=o(L);{var Ke=n=>{var m=ht();W(),R(n,m)},Qe=n=>{var m=_t();W(),R(n,m)};_(()=>se(ze,n=>{e(A)?n(Ke):n(Qe,!1)}),"if",p,401,7)}s(L);var M=r(L,4);$(()=>{e(x),le(()=>{e(y)})});var K=o(M);K.value=K.__value="bash";var Q=r(K);Q.value=Q.__value="powershell";var X=r(Q);X.value=X.__value="python";var Te=r(X);Te.value=Te.__value="text",s(M),s(Ce),s(z);var Z=r(z,2);pt(Z,n=>l(G,n),()=>e(G));var ee=r(Z,2),te=r(o(ee),2),Xe=r(o(te));Xe.textContent="{{ .RunnerName }}",W(),s(te);var Le=r(te,4),Re=r(o(Le),3);Re.textContent="{{if .CABundle}}...{{end}}";var Ze=r(Re,2);Ze.textContent="{{range $key, $value := .ExtraContext}}{{$key}}: {{$value}}{{end}}",W(),s(Le),s(ee);var $e=r(ee,2),Ue=o($e);{let n=re(()=>!e(y));_(()=>vt(Ue,{get language(){return e(x)},get autoDetect(){return e(n)},enableTemplateCompletion:!0,minHeight:"400px",placeholder:"Enter your template script content here...",get value(){return e(u)},set value(m){l(u,m)},$$events:{change:m=>l(u,m.detail.value)},$$legacy:!0}),"component",p,484,5,{componentTag:"CodeEditor"})}var Ae=r(Ue,2),et=o(Ae);s(Ae),s($e),s(we),s(ke),s(h),$(()=>{L.disabled=e(A),ot(et,`Template content should be a ${e(t),I(()=>k(e(t).os_type,"windows")?"PowerShell":"bash")??""} script for runner installation and configuration on ${e(t),I(()=>e(t).os_type)??""}.`)}),Ee(me,()=>e(t).name,n=>v(t,e(t).name=n)),Ee(ve,()=>e(t).description,n=>v(t,e(t).description=n)),ne(V,()=>e(t).forge_type,n=>v(t,e(t).forge_type=n)),ne(O,()=>e(t).os_type,n=>v(t,e(t).os_type=n)),E("submit",N,gt(ce)),E("click",L,je),ne(M,()=>e(x),n=>l(x,n)),E("change",M,()=>l(y,!0)),E("change",Z,Be),R(a,c)};_(()=>se(be,a=>{e(T)?a(Ve):a(Je,!1)}),"if",p,295,0)}var Oe=r(be,2);{var Ye=a=>{_(()=>xt(a,{title:"Unsaved Changes",message:"You have unsaved changes. Are you sure you want to discard them?",confirmText:"Discard Changes",cancelText:"Stay on Page",variant:"danger",$$events:{close:()=>l(D,!1),confirm:Ne}}),"component",p,504,1,{componentTag:"ConfirmationModal"})};_(()=>se(Oe,a=>{e(D)&&a(Ye)}),"if",p,503,0)}return R(We,ge),ut({...rt()})}export{p as component}; diff --git a/webapp/assets/_app/immutable/nodes/24.DWjVL7id.js b/webapp/assets/_app/immutable/nodes/24.DWjVL7id.js new file mode 100644 index 00000000..1062947e --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/24.DWjVL7id.js @@ -0,0 +1,2 @@ +import{f as F,h as ze,a as w,s as Ke,e as U,b as Qe}from"../chunks/o8CdT7B0.js";import{i as Xe}from"../chunks/ChJfoPF0.js";import{p as Ze,o as et,l as Q,b as tt,f as Te,a as at,g as e,m as p,t as C,d as l,u as A,$ as rt,s as r,j as f,i as X,c as o,r as s,k as Z,n as D}from"../chunks/DUMcBckj.js";import{i as ee}from"../chunks/i7pKks78.js";import{g as Le,c as te,r as Re,b as ae}from"../chunks/_9uqtkkk.js";import{b as $e}from"../chunks/BtzOUN4g.js";import{b as lt}from"../chunks/DwF0DbKK.js";import{p as ot}from"../chunks/CdEA5IGF.js";import{g as re}from"../chunks/BcoJ4GZv.js";import{p as st}from"../chunks/CPri_0tM.js";import{t as h}from"../chunks/Bbk4dQfI.js";import{e as Ue}from"../chunks/BZiHL9L3.js";import{D as dt}from"../chunks/Ckj0xxjl.js";import{a as nt,C as it}from"../chunks/zrfkhNmc.js";var ut=F('
Loading...
'),ct=F('
Uploading...',1),pt=Qe(' Upload File',1),bt=F('

Template Information

Template Content

Available Template Variables

Your template can use the following variables using Go template syntax (e.g., ):

Runner Info
  • .RunnerName - Runner name
  • .RunnerLabels - Comma separated labels
  • .RunnerUsername - Runner service username
  • .RunnerGroup - Runner service group
  • .GitHubRunnerGroup - GitHub runner group
Download & Install
  • .FileName - Download file name
  • .DownloadURL - Runner download URL
  • .TempDownloadToken - Download token
  • .RepoURL - Repository URL
Configuration
  • .MetadataURL - Instance metadata URL
  • .CallbackURL - Status callback URL
  • .CallbackToken - Callback token
  • .CABundle - CA certificate bundle
  • .EnableBootDebug - Enable debug mode
  • .UseJITConfig - Use JIT configuration
  • .ExtraContext - Additional context map

💡 Tip: Use for conditional content, or to iterate over extra context.

',1),gt=F(" ",1);function Ut(Ae,De){Ze(De,!1);const le=p(),M=p();let _=p(!1),i=p(null),t=p({name:"",description:"",forge_type:"github",os_type:"linux",data:new Uint8Array}),u=p(""),v=p("text"),x=p(!1),I=p(),T=p(!1),L={name:"",description:"",forge_type:"github",os_type:"linux"},Fe="",R=p(!1);async function oe(){if(e(M))try{l(_,!0);const a={name:e(t).name,description:e(t).description||void 0,forge_type:e(t).forge_type,os_type:e(t).os_type,data:Array.from(new TextEncoder().encode(e(u)))};await Le.createTemplate(a),h.add({type:"success",title:"Template created",message:`Template "${e(t).name}" has been created successfully.`}),re(te("/templates"))}catch(a){const c=Ue(a);h.add({type:"error",title:"Failed to create template",message:c})}finally{l(_,!1)}}function Me(){return e(le)}function Ie(){if(Me()){l(R,!0);return}se()}function se(){re(te("/templates"))}function We(){l(R,!1),se()}function Ee(){e(I).click()}async function Se(a){const c=a.target,n=c.files?.[0];if(n){if(n.size>1024*1024){h.add({type:"error",title:"File too large",message:"Please select a file smaller than 1MB."});return}try{l(T,!0);const y=await n.text();l(u,y);const b=n.name.toLowerCase();let m="text";b.endsWith(".sh")||b.endsWith(".bash")?m="bash":b.endsWith(".ps1")||b.endsWith(".psm1")?m="powershell":b.endsWith(".py")?m="python":m=W(y),l(v,m),l(x,!1),h.add({type:"success",title:"File uploaded",message:`Successfully loaded content from "${n.name}".`})}catch{h.add({type:"error",title:"Failed to read file",message:"Unable to read the selected file. Please try again."})}finally{l(T,!1),c.value=""}}}function W(a){const n=a.split(` +`)[0]?.trim()||"";return n.startsWith("#!/bin/bash")||n.startsWith("#!/bin/sh")?"bash":n.startsWith("#!/usr/bin/env pwsh")||n.includes("#ps1_sysnative")?"powershell":n.startsWith("#!/usr/bin/env python")||n.startsWith("#!/usr/bin/python")?"python":a.includes("param(")||a.includes("Write-Host")||a.includes("$_")?"powershell":a.includes("def ")||a.includes("import ")||a.includes("print(")?"python":a.includes("echo ")||a.includes("export ")||a.includes("if [")?"bash":"text"}async function Ge(){const a=st.url.searchParams.get("clone");if(a)try{if(l(_,!0),l(i,await Le.getTemplate(parseInt(a))),!e(i))throw new Error("Template not found");if(f(t,e(t).name=`${e(i).name} (Copy)`),f(t,e(t).description=e(i).description||""),f(t,e(t).forge_type=e(i).forge_type||"github"),f(t,e(t).os_type=e(i).os_type||"linux"),e(i).data)try{if(Array.isArray(e(i).data)){const c=new Uint8Array(e(i).data);l(u,new TextDecoder().decode(c))}else l(u,atob(e(i).data));l(v,W(e(u)))}catch(c){console.error("Failed to decode template data:",c),l(u,"")}}catch(c){const n=Ue(c);h.add({type:"error",title:"Failed to load template",message:n}),re(te("/templates"))}finally{l(_,!1)}}et(()=>{Ge()}),Q(()=>(e(t),e(u)),()=>{l(le,e(t).name!==L.name||e(t).description!==L.description||e(t).forge_type!==L.forge_type||e(t).os_type!==L.os_type||e(u)!==Fe)}),Q(()=>(e(t),e(u)),()=>{l(M,e(t).name.trim().length>0&&e(u).trim().length>0)}),Q(()=>(e(u),e(x)),()=>{e(u)&&!e(x)&&l(v,W(e(u)))}),tt(),Xe();var de=gt();ze(a=>{C(()=>rt.title=`${e(i),A(()=>e(i)?`Clone ${e(i).name}`:"Create Template")??""} - GARM`)});var ne=Te(de);{var He=a=>{var c=ut();w(a,c)},Pe=a=>{var c=bt(),n=Te(c);{let d=X(()=>(e(i),A(()=>e(i)?`Clone Template: ${e(i).name}`:"Create New Template"))),g=X(()=>!e(M));dt(n,{get title(){return e(d)},subtitle:"Create a new runner install template",onEdit:Ie,onDelete:oe,editLabel:"Cancel",deleteLabel:"Create Template",editVariant:"secondary",deleteVariant:"primary",get deleteDisabled(){return e(g)},editIcon:"",deleteIcon:""})}var y=r(n,2),b=o(y),m=o(b),E=r(o(m),2),S=o(E),G=o(S),ie=r(o(G),2);Re(ie),s(G);var ue=r(G,2),ce=r(o(ue),2);Re(ce),s(ue),s(S);var pe=r(S,2),H=o(pe),P=r(o(H),2);C(()=>{e(t),Z(()=>{})});var j=o(P);j.value=j.__value="github";var be=r(j);be.value=be.__value="gitea",s(P),s(H);var ge=r(H,2),B=r(o(ge),2);C(()=>{e(t),Z(()=>{})});var N=o(B);N.value=N.__value="linux";var me=r(N);me.value=me.__value="windows",s(B),s(ge),s(pe),s(E),s(m),s(b);var fe=r(b,2),ve=o(fe),V=o(ve),xe=r(o(V),2),k=o(xe),Ne=o(k);{var Ve=d=>{var g=ct();D(),w(d,g)},qe=d=>{var g=pt();D(),w(d,g)};ee(Ne,d=>{e(T)?d(Ve):d(qe,!1)})}s(k);var $=r(k,4);C(()=>{e(v),Z(()=>{e(x)})});var q=o($);q.value=q.__value="bash";var J=r(q);J.value=J.__value="powershell";var O=r(J);O.value=O.__value="python";var ye=r(O);ye.value=ye.__value="text",s($),s(xe),s(V);var Y=r(V,2);lt(Y,d=>l(I,d),()=>e(I));var z=r(Y,2),K=r(o(z),2),Je=r(o(K));Je.textContent="{{ .RunnerName }}",D(),s(K);var he=r(K,4),_e=r(o(he),3);_e.textContent="{{if .CABundle}}...{{end}}";var Oe=r(_e,2);Oe.textContent="{{range $key, $value := .ExtraContext}}{{$key}}: {{$value}}{{end}}",D(),s(he),s(z);var ke=r(z,2),we=o(ke);{let d=X(()=>!e(x));nt(we,{get language(){return e(v)},get autoDetect(){return e(d)},enableTemplateCompletion:!0,minHeight:"400px",placeholder:"Enter your template script content here...",get value(){return e(u)},set value(g){l(u,g)},$$events:{change:g=>l(u,g.detail.value)},$$legacy:!0})}var Ce=r(we,2),Ye=o(Ce);s(Ce),s(ke),s(ve),s(fe),s(y),C(()=>{k.disabled=e(T),Ke(Ye,`Template content should be a ${e(t),A(()=>e(t).os_type==="windows"?"PowerShell":"bash")??""} script for runner installation and configuration on ${e(t),A(()=>e(t).os_type)??""}.`)}),$e(ie,()=>e(t).name,d=>f(t,e(t).name=d)),$e(ce,()=>e(t).description,d=>f(t,e(t).description=d)),ae(P,()=>e(t).forge_type,d=>f(t,e(t).forge_type=d)),ae(B,()=>e(t).os_type,d=>f(t,e(t).os_type=d)),U("submit",E,ot(oe)),U("click",k,Ee),ae($,()=>e(v),d=>l(v,d)),U("change",$,()=>l(x,!0)),U("change",Y,Se),w(a,c)};ee(ne,a=>{e(_)?a(He):a(Pe,!1)})}var je=r(ne,2);{var Be=a=>{it(a,{title:"Unsaved Changes",message:"You have unsaved changes. Are you sure you want to discard them?",confirmText:"Discard Changes",cancelText:"Stay on Page",variant:"danger",$$events:{close:()=>l(R,!1),confirm:We}})};ee(je,a=>{e(R)&&a(Be)})}w(Ae,de),at()}export{Ut as component}; diff --git a/webapp/assets/_app/immutable/nodes/3.BVqHnS4E.js b/webapp/assets/_app/immutable/nodes/3.BVqHnS4E.js deleted file mode 100644 index 59043eaa..00000000 --- a/webapp/assets/_app/immutable/nodes/3.BVqHnS4E.js +++ /dev/null @@ -1,7 +0,0 @@ -import{c as Nt,a as F,e as x,h as Ht,b as I,l as Kt,s as ae,f as j,r as st}from"../chunks/CxOx-TIJ.js";import{i as Vt}from"../chunks/3NxSoY2_.js";import{p as Rt,g as e,o as Yt,l as ee,b as Ot,f as ze,d as m,a as Jt,$ as Qt,c as o,s as r,e as Je,r as i,u as g,h as he,i as l,t as fe,m as y,F as $,j as n,k as w,n as re,q as Wt,v as Xt,w as oe}from"../chunks/DzFKsO_V.js";import{s as Zt,a as ea,i as S,v as ta}from"../chunks/B_jyf0qs.js";import{e as aa,i as ra}from"../chunks/CdXRaxkX.js";import{h as oa,r as R,s as Se,b as ia,a as na,g as ke}from"../chunks/BguOOs3x.js";import{b as Y,a as da}from"../chunks/BVM1034P.js";import{p as lt}from"../chunks/CdEA5IGF.js";import{l as ct}from"../chunks/BAcG6-Ep.js";import{P as sa}from"../chunks/DTko0dwG.js";import{F as la}from"../chunks/DvQW-lMP.js";import{A as ut}from"../chunks/Ct5kWObc.js";import{D as ca,E as ua,G as pa,a as ga,S as fa,A as ya}from"../chunks/C2FKJqnN.js";import{e as pt,a as Qe}from"../chunks/Penjr-j0.js";import{t as $e}from"../chunks/li_-Mkq2.js";import{g as We,c as ba,f as va,p as ma}from"../chunks/JkzpcrZD.js";import{e as Xe}from"../chunks/BZiHL9L3.js";import{B as gt}from"../chunks/1CdJgrM6.js";d[$]="src/routes/credentials/+page.svelte";var xa=F(j('

'),d[$],[[567,3,[[568,4,[[569,5,[[570,6],[573,6],[576,6,[[577,7,[[579,8]]]]]]]]],[584,4,[[590,5]]]]]]),_a=F(j(""),d[$],[[684,7]]),ha=F(j('

'),d[$],[[690,6]]),ka=F(j('

Gitea only supports PAT authentication

'),d[$],[[727,6]]),wa=F(j('
'),d[$],[[733,5,[[734,6,[[735,29]]],[737,6]]]]),Ca=F(j('

or drag and drop

PEM, KEY files only

',1),d[$],[[751,5,[[752,6,[[753,14]]],[755,6]]],[766,5,[[767,6,[[768,27]]],[770,6]]],[781,5,[[782,6,[[783,19]]],[785,6,[[786,7],[793,7,[[794,8,[[795,9]]],[797,8,[[798,9]]],[803,8]]]]]]]]),Pa=F(j(''),d[$],[[616,1,[[617,2],[618,2,[[619,3,[[620,4,[[621,5],[624,5]]],[628,4,[[629,5,[[630,6]]]]]]],[635,4,[[642,5,[[643,6,[[644,24]]],[646,6]]],[657,4,[[658,5],[661,5]]],[671,4,[[672,5,[[673,15]]],[675,5,[[682,6]]]]],[697,4,[[698,5,[[699,26]]],[701,5,[[702,6],[713,6]]]]],[809,4,[[810,5],[817,5]]]]]]]]]]),Aa=F(j('
'),d[$],[[927,6,[[928,7,[[929,34]]],[931,7]]]]),Ta=F(j('

or drag and drop

PEM, KEY files only. Upload new private key.

',1),d[$],[[945,6,[[946,7,[[947,15]]],[949,7]]],[960,6,[[961,7,[[962,28]]],[964,7]]],[975,6,[[976,7,[[977,20]]],[979,7,[[980,8],[987,8,[[988,9,[[989,10]]],[991,9,[[992,10]]],[997,9]]]]]]]]),$a=F(j(" ",1),d[$],[]),Ea=F(j(''),d[$],[[833,1,[[834,2],[835,2,[[836,3,[[837,4,[[838,5],[841,5]]],[845,4,[[846,5,[[847,6]]]]]]],[852,3,[[853,4,[[854,5,[[855,23]]],[857,5]]],[867,4,[[868,5],[871,5]]],[880,4,[[881,5],[884,5],[891,5]]],[895,4,[[896,5],[899,5,[[900,6]]],[904,5]]],[908,4,[[909,5,[[910,6],[916,6]]],[920,5]]],[1004,4,[[1005,5],[1012,5]]]]]]]]]]),Da=F(j(''),d[$],[[1028,1,[[1029,2],[1030,2,[[1031,3,[[1032,4,[[1033,5,[[1034,6,[[1035,7]]]]],[1038,5,[[1039,6],[1040,6]]]]]]],[1046,3,[[1047,4],[1054,4]]]]]]]]),Ma=F(j('
',1),d[$],[[534,0]]);function d(ft,yt){Nt(new.target),Rt(yt,!1,d);const[bt,vt]=Zt(),L=()=>(ta(pt,"eagerCache"),ea(pt,"$eagerCache",bt)),Le=y(),ie=y(),Ze=y(),Ne=y(),He=y(),f={PAT:"pat",APP:"app"};let Ee=y(!0),ye=y([]),te=y([]),De=y(""),Me=y(""),O=y(1),be=y(25),ve=y(1),Ie=y(!1),Fe=y(!1),je=y(!1),B=y(f.PAT),b=y(null),G=y(null),t=y({name:"",description:"",endpoint:"",auth_type:f.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Be={...e(t)},ne=y(!1);function mt(a){l(a.key,"Escape")&&(e(Ie)||e(Fe)||e(je))&&E()}Yt(async()=>{try{n(Ee,!0);const[a,s]=(await re(Promise.all([Qe.getCredentials(),Qe.getEndpoints()])))();a&&Array.isArray(a)&&n(ye,a),s&&Array.isArray(s)&&n(te,s)}catch(a){console.error(...ct("error","Failed to load credentials:",a)),n(De,a instanceof Error?a.message:"Failed to load credentials")}finally{n(Ee,!1)}});async function xt(){try{(await re(Qe.retryResource("credentials")))()}catch(a){console.error(...ct("error","Retry failed:",a))}}async function _t(){Re(),n(Ie,!0),n(k,"github"),w(t,e(t).auth_type=f.PAT)}let k=y("");function ht(a){n(k,a.detail),Re()}async function Ke(a){n(b,a),n(t,{name:a.name||"",description:a.description||"",endpoint:a.endpoint?.name||"",auth_type:a["auth-type"]||f.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),n(B,a["auth-type"]||f.PAT),Be={...e(t)},n(ne,!1),n(Fe,!0)}function Ve(a){n(G,a),n(je,!0)}function Re(){n(t,{name:"",description:"",endpoint:"",auth_type:f.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Be={...e(t)},n(B,f.PAT),n(ne,!1)}function E(){n(Ie,!1),n(Fe,!1),n(je,!1),n(b,null),n(G,null),n(k,""),Re()}function et(a){n(B,a),w(t,e(t).auth_type=a)}function kt(){const a={};if(l(e(t).name,Be.name,!1)&&l(e(t).name.trim(),"",!1)&&(a.name=e(t).name.trim()),l(e(t).description,Be.description,!1)&&l(e(t).description.trim(),"",!1)&&(a.description=e(t).description.trim()),e(ne)&&e(b))if(l(e(b)["auth-type"],f.PAT))l(e(t).oauth2_token.trim(),"",!1)&&(a.pat={oauth2_token:e(t).oauth2_token.trim()});else{const s={};let v=!1;if(l(e(t).app_id.trim(),"",!1)&&(s.app_id=parseInt(e(t).app_id.trim()),v=!0),l(e(t).installation_id.trim(),"",!1)&&(s.installation_id=parseInt(e(t).installation_id.trim()),v=!0),l(e(t).private_key_bytes,"",!1))try{const _=atob(e(t).private_key_bytes);s.private_key_bytes=Array.from(_,u=>u.charCodeAt(0)),v=!0}catch{}v&&(a.app=s)}return a}async function wt(){try{if(l(e(k),"github")){const a={name:e(t).name.trim(),description:e(t).description.trim(),endpoint:e(t).endpoint.trim(),auth_type:e(t).auth_type};l(e(t).auth_type,f.PAT)?(a.pat={oauth2_token:e(t).oauth2_token.trim()},a.app={}):(a.app={app_id:parseInt(e(t).app_id.trim()),installation_id:parseInt(e(t).installation_id.trim()),private_key_bytes:Array.from(atob(e(t).private_key_bytes),s=>s.charCodeAt(0))},a.pat={}),(await re(ke.createGithubCredentials(a)))()}else if(l(e(k),"gitea")){const a={name:e(t).name.trim(),description:e(t).description.trim(),endpoint:e(t).endpoint.trim(),auth_type:f.PAT,pat:{oauth2_token:e(t).oauth2_token.trim()},app:{}};(await re(ke.createGiteaCredentials(a)))()}else throw new Error("Please select a forge type");$e.success("Credentials Created",`Credentials ${e(t).name} have been created successfully.`),E()}catch(a){n(De,Xe(a))}}async function Ct(){if(!(!e(b)||!e(b).id))try{const a=kt();if(l(Object.keys(a).length,0)){$e.info("No Changes","No fields were modified."),E();return}const s=e(b).forge_type;l(s,"github")?(await re(ke.updateGithubCredentials(e(b).id,a)))():(await re(ke.updateGiteaCredentials(e(b).id,a)))(),$e.success("Credentials Updated",`Credentials ${e(b)?.name||"Unknown"} have been updated successfully.`),E()}catch(a){n(De,Xe(a))}}async function Pt(){if(!(!e(G)||!e(G).id))try{const a=e(G).forge_type;l(a,"github")?(await re(ke.deleteGithubCredentials(e(G).id)))():(await re(ke.deleteGiteaCredentials(e(G).id)))(),$e.success("Credentials Deleted",`Credentials ${e(G)?.name||"Unknown"} have been deleted successfully.`)}catch(a){const s=Xe(a);$e.error("Delete Failed",s)}finally{E()}}function tt(a){const v=a.target.files?.[0];if(!v){w(t,e(t).private_key_bytes="");return}const _=new FileReader;_.onload=u=>{const C=u.target?.result;w(t,e(t).private_key_bytes=btoa(C))},_.readAsText(v)}function at(){return e(t).name.trim()?e(ne)&&e(b)?l(e(b)["auth-type"],f.PAT)?!!e(t).oauth2_token.trim():!!e(t).app_id.trim()&&!!e(t).installation_id.trim()&&!!e(t).private_key_bytes:!0:!1}function At(a){return e(te).find(v=>l(v.name,a))?.endpoint_type||""}function Tt(a){return l(At(a),"gitea")}const $t=[{key:"name",title:"Name",cellComponent:ua,cellProps:{field:"name",entityType:"credentials"}},{key:"description",title:"Description",cellComponent:pa,cellProps:{field:"description",type:"description"}},{key:"endpoint",title:"Endpoint",cellComponent:ga},{key:"auth_type",title:"Auth Type",cellComponent:fa,cellProps:{statusType:"custom",statusField:"auth-type"}},{key:"actions",title:"Actions",align:"right",cellComponent:ya}],Et={entityType:"credential",primaryText:{field:"name",isClickable:!0},secondaryText:{field:"description"},customInfo:[{icon:a=>We(a?.forge_type||"unknown"),text:a=>a?.endpoint?.name||"Unknown"}],badges:[{type:"auth",field:"auth-type"}],actions:[{type:"edit",handler:a=>Ke(a)},{type:"delete",handler:a=>Ve(a)}]};function Dt(a){n(Me,a.detail.term),n(O,1)}function Mt(a){n(O,a.detail.page)}function It(a){const s=ba(a.detail.perPage);n(be,s.newPerPage),n(O,s.newCurrentPage)}function Ft(a){Ke(a.detail.item)}function jt(a){Ve(a.detail.item)}ee(()=>(e(ye),L()),()=>{(!e(ye).length||L().loaded.credentials)&&n(ye,L().credentials)}),ee(()=>L(),()=>{n(Ee,L().loading.credentials)}),ee(()=>L(),()=>{n(Le,L().errorMessages.credentials)}),ee(()=>(e(te),L()),()=>{(!e(te).length||L().loaded.endpoints)&&n(te,L().endpoints)}),ee(()=>(e(ye),e(Me)),()=>{n(ie,va(e(ye),e(Me)))}),ee(()=>(e(ve),e(ie),e(be),e(O)),()=>{n(ve,Math.ceil(e(ie).length/e(be))),e(O)>e(ve)&&e(ve)>0&&n(O,e(ve))}),ee(()=>(e(ie),e(O),e(be)),()=>{n(Ze,ma(e(ie),e(O),e(be)))}),ee(()=>e(t),()=>{n(Ne,!e(t).name||!e(t).endpoint?!1:l(e(t).auth_type,f.PAT)?!!e(t).oauth2_token:!!e(t).app_id&&!!e(t).installation_id&&!!e(t).private_key_bytes)}),ee(()=>(e(k),e(te)),()=>{n(He,e(k)?e(te).filter(a=>l(a.endpoint_type,e(k))):e(te))}),Ot(),Vt();var rt=Ma();x("keydown",Wt,mt),Ht(a=>{Qt.title="Credentials - GARM"});var Ye=ze(rt),ot=o(Ye);m(()=>sa(ot,{title:"Credentials",description:"Manage authentication credentials for your GitHub and Gitea endpoints.",actionLabel:"Add Credentials",$$events:{action:_t}}),"component",d,536,1,{componentTag:"PageHeader"});var Bt=r(ot,2);{let a=Je(()=>e(Le)||e(De)),s=Je(()=>!!e(Le));m(()=>ca(Bt,{get columns(){return $t},get data(){return e(Ze)},get loading(){return e(Ee)},get error(){return e(a)},get searchTerm(){return e(Me)},searchPlaceholder:"Search credentials by name, description, or endpoint...",get currentPage(){return e(O)},get perPage(){return e(be)},get totalPages(){return e(ve)},get totalItems(){return e(ie),g(()=>e(ie).length)},itemName:"credentials",emptyIconType:"key",get showRetry(){return e(s)},get mobileCardConfig(){return Et},$$events:{search:Dt,pageChange:Mt,perPageChange:It,retry:xt,edit:Ft,delete:jt},$$slots:{"mobile-card":(v,_)=>{const u=Je(()=>_.item);var C=xa(),D=o(C),N=o(D),U=o(N),q=o(U,!0);i(U);var P=r(U,2),J=o(P,!0);i(P);var H=r(P,2),K=o(H),V=o(K);oa(V,()=>(he(We),he(e(u)),g(()=>We(e(u).forge_type||"unknown"))));var de=r(V,2),se=o(de,!0);i(de),i(K),i(H),i(N),i(D);var le=r(D,2),Q=o(le);{var ce=z=>{m(()=>gt(z,{variant:"success",text:"PAT"}),"component",d,586,6,{componentTag:"Badge"})},W=z=>{m(()=>gt(z,{variant:"info",text:"App"}),"component",d,588,6,{componentTag:"Badge"})};m(()=>S(Q,z=>{he(e(u)),g(()=>l(e(u)["auth-type"]||"pat","pat"))?z(ce):z(W,!1)}),"if",d,585,5)}var X=r(Q,2),ue=o(X);m(()=>ut(ue,{action:"edit",size:"sm",title:"Edit credentials",ariaLabel:"Edit credentials",$$events:{click:()=>Ke(e(u))}}),"component",d,591,6,{componentTag:"ActionButton"});var me=r(ue,2);m(()=>ut(me,{action:"delete",size:"sm",title:"Delete credentials",ariaLabel:"Delete credentials",$$events:{click:()=>Ve(e(u))}}),"component",d,598,6,{componentTag:"ActionButton"}),i(X),i(le),i(C),fe(()=>{ae(q,(he(e(u)),g(()=>e(u).name))),ae(J,(he(e(u)),g(()=>e(u).description))),ae(se,(he(e(u)),g(()=>e(u).endpoint?.name||"Unknown")))}),I(v,C)}}}),"component",d,543,1,{componentTag:"DataTable"})}i(Ye);var it=r(Ye,2);{var Gt=a=>{var s=Pa(),v=o(s),_=r(v,2),u=o(_),C=r(o(u),2);i(u);var D=r(u,2),N=o(D);m(()=>la(N,{get selectedForgeType(){return e(k)},set selectedForgeType(c){n(k,c)},$$events:{select:ht},$$legacy:!0}),"component",d,637,5,{componentTag:"ForgeTypeSelector"});var U=r(N,2),q=r(o(U),2);R(q),i(U);var P=r(U,2),J=r(o(P),2);st(J),i(P);var H=r(P,2),K=r(o(H),2);fe(()=>{e(t),Xt(()=>{e(He)})});var V=o(K);V.value=V.__value="";var de=r(V);m(()=>aa(de,1,()=>e(He),ra,(c,p)=>{var h=_a(),T=o(h);i(h);var M={};fe(()=>{ae(T,`${e(p),g(()=>e(p).name)??""} (${e(p),g(()=>e(p).endpoint_type)??""})`),M!==(M=(e(p),g(()=>e(p).name)))&&(h.value=(h.__value=(e(p),g(()=>e(p).name)))??"")}),I(c,h)}),"each",d,683,6),i(K);var se=r(K,2);{var le=c=>{var p=ha(),h=o(p);i(p),fe(()=>ae(h,`Showing only ${e(k)??""} endpoints`)),I(c,p)};m(()=>S(se,c=>{e(k)&&c(le)}),"if",d,689,5)}i(H);var Q=r(H,2),ce=r(o(Q),2),W=o(ce),X=r(W,2);i(ce);var ue=r(ce,2);{var me=c=>{var p=ka();I(c,p)};m(()=>S(ue,c=>{l(e(k),"gitea")&&c(me)}),"if",d,726,5)}i(Q);var z=r(Q,2);{var Ge=c=>{var p=wa(),h=r(o(p),2);R(h),i(p),Y(h,()=>e(t).oauth2_token,T=>w(t,e(t).oauth2_token=T)),I(c,p)};m(()=>S(z,c=>{e(B),g(()=>l(e(B),f.PAT))&&c(Ge)}),"if",d,732,4)}var we=r(z,2);{var Ue=c=>{var p=Ca(),h=ze(p),T=r(o(h),2);R(T),i(h);var M=r(h,2),Z=r(o(M),2);R(Z),i(M);var ge=r(M,2),xe=r(o(ge),2),Pe=o(xe),Ae=r(Pe,2),Te=r(o(Ae),2),qe=o(Te);oe(),i(Te),oe(2),i(Ae),i(xe),i(ge),Y(T,()=>e(t).app_id,_e=>w(t,e(t).app_id=_e)),Y(Z,()=>e(t).installation_id,_e=>w(t,e(t).installation_id=_e)),x("change",Pe,tt),x("click",qe,()=>document.getElementById("private_key")?.click()),I(c,p)};m(()=>S(we,c=>{e(B),g(()=>l(e(B),f.APP))&&c(Ue)}),"if",d,750,4)}var A=r(we,2),pe=o(A),Ce=r(pe,2);i(A),i(D),i(_),i(s),fe(c=>{Se(W,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 cursor-pointer - ${e(B),g(()=>l(e(B),f.PAT)?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} - ${c??""}`),X.disabled=l(e(k),"gitea"),Se(X,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 - ${e(B),g(()=>l(e(B),f.APP)?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} - ${l(e(k),"gitea")?"opacity-50 cursor-not-allowed":"cursor-pointer"}`),Ce.disabled=!e(Ne),Se(Ce,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${e(Ne)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)},[()=>(e(t),g(()=>(e(t).endpoint&&Tt(e(t).endpoint),"")))]),x("click",v,E),x("click",C,E),Y(q,()=>e(t).name,c=>w(t,e(t).name=c)),Y(J,()=>e(t).description,c=>w(t,e(t).description=c)),ia(K,()=>e(t).endpoint,c=>w(t,e(t).endpoint=c)),x("click",W,()=>et(f.PAT)),x("click",X,()=>et(f.APP)),x("click",pe,E),x("submit",D,lt(wt)),I(a,s)};m(()=>S(it,a=>{e(Ie)&&a(Gt)}),"if",d,615,0)}var nt=r(it,2);{var Ut=a=>{var s=Ea(),v=o(s),_=r(v,2),u=o(_),C=o(u),D=r(o(C),2),N=o(D);i(D),i(C);var U=r(C,2);i(u);var q=r(u,2),P=o(q),J=r(o(P),2);R(J),i(P);var H=r(P,2),K=r(o(H),2);st(K),i(H);var V=r(H,2),de=r(o(V),2);R(de),oe(2),i(V);var se=r(V,2),le=r(o(se),2),Q=o(le),ce=o(Q,!0);i(Q),i(le),oe(2),i(se);var W=r(se,2),X=o(W),ue=o(X);R(ue),oe(2),i(X),oe(2),i(W);var me=r(W,2);{var z=A=>{var pe=$a(),Ce=ze(pe);{var c=T=>{var M=Aa(),Z=r(o(M),2);R(Z),i(M),Y(Z,()=>e(t).oauth2_token,ge=>w(t,e(t).oauth2_token=ge)),I(T,M)};m(()=>S(Ce,T=>{e(b),g(()=>l(e(b)["auth-type"],f.PAT))&&T(c)}),"if",d,926,5)}var p=r(Ce,2);{var h=T=>{var M=Ta(),Z=ze(M),ge=r(o(Z),2);R(ge),i(Z);var xe=r(Z,2),Pe=r(o(xe),2);R(Pe),i(xe);var Ae=r(xe,2),Te=r(o(Ae),2),qe=o(Te),_e=r(qe,2),dt=r(o(_e),2),Lt=o(dt);oe(),i(dt),oe(2),i(_e),i(Te),i(Ae),Y(ge,()=>e(t).app_id,Oe=>w(t,e(t).app_id=Oe)),Y(Pe,()=>e(t).installation_id,Oe=>w(t,e(t).installation_id=Oe)),x("change",qe,tt),x("click",Lt,()=>document.getElementById("edit_private_key")?.click()),I(T,M)};m(()=>S(p,T=>{e(b),g(()=>l(e(b)["auth-type"],f.APP))&&T(h)}),"if",d,944,5)}I(A,pe)};m(()=>S(me,A=>{e(ne)&&A(z)}),"if",d,924,4)}var Ge=r(me,2),we=o(Ge),Ue=r(we,2);i(Ge),i(q),i(_),i(s),fe((A,pe)=>{ae(N,`Update credentials for ${e(b),g(()=>e(b)?.name||"Unknown")??""}`),na(de,(e(t),g(()=>e(t).endpoint))),ae(ce,(e(b),g(()=>l(e(b)?.["auth-type"]||f.PAT,f.PAT)?"Personal Access Token (PAT)":"GitHub App"))),Ue.disabled=A,Se(Ue,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${pe??""}`)},[()=>g(()=>!at()),()=>g(()=>at()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),x("click",v,E),x("click",U,E),Y(J,()=>e(t).name,A=>w(t,e(t).name=A)),Y(K,()=>e(t).description,A=>w(t,e(t).description=A)),da(ue,()=>e(ne),A=>n(ne,A)),x("click",we,E),x("submit",q,lt(Ct)),I(a,s)};m(()=>S(nt,a=>{e(Fe)&&e(b)&&a(Ut)}),"if",d,832,0)}var qt=r(nt,2);{var zt=a=>{var s=Da(),v=o(s),_=r(v,2),u=o(_),C=o(u),D=r(o(C),2),N=r(o(D),2),U=o(N);i(N),i(D),i(C),i(u);var q=r(u,2),P=o(q),J=r(P,2);i(q),i(_),i(s),fe(()=>ae(U,`Are you sure you want to delete the credentials "${e(G),g(()=>e(G)?.name||"Unknown")??""}"? This action cannot be undone.`)),x("click",v,E),x("click",P,E),x("click",J,Pt),I(a,s)};m(()=>S(qt,a=>{e(je)&&e(G)&&a(zt)}),"if",d,1027,0)}I(ft,rt);var St=Jt({...Kt()});return vt(),St}export{d as component}; diff --git a/webapp/assets/_app/immutable/nodes/3.CWyGlMW1.js b/webapp/assets/_app/immutable/nodes/3.CWyGlMW1.js new file mode 100644 index 00000000..805b5fbd --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/3.CWyGlMW1.js @@ -0,0 +1,7 @@ +import{f as E,e as f,h as Ft,a as $,s as W,r as rt}from"../chunks/o8CdT7B0.js";import{i as jt}from"../chunks/ChJfoPF0.js";import{p as Gt,g as e,o as Ut,l as J,b as zt,f as Fe,a as Bt,$ as qt,m as g,d as n,e as St,c as o,s as a,r as i,u,h as be,i as Ke,t as se,j as _,k as Lt,n as X}from"../chunks/DUMcBckj.js";import{i as G,s as Nt,a as Kt}from"../chunks/i7pKks78.js";import{e as Vt,i as Ht}from"../chunks/DC7Aeygn.js";import{h as Rt,r as L,s as je,b as Yt,a as Ot,g as fe}from"../chunks/_9uqtkkk.js";import{b as N,a as Jt}from"../chunks/BtzOUN4g.js";import{p as at}from"../chunks/CdEA5IGF.js";import{P as Qt}from"../chunks/UrL2GjpD.js";import{F as Wt}from"../chunks/CbREEdny.js";import{A as ot}from"../chunks/FjbxnYNv.js";import{D as Xt,G as Zt}from"../chunks/DG4LDt2Z.js";import{e as er,a as Ve}from"../chunks/zgwRPQVC.js";import{t as ke}from"../chunks/Bbk4dQfI.js";import{f as tr,p as rr,g as He,c as ar}from"../chunks/DQsxKNC2.js";import{e as Re}from"../chunks/BZiHL9L3.js";import{B as it}from"../chunks/Bi2FJHrT.js";import{E as or}from"../chunks/llowLxE6.js";import{E as ir}from"../chunks/BqCROW90.js";import{S as nr}from"../chunks/C0gwpZbz.js";import{A as dr}from"../chunks/7XD7ITBY.js";import"../chunks/CnZ9nHem.js";var sr=E('

'),lr=E(""),cr=E('

'),ur=E('

Gitea only supports PAT authentication

'),pr=E('
'),gr=E('

or drag and drop

PEM, KEY files only

',1),yr=E(''),br=E('
'),fr=E('

or drag and drop

PEM, KEY files only. Upload new private key.

',1),vr=E(" ",1),mr=E(''),xr=E(''),_r=E('
',1);function Kr(nt,dt){Gt(dt,!1);const[st,lt]=Nt(),U=()=>Kt(er,"$eagerCache",st),Ge=g(),Z=g(),Ye=g(),Ue=g(),ze=g(),p={PAT:"pat",APP:"app"};let we=g(!0),le=g([]),Q=g([]),Ce=g(""),Pe=g(""),K=g(1),ce=g(25),ue=g(1),Ae=g(!1),Te=g(!1),$e=g(!1),D=g(p.PAT),y=g(null),M=g(null),t=g({name:"",description:"",endpoint:"",auth_type:p.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Ee={...e(t)},ee=g(!1);function ct(r){r.key==="Escape"&&(e(Ae)||e(Te)||e($e))&&P()}Ut(async()=>{try{n(we,!0);const[r,d]=await Promise.all([Ve.getCredentials(),Ve.getEndpoints()]);r&&Array.isArray(r)&&n(le,r),d&&Array.isArray(d)&&n(Q,d)}catch(r){console.error("Failed to load credentials:",r),n(Ce,r instanceof Error?r.message:"Failed to load credentials")}finally{n(we,!1)}});async function ut(){try{await Ve.retryResource("credentials")}catch(r){console.error("Retry failed:",r)}}async function pt(){Se(),n(Ae,!0),n(x,"github"),_(t,e(t).auth_type=p.PAT)}let x=g("");function gt(r){n(x,r.detail),Se()}async function Be(r){n(y,r),n(t,{name:r.name||"",description:r.description||"",endpoint:r.endpoint?.name||"",auth_type:r["auth-type"]||p.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),n(D,r["auth-type"]||p.PAT),Ee={...e(t)},n(ee,!1),n(Te,!0)}function qe(r){n(M,r),n($e,!0)}function Se(){n(t,{name:"",description:"",endpoint:"",auth_type:p.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Ee={...e(t)},n(D,p.PAT),n(ee,!1)}function P(){n(Ae,!1),n(Te,!1),n($e,!1),n(y,null),n(M,null),n(x,""),Se()}function Oe(r){n(D,r),_(t,e(t).auth_type=r)}function yt(){const r={};if(e(t).name!==Ee.name&&e(t).name.trim()!==""&&(r.name=e(t).name.trim()),e(t).description!==Ee.description&&e(t).description.trim()!==""&&(r.description=e(t).description.trim()),e(ee)&&e(y))if(e(y)["auth-type"]===p.PAT)e(t).oauth2_token.trim()!==""&&(r.pat={oauth2_token:e(t).oauth2_token.trim()});else{const d={};let b=!1;if(e(t).app_id.trim()!==""&&(d.app_id=parseInt(e(t).app_id.trim()),b=!0),e(t).installation_id.trim()!==""&&(d.installation_id=parseInt(e(t).installation_id.trim()),b=!0),e(t).private_key_bytes!=="")try{const v=atob(e(t).private_key_bytes);d.private_key_bytes=Array.from(v,l=>l.charCodeAt(0)),b=!0}catch{}b&&(r.app=d)}return r}async function bt(){try{if(e(x)==="github"){const r={name:e(t).name.trim(),description:e(t).description.trim(),endpoint:e(t).endpoint.trim(),auth_type:e(t).auth_type};e(t).auth_type===p.PAT?(r.pat={oauth2_token:e(t).oauth2_token.trim()},r.app={}):(r.app={app_id:parseInt(e(t).app_id.trim()),installation_id:parseInt(e(t).installation_id.trim()),private_key_bytes:Array.from(atob(e(t).private_key_bytes),d=>d.charCodeAt(0))},r.pat={}),await fe.createGithubCredentials(r)}else if(e(x)==="gitea"){const r={name:e(t).name.trim(),description:e(t).description.trim(),endpoint:e(t).endpoint.trim(),auth_type:p.PAT,pat:{oauth2_token:e(t).oauth2_token.trim()},app:{}};await fe.createGiteaCredentials(r)}else throw new Error("Please select a forge type");ke.success("Credentials Created",`Credentials ${e(t).name} have been created successfully.`),P()}catch(r){n(Ce,Re(r))}}async function ft(){if(!(!e(y)||!e(y).id))try{const r=yt();if(Object.keys(r).length===0){ke.info("No Changes","No fields were modified."),P();return}e(y).forge_type==="github"?await fe.updateGithubCredentials(e(y).id,r):await fe.updateGiteaCredentials(e(y).id,r),ke.success("Credentials Updated",`Credentials ${e(y)?.name||"Unknown"} have been updated successfully.`),P()}catch(r){n(Ce,Re(r))}}async function vt(){if(!(!e(M)||!e(M).id))try{e(M).forge_type==="github"?await fe.deleteGithubCredentials(e(M).id):await fe.deleteGiteaCredentials(e(M).id),ke.success("Credentials Deleted",`Credentials ${e(M)?.name||"Unknown"} have been deleted successfully.`)}catch(r){const d=Re(r);ke.error("Delete Failed",d)}finally{P()}}function Je(r){const b=r.target.files?.[0];if(!b){_(t,e(t).private_key_bytes="");return}const v=new FileReader;v.onload=l=>{const h=l.target?.result;_(t,e(t).private_key_bytes=btoa(h))},v.readAsText(b)}function Qe(){return e(t).name.trim()?e(ee)&&e(y)?e(y)["auth-type"]===p.PAT?!!e(t).oauth2_token.trim():!!e(t).app_id.trim()&&!!e(t).installation_id.trim()&&!!e(t).private_key_bytes:!0:!1}function mt(r){return e(Q).find(b=>b.name===r)?.endpoint_type||""}function xt(r){return mt(r)==="gitea"}const _t=[{key:"name",title:"Name",cellComponent:or,cellProps:{field:"name",entityType:"credentials"}},{key:"description",title:"Description",cellComponent:Zt,cellProps:{field:"description",type:"description"}},{key:"endpoint",title:"Endpoint",cellComponent:ir},{key:"auth_type",title:"Auth Type",cellComponent:nr,cellProps:{statusType:"custom",statusField:"auth-type"}},{key:"actions",title:"Actions",align:"right",cellComponent:dr}],ht={entityType:"credential",primaryText:{field:"name",isClickable:!0},secondaryText:{field:"description"},customInfo:[{icon:r=>He(r?.forge_type||"unknown"),text:r=>r?.endpoint?.name||"Unknown"}],badges:[{type:"auth",field:"auth-type"}],actions:[{type:"edit",handler:r=>Be(r)},{type:"delete",handler:r=>qe(r)}]};function kt(r){n(Pe,r.detail.term),n(K,1)}function wt(r){n(K,r.detail.page)}function Ct(r){const d=ar(r.detail.perPage);n(ce,d.newPerPage),n(K,d.newCurrentPage)}function Pt(r){Be(r.detail.item)}function At(r){qe(r.detail.item)}J(()=>(e(le),U()),()=>{(!e(le).length||U().loaded.credentials)&&n(le,U().credentials)}),J(()=>U(),()=>{n(we,U().loading.credentials)}),J(()=>U(),()=>{n(Ge,U().errorMessages.credentials)}),J(()=>(e(Q),U()),()=>{(!e(Q).length||U().loaded.endpoints)&&n(Q,U().endpoints)}),J(()=>(e(le),e(Pe)),()=>{n(Z,tr(e(le),e(Pe)))}),J(()=>(e(ue),e(Z),e(ce),e(K)),()=>{n(ue,Math.ceil(e(Z).length/e(ce))),e(K)>e(ue)&&e(ue)>0&&n(K,e(ue))}),J(()=>(e(Z),e(K),e(ce)),()=>{n(Ye,rr(e(Z),e(K),e(ce)))}),J(()=>e(t),()=>{n(Ue,!e(t).name||!e(t).endpoint?!1:e(t).auth_type===p.PAT?!!e(t).oauth2_token:!!e(t).app_id&&!!e(t).installation_id&&!!e(t).private_key_bytes)}),J(()=>(e(x),e(Q)),()=>{n(ze,e(x)?e(Q).filter(r=>r.endpoint_type===e(x)):e(Q))}),zt(),jt();var We=_r();f("keydown",St,ct),Ft(r=>{qt.title="Credentials - GARM"});var Le=Fe(We),Xe=o(Le);Qt(Xe,{title:"Credentials",description:"Manage authentication credentials for your GitHub and Gitea endpoints.",actionLabel:"Add Credentials",$$events:{action:pt}});var Tt=a(Xe,2);{let r=Ke(()=>e(Ge)||e(Ce)),d=Ke(()=>!!e(Ge));Xt(Tt,{get columns(){return _t},get data(){return e(Ye)},get loading(){return e(we)},get error(){return e(r)},get searchTerm(){return e(Pe)},searchPlaceholder:"Search credentials by name, description, or endpoint...",get currentPage(){return e(K)},get perPage(){return e(ce)},get totalPages(){return e(ue)},get totalItems(){return e(Z),u(()=>e(Z).length)},itemName:"credentials",emptyIconType:"key",get showRetry(){return e(d)},get mobileCardConfig(){return ht},$$events:{search:kt,pageChange:wt,perPageChange:Ct,retry:ut,edit:Pt,delete:At},$$slots:{"mobile-card":(b,v)=>{const l=Ke(()=>v.item);var h=sr(),A=o(h),z=o(A),I=o(z),F=o(I,!0);i(I);var k=a(I,2),V=o(k,!0);i(k);var B=a(k,2),q=o(B),S=o(q);Rt(S,()=>(be(He),be(e(l)),u(()=>He(e(l).forge_type||"unknown"))));var te=a(S,2),re=o(te,!0);i(te),i(q),i(B),i(z),i(A);var ae=a(A,2),H=o(ae);{var oe=j=>{it(j,{variant:"success",text:"PAT"})},R=j=>{it(j,{variant:"info",text:"App"})};G(H,j=>{be(e(l)),u(()=>(e(l)["auth-type"]||"pat")==="pat")?j(oe):j(R,!1)})}var Y=a(H,2),ie=o(Y);ot(ie,{action:"edit",size:"sm",title:"Edit credentials",ariaLabel:"Edit credentials",$$events:{click:()=>Be(e(l))}});var pe=a(ie,2);ot(pe,{action:"delete",size:"sm",title:"Delete credentials",ariaLabel:"Delete credentials",$$events:{click:()=>qe(e(l))}}),i(Y),i(ae),i(h),se(()=>{W(F,(be(e(l)),u(()=>e(l).name))),W(V,(be(e(l)),u(()=>e(l).description))),W(re,(be(e(l)),u(()=>e(l).endpoint?.name||"Unknown")))}),$(b,h)}}})}i(Le);var Ze=a(Le,2);{var $t=r=>{var d=yr(),b=o(d),v=a(b,2),l=o(v),h=a(o(l),2);i(l);var A=a(l,2),z=o(A);Wt(z,{get selectedForgeType(){return e(x)},set selectedForgeType(s){n(x,s)},$$events:{select:gt},$$legacy:!0});var I=a(z,2),F=a(o(I),2);L(F),i(I);var k=a(I,2),V=a(o(k),2);rt(V),i(k);var B=a(k,2),q=a(o(B),2);se(()=>{e(t),Lt(()=>{e(ze)})});var S=o(q);S.value=S.__value="";var te=a(S);Vt(te,1,()=>e(ze),Ht,(s,c)=>{var m=lr(),C=o(m);i(m);var T={};se(()=>{W(C,`${e(c),u(()=>e(c).name)??""} (${e(c),u(()=>e(c).endpoint_type)??""})`),T!==(T=(e(c),u(()=>e(c).name)))&&(m.value=(m.__value=(e(c),u(()=>e(c).name)))??"")}),$(s,m)}),i(q);var re=a(q,2);{var ae=s=>{var c=cr(),m=o(c);i(c),se(()=>W(m,`Showing only ${e(x)??""} endpoints`)),$(s,c)};G(re,s=>{e(x)&&s(ae)})}i(B);var H=a(B,2),oe=a(o(H),2),R=o(oe),Y=a(R,2);i(oe);var ie=a(oe,2);{var pe=s=>{var c=ur();$(s,c)};G(ie,s=>{e(x)==="gitea"&&s(pe)})}i(H);var j=a(H,2);{var De=s=>{var c=pr(),m=a(o(c),2);L(m),i(c),N(m,()=>e(t).oauth2_token,C=>_(t,e(t).oauth2_token=C)),$(s,c)};G(j,s=>{e(D),u(()=>e(D)===p.PAT)&&s(De)})}var ve=a(j,2);{var Me=s=>{var c=gr(),m=Fe(c),C=a(o(m),2);L(C),i(m);var T=a(m,2),O=a(o(T),2);L(O),i(T);var de=a(T,2),ge=a(o(de),2),xe=o(ge),_e=a(xe,2),he=a(o(_e),2),Ie=o(he);X(),i(he),X(2),i(_e),i(ge),i(de),N(C,()=>e(t).app_id,ye=>_(t,e(t).app_id=ye)),N(O,()=>e(t).installation_id,ye=>_(t,e(t).installation_id=ye)),f("change",xe,Je),f("click",Ie,()=>document.getElementById("private_key")?.click()),$(s,c)};G(ve,s=>{e(D),u(()=>e(D)===p.APP)&&s(Me)})}var w=a(ve,2),ne=o(w),me=a(ne,2);i(w),i(A),i(v),i(d),se(s=>{je(R,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 cursor-pointer + ${e(D),u(()=>e(D)===p.PAT?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} + ${s??""}`),Y.disabled=e(x)==="gitea",je(Y,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 + ${e(D),u(()=>e(D)===p.APP?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} + ${e(x)==="gitea"?"opacity-50 cursor-not-allowed":"cursor-pointer"}`),me.disabled=!e(Ue),je(me,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${e(Ue)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)},[()=>(e(t),u(()=>(e(t).endpoint&&xt(e(t).endpoint),"")))]),f("click",b,P),f("click",h,P),N(F,()=>e(t).name,s=>_(t,e(t).name=s)),N(V,()=>e(t).description,s=>_(t,e(t).description=s)),Yt(q,()=>e(t).endpoint,s=>_(t,e(t).endpoint=s)),f("click",R,()=>Oe(p.PAT)),f("click",Y,()=>Oe(p.APP)),f("click",ne,P),f("submit",A,at(bt)),$(r,d)};G(Ze,r=>{e(Ae)&&r($t)})}var et=a(Ze,2);{var Et=r=>{var d=mr(),b=o(d),v=a(b,2),l=o(v),h=o(l),A=a(o(h),2),z=o(A);i(A),i(h);var I=a(h,2);i(l);var F=a(l,2),k=o(F),V=a(o(k),2);L(V),i(k);var B=a(k,2),q=a(o(B),2);rt(q),i(B);var S=a(B,2),te=a(o(S),2);L(te),X(2),i(S);var re=a(S,2),ae=a(o(re),2),H=o(ae),oe=o(H,!0);i(H),i(ae),X(2),i(re);var R=a(re,2),Y=o(R),ie=o(Y);L(ie),X(2),i(Y),X(2),i(R);var pe=a(R,2);{var j=w=>{var ne=vr(),me=Fe(ne);{var s=C=>{var T=br(),O=a(o(T),2);L(O),i(T),N(O,()=>e(t).oauth2_token,de=>_(t,e(t).oauth2_token=de)),$(C,T)};G(me,C=>{e(y),u(()=>e(y)["auth-type"]===p.PAT)&&C(s)})}var c=a(me,2);{var m=C=>{var T=fr(),O=Fe(T),de=a(o(O),2);L(de),i(O);var ge=a(O,2),xe=a(o(ge),2);L(xe),i(ge);var _e=a(ge,2),he=a(o(_e),2),Ie=o(he),ye=a(Ie,2),tt=a(o(ye),2),It=o(tt);X(),i(tt),X(2),i(ye),i(he),i(_e),N(de,()=>e(t).app_id,Ne=>_(t,e(t).app_id=Ne)),N(xe,()=>e(t).installation_id,Ne=>_(t,e(t).installation_id=Ne)),f("change",Ie,Je),f("click",It,()=>document.getElementById("edit_private_key")?.click()),$(C,T)};G(c,C=>{e(y),u(()=>e(y)["auth-type"]===p.APP)&&C(m)})}$(w,ne)};G(pe,w=>{e(ee)&&w(j)})}var De=a(pe,2),ve=o(De),Me=a(ve,2);i(De),i(F),i(v),i(d),se((w,ne)=>{W(z,`Update credentials for ${e(y),u(()=>e(y)?.name||"Unknown")??""}`),Ot(te,(e(t),u(()=>e(t).endpoint))),W(oe,(e(y),u(()=>(e(y)?.["auth-type"]||p.PAT)===p.PAT?"Personal Access Token (PAT)":"GitHub App"))),Me.disabled=w,je(Me,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${ne??""}`)},[()=>u(()=>!Qe()),()=>u(()=>Qe()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),f("click",b,P),f("click",I,P),N(V,()=>e(t).name,w=>_(t,e(t).name=w)),N(q,()=>e(t).description,w=>_(t,e(t).description=w)),Jt(ie,()=>e(ee),w=>n(ee,w)),f("click",ve,P),f("submit",F,at(ft)),$(r,d)};G(et,r=>{e(Te)&&e(y)&&r(Et)})}var Dt=a(et,2);{var Mt=r=>{var d=xr(),b=o(d),v=a(b,2),l=o(v),h=o(l),A=a(o(h),2),z=a(o(A),2),I=o(z);i(z),i(A),i(h),i(l);var F=a(l,2),k=o(F),V=a(k,2);i(F),i(v),i(d),se(()=>W(I,`Are you sure you want to delete the credentials "${e(M),u(()=>e(M)?.name||"Unknown")??""}"? This action cannot be undone.`)),f("click",b,P),f("click",k,P),f("click",V,vt),$(r,d)};G(Dt,r=>{e($e)&&e(M)&&r(Mt)})}$(nt,We),Bt(),lt()}export{Kr as component}; diff --git a/webapp/assets/_app/immutable/nodes/4.ByTij3bm.js b/webapp/assets/_app/immutable/nodes/4.ByTij3bm.js new file mode 100644 index 00000000..7a07fce4 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/4.ByTij3bm.js @@ -0,0 +1 @@ +import{f as u,h as qe,a as x,s as l,c as re,e as He}from"../chunks/o8CdT7B0.js";import{i as Je}from"../chunks/ChJfoPF0.js";import{p as Ke,o as Qe,q as Xe,l as C,b as Ze,f as Y,t as k,a as ta,g as t,m as p,u as s,h as z,c as a,d as g,$ as ea,r,s as d,i as B}from"../chunks/DUMcBckj.js";import{i as _,s as aa,a as ra}from"../chunks/i7pKks78.js";import{c as E,d as de,g as tt,h as da}from"../chunks/_9uqtkkk.js";import{p as ia}from"../chunks/K7MmO9Q9.js";import{g as ie}from"../chunks/BcoJ4GZv.js";import{D as sa}from"../chunks/mBfsYUjq.js";import{g as se}from"../chunks/DQsxKNC2.js";import{e as oe}from"../chunks/BZiHL9L3.js";import{w as ne}from"../chunks/DTRhxHIE.js";import{t as oa}from"../chunks/Bbk4dQfI.js";import{G as $,D as bt}from"../chunks/DG4LDt2Z.js";import{E as kt}from"../chunks/llowLxE6.js";var na=u('
'),la=u('

Error loading credential

'),va=u(' ',1),ga=u('
Upload Base URL
'),ma=u('
Tools Metadata URL
'),ca=u('
Use Internal Tools Metadata
'),xa=u('

Endpoint Information

Name
Description
Type
Base URL
'),pa=u('

GitHub Rate Limit

Limit
Used
Remaining
Reset
'),_a=u('

Repositories

Repositories using this credential

'),ua=u('

Organizations

Organizations using this credential

'),ya=u('

Enterprises

Enterprises using this credential

'),fa=u('

Credential

Credential Information

ID
Name
Description
Auth Type
Forge Type
Base URL
API Base URL
Created
Updated
',1),ha=u(' ',1);function Pa(le,ve){Ke(ve,!1);const[ge,me]=aa(),wt=()=>ra(ia,"$page",ge),et=p(),f=p(),j=p(),Ct=p(),$t=p(),Nt=p(),Mt=p(),zt=p(),At=p();let e=p(null),O=p(!0),P=p(""),V=p(!1),W=null;async function ce(){if(t(et))try{g(O,!0),g(P,"");const i=parseInt(t(et),10);if(isNaN(i)){g(P,"Invalid credential ID"),g(O,!1);return}let m=null;try{g(e,await tt.getGithubCredentials(i))}catch(y){if(m=y,y?.response?.status===404||y?.status===404)try{g(e,await tt.getGiteaCredentials(i))}catch(h){throw h?.response?.status===404||h?.status===404?new Error(`Credential with ID ${i} not found`):h}else throw y}}catch(i){g(P,oe(i))}finally{g(O,!1)}}async function xe(){if(t(e)){try{t(f)?await tt.deleteGithubCredentials(t(e).id):await tt.deleteGiteaCredentials(t(e).id),ie(E("/credentials"))}catch(i){const m=oe(i);oa.error("Delete Failed",m)}g(V,!1)}}function Tt(i){if(i.operation==="delete"){const m=i.payload.id||i.payload;t(e)&&t(e).id===m&&ie(E("/credentials"))}}Qe(()=>{ce();const i=ne.subscribeToEntity("github_credentials",["delete"],Tt),m=ne.subscribeToEntity("gitea_credentials",["delete"],Tt);W=()=>{i(),m()}}),Xe(()=>{W&&(W(),W=null)}),C(()=>wt(),()=>{g(et,wt().params.id)}),C(()=>t(e),()=>{g(f,t(e)?.forge_type==="github")}),C(()=>t(e),()=>{g(j,t(e)?.forge_type==="gitea")}),C(()=>$,()=>{g(Ct,[{key:"name",title:"Repository",cellComponent:kt,cellProps:{entityType:"repository",showOwner:!0}},{key:"pool_balancing_type",title:"Balancing",cellComponent:$,cellProps:{field:"pool_balancing_type"}},{key:"agent_mode",title:"Agent Mode",cellComponent:$,cellProps:{getValue:i=>i.agent_mode?"Yes":"No"}}])}),C(()=>$,()=>{g($t,[{key:"name",title:"Organization",cellComponent:kt,cellProps:{entityType:"organization"}},{key:"pool_balancing_type",title:"Balancing",cellComponent:$,cellProps:{field:"pool_balancing_type"}},{key:"agent_mode",title:"Agent Mode",cellComponent:$,cellProps:{getValue:i=>i.agent_mode?"Yes":"No"}}])}),C(()=>$,()=>{g(Nt,[{key:"name",title:"Enterprise",cellComponent:kt,cellProps:{entityType:"enterprise"}},{key:"pool_balancing_type",title:"Balancing",cellComponent:$,cellProps:{field:"pool_balancing_type"}},{key:"agent_mode",title:"Agent Mode",cellComponent:$,cellProps:{getValue:i=>i.agent_mode?"Yes":"No"}}])}),C(()=>{},()=>{g(Mt,{entityType:"repository",primaryText:{field:"name",format:i=>`${i.owner}/${i.name}`,isClickable:!0,href:"/repositories/{id}"},customInfo:[{text:i=>`Balancing: ${i.pool_balancing_type||"N/A"}`},{text:i=>`Agent Mode: ${i.agent_mode?"Yes":"No"}`}]})}),C(()=>{},()=>{g(zt,{entityType:"organization",primaryText:{field:"name",isClickable:!0,href:"/organizations/{id}"},customInfo:[{text:i=>`Balancing: ${i.pool_balancing_type||"N/A"}`},{text:i=>`Agent Mode: ${i.agent_mode?"Yes":"No"}`}]})}),C(()=>{},()=>{g(At,{entityType:"enterprise",primaryText:{field:"name",isClickable:!0,href:"/enterprises/{id}"},customInfo:[{text:i=>`Balancing: ${i.pool_balancing_type||"N/A"}`},{text:i=>`Agent Mode: ${i.agent_mode?"Yes":"No"}`}]})}),Ze(),Je();var Dt=ha();qe(i=>{k(()=>ea.title=`${t(e),s(()=>t(e)?`${t(e).name} - Credential Details`:"Credential Details")??""} - GARM`)});var at=Y(Dt),rt=a(at),It=a(rt),dt=a(It),pe=a(dt);r(dt);var Bt=d(dt,2),Et=a(Bt),Pt=d(a(Et),2),_e=a(Pt,!0);r(Pt),r(Et),r(Bt),r(It),r(rt);var ue=d(rt,2);{var ye=i=>{var m=na();x(i,m)},fe=i=>{var m=re(),y=Y(m);{var h=b=>{var N=la(),q=a(N),H=d(a(q),2),A=d(a(H),2),J=a(A,!0);r(A),r(H),r(q),r(N),k(()=>l(J,t(P))),x(b,N)},F=b=>{var N=re(),q=Y(N);{var H=A=>{var J=fa(),it=Y(J),Lt=a(it),st=a(Lt),ot=a(st),ke=a(ot);da(ke,()=>(z(se),t(e),s(()=>se(t(e).forge_type||"","w-12 h-12")))),r(ot);var Gt=d(ot,2),nt=a(Gt),we=a(nt,!0);r(nt);var Rt=d(nt,2),lt=a(Rt),Ce=a(lt,!0);r(lt);var $e=d(lt,2);{var Ne=o=>{var n=va(),v=d(Y(n),2),c=a(v,!0);r(v),k(()=>l(c,(t(e),s(()=>t(e).description)))),x(o,n)};_($e,o=>{t(e),s(()=>t(e).description)&&o(Ne)})}r(Rt),r(Gt),r(st);var Ut=d(st,2),Me=a(Ut);r(Ut),r(Lt),r(it);var vt=d(it,2),St=d(a(vt),2),gt=a(St),Yt=d(a(gt),2),ze=a(Yt,!0);r(Yt),r(gt);var mt=d(gt,2),jt=d(a(mt),2),Ae=a(jt,!0);r(jt),r(mt);var ct=d(mt,2),Ot=d(a(ct),2),Te=a(Ot,!0);r(Ot),r(ct);var xt=d(ct,2),Vt=d(a(xt),2),De=a(Vt,!0);r(Vt),r(xt);var pt=d(xt,2),Wt=d(a(pt),2),Ie=a(Wt,!0);r(Wt),r(pt);var _t=d(pt,2),Ft=d(a(_t),2),Be=a(Ft,!0);r(Ft),r(_t);var ut=d(_t,2),qt=d(a(ut),2),Ee=a(qt,!0);r(qt),r(ut);var Ht=d(ut,2);{var Pe=o=>{var n=ga(),v=d(a(n),2),c=a(v,!0);r(v),r(n),k(()=>l(c,(t(e),s(()=>t(e).upload_base_url)))),x(o,n)};_(Ht,o=>{t(f),t(e),s(()=>t(f)&&t(e).upload_base_url)&&o(Pe)})}var yt=d(Ht,2),Jt=d(a(yt),2),Le=a(Jt,!0);r(Jt),r(yt);var Kt=d(yt,2),Qt=d(a(Kt),2),Ge=a(Qt,!0);r(Qt),r(Kt),r(St),r(vt);var Xt=d(vt,2);{var Re=o=>{var n=xa(),v=d(a(n),2),c=a(v),L=d(a(c),2),G=a(L),R=a(G,!0);r(G),r(L),r(c);var T=d(c,2),K=d(a(T),2),U=a(K,!0);r(K),r(T);var D=d(T,2),Q=d(a(D),2),X=a(Q,!0);r(Q),r(D);var I=d(D,2),Z=d(a(I),2),ft=a(Z,!0);r(Z),r(I);var ae=d(I,2);{var Ve=w=>{var M=ma(),S=d(a(M),2),ht=a(S,!0);r(S),r(M),k(()=>l(ht,(t(e),s(()=>t(e).endpoint.tools_metadata_url)))),x(w,M)};_(ae,w=>{t(j),t(e),s(()=>t(j)&&t(e).endpoint.tools_metadata_url)&&w(Ve)})}var We=d(ae,2);{var Fe=w=>{var M=ca(),S=d(a(M),2),ht=a(S,!0);r(S),r(M),k(()=>l(ht,(t(e),s(()=>t(e).endpoint.use_internal_tools_metadata?"Yes":"No")))),x(w,M)};_(We,w=>{t(j)&&w(Fe)})}r(v),r(n),k(w=>{de(G,"href",w),l(R,(t(e),s(()=>t(e).endpoint.name))),l(U,(t(e),s(()=>t(e).endpoint.description||"N/A"))),l(X,(t(e),s(()=>t(e).endpoint.endpoint_type))),l(ft,(t(e),s(()=>t(e).endpoint.base_url)))},[()=>(z(E),s(()=>E("/endpoints")))]),x(o,n)};_(Xt,o=>{t(e),s(()=>t(e).endpoint)&&o(Re)})}var Zt=d(Xt,2);{var Ue=o=>{var n=pa(),v=d(a(n),2),c=a(v),L=d(a(c),2),G=a(L,!0);r(L),r(c);var R=d(c,2),T=d(a(R),2),K=a(T,!0);r(T),r(R);var U=d(R,2),D=d(a(U),2),Q=a(D,!0);r(D),r(U);var X=d(U,2),I=d(a(X),2),Z=a(I,!0);r(I),r(X),r(v),r(n),k(ft=>{l(G,(t(e),s(()=>t(e).rate_limit.limit))),l(K,(t(e),s(()=>t(e).rate_limit.used))),l(Q,(t(e),s(()=>t(e).rate_limit.remaining))),l(Z,ft)},[()=>(t(e),s(()=>new Date((t(e).rate_limit.reset||0)*1e3).toLocaleString()))]),x(o,n)};_(Zt,o=>{t(f),t(e),s(()=>t(f)&&t(e).rate_limit)&&o(Ue)})}var te=d(Zt,2);{var Se=o=>{var n=_a(),v=d(a(n),2),c=a(v);bt(c,{get columns(){return t(Ct)},get data(){return t(e),s(()=>t(e).repositories)},loading:!1,searchPlaceholder:"Search repositories...",itemName:"repositories",emptyMessage:"No repositories using this credential",get mobileCardConfig(){return t(Mt)}}),r(v),r(n),x(o,n)};_(te,o=>{t(e),s(()=>t(e).repositories&&t(e).repositories.length>0)&&o(Se)})}var ee=d(te,2);{var Ye=o=>{var n=ua(),v=d(a(n),2),c=a(v);bt(c,{get columns(){return t($t)},get data(){return t(e),s(()=>t(e).organizations)},loading:!1,searchPlaceholder:"Search organizations...",itemName:"organizations",emptyMessage:"No organizations using this credential",get mobileCardConfig(){return t(zt)}}),r(v),r(n),x(o,n)};_(ee,o=>{t(e),s(()=>t(e).organizations&&t(e).organizations.length>0)&&o(Ye)})}var je=d(ee,2);{var Oe=o=>{var n=ya(),v=d(a(n),2),c=a(v);bt(c,{get columns(){return t(Nt)},get data(){return t(e),s(()=>t(e).enterprises)},loading:!1,searchPlaceholder:"Search enterprises...",itemName:"enterprises",emptyMessage:"No enterprises using this credential",get mobileCardConfig(){return t(At)}}),r(v),r(n),x(o,n)};_(je,o=>{t(f),t(e),s(()=>t(f)&&t(e).enterprises&&t(e).enterprises.length>0)&&o(Oe)})}k((o,n)=>{l(we,(t(e),s(()=>t(e).name||"Unnamed Credential"))),l(Ce,(t(e),s(()=>t(e).forge_type))),l(ze,(t(e),s(()=>t(e).id))),l(Ae,(t(e),s(()=>t(e).name))),l(Te,(t(e),s(()=>t(e).description||"N/A"))),l(De,(t(e),s(()=>t(e)["auth-type"]||"N/A"))),l(Ie,(t(e),s(()=>t(e).forge_type||"N/A"))),l(Be,(t(e),s(()=>t(e).base_url||"N/A"))),l(Ee,(t(e),s(()=>t(e).api_base_url||"N/A"))),l(Le,o),l(Ge,n)},[()=>(t(e),s(()=>new Date(t(e).created_at||"").toLocaleString())),()=>(t(e),s(()=>new Date(t(e).updated_at||"").toLocaleString()))]),He("click",Me,()=>g(V,!0)),x(A,J)};_(q,A=>{t(e)&&A(H)},!0)}x(b,N)};_(y,b=>{t(P)?b(h):b(F,!1)},!0)}x(i,m)};_(ue,i=>{t(O)?i(ye):i(fe,!1)})}r(at);var he=d(at,2);{var be=i=>{const m=B(()=>(t(e),s(()=>t(e).repositories?.length||0))),y=B(()=>(t(e),s(()=>t(e).organizations?.length||0))),h=B(()=>(t(f),t(e),s(()=>t(f)&&t(e).enterprises?.length||0))),F=B(()=>(z(t(m)),z(t(y)),z(t(h)),s(()=>[t(m)>0?`Warning: This credential is currently used by ${t(m)} ${t(m)===1?"repository":"repositories"}.`:"",t(y)>0?`Warning: This credential is currently used by ${t(y)} ${t(y)===1?"organization":"organizations"}.`:"",t(h)>0?`Warning: This credential is currently used by ${t(h)} ${t(h)===1?"enterprise":"enterprises"}.`:""].filter(b=>b).join(" "))));{let b=B(()=>(t(e),z(t(F)),s(()=>`Are you sure you want to delete the credential '${t(e).name}'? This action cannot be undone. ${t(F)}`))),N=B(()=>(t(e),s(()=>t(e).name||"credential")));sa(i,{title:"Delete Credential",get message(){return t(b)},get itemName(){return t(N)},$$events:{confirm:xe,cancel:()=>g(V,!1)}})}};_(he,i=>{t(V)&&t(e)&&i(be)})}k(i=>{de(pe,"href",i),l(_e,(t(e),s(()=>t(e)?.name||"Loading...")))},[()=>(z(E),s(()=>E("/credentials")))]),x(le,Dt),ta(),me()}export{Pa as component}; diff --git a/webapp/assets/_app/immutable/nodes/4.CvPd1-eU.js b/webapp/assets/_app/immutable/nodes/4.CvPd1-eU.js deleted file mode 100644 index bfe59912..00000000 --- a/webapp/assets/_app/immutable/nodes/4.CvPd1-eU.js +++ /dev/null @@ -1 +0,0 @@ -import{c as aa,a as h,h as ra,b as _,l as da,s as v,f as b,d as ve,e as ia}from"../chunks/CxOx-TIJ.js";import{i as sa}from"../chunks/3NxSoY2_.js";import{p as oa,o as na,x as la,l as D,b as va,f as q,d as p,t as T,a as ga,g as t,m as y,s as d,u as s,h as E,F as u,c as a,j as c,i as C,$ as ca,r,y as it,e as R,n as st}from"../chunks/DzFKsO_V.js";import{s as ma,a as xa,i as f,v as pa}from"../chunks/B_jyf0qs.js";import{c as U,d as ge,g as ot,h as _a}from"../chunks/BguOOs3x.js";import{p as ce}from"../chunks/DgabA6iF.js";import{g as me}from"../chunks/BzzAh3Be.js";import{D as ua}from"../chunks/DL1RlOO9.js";import{g as xe}from"../chunks/JkzpcrZD.js";import{e as pe}from"../chunks/BZiHL9L3.js";import{w as _e}from"../chunks/DSHGoHxX.js";import{t as ya}from"../chunks/li_-Mkq2.js";import{G as A,E as Mt,D as Dt}from"../chunks/C2FKJqnN.js";o[u]="src/routes/credentials/[id]/+page.svelte";var fa=h(b('
'),o[u],[[275,2,[[276,3]]]]),ha=h(b('

Error loading credential

'),o[u],[[279,2,[[280,3,[[281,4,[[282,5]]],[284,4,[[285,5],[286,5]]]]]]]]),ba=h(b(' ',1),o[u],[[303,8],[304,8]]),ka=h(b('
Upload Base URL
'),o[u],[[353,5,[[354,6],[355,6]]]]),wa=h(b('
Tools Metadata URL
'),o[u],[[395,6,[[396,7],[397,7]]]]),Ca=h(b('
Use Internal Tools Metadata
'),o[u],[[401,6,[[402,7],[403,7]]]]),$a=h(b('

Endpoint Information

Name
Description
Type
Base URL
'),o[u],[[371,3,[[372,4],[373,4,[[374,5,[[375,6],[376,6,[[377,7]]]]],[382,5,[[383,6],[384,6]]],[386,5,[[387,6],[388,6]]],[390,5,[[391,6],[392,6]]]]]]]]),Na=h(b('

GitHub Rate Limit

Limit
Used
Remaining
Reset
'),o[u],[[412,3,[[413,4],[414,4,[[415,5,[[416,6],[417,6]]],[419,5,[[420,6],[421,6]]],[423,5,[[424,6],[425,6]]],[427,5,[[428,6],[429,6]]]]]]]]),Ta=h(b('

Repositories

Repositories using this credential

'),o[u],[[439,3,[[440,4,[[441,5],[442,5]]],[446,4]]]]),Ma=h(b('

Organizations

Organizations using this credential

'),o[u],[[462,3,[[463,4,[[464,5],[465,5]]],[469,4]]]]),Da=h(b('

Enterprises

Enterprises using this credential

'),o[u],[[485,3,[[486,4,[[487,5],[488,5]]],[492,4]]]]),Aa=h(b('

Credential

Credential Information

ID
Name
Description
Auth Type
Forge Type
Base URL
API Base URL
Created
Updated
',1),o[u],[[292,2,[[293,3,[[294,4,[[295,5],[298,5,[[299,6],[300,6,[[301,7]]]]]]],[309,4,[[310,5]]]]]]],[321,2,[[322,3],[323,3,[[324,4,[[325,5],[326,5]]],[328,4,[[329,5],[330,5]]],[332,4,[[333,5],[334,5]]],[336,4,[[337,5],[338,5]]],[340,4,[[341,5],[342,5]]],[344,4,[[345,5],[346,5]]],[348,4,[[349,5],[350,5]]],[358,4,[[359,5],[360,5]]],[362,4,[[363,5],[364,5]]]]]]]]),za=h(b(' ',1),o[u],[[249,0,[[251,1,[[252,2,[[253,3,[[254,4,[[255,5,[[256,6]]]]]]],[261,3,[[262,4,[[263,5,[[264,6]]],[266,5]]]]]]]]]]]]);function o(ue,ye){aa(new.target),oa(ye,!1,o);const[fe,he]=ma(),At=()=>(pa(ce,"page"),xa(ce,"$page",fe)),nt=y(),$=y(),H=y(),zt=y(),It=y(),Et=y(),Bt=y(),Lt=y(),Pt=y();let e=y(null),J=y(!0),S=y(""),K=y(!1),Q=null;async function be(){if(t(nt))try{c(J,!0),c(S,"");const i=parseInt(t(nt),10);if(isNaN(i)){c(S,"Invalid credential ID"),c(J,!1);return}let m=null;try{c(e,(await st(ot.getGithubCredentials(i)))())}catch(k){if(m=k,C(k?.response?.status,404)||C(k?.status,404))try{c(e,(await st(ot.getGiteaCredentials(i)))())}catch(w){throw C(w?.response?.status,404)||C(w?.status,404)?new Error(`Credential with ID ${i} not found`):w}else throw k}}catch(i){c(S,pe(i))}finally{c(J,!1)}}async function ke(){if(t(e)){try{t($)?(await st(ot.deleteGithubCredentials(t(e).id)))():(await st(ot.deleteGiteaCredentials(t(e).id)))(),me(U("/credentials"))}catch(i){const m=pe(i);ya.error("Delete Failed",m)}c(K,!1)}}function Gt(i){if(C(i.operation,"delete")){const m=i.payload.id||i.payload;t(e)&&C(t(e).id,m)&&me(U("/credentials"))}}na(()=>{be();const i=_e.subscribeToEntity("github_credentials",["delete"],Gt),m=_e.subscribeToEntity("gitea_credentials",["delete"],Gt);Q=()=>{i(),m()}}),la(()=>{Q&&(Q(),Q=null)}),D(()=>At(),()=>{c(nt,At().params.id)}),D(()=>t(e),()=>{c($,C(t(e)?.forge_type,"github"))}),D(()=>t(e),()=>{c(H,C(t(e)?.forge_type,"gitea"))}),D(()=>A,()=>{c(zt,[{key:"name",title:"Repository",cellComponent:Mt,cellProps:{entityType:"repository",showOwner:!0}},{key:"pool_balancing_type",title:"Balancing",cellComponent:A,cellProps:{field:"pool_balancing_type"}},{key:"agent_mode",title:"Agent Mode",cellComponent:A,cellProps:{getValue:i=>i.agent_mode?"Yes":"No"}}])}),D(()=>A,()=>{c(It,[{key:"name",title:"Organization",cellComponent:Mt,cellProps:{entityType:"organization"}},{key:"pool_balancing_type",title:"Balancing",cellComponent:A,cellProps:{field:"pool_balancing_type"}},{key:"agent_mode",title:"Agent Mode",cellComponent:A,cellProps:{getValue:i=>i.agent_mode?"Yes":"No"}}])}),D(()=>A,()=>{c(Et,[{key:"name",title:"Enterprise",cellComponent:Mt,cellProps:{entityType:"enterprise"}},{key:"pool_balancing_type",title:"Balancing",cellComponent:A,cellProps:{field:"pool_balancing_type"}},{key:"agent_mode",title:"Agent Mode",cellComponent:A,cellProps:{getValue:i=>i.agent_mode?"Yes":"No"}}])}),D(()=>{},()=>{c(Bt,{entityType:"repository",primaryText:{field:"name",format:i=>`${i.owner}/${i.name}`,isClickable:!0,href:"/repositories/{id}"},customInfo:[{text:i=>`Balancing: ${i.pool_balancing_type||"N/A"}`},{text:i=>`Agent Mode: ${i.agent_mode?"Yes":"No"}`}]})}),D(()=>{},()=>{c(Lt,{entityType:"organization",primaryText:{field:"name",isClickable:!0,href:"/organizations/{id}"},customInfo:[{text:i=>`Balancing: ${i.pool_balancing_type||"N/A"}`},{text:i=>`Agent Mode: ${i.agent_mode?"Yes":"No"}`}]})}),D(()=>{},()=>{c(Pt,{entityType:"enterprise",primaryText:{field:"name",isClickable:!0,href:"/enterprises/{id}"},customInfo:[{text:i=>`Balancing: ${i.pool_balancing_type||"N/A"}`},{text:i=>`Agent Mode: ${i.agent_mode?"Yes":"No"}`}]})}),va(),sa();var Rt=za();ra(i=>{T(()=>ca.title=`${t(e),s(()=>t(e)?`${t(e).name} - Credential Details`:"Credential Details")??""} - GARM`)});var lt=q(Rt),vt=a(lt),Ut=a(vt),gt=a(Ut),we=a(gt);r(gt);var St=d(gt,2),Yt=a(St),jt=d(a(Yt),2),Ce=a(jt,!0);r(jt),r(Yt),r(St),r(Ut),r(vt);var $e=d(vt,2);{var Ne=i=>{var m=fa();_(i,m)},Te=i=>{var m=ve(),k=q(m);{var w=N=>{var z=ha(),X=a(z),Z=d(a(X),2),B=d(a(Z),2),tt=a(B,!0);r(B),r(Z),r(X),r(z),T(()=>v(tt,t(S))),_(N,z)},Y=N=>{var z=ve(),X=q(z);{var Z=B=>{var tt=Aa(),ct=q(tt),Ft=a(ct),mt=a(Ft),xt=a(mt),ze=a(xt);_a(ze,()=>(E(xe),t(e),s(()=>xe(t(e).forge_type||"","w-12 h-12")))),r(xt);var Ot=d(xt,2),pt=a(Ot),Ie=a(pt,!0);r(pt);var Vt=d(pt,2),_t=a(Vt),Ee=a(_t,!0);r(_t);var Be=d(_t,2);{var Le=n=>{var l=ba(),g=d(q(l),2),x=a(g,!0);r(g),T(()=>v(x,(t(e),s(()=>t(e).description)))),_(n,l)};p(()=>f(Be,n=>{t(e),s(()=>t(e).description)&&n(Le)}),"if",o,302,7)}r(Vt),r(Ot),r(mt);var Wt=d(mt,2),Pe=a(Wt);r(Wt),r(Ft),r(ct);var ut=d(ct,2),qt=d(a(ut),2),yt=a(qt),Ht=d(a(yt),2),Ge=a(Ht,!0);r(Ht),r(yt);var ft=d(yt,2),Jt=d(a(ft),2),Re=a(Jt,!0);r(Jt),r(ft);var ht=d(ft,2),Kt=d(a(ht),2),Ue=a(Kt,!0);r(Kt),r(ht);var bt=d(ht,2),Qt=d(a(bt),2),Se=a(Qt,!0);r(Qt),r(bt);var kt=d(bt,2),Xt=d(a(kt),2),Ye=a(Xt,!0);r(Xt),r(kt);var wt=d(kt,2),Zt=d(a(wt),2),je=a(Zt,!0);r(Zt),r(wt);var Ct=d(wt,2),te=d(a(Ct),2),Fe=a(te,!0);r(te),r(Ct);var ee=d(Ct,2);{var Oe=n=>{var l=ka(),g=d(a(l),2),x=a(g,!0);r(g),r(l),T(()=>v(x,(t(e),s(()=>t(e).upload_base_url)))),_(n,l)};p(()=>f(ee,n=>{t($),t(e),s(()=>t($)&&t(e).upload_base_url)&&n(Oe)}),"if",o,352,4)}var $t=d(ee,2),ae=d(a($t),2),Ve=a(ae,!0);r(ae),r($t);var re=d($t,2),de=d(a(re),2),We=a(de,!0);r(de),r(re),r(qt),r(ut);var ie=d(ut,2);{var qe=n=>{var l=$a(),g=d(a(l),2),x=a(g),j=d(a(x),2),F=a(j),O=a(F,!0);r(F),r(j),r(x);var L=d(x,2),et=d(a(L),2),V=a(et,!0);r(et),r(L);var P=d(L,2),at=d(a(P),2),rt=a(at,!0);r(at),r(P);var G=d(P,2),dt=d(a(G),2),Nt=a(dt,!0);r(dt),r(G);var le=d(G,2);{var Ze=M=>{var I=wa(),W=d(a(I),2),Tt=a(W,!0);r(W),r(I),T(()=>v(Tt,(t(e),s(()=>t(e).endpoint.tools_metadata_url)))),_(M,I)};p(()=>f(le,M=>{t(H),t(e),s(()=>t(H)&&t(e).endpoint.tools_metadata_url)&&M(Ze)}),"if",o,394,5)}var ta=d(le,2);{var ea=M=>{var I=Ca(),W=d(a(I),2),Tt=a(W,!0);r(W),r(I),T(()=>v(Tt,(t(e),s(()=>t(e).endpoint.use_internal_tools_metadata?"Yes":"No")))),_(M,I)};p(()=>f(ta,M=>{t(H)&&M(ea)}),"if",o,400,5)}r(g),r(l),T(M=>{ge(F,"href",M),v(O,(t(e),s(()=>t(e).endpoint.name))),v(V,(t(e),s(()=>t(e).endpoint.description||"N/A"))),v(rt,(t(e),s(()=>t(e).endpoint.endpoint_type))),v(Nt,(t(e),s(()=>t(e).endpoint.base_url)))},[()=>(E(U),s(()=>U("/endpoints")))]),_(n,l)};p(()=>f(ie,n=>{t(e),s(()=>t(e).endpoint)&&n(qe)}),"if",o,370,2)}var se=d(ie,2);{var He=n=>{var l=Na(),g=d(a(l),2),x=a(g),j=d(a(x),2),F=a(j,!0);r(j),r(x);var O=d(x,2),L=d(a(O),2),et=a(L,!0);r(L),r(O);var V=d(O,2),P=d(a(V),2),at=a(P,!0);r(P),r(V);var rt=d(V,2),G=d(a(rt),2),dt=a(G,!0);r(G),r(rt),r(g),r(l),T(Nt=>{v(F,(t(e),s(()=>t(e).rate_limit.limit))),v(et,(t(e),s(()=>t(e).rate_limit.used))),v(at,(t(e),s(()=>t(e).rate_limit.remaining))),v(dt,Nt)},[()=>(t(e),s(()=>new Date((t(e).rate_limit.reset||0)*1e3).toLocaleString()))]),_(n,l)};p(()=>f(se,n=>{t($),t(e),s(()=>t($)&&t(e).rate_limit)&&n(He)}),"if",o,411,2)}var oe=d(se,2);{var Je=n=>{var l=Ta(),g=d(a(l),2),x=a(g);p(()=>Dt(x,{get columns(){return t(zt)},get data(){return t(e),s(()=>t(e).repositories)},loading:!1,searchPlaceholder:"Search repositories...",itemName:"repositories",emptyMessage:"No repositories using this credential",get mobileCardConfig(){return t(Bt)}}),"component",o,447,5,{componentTag:"DataTable"}),r(g),r(l),_(n,l)};p(()=>f(oe,n=>{t(e),s(()=>t(e).repositories&&t(e).repositories.length>0)&&n(Je)}),"if",o,438,2)}var ne=d(oe,2);{var Ke=n=>{var l=Ma(),g=d(a(l),2),x=a(g);p(()=>Dt(x,{get columns(){return t(It)},get data(){return t(e),s(()=>t(e).organizations)},loading:!1,searchPlaceholder:"Search organizations...",itemName:"organizations",emptyMessage:"No organizations using this credential",get mobileCardConfig(){return t(Lt)}}),"component",o,470,5,{componentTag:"DataTable"}),r(g),r(l),_(n,l)};p(()=>f(ne,n=>{t(e),s(()=>t(e).organizations&&t(e).organizations.length>0)&&n(Ke)}),"if",o,461,2)}var Qe=d(ne,2);{var Xe=n=>{var l=Da(),g=d(a(l),2),x=a(g);p(()=>Dt(x,{get columns(){return t(Et)},get data(){return t(e),s(()=>t(e).enterprises)},loading:!1,searchPlaceholder:"Search enterprises...",itemName:"enterprises",emptyMessage:"No enterprises using this credential",get mobileCardConfig(){return t(Pt)}}),"component",o,493,5,{componentTag:"DataTable"}),r(g),r(l),_(n,l)};p(()=>f(Qe,n=>{t($),t(e),s(()=>t($)&&t(e).enterprises&&t(e).enterprises.length>0)&&n(Xe)}),"if",o,484,2)}T((n,l)=>{v(Ie,(t(e),s(()=>t(e).name||"Unnamed Credential"))),v(Ee,(t(e),s(()=>t(e).forge_type))),v(Ge,(t(e),s(()=>t(e).id))),v(Re,(t(e),s(()=>t(e).name))),v(Ue,(t(e),s(()=>t(e).description||"N/A"))),v(Se,(t(e),s(()=>t(e)["auth-type"]||"N/A"))),v(Ye,(t(e),s(()=>t(e).forge_type||"N/A"))),v(je,(t(e),s(()=>t(e).base_url||"N/A"))),v(Fe,(t(e),s(()=>t(e).api_base_url||"N/A"))),v(Ve,n),v(We,l)},[()=>(t(e),s(()=>new Date(t(e).created_at||"").toLocaleString())),()=>(t(e),s(()=>new Date(t(e).updated_at||"").toLocaleString()))]),ia("click",Pe,()=>c(K,!0)),_(B,tt)};p(()=>f(X,B=>{t(e)&&B(Z)},!0),"if",o,290,1)}_(N,z)};p(()=>f(k,N=>{t(S)?N(w):N(Y,!1)},!0),"if",o,278,1)}_(i,m)};p(()=>f($e,i=>{t(J)?i(Ne):i(Te,!1)}),"if",o,274,1)}r(lt);var Me=d(lt,2);{var De=i=>{const m=it(R(()=>(t(e),s(()=>t(e).repositories?.length||0))),"repoCount");t(m);const k=it(R(()=>(t(e),s(()=>t(e).organizations?.length||0))),"orgCount");t(k);const w=it(R(()=>(t($),t(e),s(()=>t($)&&t(e).enterprises?.length||0))),"entCount");t(w);const Y=it(R(()=>(E(t(m)),E(t(k)),E(t(w)),s(()=>[t(m)>0?`Warning: This credential is currently used by ${t(m)} ${C(t(m),1)?"repository":"repositories"}.`:"",t(k)>0?`Warning: This credential is currently used by ${t(k)} ${C(t(k),1)?"organization":"organizations"}.`:"",t(w)>0?`Warning: This credential is currently used by ${t(w)} ${C(t(w),1)?"enterprise":"enterprises"}.`:""].filter(N=>N).join(" ")))),"warnings");t(Y);{let N=R(()=>(t(e),E(t(Y)),s(()=>`Are you sure you want to delete the credential '${t(e).name}'? This action cannot be undone. ${t(Y)}`))),z=R(()=>(t(e),s(()=>t(e).name||"credential")));p(()=>ua(i,{title:"Delete Credential",get message(){return t(N)},get itemName(){return t(z)},$$events:{confirm:ke,cancel:()=>c(K,!1)}}),"component",o,518,1,{componentTag:"DeleteModal"})}};p(()=>f(Me,i=>{t(K)&&t(e)&&i(De)}),"if",o,509,0)}T(i=>{ge(we,"href",i),v(Ce,(t(e),s(()=>t(e)?.name||"Loading...")))},[()=>(E(U),s(()=>U("/credentials")))]),_(ue,Rt);var Ae=ga({...da()});return he(),Ae}export{o as component}; diff --git a/webapp/assets/_app/immutable/nodes/5.DLLdfWzr.js b/webapp/assets/_app/immutable/nodes/5.DLLdfWzr.js deleted file mode 100644 index d4fadd1e..00000000 --- a/webapp/assets/_app/immutable/nodes/5.DLLdfWzr.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c as Dt,a as I,e as m,h as Ft,b as B,l as Gt,s as Q,f as D,r as at}from"../chunks/CxOx-TIJ.js";import{i as jt}from"../chunks/3NxSoY2_.js";import{p as zt,g as e,o as qt,l as ie,b as Nt,f as Te,d as w,a as Ht,m as v,q as St,$ as Vt,c as o,s as r,e as Ve,r as s,u as h,h as Re,t as te,F as M,j as n,k as g,i,n as ae,w as de}from"../chunks/DzFKsO_V.js";import{s as Ot,a as Wt,i as ue,v as Kt}from"../chunks/B_jyf0qs.js";import{h as Jt,r as U,d as rt,s as V,g as fe}from"../chunks/BguOOs3x.js";import{b as L,a as ot}from"../chunks/BVM1034P.js";import{p as st}from"../chunks/CdEA5IGF.js";import{l as nt}from"../chunks/BAcG6-Ep.js";import{P as Qt}from"../chunks/DTko0dwG.js";import{F as Xt}from"../chunks/DvQW-lMP.js";import{A as lt}from"../chunks/Ct5kWObc.js";import{e as it,a as dt}from"../chunks/Penjr-j0.js";import{t as Ue}from"../chunks/li_-Mkq2.js";import{g as Oe,c as Yt,a as Zt,p as ea}from"../chunks/JkzpcrZD.js";import{e as We}from"../chunks/BZiHL9L3.js";import{D as ta,G as Ke,a as aa,A as ra}from"../chunks/C2FKJqnN.js";import{T as Ge}from"../chunks/Cy4PP0DI.js";d[M]="src/routes/endpoints/+page.svelte";var oa=I(D('

'),d[M],[[497,3,[[498,4,[[499,5,[[500,6],[503,6],[506,6,[[508,7]]]]]]],[512,4]]]]),sa=I(D('
',1),d[M],[[606,5,[[607,6,[[608,20]]],[610,6]]],[621,5,[[622,6],[625,6]]]]),na=I(D('

If empty, Base URL will be used as API Base URL

',1),d[M],[[635,5,[[636,6,[[637,20]]],[639,6],[647,6]]],[651,5,[[652,6,[[653,7,[[654,27]]],[656,7]]],[665,6],[674,6]]],[677,5,[[678,6],[684,6],[687,6]]]]),la=I(D('

'),d[M],[[710,7,[[711,8,[[712,9]]],[714,8],[717,8,[[718,9],[721,9],[722,9]]]]]]),ia=I(D('

or drag and drop

PEM, CRT, CER, CERT files only

'),d[M],[[728,7,[[729,8,[[730,9]]],[732,8,[[733,9]]],[738,8]]]]),da=I(D(''),d[M],[[536,1,[[537,2],[538,2,[[539,3,[[540,4,[[541,5],[544,5]]],[548,4,[[549,5,[[550,6]]]]]]],[555,3,[[561,4,[[562,5,[[563,20]]],[565,5]]],[576,4,[[577,5],[580,5]]],[590,4,[[591,5,[[592,15]]],[594,5]]],[699,4,[[700,5],[701,5,[[702,6]]]]],[744,4,[[745,5],[752,5]]]]]]]]]]),ua=I(D('
',1),d[M],[[830,5,[[831,6,[[832,20]]],[834,6]]],[844,5,[[845,6],[848,6]]]]),ca=I(D('

If empty, Base URL will be used as API Base URL

',1),d[M],[[857,5,[[858,6,[[859,20]]],[861,6],[868,6]]],[872,5,[[873,6,[[874,7,[[875,27]]],[877,7]]],[886,6],[895,6]]],[898,5,[[899,6],[905,6],[908,6]]]]),pa=I(D('

'),d[M],[[931,7,[[932,8,[[933,9]]],[935,8],[938,8,[[939,9],[942,9],[943,9]]]]]]),ba=I(D('

or drag and drop

PEM, CRT, CER, CERT files only

'),d[M],[[949,7,[[950,8,[[951,9]]],[953,8,[[954,9]]],[959,8]]]]),_a=I(D(''),d[M],[[768,1,[[769,2],[770,2,[[771,3,[[772,4,[[773,5],[776,5]]],[780,4,[[781,5,[[782,6]]]]]]],[787,3,[[788,4,[[789,5,[[790,20]]],[792,5]]],[802,4,[[803,5],[806,5]]],[815,4,[[816,5,[[817,15]]],[819,5]]],[920,4,[[921,5],[922,5,[[923,6]]]]],[965,4,[[966,5],[973,5]]]]]]]]]]),ga=I(D(''),d[M],[[989,1,[[990,2],[991,2,[[992,3,[[993,4,[[994,5,[[995,6,[[996,7]]]]],[999,5,[[1e3,6],[1001,6]]]]]]],[1007,3,[[1008,4],[1015,4]]]]]]]]),ma=I(D('
',1),d[M],[[464,0]]);function d(ut,ct){Dt(new.target),zt(ct,!1,d);const[pt,bt]=Ot(),re=()=>(Kt(it,"eagerCache"),Wt(it,"$eagerCache",pt)),je=v(),oe=v(),Je=v(),ve=v();let Le=v(!0),ce=v([]),Me=v(""),Pe=v(""),O=v(1),pe=v(25),be=v(1),$e=v(!1),Ae=v(!1),Be=v(!1),X=v("github"),C=v(null),q=v(null),t=v({name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:"",tools_metadata_url:"",use_internal_tools_metadata:!1}),j=v(""),E={...e(t)};qt(async()=>{try{n(Le,!0);const a=(await ae(dt.getEndpoints()))();a&&Array.isArray(a)&&n(ce,a)}catch(a){console.error(...nt("error","Failed to load endpoints:",a)),n(Me,a instanceof Error?a.message:"Failed to load endpoints")}finally{n(Le,!1)}});async function _t(){try{(await ae(dt.retryResource("endpoints")))()}catch(a){console.error(...nt("error","Retry failed:",a))}}const gt=[{key:"name",title:"Name",cellComponent:Ke,cellProps:{field:"name"}},{key:"description",title:"Description",cellComponent:Ke,cellProps:{field:"description"}},{key:"api_url",title:"API URL",cellComponent:Ke,cellProps:{field:"api_base_url",fallbackField:"base_url"}},{key:"forge_type",title:"Forge Type",cellComponent:aa},{key:"actions",title:"Actions",align:"right",cellComponent:ra}],mt={entityType:"endpoint",primaryText:{field:"name",isClickable:!1},secondaryText:{field:"description"},customInfo:[{icon:a=>Oe(a?.endpoint_type||"unknown"),text:a=>a?.api_base_url||"Unknown"}],actions:[{type:"edit",handler:a=>ze(a)},{type:"delete",handler:a=>qe(a)}]};function ft(a){n(Pe,a.detail.term),n(O,1)}function vt(a){n(O,a.detail.page)}function yt(a){const u=Yt(a.detail.perPage);n(pe,u.newPerPage),n(O,u.newCurrentPage)}function xt(a){ze(a.detail.item)}function ht(a){qe(a.detail.item)}function kt(){n(X,"github"),Ne(),g(t,e(t).endpoint_type="github"),n($e,!0)}function wt(a){n(X,a.detail),Ne(),g(t,e(t).endpoint_type=a.detail)}function ze(a){n(C,a),n(t,{name:a.name||"",description:a.description||"",endpoint_type:a.endpoint_type||"",base_url:a.base_url||"",api_base_url:a.api_base_url||"",upload_base_url:a.upload_base_url||"",ca_cert_bundle:i(typeof a.ca_cert_bundle,"string")?a.ca_cert_bundle:"",tools_metadata_url:a.tools_metadata_url||"",use_internal_tools_metadata:a.use_internal_tools_metadata||!1}),E={...e(t)},n(j,e(t).ca_cert_bundle?"certificate.pem":""),n(Ae,!0)}function qe(a){n(q,a),n(Be,!0)}function Ne(){n(t,{name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:"",tools_metadata_url:"",use_internal_tools_metadata:!1}),E={...e(t)},n(j,"")}function Ct(a){i(a.key,"Escape")&&(e($e)||e(Ae)||e(Be))&&P()}function P(){n($e,!1),n(Ae,!1),n(Be,!1),n(X,"github"),n(C,null),n(q,null),Ne()}function Et(){const a={};if(i(e(t).description,E.description,!1)&&(i(e(t).description.trim(),"",!1)||i(E.description,"",!1))&&(a.description=e(t).description.trim()),i(e(t).base_url,E.base_url,!1)&&i(e(t).base_url.trim(),"",!1)&&(a.base_url=e(t).base_url.trim()),i(e(t).api_base_url,E.api_base_url,!1)&&(i(e(t).api_base_url.trim(),"",!1)||i(E.api_base_url,"",!1))&&(a.api_base_url=e(t).api_base_url.trim()),i(e(C)?.endpoint_type,"github")&&i(e(t).upload_base_url,E.upload_base_url,!1)&&(i(e(t).upload_base_url.trim(),"",!1)||i(E.upload_base_url,"",!1))&&(a.upload_base_url=e(t).upload_base_url.trim()),i(e(t).ca_cert_bundle,E.ca_cert_bundle,!1))if(i(e(t).ca_cert_bundle,"",!1))try{const u=atob(e(t).ca_cert_bundle);a.ca_cert_bundle=Array.from(u,y=>y.charCodeAt(0))}catch{i(E.ca_cert_bundle,"",!1)&&(a.ca_cert_bundle=[])}else i(E.ca_cert_bundle,"",!1)&&(a.ca_cert_bundle=[]);return i(e(C)?.endpoint_type,"gitea")&&(i(e(t).tools_metadata_url,E.tools_metadata_url,!1)&&(a.tools_metadata_url=e(t).tools_metadata_url.trim()),i(e(t).use_internal_tools_metadata,E.use_internal_tools_metadata,!1)&&(a.use_internal_tools_metadata=e(t).use_internal_tools_metadata)),a}async function Tt(){try{const a={name:e(t).name,description:e(t).description,endpoint_type:e(t).endpoint_type,base_url:e(t).base_url,api_base_url:e(t).api_base_url,upload_base_url:e(t).upload_base_url};if(i(e(t).endpoint_type,"gitea")&&(i(e(t).tools_metadata_url.trim(),"",!1)&&(a.tools_metadata_url=e(t).tools_metadata_url.trim()),a.use_internal_tools_metadata=e(t).use_internal_tools_metadata),e(t).ca_cert_bundle&&i(e(t).ca_cert_bundle.trim(),"",!1))try{const u=atob(e(t).ca_cert_bundle);a.ca_cert_bundle=Array.from(u,y=>y.charCodeAt(0))}catch{}i(e(t).endpoint_type,"github")?(await ae(fe.createGithubEndpoint(a)))():(await ae(fe.createGiteaEndpoint(a)))(),Ue.success("Endpoint Created",`Endpoint ${e(t).name} has been created successfully.`),P()}catch(a){n(Me,We(a))}}async function Rt(){if(e(C))try{const a=Et();if(i(Object.keys(a).length,0)){Ue.info("No Changes","No fields were modified."),P();return}i(e(C).endpoint_type,"github")?(await ae(fe.updateGithubEndpoint(e(C).name,a)))():(await ae(fe.updateGiteaEndpoint(e(C).name,a)))(),Ue.success("Endpoint Updated",`Endpoint ${e(C).name} has been updated successfully.`),P()}catch(a){n(Me,We(a))}}async function Ut(){if(e(q)){try{i(e(q).endpoint_type,"github")?(await ae(fe.deleteGithubEndpoint(e(q).name)))():(await ae(fe.deleteGiteaEndpoint(e(q).name)))(),Ue.success("Endpoint Deleted",`Endpoint ${e(q).name} has been deleted successfully.`)}catch(a){const u=We(a);Ue.error("Delete Failed",u)}P()}}function Qe(a){const y=a.target.files?.[0];if(!y){g(t,e(t).ca_cert_bundle=""),n(j,"");return}n(j,y.name);const $=new FileReader;$.onload=c=>{const T=c.target?.result;g(t,e(t).ca_cert_bundle=btoa(T))},$.readAsText(y)}function Xe(){g(t,e(t).ca_cert_bundle=""),n(j,"");const a=document.getElementById("ca_cert_file");a&&(a.value="");const u=document.getElementById("edit_ca_cert_file");u&&(u.value="")}ie(()=>(e(ce),re()),()=>{(!e(ce).length||re().loaded.endpoints)&&n(ce,re().endpoints)}),ie(()=>re(),()=>{n(Le,re().loading.endpoints)}),ie(()=>re(),()=>{n(je,re().errorMessages.endpoints)}),ie(()=>(e(ce),e(Pe)),()=>{n(oe,Zt(e(ce),e(Pe)))}),ie(()=>(e(be),e(oe),e(pe),e(O)),()=>{n(be,Math.ceil(e(oe).length/e(pe))),e(O)>e(be)&&e(be)>0&&n(O,e(be))}),ie(()=>(e(oe),e(O),e(pe)),()=>{n(Je,ea(e(oe),e(O),e(pe)))}),ie(()=>e(t),()=>{n(ve,!(!e(t).name||!e(t).base_url||i(e(t).endpoint_type,"github")&&!e(t).api_base_url))}),Nt(),jt();var Ye=ma();m("keydown",St,Ct),Ft(a=>{Vt.title="Endpoints - GARM"});var He=Te(Ye),Ze=o(He);w(()=>Qt(Ze,{title:"Endpoints",description:"Manage your GitHub and Gitea endpoints for runner management.",actionLabel:"Add Endpoint",$$events:{action:kt}}),"component",d,466,1,{componentTag:"PageHeader"});var Lt=r(Ze,2);{let a=Ve(()=>e(je)||e(Me)),u=Ve(()=>!!e(je));w(()=>ta(Lt,{get columns(){return gt},get data(){return e(Je)},get loading(){return e(Le)},get error(){return e(a)},get searchTerm(){return e(Pe)},searchPlaceholder:"Search endpoints by name, description, or URL...",get currentPage(){return e(O)},get perPage(){return e(pe)},get totalPages(){return e(be)},get totalItems(){return e(oe),h(()=>e(oe).length)},itemName:"endpoints",emptyIconType:"settings",get showRetry(){return e(u)},get mobileCardConfig(){return mt},$$events:{search:ft,pageChange:vt,perPageChange:yt,retry:_t,edit:xt,delete:ht},$$slots:{"mobile-card":(y,$)=>{const c=Ve(()=>$.item);var T=oa(),A=o(T),N=o(A),z=o(N),F=o(z,!0);s(z);var R=r(z,2),W=o(R,!0);s(R);var H=r(R,2),K=o(H);Jt(K,()=>(Re(Oe),Re(e(c)),h(()=>Oe(e(c).endpoint_type||"","w-5 h-5"))));var J=r(K,2),_e=o(J,!0);s(J),s(H),s(N),s(A);var se=r(A,2),Y=o(se);w(()=>lt(Y,{action:"edit",size:"sm",title:"Edit endpoint",ariaLabel:"Edit endpoint",$$events:{click:()=>ze(e(c))}}),"component",d,513,5,{componentTag:"ActionButton"});var ne=r(Y,2);w(()=>lt(ne,{action:"delete",size:"sm",title:"Delete endpoint",ariaLabel:"Delete endpoint",$$events:{click:()=>qe(e(c))}}),"component",d,520,5,{componentTag:"ActionButton"}),s(se),s(T),te(()=>{Q(F,(Re(e(c)),h(()=>e(c).name))),Q(W,(Re(e(c)),h(()=>e(c).description))),Q(_e,(Re(e(c)),h(()=>e(c).endpoint_type)))}),B(y,T)}}}),"component",d,473,1,{componentTag:"DataTable"})}s(He);var et=r(He,2);{var Mt=a=>{var u=da(),y=o(u),$=r(y,2),c=o($),T=r(o(c),2);s(c);var A=r(c,2),N=o(A);w(()=>Xt(N,{get selectedForgeType(){return e(X)},set selectedForgeType(p){n(X,p)},$$events:{select:wt},$$legacy:!0}),"component",d,557,4,{componentTag:"ForgeTypeSelector"});var z=r(N,2),F=r(o(z),2);U(F),s(z);var R=r(z,2),W=r(o(R),2);at(W),s(R);var H=r(R,2),K=r(o(H),2);U(K),s(H);var J=r(H,2);{var _e=p=>{var k=sa(),l=Te(k),_=r(o(l),2);U(_),s(l);var b=r(l,2),f=r(o(b),2);U(f),s(b),L(_,()=>e(t).api_base_url,x=>g(t,e(t).api_base_url=x)),L(f,()=>e(t).upload_base_url,x=>g(t,e(t).upload_base_url=x)),B(p,k)},se=p=>{var k=na(),l=Te(k),_=r(o(l),2);U(_),de(2),s(l);var b=r(l,2),f=o(b),x=o(f),G=r(x,2),S=o(G);w(()=>Ge(S,{title:"Tools Metadata URL",content:"URL where GARM checks for act_runner binary downloads and release information. Defaults to https://gitea.com/api/v1/repos/gitea/act_runner/releases if not specified. Use a custom URL to point to your own tools repository or mirror.",position:"top",width:"w-80"}),"component",d,657,8,{componentTag:"Tooltip"}),s(G),s(f);var Z=r(f,2);U(Z);var he=r(Z,2),le=o(he,!0);s(he),s(b);var me=r(b,2),ke=o(me);U(ke);var we=r(ke,4),Ce=o(we);w(()=>Ge(Ce,{title:"Internal Tools Metadata",content:"When enabled, GARM uses built-in URLs for nightly act_runner binaries instead of calling the external tools metadata URL. This is useful in air-gapped environments where runner images already include the binaries and don't need to download them.",position:"top",width:"w-80"}),"component",d,688,7,{componentTag:"Tooltip"}),s(we),s(me),te(()=>{V(x,1,`block text-sm font-medium ${e(t),h(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-700 dark:text-gray-300")??""}`),Z.disabled=(e(t),h(()=>e(t).use_internal_tools_metadata)),V(Z,1,`w-full px-3 py-2 border rounded-md focus:outline-none transition-colors ${e(t),h(()=>e(t).use_internal_tools_metadata?"bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed":"border-gray-300 dark:border-gray-600 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white")??""}`),V(he,1,`text-xs ${e(t),h(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-500 dark:text-gray-400")??""} mt-1`),Q(le,(e(t),h(()=>e(t).use_internal_tools_metadata?"Disabled when using internal tools metadata":"Leave empty to use default Gitea releases URL")))}),L(_,()=>e(t).api_base_url,ee=>g(t,e(t).api_base_url=ee)),L(Z,()=>e(t).tools_metadata_url,ee=>g(t,e(t).tools_metadata_url=ee)),ot(ke,()=>e(t).use_internal_tools_metadata,ee=>g(t,e(t).use_internal_tools_metadata=ee)),B(p,k)};w(()=>ue(J,p=>{i(e(X),"github")?p(_e):p(se,!1)}),"if",d,605,4)}var Y=r(J,2),ne=r(o(Y),2),ge=o(ne),ye=r(ge,2);{var Ie=p=>{var k=la(),l=r(o(k),2),_=o(l,!0);s(l);var b=r(l,2),f=o(b),x=r(f,4);s(b),s(k),te(()=>Q(_,e(j))),m("click",f,()=>document.getElementById("ca_cert_file")?.click()),m("click",x,Xe),B(p,k)},Se=p=>{var k=ia(),l=r(o(k),2),_=o(l);de(),s(l),de(2),s(k),m("click",_,()=>document.getElementById("ca_cert_file")?.click()),B(p,k)};w(()=>ue(ye,p=>{e(j)?p(Ie):p(Se,!1)}),"if",d,709,6)}s(ne),s(Y);var De=r(Y,2),Fe=o(De),xe=r(Fe,2);s(De),s(A),s($),s(u),te(()=>{rt(F,"placeholder",i(e(X),"github")?"e.g., github-enterprise or github-com":"e.g., gitea-main or my-gitea"),rt(K,"placeholder",i(e(X),"github")?"https://github.com or https://github.example.com":"https://gitea.example.com"),V(ne,1,`border-2 border-dashed rounded-lg p-4 text-center transition-colors ${e(j)?"border-green-500 dark:border-green-400 bg-green-50 dark:bg-green-900/20":"border-gray-300 dark:border-gray-600 hover:border-blue-400 dark:hover:border-blue-400"}`),xe.disabled=!e(ve),V(xe,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${e(ve)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)}),m("click",y,P),m("click",T,P),L(F,()=>e(t).name,p=>g(t,e(t).name=p)),L(W,()=>e(t).description,p=>g(t,e(t).description=p)),L(K,()=>e(t).base_url,p=>g(t,e(t).base_url=p)),m("change",ge,Qe),m("click",Fe,P),m("submit",A,st(Tt)),B(a,u)};w(()=>ue(et,a=>{e($e)&&a(Mt)}),"if",d,535,0)}var tt=r(et,2);{var Pt=a=>{var u=_a(),y=o(u),$=r(y,2),c=o($),T=o(c),A=o(T),N=o(A);s(A),de(2),s(T);var z=r(T,2);s(c);var F=r(c,2),R=o(F),W=r(o(R),2);U(W),s(R);var H=r(R,2),K=r(o(H),2);at(K),s(H);var J=r(H,2),_e=r(o(J),2);U(_e),s(J);var se=r(J,2);{var Y=l=>{var _=ua(),b=Te(_),f=r(o(b),2);U(f),s(b);var x=r(b,2),G=r(o(x),2);U(G),s(x),L(f,()=>e(t).api_base_url,S=>g(t,e(t).api_base_url=S)),L(G,()=>e(t).upload_base_url,S=>g(t,e(t).upload_base_url=S)),B(l,_)},ne=l=>{var _=ca(),b=Te(_),f=r(o(b),2);U(f),de(2),s(b);var x=r(b,2),G=o(x),S=o(G),Z=r(S,2),he=o(Z);w(()=>Ge(he,{title:"Tools Metadata URL",content:"URL where GARM checks for act_runner binary downloads and release information. Defaults to https://gitea.com/api/v1/repos/gitea/act_runner/releases if not specified. Use a custom URL to point to your own tools repository or mirror.",position:"top",width:"w-80"}),"component",d,878,8,{componentTag:"Tooltip"}),s(Z),s(G);var le=r(G,2);U(le);var me=r(le,2),ke=o(me,!0);s(me),s(x);var we=r(x,2),Ce=o(we);U(Ce);var ee=r(Ce,4),It=o(ee);w(()=>Ge(It,{title:"Internal Tools Metadata",content:"When enabled, GARM uses built-in URLs for nightly act_runner binaries instead of calling the external tools metadata URL. This is useful in air-gapped environments where runner images already include the binaries and don't need to download them.",position:"top",width:"w-80"}),"component",d,909,7,{componentTag:"Tooltip"}),s(ee),s(we),te(()=>{V(S,1,`block text-sm font-medium ${e(t),h(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-700 dark:text-gray-300")??""}`),le.disabled=(e(t),h(()=>e(t).use_internal_tools_metadata)),V(le,1,`w-full px-3 py-2 border rounded-md focus:outline-none transition-colors ${e(t),h(()=>e(t).use_internal_tools_metadata?"bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed":"border-gray-300 dark:border-gray-600 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white")??""}`),V(me,1,`text-xs ${e(t),h(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-500 dark:text-gray-400")??""} mt-1`),Q(ke,(e(t),h(()=>e(t).use_internal_tools_metadata?"Disabled when using internal tools metadata":"Leave empty to use default Gitea releases URL")))}),L(f,()=>e(t).api_base_url,Ee=>g(t,e(t).api_base_url=Ee)),L(le,()=>e(t).tools_metadata_url,Ee=>g(t,e(t).tools_metadata_url=Ee)),ot(Ce,()=>e(t).use_internal_tools_metadata,Ee=>g(t,e(t).use_internal_tools_metadata=Ee)),B(l,_)};w(()=>ue(se,l=>{e(C),h(()=>i(e(C).endpoint_type,"github"))?l(Y):l(ne,!1)}),"if",d,829,4)}var ge=r(se,2),ye=r(o(ge),2),Ie=o(ye),Se=r(Ie,2);{var De=l=>{var _=pa(),b=r(o(_),2),f=o(b,!0);s(b);var x=r(b,2),G=o(x),S=r(G,4);s(x),s(_),te(()=>Q(f,e(j))),m("click",G,()=>document.getElementById("edit_ca_cert_file")?.click()),m("click",S,Xe),B(l,_)},Fe=l=>{var _=ba(),b=r(o(_),2),f=o(b);de(),s(b),de(2),s(_),m("click",f,()=>document.getElementById("edit_ca_cert_file")?.click()),B(l,_)};w(()=>ue(Se,l=>{e(j)?l(De):l(Fe,!1)}),"if",d,930,6)}s(ye),s(ge);var xe=r(ge,2),p=o(xe),k=r(p,2);s(xe),s(F),s($),s(u),te(()=>{Q(N,`Edit ${e(C),h(()=>i(e(C).endpoint_type,"github")?"GitHub":"Gitea")??""} Endpoint`),V(ye,1,`border-2 border-dashed rounded-lg p-4 text-center transition-colors ${e(j)?"border-green-500 dark:border-green-400 bg-green-50 dark:bg-green-900/20":"border-gray-300 dark:border-gray-600 hover:border-blue-400 dark:hover:border-blue-400"}`),k.disabled=!e(ve),V(k,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${e(ve)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)}),m("click",y,P),m("click",z,P),L(W,()=>e(t).name,l=>g(t,e(t).name=l)),L(K,()=>e(t).description,l=>g(t,e(t).description=l)),L(_e,()=>e(t).base_url,l=>g(t,e(t).base_url=l)),m("change",Ie,Qe),m("click",p,P),m("submit",F,st(Rt)),B(a,u)};w(()=>ue(tt,a=>{e(Ae)&&e(C)&&a(Pt)}),"if",d,767,0)}var $t=r(tt,2);{var At=a=>{var u=ga(),y=o(u),$=r(y,2),c=o($),T=o(c),A=r(o(T),2),N=r(o(A),2),z=o(N);s(N),s(A),s(T),s(c);var F=r(c,2),R=o(F),W=r(R,2);s(F),s($),s(u),te(()=>Q(z,`Are you sure you want to delete the endpoint "${e(q),h(()=>e(q).name)??""}"? This action cannot be undone.`)),m("click",y,P),m("click",R,P),m("click",W,Ut),B(a,u)};w(()=>ue($t,a=>{e(Be)&&e(q)&&a(At)}),"if",d,988,0)}B(ut,Ye);var Bt=Ht({...Gt()});return bt(),Bt}export{d as component}; diff --git a/webapp/assets/_app/immutable/nodes/5.DUEiiBg9.js b/webapp/assets/_app/immutable/nodes/5.DUEiiBg9.js new file mode 100644 index 00000000..b74ef9d7 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/5.DUEiiBg9.js @@ -0,0 +1,3 @@ +import{f as T,e as _,h as Ut,a as P,s as V,r as Qe}from"../chunks/o8CdT7B0.js";import{i as Lt}from"../chunks/ChJfoPF0.js";import{p as Mt,g as e,o as Pt,l as ae,b as Tt,f as xe,a as $t,m,e as At,$ as Bt,c as o,i as Fe,s as r,t as Q,u as y,d as s,j as b,r as l,h as he,n as re}from"../chunks/DUMcBckj.js";import{i as oe,s as It,a as Dt}from"../chunks/i7pKks78.js";import{h as Gt,r as E,d as Xe,s as z,g as ce}from"../chunks/_9uqtkkk.js";import{b as R,a as Ye}from"../chunks/BtzOUN4g.js";import{p as Ze}from"../chunks/CdEA5IGF.js";import{P as jt}from"../chunks/UrL2GjpD.js";import{F as Ft}from"../chunks/CbREEdny.js";import{A as et}from"../chunks/FjbxnYNv.js";import{e as zt,a as tt}from"../chunks/zgwRPQVC.js";import{t as ke}from"../chunks/Bbk4dQfI.js";import{g as ze,c as qt,a as Nt,p as Ht}from"../chunks/DQsxKNC2.js";import{e as qe}from"../chunks/BZiHL9L3.js";import{D as St,G as Ne}from"../chunks/DG4LDt2Z.js";import"../chunks/CnZ9nHem.js";import{E as Vt}from"../chunks/BqCROW90.js";import{A as Ot}from"../chunks/7XD7ITBY.js";import{T as $e}from"../chunks/CmC5OaZC.js";var Wt=T('

'),Kt=T('
',1),Jt=T('

If empty, Base URL will be used as API Base URL

',1),Qt=T('

'),Xt=T('

or drag and drop

PEM, CRT, CER, CERT files only

'),Yt=T(''),Zt=T('
',1),ea=T('

If empty, Base URL will be used as API Base URL

',1),ta=T('

'),aa=T('

or drag and drop

PEM, CRT, CER, CERT files only

'),ra=T(''),oa=T(''),la=T('
',1);function Ea(at,rt){Mt(rt,!1);const[ot,lt]=It(),X=()=>Dt(zt,"$eagerCache",ot),Ae=m(),Y=m(),He=m(),pe=m();let we=m(!0),le=m([]),Ce=m(""),Ee=m(""),q=m(1),se=m(25),ie=m(1),Re=m(!1),Ue=m(!1),Le=m(!1),O=m("github"),h=m(null),D=m(null),t=m({name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:"",tools_metadata_url:"",use_internal_tools_metadata:!1}),B=m(""),k={...e(t)};Pt(async()=>{try{s(we,!0);const a=await tt.getEndpoints();a&&Array.isArray(a)&&s(le,a)}catch(a){console.error("Failed to load endpoints:",a),s(Ce,a instanceof Error?a.message:"Failed to load endpoints")}finally{s(we,!1)}});async function st(){try{await tt.retryResource("endpoints")}catch(a){console.error("Retry failed:",a)}}const it=[{key:"name",title:"Name",cellComponent:Ne,cellProps:{field:"name"}},{key:"description",title:"Description",cellComponent:Ne,cellProps:{field:"description"}},{key:"api_url",title:"API URL",cellComponent:Ne,cellProps:{field:"api_base_url",fallbackField:"base_url"}},{key:"forge_type",title:"Forge Type",cellComponent:Vt},{key:"actions",title:"Actions",align:"right",cellComponent:Ot}],nt={entityType:"endpoint",primaryText:{field:"name",isClickable:!1},secondaryText:{field:"description"},customInfo:[{icon:a=>ze(a?.endpoint_type||"unknown"),text:a=>a?.api_base_url||"Unknown"}],actions:[{type:"edit",handler:a=>Be(a)},{type:"delete",handler:a=>Ie(a)}]};function dt(a){s(Ee,a.detail.term),s(q,1)}function ut(a){s(q,a.detail.page)}function ct(a){const n=qt(a.detail.perPage);s(se,n.newPerPage),s(q,n.newCurrentPage)}function pt(a){Be(a.detail.item)}function bt(a){Ie(a.detail.item)}function _t(){s(O,"github"),De(),b(t,e(t).endpoint_type="github"),s(Re,!0)}function gt(a){s(O,a.detail),De(),b(t,e(t).endpoint_type=a.detail)}function Be(a){s(h,a),s(t,{name:a.name||"",description:a.description||"",endpoint_type:a.endpoint_type||"",base_url:a.base_url||"",api_base_url:a.api_base_url||"",upload_base_url:a.upload_base_url||"",ca_cert_bundle:typeof a.ca_cert_bundle=="string"?a.ca_cert_bundle:"",tools_metadata_url:a.tools_metadata_url||"",use_internal_tools_metadata:a.use_internal_tools_metadata||!1}),k={...e(t)},s(B,e(t).ca_cert_bundle?"certificate.pem":""),s(Ue,!0)}function Ie(a){s(D,a),s(Le,!0)}function De(){s(t,{name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:"",tools_metadata_url:"",use_internal_tools_metadata:!1}),k={...e(t)},s(B,"")}function mt(a){a.key==="Escape"&&(e(Re)||e(Ue)||e(Le))&&U()}function U(){s(Re,!1),s(Ue,!1),s(Le,!1),s(O,"github"),s(h,null),s(D,null),De()}function ft(){const a={};if(e(t).description!==k.description&&(e(t).description.trim()!==""||k.description!=="")&&(a.description=e(t).description.trim()),e(t).base_url!==k.base_url&&e(t).base_url.trim()!==""&&(a.base_url=e(t).base_url.trim()),e(t).api_base_url!==k.api_base_url&&(e(t).api_base_url.trim()!==""||k.api_base_url!=="")&&(a.api_base_url=e(t).api_base_url.trim()),e(h)?.endpoint_type==="github"&&e(t).upload_base_url!==k.upload_base_url&&(e(t).upload_base_url.trim()!==""||k.upload_base_url!=="")&&(a.upload_base_url=e(t).upload_base_url.trim()),e(t).ca_cert_bundle!==k.ca_cert_bundle)if(e(t).ca_cert_bundle!=="")try{const n=atob(e(t).ca_cert_bundle);a.ca_cert_bundle=Array.from(n,f=>f.charCodeAt(0))}catch{k.ca_cert_bundle!==""&&(a.ca_cert_bundle=[])}else k.ca_cert_bundle!==""&&(a.ca_cert_bundle=[]);return e(h)?.endpoint_type==="gitea"&&(e(t).tools_metadata_url!==k.tools_metadata_url&&(a.tools_metadata_url=e(t).tools_metadata_url.trim()),e(t).use_internal_tools_metadata!==k.use_internal_tools_metadata&&(a.use_internal_tools_metadata=e(t).use_internal_tools_metadata)),a}async function vt(){try{const a={name:e(t).name,description:e(t).description,endpoint_type:e(t).endpoint_type,base_url:e(t).base_url,api_base_url:e(t).api_base_url,upload_base_url:e(t).upload_base_url};if(e(t).endpoint_type==="gitea"&&(e(t).tools_metadata_url.trim()!==""&&(a.tools_metadata_url=e(t).tools_metadata_url.trim()),a.use_internal_tools_metadata=e(t).use_internal_tools_metadata),e(t).ca_cert_bundle&&e(t).ca_cert_bundle.trim()!=="")try{const n=atob(e(t).ca_cert_bundle);a.ca_cert_bundle=Array.from(n,f=>f.charCodeAt(0))}catch{}e(t).endpoint_type==="github"?await ce.createGithubEndpoint(a):await ce.createGiteaEndpoint(a),ke.success("Endpoint Created",`Endpoint ${e(t).name} has been created successfully.`),U()}catch(a){s(Ce,qe(a))}}async function yt(){if(e(h))try{const a=ft();if(Object.keys(a).length===0){ke.info("No Changes","No fields were modified."),U();return}e(h).endpoint_type==="github"?await ce.updateGithubEndpoint(e(h).name,a):await ce.updateGiteaEndpoint(e(h).name,a),ke.success("Endpoint Updated",`Endpoint ${e(h).name} has been updated successfully.`),U()}catch(a){s(Ce,qe(a))}}async function xt(){if(e(D)){try{e(D).endpoint_type==="github"?await ce.deleteGithubEndpoint(e(D).name):await ce.deleteGiteaEndpoint(e(D).name),ke.success("Endpoint Deleted",`Endpoint ${e(D).name} has been deleted successfully.`)}catch(a){const n=qe(a);ke.error("Delete Failed",n)}U()}}function Se(a){const f=a.target.files?.[0];if(!f){b(t,e(t).ca_cert_bundle=""),s(B,"");return}s(B,f.name);const L=new FileReader;L.onload=d=>{const w=d.target?.result;b(t,e(t).ca_cert_bundle=btoa(w))},L.readAsText(f)}function Ve(){b(t,e(t).ca_cert_bundle=""),s(B,"");const a=document.getElementById("ca_cert_file");a&&(a.value="");const n=document.getElementById("edit_ca_cert_file");n&&(n.value="")}ae(()=>(e(le),X()),()=>{(!e(le).length||X().loaded.endpoints)&&s(le,X().endpoints)}),ae(()=>X(),()=>{s(we,X().loading.endpoints)}),ae(()=>X(),()=>{s(Ae,X().errorMessages.endpoints)}),ae(()=>(e(le),e(Ee)),()=>{s(Y,Nt(e(le),e(Ee)))}),ae(()=>(e(ie),e(Y),e(se),e(q)),()=>{s(ie,Math.ceil(e(Y).length/e(se))),e(q)>e(ie)&&e(ie)>0&&s(q,e(ie))}),ae(()=>(e(Y),e(q),e(se)),()=>{s(He,Ht(e(Y),e(q),e(se)))}),ae(()=>e(t),()=>{s(pe,!(!e(t).name||!e(t).base_url||e(t).endpoint_type==="github"&&!e(t).api_base_url))}),Tt(),Lt();var Oe=la();_("keydown",At,mt),Ut(a=>{Bt.title="Endpoints - GARM"});var Ge=xe(Oe),We=o(Ge);jt(We,{title:"Endpoints",description:"Manage your GitHub and Gitea endpoints for runner management.",actionLabel:"Add Endpoint",$$events:{action:_t}});var ht=r(We,2);{let a=Fe(()=>e(Ae)||e(Ce)),n=Fe(()=>!!e(Ae));St(ht,{get columns(){return it},get data(){return e(He)},get loading(){return e(we)},get error(){return e(a)},get searchTerm(){return e(Ee)},searchPlaceholder:"Search endpoints by name, description, or URL...",get currentPage(){return e(q)},get perPage(){return e(se)},get totalPages(){return e(ie)},get totalItems(){return e(Y),y(()=>e(Y).length)},itemName:"endpoints",emptyIconType:"settings",get showRetry(){return e(n)},get mobileCardConfig(){return nt},$$events:{search:dt,pageChange:ut,perPageChange:ct,retry:st,edit:pt,delete:bt},$$slots:{"mobile-card":(f,L)=>{const d=Fe(()=>L.item);var w=Wt(),M=o(w),G=o(M),I=o(G),$=o(I,!0);l(I);var C=r(I,2),N=o(C,!0);l(C);var j=r(C,2),H=o(j);Gt(H,()=>(he(ze),he(e(d)),y(()=>ze(e(d).endpoint_type||"","w-5 h-5"))));var S=r(H,2),ne=o(S,!0);l(S),l(j),l(G),l(M);var Z=r(M,2),W=o(Z);et(W,{action:"edit",size:"sm",title:"Edit endpoint",ariaLabel:"Edit endpoint",$$events:{click:()=>Be(e(d))}});var ee=r(W,2);et(ee,{action:"delete",size:"sm",title:"Delete endpoint",ariaLabel:"Delete endpoint",$$events:{click:()=>Ie(e(d))}}),l(Z),l(w),Q(()=>{V($,(he(e(d)),y(()=>e(d).name))),V(N,(he(e(d)),y(()=>e(d).description))),V(ne,(he(e(d)),y(()=>e(d).endpoint_type)))}),P(f,w)}}})}l(Ge);var Ke=r(Ge,2);{var kt=a=>{var n=Yt(),f=o(n),L=r(f,2),d=o(L),w=r(o(d),2);l(d);var M=r(d,2),G=o(M);Ft(G,{get selectedForgeType(){return e(O)},set selectedForgeType(u){s(O,u)},$$events:{select:gt},$$legacy:!0});var I=r(G,2),$=r(o(I),2);E($),l(I);var C=r(I,2),N=r(o(C),2);Qe(N),l(C);var j=r(C,2),H=r(o(j),2);E(H),l(j);var S=r(j,2);{var ne=u=>{var x=Kt(),i=xe(x),p=r(o(i),2);E(p),l(i);var c=r(i,2),g=r(o(c),2);E(g),l(c),R(p,()=>e(t).api_base_url,v=>b(t,e(t).api_base_url=v)),R(g,()=>e(t).upload_base_url,v=>b(t,e(t).upload_base_url=v)),P(u,x)},Z=u=>{var x=Jt(),i=xe(x),p=r(o(i),2);E(p),re(2),l(i);var c=r(i,2),g=o(c),v=o(g),A=r(v,2),F=o(A);$e(F,{title:"Tools Metadata URL",content:"URL where GARM checks for act_runner binary downloads and release information. Defaults to https://gitea.com/api/v1/repos/gitea/act_runner/releases if not specified. Use a custom URL to point to your own tools repository or mirror.",position:"top",width:"w-80"}),l(A),l(g);var K=r(g,2);E(K);var ge=r(K,2),te=o(ge,!0);l(ge),l(c);var ue=r(c,2),me=o(ue);E(me);var fe=r(me,4),ve=o(fe);$e(ve,{title:"Internal Tools Metadata",content:"When enabled, GARM uses built-in URLs for nightly act_runner binaries instead of calling the external tools metadata URL. This is useful in air-gapped environments where runner images already include the binaries and don't need to download them.",position:"top",width:"w-80"}),l(fe),l(ue),Q(()=>{z(v,1,`block text-sm font-medium ${e(t),y(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-700 dark:text-gray-300")??""}`),K.disabled=(e(t),y(()=>e(t).use_internal_tools_metadata)),z(K,1,`w-full px-3 py-2 border rounded-md focus:outline-none transition-colors ${e(t),y(()=>e(t).use_internal_tools_metadata?"bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed":"border-gray-300 dark:border-gray-600 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white")??""}`),z(ge,1,`text-xs ${e(t),y(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-500 dark:text-gray-400")??""} mt-1`),V(te,(e(t),y(()=>e(t).use_internal_tools_metadata?"Disabled when using internal tools metadata":"Leave empty to use default Gitea releases URL")))}),R(p,()=>e(t).api_base_url,J=>b(t,e(t).api_base_url=J)),R(K,()=>e(t).tools_metadata_url,J=>b(t,e(t).tools_metadata_url=J)),Ye(me,()=>e(t).use_internal_tools_metadata,J=>b(t,e(t).use_internal_tools_metadata=J)),P(u,x)};oe(S,u=>{e(O)==="github"?u(ne):u(Z,!1)})}var W=r(S,2),ee=r(o(W),2),de=o(ee),be=r(de,2);{var Me=u=>{var x=Qt(),i=r(o(x),2),p=o(i,!0);l(i);var c=r(i,2),g=o(c),v=r(g,4);l(c),l(x),Q(()=>V(p,e(B))),_("click",g,()=>document.getElementById("ca_cert_file")?.click()),_("click",v,Ve),P(u,x)},je=u=>{var x=Xt(),i=r(o(x),2),p=o(i);re(),l(i),re(2),l(x),_("click",p,()=>document.getElementById("ca_cert_file")?.click()),P(u,x)};oe(be,u=>{e(B)?u(Me):u(je,!1)})}l(ee),l(W);var Pe=r(W,2),Te=o(Pe),_e=r(Te,2);l(Pe),l(M),l(L),l(n),Q(()=>{Xe($,"placeholder",e(O)==="github"?"e.g., github-enterprise or github-com":"e.g., gitea-main or my-gitea"),Xe(H,"placeholder",e(O)==="github"?"https://github.com or https://github.example.com":"https://gitea.example.com"),z(ee,1,`border-2 border-dashed rounded-lg p-4 text-center transition-colors ${e(B)?"border-green-500 dark:border-green-400 bg-green-50 dark:bg-green-900/20":"border-gray-300 dark:border-gray-600 hover:border-blue-400 dark:hover:border-blue-400"}`),_e.disabled=!e(pe),z(_e,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${e(pe)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)}),_("click",f,U),_("click",w,U),R($,()=>e(t).name,u=>b(t,e(t).name=u)),R(N,()=>e(t).description,u=>b(t,e(t).description=u)),R(H,()=>e(t).base_url,u=>b(t,e(t).base_url=u)),_("change",de,Se),_("click",Te,U),_("submit",M,Ze(vt)),P(a,n)};oe(Ke,a=>{e(Re)&&a(kt)})}var Je=r(Ke,2);{var wt=a=>{var n=ra(),f=o(n),L=r(f,2),d=o(L),w=o(d),M=o(w),G=o(M);l(M),re(2),l(w);var I=r(w,2);l(d);var $=r(d,2),C=o($),N=r(o(C),2);E(N),l(C);var j=r(C,2),H=r(o(j),2);Qe(H),l(j);var S=r(j,2),ne=r(o(S),2);E(ne),l(S);var Z=r(S,2);{var W=i=>{var p=Zt(),c=xe(p),g=r(o(c),2);E(g),l(c);var v=r(c,2),A=r(o(v),2);E(A),l(v),R(g,()=>e(t).api_base_url,F=>b(t,e(t).api_base_url=F)),R(A,()=>e(t).upload_base_url,F=>b(t,e(t).upload_base_url=F)),P(i,p)},ee=i=>{var p=ea(),c=xe(p),g=r(o(c),2);E(g),re(2),l(c);var v=r(c,2),A=o(v),F=o(A),K=r(F,2),ge=o(K);$e(ge,{title:"Tools Metadata URL",content:"URL where GARM checks for act_runner binary downloads and release information. Defaults to https://gitea.com/api/v1/repos/gitea/act_runner/releases if not specified. Use a custom URL to point to your own tools repository or mirror.",position:"top",width:"w-80"}),l(K),l(A);var te=r(A,2);E(te);var ue=r(te,2),me=o(ue,!0);l(ue),l(v);var fe=r(v,2),ve=o(fe);E(ve);var J=r(ve,4),Rt=o(J);$e(Rt,{title:"Internal Tools Metadata",content:"When enabled, GARM uses built-in URLs for nightly act_runner binaries instead of calling the external tools metadata URL. This is useful in air-gapped environments where runner images already include the binaries and don't need to download them.",position:"top",width:"w-80"}),l(J),l(fe),Q(()=>{z(F,1,`block text-sm font-medium ${e(t),y(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-700 dark:text-gray-300")??""}`),te.disabled=(e(t),y(()=>e(t).use_internal_tools_metadata)),z(te,1,`w-full px-3 py-2 border rounded-md focus:outline-none transition-colors ${e(t),y(()=>e(t).use_internal_tools_metadata?"bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed":"border-gray-300 dark:border-gray-600 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white")??""}`),z(ue,1,`text-xs ${e(t),y(()=>e(t).use_internal_tools_metadata?"text-gray-400 dark:text-gray-500":"text-gray-500 dark:text-gray-400")??""} mt-1`),V(me,(e(t),y(()=>e(t).use_internal_tools_metadata?"Disabled when using internal tools metadata":"Leave empty to use default Gitea releases URL")))}),R(g,()=>e(t).api_base_url,ye=>b(t,e(t).api_base_url=ye)),R(te,()=>e(t).tools_metadata_url,ye=>b(t,e(t).tools_metadata_url=ye)),Ye(ve,()=>e(t).use_internal_tools_metadata,ye=>b(t,e(t).use_internal_tools_metadata=ye)),P(i,p)};oe(Z,i=>{e(h),y(()=>e(h).endpoint_type==="github")?i(W):i(ee,!1)})}var de=r(Z,2),be=r(o(de),2),Me=o(be),je=r(Me,2);{var Pe=i=>{var p=ta(),c=r(o(p),2),g=o(c,!0);l(c);var v=r(c,2),A=o(v),F=r(A,4);l(v),l(p),Q(()=>V(g,e(B))),_("click",A,()=>document.getElementById("edit_ca_cert_file")?.click()),_("click",F,Ve),P(i,p)},Te=i=>{var p=aa(),c=r(o(p),2),g=o(c);re(),l(c),re(2),l(p),_("click",g,()=>document.getElementById("edit_ca_cert_file")?.click()),P(i,p)};oe(je,i=>{e(B)?i(Pe):i(Te,!1)})}l(be),l(de);var _e=r(de,2),u=o(_e),x=r(u,2);l(_e),l($),l(L),l(n),Q(()=>{V(G,`Edit ${e(h),y(()=>e(h).endpoint_type==="github"?"GitHub":"Gitea")??""} Endpoint`),z(be,1,`border-2 border-dashed rounded-lg p-4 text-center transition-colors ${e(B)?"border-green-500 dark:border-green-400 bg-green-50 dark:bg-green-900/20":"border-gray-300 dark:border-gray-600 hover:border-blue-400 dark:hover:border-blue-400"}`),x.disabled=!e(pe),z(x,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${e(pe)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)}),_("click",f,U),_("click",I,U),R(N,()=>e(t).name,i=>b(t,e(t).name=i)),R(H,()=>e(t).description,i=>b(t,e(t).description=i)),R(ne,()=>e(t).base_url,i=>b(t,e(t).base_url=i)),_("change",Me,Se),_("click",u,U),_("submit",$,Ze(yt)),P(a,n)};oe(Je,a=>{e(Ue)&&e(h)&&a(wt)})}var Ct=r(Je,2);{var Et=a=>{var n=oa(),f=o(n),L=r(f,2),d=o(L),w=o(d),M=r(o(w),2),G=r(o(M),2),I=o(G);l(G),l(M),l(w),l(d);var $=r(d,2),C=o($),N=r(C,2);l($),l(L),l(n),Q(()=>V(I,`Are you sure you want to delete the endpoint "${e(D),y(()=>e(D).name)??""}"? This action cannot be undone.`)),_("click",f,U),_("click",C,U),_("click",N,xt),P(a,n)};oe(Ct,a=>{e(Le)&&e(D)&&a(Et)})}P(at,Oe),$t(),lt()}export{Ea as component}; diff --git a/webapp/assets/_app/immutable/nodes/6.4j84gekE.js b/webapp/assets/_app/immutable/nodes/6.4j84gekE.js new file mode 100644 index 00000000..5bdc4dbe --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/6.4j84gekE.js @@ -0,0 +1 @@ +import{f as M,a as C,s as X,e as Ce,c as We,h as Ve}from"../chunks/o8CdT7B0.js";import{i as Se}from"../chunks/ChJfoPF0.js";import{p as Re,v as Ye,o as Be,l as w,d as r,m as l,g as e,b as He,s as o,c as n,r as i,t as z,k as Pe,u as b,n as Me,j as Q,a as Ue,f as Le,$ as Ke,h as A,i as re}from"../chunks/DUMcBckj.js";import{a as Ne,i as B,s as ze}from"../chunks/i7pKks78.js";import{r as be,b as De,c as Te,d as Oe,g as he}from"../chunks/_9uqtkkk.js";import{P as Qe}from"../chunks/UrL2GjpD.js";import{e as Xe,i as Ze}from"../chunks/DC7Aeygn.js";import{b as Ae,a as et}from"../chunks/BtzOUN4g.js";import{p as tt}from"../chunks/CdEA5IGF.js";import{M as rt}from"../chunks/CYPHW1bs.js";import{e as se}from"../chunks/BZiHL9L3.js";import{e as je,a as xe}from"../chunks/zgwRPQVC.js";import{U as at}from"../chunks/Dk1ODhlO.js";import{D as st}from"../chunks/mBfsYUjq.js";import{t as ae}from"../chunks/Bbk4dQfI.js";import{k as ye,l as ot}from"../chunks/DQsxKNC2.js";import{B as nt}from"../chunks/Bi2FJHrT.js";import{D as it,G as lt}from"../chunks/DG4LDt2Z.js";import{A as Ge}from"../chunks/FjbxnYNv.js";import{E as dt}from"../chunks/llowLxE6.js";import{E as ct}from"../chunks/BqCROW90.js";import{S as ut}from"../chunks/C0gwpZbz.js";import{A as pt}from"../chunks/7XD7ITBY.js";var mt=M('

'),gt=M('

Loading...

'),ft=M(""),vt=M('

Loading credentials...

'),bt=M('

No GitHub credentials found. Please create GitHub credentials first.

'),ht=M(`

You'll need to manually configure this secret in GitHub's enterprise webhook settings.

`),yt=M('

Create Enterprise

Enterprises are only available for GitHub endpoints.

');function xt(oe,ne){Re(ne,!1);const[ie,le]=ze(),p=()=>Ne(je,"$eagerCache",ie),G=l(),y=l(),m=l(),H=l(),E=Ye();let _=l(!1),h=l(""),a=l({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin",agent_mode:!1});async function x(){if(!p().loaded.credentials&&!p().loading.credentials)try{await xe.getCredentials()}catch(g){r(h,se(g))}}async function P(){if(!e(a).name||!e(a).name.trim()){r(h,"Enterprise name is required");return}if(!e(a).credentials_name){r(h,"Please select credentials");return}try{r(_,!0),r(h,"");const g={...e(a)};E("submit",g)}catch(g){r(h,se(g)),r(_,!1)}}Be(()=>{x()}),w(()=>p(),()=>{r(G,p().credentials)}),w(()=>p(),()=>{r(y,p().loading.credentials)}),w(()=>e(G),()=>{r(m,e(G).filter(g=>g.forge_type==="github"))}),w(()=>e(a),()=>{r(H,e(a).name&&e(a).name.trim()!==""&&e(a).credentials_name!==""&&e(a).webhook_secret&&e(a).webhook_secret.trim()!=="")}),He(),Se(),rt(oe,{$$events:{close:()=>E("close")},children:(g,j)=>{var D=yt(),d=o(n(D),4);{var de=f=>{var v=mt(),T=n(v),U=n(T,!0);i(T),i(v),z(()=>X(U,e(h))),C(f,v)};B(d,f=>{e(h)&&f(de)})}var ce=o(d,2);{var ue=f=>{var v=gt();C(f,v)},pe=f=>{var v=ht(),T=n(v),U=o(n(T),2);be(U),i(T);var q=o(T,2),L=o(n(q),2);z(()=>{e(a),Pe(()=>{e(m)})});var F=n(L);F.value=F.__value="";var me=o(F);Xe(me,1,()=>e(m),Ze,(s,c)=>{var k=ft(),R=n(k);i(k);var $={};z(()=>{X(R,`${e(c),b(()=>e(c).name)??""} (${e(c),b(()=>e(c).endpoint?.name||"Unknown endpoint")??""})`),$!==($=(e(c),b(()=>e(c).name)))&&(k.value=(k.__value=(e(c),b(()=>e(c).name)))??"")}),C(s,k)}),i(L);var ge=o(L,2);{var fe=s=>{var c=vt();C(s,c)},Z=s=>{var c=We(),k=Le(c);{var R=$=>{var O=bt();C($,O)};B(k,$=>{e(m),b(()=>e(m).length===0)&&$(R)},!0)}C(s,c)};B(ge,s=>{e(y)?s(fe):s(Z,!1)})}i(q);var S=o(q,2),N=o(n(S),2);z(()=>{e(a),Pe(()=>{})});var I=n(N);I.value=I.__value="roundrobin";var J=o(I);J.value=J.__value="pack",i(N),i(S);var W=o(S,2),V=n(W),ee=n(V);be(ee),Me(4),i(V),i(W);var Y=o(W,2),te=o(n(Y),2);be(te),Me(2),i(Y);var t=o(Y,2),u=n(t),K=o(u,2),ve=n(K,!0);i(K),i(t),i(v),z(()=>{K.disabled=(e(_),e(y),e(H),e(m),b(()=>e(_)||e(y)||!e(H)||e(m).length===0)),X(ve,e(_)?"Creating...":"Create Enterprise")}),Ae(U,()=>e(a).name,s=>Q(a,e(a).name=s)),De(L,()=>e(a).credentials_name,s=>Q(a,e(a).credentials_name=s)),De(N,()=>e(a).pool_balancer_type,s=>Q(a,e(a).pool_balancer_type=s)),et(ee,()=>e(a).agent_mode,s=>Q(a,e(a).agent_mode=s)),Ae(te,()=>e(a).webhook_secret,s=>Q(a,e(a).webhook_secret=s)),Ce("click",u,()=>E("close")),Ce("submit",v,tt(P)),C(f,v)};B(ce,f=>{e(_)?f(ue):f(pe,!1)})}i(D),C(g,D)},$$slots:{default:!0}}),Ue(),le()}var _t=M(''),kt=M('
',1);function Wt(oe,ne){Re(ne,!1);const[ie,le]=ze(),p=()=>Ne(je,"$eagerCache",ie),G=l(),y=l(),m=l(),H=l();let E=l([]),_=l(!0),h=l(""),a=l(""),x=l(1),P=l(25),g=l(!1),j=l(!1),D=l(!1),d=l(null);async function de(t){try{r(h,""),await he.createEnterprise(t),ae.success("Enterprise Created",`Enterprise ${t.name} has been created successfully.`),r(g,!1)}catch(u){throw r(h,se(u)),u}}async function ce(t){if(e(d))try{await he.updateEnterprise(e(d).id,t),ae.success("Enterprise Updated",`Enterprise ${e(d).name} has been updated successfully.`),r(j,!1),r(d,null)}catch(u){throw u}}async function ue(){if(e(d))try{r(h,""),await he.deleteEnterprise(e(d).id),ae.success("Enterprise Deleted",`Enterprise ${e(d).name} has been deleted successfully.`),r(D,!1),r(d,null)}catch(t){const u=se(t);ae.error("Delete Failed",u)}}function pe(){r(g,!0)}function f(t){r(d,t),r(j,!0)}function v(t){r(d,t),r(D,!0)}Be(async()=>{try{r(_,!0);const t=await xe.getEnterprises();t&&Array.isArray(t)&&r(E,t)}catch(t){console.error("Failed to load enterprises:",t),r(h,t instanceof Error?t.message:"Failed to load enterprises")}finally{r(_,!1)}});async function T(){try{await xe.retryResource("enterprises")}catch(t){console.error("Retry failed:",t)}}const U=[{key:"name",title:"Name",cellComponent:dt,cellProps:{entityType:"enterprise"}},{key:"endpoint",title:"Endpoint",cellComponent:ct},{key:"credentials",title:"Credentials",cellComponent:lt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:ut,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:pt}],q={entityType:"enterprise",primaryText:{field:"name",isClickable:!0,href:"/enterprises/{id}"},secondaryText:{field:"credentials_name"},badges:[{type:"custom",value:t=>ye(t)}],actions:[{type:"edit",handler:t=>f(t)},{type:"delete",handler:t=>v(t)}]};function L(t){r(a,t.detail.term),r(x,1)}function F(t){r(x,t.detail.page)}function me(t){r(P,t.detail.perPage),r(x,1)}function ge(t){f(t.detail.item)}function fe(t){v(t.detail.item)}w(()=>(e(E),p()),()=>{(!e(E).length||p().loaded.enterprises)&&r(E,p().enterprises)}),w(()=>p(),()=>{r(_,p().loading.enterprises)}),w(()=>p(),()=>{r(G,p().errorMessages.enterprises)}),w(()=>(e(E),e(a)),()=>{r(y,ot(e(E),e(a)))}),w(()=>(e(y),e(P)),()=>{r(m,Math.ceil(e(y).length/e(P)))}),w(()=>(e(x),e(m)),()=>{e(x)>e(m)&&e(m)>0&&r(x,e(m))}),w(()=>(e(y),e(x),e(P)),()=>{r(H,e(y).slice((e(x)-1)*e(P),e(x)*e(P)))}),He(),Se();var Z=kt();Ve(t=>{Ke.title="Enterprises - GARM"});var S=Le(Z),N=n(S);Qe(N,{title:"Enterprises",description:"Manage GitHub enterprises",actionLabel:"Add Enterprise",$$events:{action:pe}});var I=o(N,2);{let t=re(()=>e(G)||e(h)),u=re(()=>!!e(G));it(I,{get columns(){return U},get data(){return e(H)},get loading(){return e(_)},get error(){return e(t)},get searchTerm(){return e(a)},searchPlaceholder:"Search enterprises...",get currentPage(){return e(x)},get perPage(){return e(P)},get totalPages(){return e(m)},get totalItems(){return e(y),b(()=>e(y).length)},itemName:"enterprises",emptyIconType:"building",get showRetry(){return e(u)},get mobileCardConfig(){return q},$$events:{search:L,pageChange:F,perPageChange:me,retry:T,edit:ge,delete:fe},$$slots:{"mobile-card":(K,ve)=>{const s=re(()=>ve.item),c=re(()=>(A(ye),A(e(s)),b(()=>ye(e(s)))));var k=_t(),R=n(k),$=n(R),O=n($),qe=n(O,!0);i(O);var _e=o(O,2),Fe=n(_e,!0);i(_e),i($),i(R);var ke=o(R,2),we=n(ke);nt(we,{get variant(){return A(e(c)),b(()=>e(c).variant)},get text(){return A(e(c)),b(()=>e(c).text)}});var Ee=o(we,2),$e=n(Ee);Ge($e,{action:"edit",size:"sm",title:"Edit enterprise",ariaLabel:"Edit enterprise",$$events:{click:()=>f(e(s))}});var Ie=o($e,2);Ge(Ie,{action:"delete",size:"sm",title:"Delete enterprise",ariaLabel:"Delete enterprise",$$events:{click:()=>v(e(s))}}),i(Ee),i(ke),i(k),z(Je=>{Oe($,"href",Je),X(qe,(A(e(s)),b(()=>e(s).name))),X(Fe,(A(e(s)),b(()=>e(s).credentials_name)))},[()=>(A(Te),A(e(s)),b(()=>Te(`/enterprises/${e(s).id}`)))]),C(K,k)}}})}i(S);var J=o(S,2);{var W=t=>{xt(t,{$$events:{close:()=>r(g,!1),submit:u=>de(u.detail)}})};B(J,t=>{e(g)&&t(W)})}var V=o(J,2);{var ee=t=>{at(t,{get entity(){return e(d)},entityType:"enterprise",$$events:{close:()=>{r(j,!1),r(d,null)},submit:u=>ce(u.detail)}})};B(V,t=>{e(j)&&e(d)&&t(ee)})}var Y=o(V,2);{var te=t=>{st(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone.",get itemName(){return e(d),b(()=>e(d).name)},$$events:{close:()=>{r(D,!1),r(d,null)},confirm:ue}})};B(Y,t=>{e(D)&&e(d)&&t(te)})}C(oe,Z),Ue(),le()}export{Wt as component}; diff --git a/webapp/assets/_app/immutable/nodes/6.CUriKSCU.js b/webapp/assets/_app/immutable/nodes/6.CUriKSCU.js deleted file mode 100644 index c0e66a2c..00000000 --- a/webapp/assets/_app/immutable/nodes/6.CUriKSCU.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Ie,a as B,s as ne,b as D,d as ot,e as Re,l as Je,f as G,h as nt}from"../chunks/CxOx-TIJ.js";import{i as We}from"../chunks/3NxSoY2_.js";import{p as Ve,B as it,o as Ye,l as $,j as r,m as d,g as e,i as W,b as Ke,d as c,s as o,c as n,r as i,t as V,v as Ue,u as y,f as Oe,w as Le,k as se,a as Qe,n as Y,F as M,$ as lt,e as oe,y as dt,h as H}from"../chunks/DzFKsO_V.js";import{a as Xe,i as L,s as Ze,v as et}from"../chunks/B_jyf0qs.js";import{r as Me,b as Ne,d as ct,c as ze,g as Pe}from"../chunks/BguOOs3x.js";import{l as Fe}from"../chunks/BAcG6-Ep.js";import{P as pt}from"../chunks/DTko0dwG.js";import{e as ut,i as mt}from"../chunks/CdXRaxkX.js";import{w as gt}from"../chunks/DoJxysSt.js";import{b as je,a as ft}from"../chunks/BVM1034P.js";import{p as vt}from"../chunks/CdEA5IGF.js";import{M as bt}from"../chunks/Pgjt70l7.js";import{e as fe}from"../chunks/BZiHL9L3.js";import{e as ve,a as De}from"../chunks/Penjr-j0.js";import{U as ht}from"../chunks/B8GNZv7s.js";import{D as yt}from"../chunks/DL1RlOO9.js";import{t as ge}from"../chunks/li_-Mkq2.js";import{k as Te,l as _t}from"../chunks/JkzpcrZD.js";import{B as xt}from"../chunks/1CdJgrM6.js";import{D as kt,E as wt,a as Et,G as Ct,S as $t,A as Mt}from"../chunks/C2FKJqnN.js";import{A as qe}from"../chunks/Ct5kWObc.js";p[M]="src/lib/components/CreateEnterpriseModal.svelte";var Pt=B(G('

'),p[M],[[90,3,[[91,4]]]]),Tt=B(G('

Loading...

'),p[M],[[96,3,[[97,4],[98,4]]]]),Dt=B(G(""),p[M],[[130,7]]),At=B(G('

Loading credentials...

'),p[M],[[136,6]]),Bt=B(G('

No GitHub credentials found. Please create GitHub credentials first.

'),p[M],[[140,6]]),Gt=B(G(`

You'll need to manually configure this secret in GitHub's enterprise webhook settings.

`),p[M],[[101,3,[[103,4,[[104,5],[107,5]]],[118,4,[[119,5],[122,5,[[128,6]]]]],[147,4,[[148,5,[[149,6],[152,6,[[153,7,[[154,8]]],[156,7,[[157,8,[[158,9]]],[160,8,[[161,9]]],[163,8]]]]]]],[167,5,[[172,6],[173,6]]]]],[178,4,[[179,5,[[180,6],[186,6],[189,6,[[190,7,[[191,8]]],[193,7,[[195,8]]]]]]]]],[202,4,[[203,5],[206,5],[213,5]]],[219,4,[[220,5],[227,5]]]]]]),St=B(G('

Create Enterprise

Enterprises are only available for GitHub endpoints.

'),p[M],[[83,1,[[84,2],[85,2]]]]);function p(be,he){Ie(new.target),Ve(he,!1,p);const[ye,_e]=Ze(),g=()=>(et(ve,"eagerCache"),Xe(ve,"$eagerCache",ye)),R=d(),k=d(),f=d(),N=d(),P=it();let C=d(!1),_=d(""),a=d({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin",agent_mode:!1});async function w(){if(!g().loaded.credentials&&!g().loading.credentials)try{(await Y(De.getCredentials()))()}catch(v){r(_,fe(v))}}async function A(){if(!e(a).name||!e(a).name.trim()){r(_,"Enterprise name is required");return}if(!e(a).credentials_name){r(_,"Please select credentials");return}try{r(C,!0),r(_,"");const v={...e(a)};P("submit",v)}catch(v){r(_,fe(v)),r(C,!1)}}Ye(()=>{w()}),$(()=>g(),()=>{r(R,g().credentials)}),$(()=>g(),()=>{r(k,g().loading.credentials)}),$(()=>e(R),()=>{r(f,e(R).filter(v=>W(v.forge_type,"github")))}),$(()=>e(a),()=>{r(N,e(a).name&&W(e(a).name.trim(),"",!1)&&W(e(a).credentials_name,"",!1)&&e(a).webhook_secret&&W(e(a).webhook_secret.trim(),"",!1))}),Ke(),We(),c(()=>bt(be,{$$events:{close:()=>P("close")},children:gt(p,(v,K)=>{var l=St(),ie=o(n(l),4);{var xe=b=>{var E=Pt(),S=n(E),F=n(S,!0);i(S),i(E),V(()=>ne(F,e(_))),D(b,E)};c(()=>L(ie,b=>{e(_)&&b(xe)}),"if",p,89,2)}var ke=o(ie,2);{var we=b=>{var E=Tt();D(b,E)},O=b=>{var E=Gt(),S=n(E),F=o(n(S),2);Me(F),i(S);var Q=o(S,2),j=o(n(Q),2);V(()=>{e(a),Ue(()=>{e(f)})});var X=n(j);X.value=X.__value="";var Ee=o(X);c(()=>ut(Ee,1,()=>e(f),mt,(s,h)=>{var x=Dt(),U=n(x);i(x);var T={};V(()=>{ne(U,`${e(h),y(()=>e(h).name)??""} (${e(h),y(()=>e(h).endpoint?.name||"Unknown endpoint")??""})`),T!==(T=(e(h),y(()=>e(h).name)))&&(x.value=(x.__value=(e(h),y(()=>e(h).name)))??"")}),D(s,x)}),"each",p,129,6),i(j);var Ce=o(j,2);{var le=s=>{var h=At();D(s,h)},Z=s=>{var h=ot(),x=Oe(h);{var U=T=>{var ae=Bt();D(T,ae)};c(()=>L(x,T=>{e(f),y(()=>W(e(f).length,0))&&T(U)},!0),"if",p,139,5)}D(s,h)};c(()=>L(Ce,s=>{e(k)?s(le):s(Z,!1)}),"if",p,135,5)}i(Q);var q=o(Q,2),ee=o(n(q),2);V(()=>{e(a),Ue(()=>{})});var I=n(ee);I.value=I.__value="roundrobin";var de=o(I);de.value=de.__value="pack",i(ee),i(q);var J=o(q,2),ce=n(J),pe=n(ce);Me(pe),Le(4),i(ce),i(J);var te=o(J,2),ue=o(n(te),2);Me(ue),Le(2),i(te);var t=o(te,2),u=n(t),re=o(u,2),me=n(re,!0);i(re),i(t),i(E),V(()=>{re.disabled=(e(C),e(k),e(N),e(f),y(()=>e(C)||e(k)||!e(N)||W(e(f).length,0))),ne(me,e(C)?"Creating...":"Create Enterprise")}),je(F,()=>e(a).name,s=>se(a,e(a).name=s)),Ne(j,()=>e(a).credentials_name,s=>se(a,e(a).credentials_name=s)),Ne(ee,()=>e(a).pool_balancer_type,s=>se(a,e(a).pool_balancer_type=s)),ft(pe,()=>e(a).agent_mode,s=>se(a,e(a).agent_mode=s)),je(ue,()=>e(a).webhook_secret,s=>se(a,e(a).webhook_secret=s)),Re("click",u,()=>P("close")),Re("submit",E,vt(A)),D(b,E)};c(()=>L(ke,b=>{e(C)?b(we):b(O,!1)}),"if",p,95,2)}i(l),D(v,l)}),$$slots:{default:!0}}),"component",p,82,0,{componentTag:"Modal"});var z=Qe({...Je()});return _e(),z}m[M]="src/routes/enterprises/+page.svelte";var Ht=B(G(''),m[M],[[270,3,[[271,4,[[272,5,[[273,6],[276,6]]]]],[281,4,[[283,5]]]]]]),Rt=B(G('
',1),m[M],[[236,0]]);function m(be,he){Ie(new.target),Ve(he,!1,m);const[ye,_e]=Ze(),g=()=>(et(ve,"eagerCache"),Xe(ve,"$eagerCache",ye)),R=d(),k=d(),f=d(),N=d();let P=d([]),C=d(!0),_=d(""),a=d(""),w=d(1),A=d(25),z=d(!1),v=d(!1),K=d(!1),l=d(null);async function ie(t){try{r(_,""),(await Y(Pe.createEnterprise(t)))(),ge.success("Enterprise Created",`Enterprise ${t.name} has been created successfully.`),r(z,!1)}catch(u){throw r(_,fe(u)),u}}async function xe(t){if(e(l))try{(await Y(Pe.updateEnterprise(e(l).id,t)))(),ge.success("Enterprise Updated",`Enterprise ${e(l).name} has been updated successfully.`),r(v,!1),r(l,null)}catch(u){throw u}}async function ke(){if(e(l))try{r(_,""),(await Y(Pe.deleteEnterprise(e(l).id)))(),ge.success("Enterprise Deleted",`Enterprise ${e(l).name} has been deleted successfully.`),r(K,!1),r(l,null)}catch(t){const u=fe(t);ge.error("Delete Failed",u)}}function we(){r(z,!0)}function O(t){r(l,t),r(v,!0)}function b(t){r(l,t),r(K,!0)}Ye(async()=>{try{r(C,!0);const t=(await Y(De.getEnterprises()))();t&&Array.isArray(t)&&r(P,t)}catch(t){console.error(...Fe("error","Failed to load enterprises:",t)),r(_,t instanceof Error?t.message:"Failed to load enterprises")}finally{r(C,!1)}});async function E(){try{(await Y(De.retryResource("enterprises")))()}catch(t){console.error(...Fe("error","Retry failed:",t))}}const S=[{key:"name",title:"Name",cellComponent:wt,cellProps:{entityType:"enterprise"}},{key:"endpoint",title:"Endpoint",cellComponent:Et},{key:"credentials",title:"Credentials",cellComponent:Ct,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:$t,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:Mt}],F={entityType:"enterprise",primaryText:{field:"name",isClickable:!0,href:"/enterprises/{id}"},secondaryText:{field:"credentials_name"},badges:[{type:"custom",value:t=>Te(t)}],actions:[{type:"edit",handler:t=>O(t)},{type:"delete",handler:t=>b(t)}]};function Q(t){r(a,t.detail.term),r(w,1)}function j(t){r(w,t.detail.page)}function X(t){r(A,t.detail.perPage),r(w,1)}function Ee(t){O(t.detail.item)}function Ce(t){b(t.detail.item)}$(()=>(e(P),g()),()=>{(!e(P).length||g().loaded.enterprises)&&r(P,g().enterprises)}),$(()=>g(),()=>{r(C,g().loading.enterprises)}),$(()=>g(),()=>{r(R,g().errorMessages.enterprises)}),$(()=>(e(P),e(a)),()=>{r(k,_t(e(P),e(a)))}),$(()=>(e(k),e(A)),()=>{r(f,Math.ceil(e(k).length/e(A)))}),$(()=>(e(w),e(f)),()=>{e(w)>e(f)&&e(f)>0&&r(w,e(f))}),$(()=>(e(k),e(w),e(A)),()=>{r(N,e(k).slice((e(w)-1)*e(A),e(w)*e(A)))}),Ke(),We();var le=Rt();nt(t=>{lt.title="Enterprises - GARM"});var Z=Oe(le),q=n(Z);c(()=>pt(q,{title:"Enterprises",description:"Manage GitHub enterprises",actionLabel:"Add Enterprise",$$events:{action:we}}),"component",m,238,1,{componentTag:"PageHeader"});var ee=o(q,2);{let t=oe(()=>e(R)||e(_)),u=oe(()=>!!e(R));c(()=>kt(ee,{get columns(){return S},get data(){return e(N)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(a)},searchPlaceholder:"Search enterprises...",get currentPage(){return e(w)},get perPage(){return e(A)},get totalPages(){return e(f)},get totalItems(){return e(k),y(()=>e(k).length)},itemName:"enterprises",emptyIconType:"building",get showRetry(){return e(u)},get mobileCardConfig(){return F},$$events:{search:Q,pageChange:j,perPageChange:X,retry:E,edit:Ee,delete:Ce},$$slots:{"mobile-card":(re,me)=>{const s=oe(()=>me.item),h=oe(()=>me.index),x=dt(oe(()=>(H(Te),H(e(s)),y(()=>Te(e(s))))),"status");e(x);var U=Ht(),T=n(U),ae=n(T),$e=n(ae),tt=n($e,!0);i($e);var Ae=o($e,2),rt=n(Ae,!0);i(Ae),i(ae),i(T);var Be=o(T,2),Ge=n(Be);c(()=>xt(Ge,{get variant(){return H(e(x)),y(()=>e(x).variant)},get text(){return H(e(x)),y(()=>e(x).text)}}),"component",m,282,5,{componentTag:"Badge"});var Se=o(Ge,2),He=n(Se);c(()=>qe(He,{action:"edit",size:"sm",title:"Edit enterprise",ariaLabel:"Edit enterprise",$$events:{click:()=>O(e(s))}}),"component",m,284,6,{componentTag:"ActionButton"});var at=o(He,2);c(()=>qe(at,{action:"delete",size:"sm",title:"Delete enterprise",ariaLabel:"Delete enterprise",$$events:{click:()=>b(e(s))}}),"component",m,291,6,{componentTag:"ActionButton"}),i(Se),i(Be),i(U),V(st=>{ct(ae,"href",st),ne(tt,(H(e(s)),y(()=>e(s).name))),ne(rt,(H(e(s)),y(()=>e(s).credentials_name)))},[()=>(H(ze),H(e(s)),y(()=>ze(`/enterprises/${e(s).id}`)))]),D(re,U)}}}),"component",m,245,1,{componentTag:"DataTable"})}i(Z);var I=o(Z,2);{var de=t=>{c(()=>p(t,{$$events:{close:()=>r(z,!1),submit:u=>ie(u.detail)}}),"component",m,308,1,{componentTag:"CreateEnterpriseModal"})};c(()=>L(I,t=>{e(z)&&t(de)}),"if",m,307,0)}var J=o(I,2);{var ce=t=>{c(()=>ht(t,{get entity(){return e(l)},entityType:"enterprise",$$events:{close:()=>{r(v,!1),r(l,null)},submit:u=>xe(u.detail)}}),"component",m,315,1,{componentTag:"UpdateEntityModal"})};c(()=>L(J,t=>{e(v)&&e(l)&&t(ce)}),"if",m,314,0)}var pe=o(J,2);{var te=t=>{c(()=>yt(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone.",get itemName(){return e(l),y(()=>e(l).name)},$$events:{close:()=>{r(K,!1),r(l,null)},confirm:ke}}),"component",m,324,1,{componentTag:"DeleteModal"})};c(()=>L(pe,t=>{e(K)&&e(l)&&t(te)}),"if",m,323,0)}D(be,le);var ue=Qe({...Je()});return _e(),ue}export{m as component}; diff --git a/webapp/assets/_app/immutable/nodes/7.BPl_OEUT.js b/webapp/assets/_app/immutable/nodes/7.BPl_OEUT.js new file mode 100644 index 00000000..87d9a0b1 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/7.BPl_OEUT.js @@ -0,0 +1 @@ +import{f as U,h as qe,a as E,s as le,c as de}from"../chunks/o8CdT7B0.js";import{i as ze}from"../chunks/ChJfoPF0.js";import{p as Ge,o as je,q as Re,l as Ve,b as We,f as F,t as j,a as Je,u as i,h as ce,g as e,m as l,c as u,s as d,d as s,$ as Ke,r as f,j as Oe,i as v}from"../chunks/DUMcBckj.js";import{i as g,s as Qe,a as Xe}from"../chunks/i7pKks78.js";import{c as S,d as Ye,g as y}from"../chunks/_9uqtkkk.js";import{p as Ze}from"../chunks/K7MmO9Q9.js";import{g as pe}from"../chunks/BcoJ4GZv.js";import{U as et}from"../chunks/Dk1ODhlO.js";import{D as ue}from"../chunks/mBfsYUjq.js";import{E as tt,P as rt,a as at}from"../chunks/DGDf0Obs.js";import{D as st}from"../chunks/Ckj0xxjl.js";import{I as nt}from"../chunks/Dah3498E.js";import{g as fe}from"../chunks/DQsxKNC2.js";import{w as R}from"../chunks/DTRhxHIE.js";import{t as x}from"../chunks/Bbk4dQfI.js";import{C as ot}from"../chunks/4L8NSMkU.js";import{e as V}from"../chunks/BZiHL9L3.js";var it=U('

Loading enterprise...

'),lt=U('

'),dt=U(" ",1),ct=U(' ',1);function Tt(me,ve){Ge(ve,!1);const[ge,ye]=Qe(),W=()=>Xe(Ze,"$page",ge),$=l();let r=l(null),c=l([]),m=l([]),B=l(!0),P=l(""),T=l(!1),M=l(!1),I=l(!1),C=l(!1),p=l(null),k=null,h=l();async function J(){if(e($))try{s(B,!0),s(P,"");const[t,a,n]=await Promise.all([y.getEnterprise(e($)),y.listEnterprisePools(e($)).catch(()=>[]),y.listEnterpriseInstances(e($)).catch(()=>[])]);s(r,t),s(c,a),s(m,n)}catch(t){s(P,t instanceof Error?t.message:"Failed to load enterprise")}finally{s(B,!1)}}function he(t,a){const{events:n}=t;return{...a,events:n}}async function _e(t){if(e(r))try{await y.updateEnterprise(e(r).id,t),await J(),x.success("Enterprise Updated",`Enterprise ${e(r).name} has been updated successfully.`),s(T,!1)}catch(a){throw a}}async function be(){if(e(r)){try{await y.deleteEnterprise(e(r).id),pe(S("/enterprises"))}catch(t){const a=V(t);x.error("Delete Failed",a)}s(M,!1)}}async function Ee(){if(e(p))try{await y.deleteInstance(e(p).name),x.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),s(I,!1),s(p,null)}catch(t){const a=V(t);x.error("Delete Failed",a),s(I,!1),s(p,null)}}function xe(t){s(p,t),s(I,!0)}function $e(){s(C,!0)}async function Ie(t){try{if(!e(r))return;await y.createEnterprisePool(e(r).id,t.detail),x.success("Pool Created",`Pool has been created successfully for enterprise ${e(r).name}.`),s(C,!1)}catch(a){const n=V(a);x.error("Pool Creation Failed",n)}}function K(){e(h)&&Oe(h,e(h).scrollTop=e(h).scrollHeight)}function we(t){if(t.operation==="update"){const a=t.payload;if(e(r)&&a.id===e(r).id){const n=e(r).events?.length||0,o=a.events?.length||0;s(r,he(e(r),a)),o>n&&setTimeout(()=>{K()},100)}}else if(t.operation==="delete"){const a=t.payload.id||t.payload;e(r)&&e(r).id===a&&pe(S("/enterprises"))}}function De(t){if(!e(r))return;const a=t.payload;if(a.enterprise_id===e(r).id){if(t.operation==="create")s(c,[...e(c),a]);else if(t.operation==="update")s(c,e(c).map(n=>n.id===a.id?a:n));else if(t.operation==="delete"){const n=a.id||a;s(c,e(c).filter(o=>o.id!==n))}}}function Pe(t){if(!e(r)||!e(c))return;const a=t.payload;if(e(c).some(o=>o.id===a.pool_id)){if(t.operation==="create")s(m,[...e(m),a]);else if(t.operation==="update")s(m,e(m).map(o=>o.id===a.id?a:o));else if(t.operation==="delete"){const o=a.id||a;s(m,e(m).filter(q=>q.id!==o))}}}je(()=>{J().then(()=>{e(r)?.events?.length&&setTimeout(()=>{K()},100)});const t=R.subscribeToEntity("enterprise",["update","delete"],we),a=R.subscribeToEntity("pool",["create","update","delete"],De),n=R.subscribeToEntity("instance",["create","update","delete"],Pe);k=()=>{t(),a(),n()}}),Re(()=>{k&&(k(),k=null)}),Ve(()=>W(),()=>{s($,W().params.id)}),We(),ze();var O=ct();qe(t=>{j(()=>Ke.title=`${e(r),i(()=>e(r)?`${e(r).name} - Enterprise Details`:"Enterprise Details")??""} - GARM`)});var L=F(O),H=u(L),Q=u(H),N=u(Q),Te=u(N);f(N);var X=d(N,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(H);var Ce=d(H,2);{var ke=t=>{var a=it();E(t,a)},Ae=t=>{var a=de(),n=F(a);{var o=_=>{var b=lt(),A=u(b),z=u(A,!0);f(A),f(b),j(()=>le(z,e(P))),E(_,b)},q=_=>{var b=de(),A=F(b);{var z=G=>{var ae=dt(),se=F(ae);{let w=v(()=>(e(r),i(()=>e(r).name||"Enterprise"))),D=v(()=>(e(r),i(()=>e(r).endpoint?.name))),Ne=v(()=>(ce(fe),i(()=>fe("github"))));st(se,{get title(){return e(w)},get subtitle(){return`Endpoint: ${e(D)??""} • GitHub Enterprise`},get forgeIcon(){return e(Ne)},onEdit:()=>s(T,!0),onDelete:()=>s(M,!0)})}var ne=d(se,2);tt(ne,{get entity(){return e(r)},entityType:"enterprise"});var oe=d(ne,2);{let w=v(()=>(e(r),i(()=>e(r).id||""))),D=v(()=>(e(r),i(()=>e(r).name||"")));rt(oe,{get pools(){return e(c)},entityType:"enterprise",get entityId(){return e(w)},get entityName(){return e(D)},$$events:{addPool:$e}})}var ie=d(oe,2);nt(ie,{get instances(){return e(m)},entityType:"enterprise",onDeleteInstance:xe});var He=d(ie,2);{let w=v(()=>(e(r),i(()=>e(r)?.events)));at(He,{get events(){return e(w)},get eventsContainer(){return e(h)},set eventsContainer(D){s(h,D)},$$legacy:!0})}E(G,ae)};g(A,G=>{e(r)&&G(z)},!0)}E(_,b)};g(n,_=>{e(P)?_(o):_(q,!1)},!0)}E(t,a)};g(Ce,t=>{e(B)?t(ke):t(Ae,!1)})}f(L);var ee=d(L,2);{var Fe=t=>{et(t,{get entity(){return e(r)},entityType:"enterprise",$$events:{close:()=>s(T,!1),submit:a=>_e(a.detail)}})};g(ee,t=>{e(T)&&e(r)&&t(Fe)})}var te=d(ee,2);{var Se=t=>{ue(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(r),i(()=>e(r).name)},$$events:{close:()=>s(M,!1),confirm:be}})};g(te,t=>{e(M)&&e(r)&&t(Se)})}var re=d(te,2);{var Ue=t=>{ue(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),i(()=>e(p).name)},$$events:{close:()=>{s(I,!1),s(p,null)},confirm:Ee}})};g(re,t=>{e(I)&&e(p)&&t(Ue)})}var Be=d(re,2);{var Le=t=>{{let a=v(()=>(e(r),i(()=>e(r).id||"")));ot(t,{initialEntityType:"enterprise",get initialEntityId(){return e(a)},$$events:{close:()=>s(C,!1),submit:Ie}})}};g(Be,t=>{e(C)&&e(r)&&t(Le)})}j(t=>{Ye(Te,"href",t),le(Me,(e(r),i(()=>e(r)?e(r).name:"Loading...")))},[()=>(ce(S),i(()=>S("/enterprises")))]),E(me,O),Je(),ye()}export{Tt as component}; diff --git a/webapp/assets/_app/immutable/nodes/7.CDCxQvHx.js b/webapp/assets/_app/immutable/nodes/7.CDCxQvHx.js deleted file mode 100644 index a8315d90..00000000 --- a/webapp/assets/_app/immutable/nodes/7.CDCxQvHx.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Ke,a as q,h as Oe,b as I,l as Qe,s as me,f as z,d as ve}from"../chunks/CxOx-TIJ.js";import{i as Xe}from"../chunks/3NxSoY2_.js";import{p as Ye,o as Ze,x as et,l as tt,b as at,f as H,d as i,t as O,a as nt,s as u,g as e,m as d,u as p,h as ge,F as k,c as v,j as r,$ as rt,r as g,e as h,n as T,k as st,i as l}from"../chunks/DzFKsO_V.js";import{s as ot,a as it,i as _,v as lt}from"../chunks/B_jyf0qs.js";import{c as N,d as ct,g as E}from"../chunks/BguOOs3x.js";import{p as ye}from"../chunks/DgabA6iF.js";import{g as he}from"../chunks/BzzAh3Be.js";import{U as dt}from"../chunks/B8GNZv7s.js";import{D as _e}from"../chunks/DL1RlOO9.js";import{E as pt,P as ut,a as ft}from"../chunks/Cfss7k9J.js";import{D as mt}from"../chunks/BLYRAgBX.js";import{I as vt}from"../chunks/CzarUgpd.js";import{g as Ee}from"../chunks/JkzpcrZD.js";import{w as Q}from"../chunks/DSHGoHxX.js";import{t as w}from"../chunks/li_-Mkq2.js";import{C as gt}from"../chunks/BBvIKVJT.js";import{e as X}from"../chunks/BZiHL9L3.js";s[k]="src/routes/enterprises/[id]/+page.svelte";var yt=q(z('

Loading enterprise...

'),s[k],[[316,2,[[317,3],[318,3]]]]),ht=q(z('

'),s[k],[[321,2,[[322,3]]]]),_t=q(z(" ",1),s[k],[]),Et=q(z(' ',1),s[k],[[290,0,[[292,1,[[293,2,[[294,3,[[295,4,[[296,5,[[297,6]]]]]]],[302,3,[[303,4,[[304,5,[[305,6]]],[307,5]]]]]]]]]]]]);function s(be,xe){Ke(new.target),Ye(xe,!1,s);const[$e,Ie]=ot(),Y=()=>(lt(ye,"page"),it(ye,"$page",$e)),D=d();let a=d(null),f=d([]),y=d([]),G=d(!0),F=d(""),S=d(!1),A=d(!1),M=d(!1),U=d(!1),m=d(null),L=null,b=d();async function Z(){if(e(D))try{r(G,!0),r(F,"");const[t,n,o]=(await T(Promise.all([E.getEnterprise(e(D)),E.listEnterprisePools(e(D)).catch(()=>[]),E.listEnterpriseInstances(e(D)).catch(()=>[])])))();r(a,t),r(f,n),r(y,o)}catch(t){r(F,t instanceof Error?t.message:"Failed to load enterprise")}finally{r(G,!1)}}function Te(t,n){const{events:o}=t;return{...n,events:o}}async function we(t){if(e(a))try{(await T(E.updateEnterprise(e(a).id,t)))(),(await T(Z()))(),w.success("Enterprise Updated",`Enterprise ${e(a).name} has been updated successfully.`),r(S,!1)}catch(n){throw n}}async function De(){if(e(a)){try{(await T(E.deleteEnterprise(e(a).id)))(),he(N("/enterprises"))}catch(t){const n=X(t);w.error("Delete Failed",n)}r(A,!1)}}async function Me(){if(e(m))try{(await T(E.deleteInstance(e(m).name)))(),w.success("Instance Deleted",`Instance ${e(m).name} has been deleted successfully.`),r(M,!1),r(m,null)}catch(t){const n=X(t);w.error("Delete Failed",n),r(M,!1),r(m,null)}}function Pe(t){r(m,t),r(M,!0)}function Ce(){r(U,!0)}async function ke(t){try{if(!e(a))return;(await T(E.createEnterprisePool(e(a).id,t.detail)))(),w.success("Pool Created",`Pool has been created successfully for enterprise ${e(a).name}.`),r(U,!1)}catch(n){const o=X(n);w.error("Pool Creation Failed",o)}}function ee(){e(b)&&st(b,e(b).scrollTop=e(b).scrollHeight)}function Fe(t){if(l(t.operation,"update")){const n=t.payload;if(e(a)&&l(n.id,e(a).id)){const o=e(a).events?.length||0,c=n.events?.length||0;r(a,Te(e(a),n)),c>o&&setTimeout(()=>{ee()},100)}}else if(l(t.operation,"delete")){const n=t.payload.id||t.payload;e(a)&&l(e(a).id,n)&&he(N("/enterprises"))}}function Se(t){if(!e(a))return;const n=t.payload;if(!l(n.enterprise_id,e(a).id,!1)){if(l(t.operation,"create"))r(f,[...e(f),n]);else if(l(t.operation,"update"))r(f,e(f).map(o=>l(o.id,n.id)?n:o));else if(l(t.operation,"delete")){const o=n.id||n;r(f,e(f).filter(c=>l(c.id,o,!1)))}}}function Ae(t){if(!e(a)||!e(f))return;const n=t.payload;if(e(f).some(c=>l(c.id,n.pool_id))){if(l(t.operation,"create"))r(y,[...e(y),n]);else if(l(t.operation,"update"))r(y,e(y).map(c=>l(c.id,n.id)?n:c));else if(l(t.operation,"delete")){const c=n.id||n;r(y,e(y).filter(W=>l(W.id,c,!1)))}}}Ze(()=>{Z().then(()=>{e(a)?.events?.length&&setTimeout(()=>{ee()},100)});const t=Q.subscribeToEntity("enterprise",["update","delete"],Fe),n=Q.subscribeToEntity("pool",["create","update","delete"],Se),o=Q.subscribeToEntity("instance",["create","update","delete"],Ae);L=()=>{t(),n(),o()}}),et(()=>{L&&(L(),L=null)}),tt(()=>Y(),()=>{r(D,Y().params.id)}),at(),Xe();var te=Et();Oe(t=>{O(()=>rt.title=`${e(a),p(()=>e(a)?`${e(a).name} - Enterprise Details`:"Enterprise Details")??""} - GARM`)});var j=H(te),R=v(j),ae=v(R),V=v(ae),Ue=v(V);g(V);var ne=u(V,2),re=v(ne),se=u(v(re),2),Le=v(se,!0);g(se),g(re),g(ne),g(ae),g(R);var Be=u(R,2);{var He=t=>{var n=yt();I(t,n)},Ne=t=>{var n=ve(),o=H(n);{var c=x=>{var $=ht(),B=v($),J=v(B,!0);g(B),g($),O(()=>me(J,e(F))),I(x,$)},W=x=>{var $=ve(),B=H($);{var J=K=>{var ce=_t(),de=H(ce);{let P=h(()=>(e(a),p(()=>e(a).name||"Enterprise"))),C=h(()=>(e(a),p(()=>e(a).endpoint?.name))),Je=h(()=>(ge(Ee),p(()=>Ee("github"))));i(()=>mt(de,{get title(){return e(P)},get subtitle(){return`Endpoint: ${e(C)??""} • GitHub Enterprise`},get forgeIcon(){return e(Je)},onEdit:()=>r(S,!0),onDelete:()=>r(A,!0)}),"component",s,326,2,{componentTag:"DetailHeader"})}var pe=u(de,2);i(()=>pt(pe,{get entity(){return e(a)},entityType:"enterprise"}),"component",s,335,2,{componentTag:"EntityInformation"});var ue=u(pe,2);{let P=h(()=>(e(a),p(()=>e(a).id||""))),C=h(()=>(e(a),p(()=>e(a).name||"")));i(()=>ut(ue,{get pools(){return e(f)},entityType:"enterprise",get entityId(){return e(P)},get entityName(){return e(C)},$$events:{addPool:Ce}}),"component",s,338,2,{componentTag:"PoolsSection"})}var fe=u(ue,2);i(()=>vt(fe,{get instances(){return e(y)},entityType:"enterprise",onDeleteInstance:Pe}),"component",s,347,2,{componentTag:"InstancesSection"});var We=u(fe,2);{let P=h(()=>(e(a),p(()=>e(a)?.events)));i(()=>ft(We,{get events(){return e(P)},get eventsContainer(){return e(b)},set eventsContainer(C){r(b,C)},$$legacy:!0}),"component",s,350,2,{componentTag:"EventsSection"})}I(K,ce)};i(()=>_(B,K=>{e(a)&&K(J)},!0),"if",s,324,1)}I(x,$)};i(()=>_(o,x=>{e(F)?x(c):x(W,!1)},!0),"if",s,320,1)}I(t,n)};i(()=>_(Be,t=>{e(G)?t(He):t(Ne,!1)}),"if",s,315,1)}g(j);var oe=u(j,2);{var qe=t=>{i(()=>dt(t,{get entity(){return e(a)},entityType:"enterprise",$$events:{close:()=>r(S,!1),submit:n=>we(n.detail)}}),"component",s,356,1,{componentTag:"UpdateEntityModal"})};i(()=>_(oe,t=>{e(S)&&e(a)&&t(qe)}),"if",s,355,0)}var ie=u(oe,2);{var ze=t=>{i(()=>_e(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a),p(()=>e(a).name)},$$events:{close:()=>r(A,!1),confirm:De}}),"component",s,365,1,{componentTag:"DeleteModal"})};i(()=>_(ie,t=>{e(A)&&e(a)&&t(ze)}),"if",s,364,0)}var le=u(ie,2);{var Ge=t=>{i(()=>_e(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(m),p(()=>e(m).name)},$$events:{close:()=>{r(M,!1),r(m,null)},confirm:Me}}),"component",s,375,1,{componentTag:"DeleteModal"})};i(()=>_(le,t=>{e(M)&&e(m)&&t(Ge)}),"if",s,374,0)}var je=u(le,2);{var Re=t=>{{let n=h(()=>(e(a),p(()=>e(a).id||"")));i(()=>gt(t,{initialEntityType:"enterprise",get initialEntityId(){return e(n)},$$events:{close:()=>r(U,!1),submit:ke}}),"component",s,385,1,{componentTag:"CreatePoolModal"})}};i(()=>_(je,t=>{e(U)&&e(a)&&t(Re)}),"if",s,384,0)}O(t=>{ct(Ue,"href",t),me(Le,(e(a),p(()=>e(a)?e(a).name:"Loading...")))},[()=>(ge(N),p(()=>N("/enterprises")))]),I(be,te);var Ve=nt({...Qe()});return Ie(),Ve}export{s as component}; diff --git a/webapp/assets/_app/immutable/nodes/8.B3PNRMwk.js b/webapp/assets/_app/immutable/nodes/8.B3PNRMwk.js new file mode 100644 index 00000000..3cbda130 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/8.B3PNRMwk.js @@ -0,0 +1 @@ +import{f as m,h as Ze,e as er,a as n,b as rr,t as ar,s as ze}from"../chunks/o8CdT7B0.js";import{i as tr}from"../chunks/ChJfoPF0.js";import{p as dr,o as lr,l as L,b as sr,t as de,g as e,a as or,m as i,$ as ir,c as a,u,h as Ae,s as d,d as s,r as t,n as q,f as nr,i as cr}from"../chunks/DUMcBckj.js";import{i as p,s as mr,a as vr}from"../chunks/i7pKks78.js";import{B as Pe,c as _,d as Le,s as F,r as w}from"../chunks/_9uqtkkk.js";import{b as U}from"../chunks/BtzOUN4g.js";import{p as ur}from"../chunks/CdEA5IGF.js";import{g as le}from"../chunks/BcoJ4GZv.js";import{a as pr,b as gr}from"../chunks/DJUEiJtb.js";import{t as br}from"../chunks/Bbk4dQfI.js";import{e as fr}from"../chunks/BZiHL9L3.js";var xr=m('

Username is required

'),hr=m('

Please enter a valid email address

'),yr=m('

Full name is required

'),kr=m('

Password must be at least 8 characters long

'),_r=m('

Passwords do not match

'),wr=rr(' Advanced Configuration (Optional)',1),Ur=m('

URL where runners can fetch metadata and setup information.

URL where runners send status updates and lifecycle events.

URL where GitHub/Gitea will send webhook events for job notifications.

URL where GARM agents will connect. Must allow websocket connections.

'),$r=m("
  • Enter a username
  • "),Mr=m("
  • Enter a valid email address
  • "),Rr=m("
  • Enter your full name
  • "),zr=m("
  • Enter a password with at least 8 characters
  • "),Ar=m("
  • Confirm your password
  • "),Pr=m('

    Please complete all required fields

    '),Lr=m('

    '),qr=m('
    GARM

    Welcome to GARM

    Complete the first-run setup to get started

    First-Run Initialization

    GARM needs to be initialized before first use. This will create the admin user and generate a unique controller ID for this installation.

    This will create the admin user, generate a unique controller ID, and configure the required URLs for your GARM installation.
    Make sure to remember these credentials as they cannot be recovered.

    ');function Dr(qe,Ce){dr(Ce,!1);const[Ge,Ie]=mr(),C=()=>vr(pr,"$authStore",Ge),$=i(),M=i(),R=i(),z=i(),A=i(),j=i();let f=i("admin"),g=i("admin@garm.local"),v=i(""),x=i(""),h=i("Administrator"),G=i(!1),O=i(""),J=i(!1),E=i(""),V=i(""),B=i(""),N=i("");async function Ee(){if(e(j))try{s(G,!0),s(O,""),await gr.initialize(e(f).trim(),e(g).trim(),e(v),e(h).trim(),{callbackUrl:e(E).trim()||void 0,metadataUrl:e(V).trim()||void 0,webhookUrl:e(B).trim()||void 0,agentUrl:e(N).trim()||void 0}),br.success("GARM Initialized","GARM has been successfully initialized. Welcome!")}catch(r){s(O,fr(r))}finally{s(G,!1)}}lr(()=>{if(C().isAuthenticated){le(_("/"));return}!C().needsInitialization&&!C().loading&&le(_("/login"))}),L(()=>(e(E),e(V),e(B),e(N)),()=>{if(typeof window<"u"){const r=window.location.origin;e(E)||s(E,`${r}/api/v1/callbacks`),e(V)||s(V,`${r}/api/v1/metadata`),e(B)||s(B,`${r}/webhooks`),e(N)||s(N,`${r}/agent`)}}),L(()=>e(g),()=>{s($,e(g).trim()!==""&&e(g).includes("@"))}),L(()=>e(v),()=>{s(M,e(v).length>=8)}),L(()=>(e(x),e(v)),()=>{s(R,e(x).length>0&&e(v)===e(x))}),L(()=>e(f),()=>{s(z,e(f).trim()!=="")}),L(()=>e(h),()=>{s(A,e(h).trim()!=="")}),L(()=>(e(z),e($),e(A),e(M),e(R)),()=>{s(j,e(z)&&e($)&&e(A)&&e(M)&&e(R))}),L(()=>(e(G),C(),_),()=>{e(G)||(C().isAuthenticated?le(_("/")):!C().needsInitialization&&!C().loading&&le(_("/login")))}),sr(),tr();var se=qr();Ze(r=>{ir.title="Initialize GARM - First Run Setup"});var oe=a(se),ge=a(oe),be=a(ge),Ve=d(be,2);t(ge),q(4),t(oe);var fe=d(oe,2),xe=d(a(fe),2),ie=a(xe),ne=a(ie),he=d(a(ne),2),K=a(he);w(K);var Be=d(K,2);{var Ne=r=>{var l=xr();n(r,l)};p(Be,r=>{e(z),e(f),u(()=>!e(z)&&e(f).length>0)&&r(Ne)})}t(he),t(ne);var ce=d(ne,2),ye=d(a(ce),2),Q=a(ye);w(Q);var Se=d(Q,2);{var Fe=r=>{var l=hr();n(r,l)};p(Se,r=>{e($),e(g),u(()=>!e($)&&e(g).length>0)&&r(Fe)})}t(ye),t(ce);var me=d(ce,2),ke=d(a(me),2),X=a(ke);w(X);var je=d(X,2);{var We=r=>{var l=yr();n(r,l)};p(je,r=>{e(A),e(h),u(()=>!e(A)&&e(h).length>0)&&r(We)})}t(ke),t(me);var ve=d(me,2),_e=d(a(ve),2),Y=a(_e);w(Y);var De=d(Y,2);{var He=r=>{var l=kr();n(r,l)};p(De,r=>{e(M),e(v),u(()=>!e(M)&&e(v).length>0)&&r(He)})}t(_e),t(ve);var ue=d(ve,2),we=d(a(ue),2),Z=a(we);w(Z);var Te=d(Z,2);{var Oe=r=>{var l=_r();n(r,l)};p(Te,r=>{e(R),e(x),u(()=>!e(R)&&e(x).length>0)&&r(Oe)})}t(we),t(ue);var pe=d(ue,2),Ue=a(pe);Pe(Ue,{type:"button",variant:"ghost",size:"sm",$$events:{click:()=>s(J,!e(J))},children:(r,l)=>{var b=wr(),c=nr(b);q(),de(()=>F(c,0,`w-4 h-4 mr-2 transition-transform ${e(J)?"rotate-90":""}`)),n(r,b)},$$slots:{default:!0}});var Je=d(Ue,2);{var Ke=r=>{var l=Ur(),b=a(l),c=a(b),P=d(a(c),2),I=a(P);w(I),q(2),t(P),t(c);var S=d(c,2),ee=d(a(S),2),W=a(ee);w(W),q(2),t(ee),t(S);var D=d(S,2),H=d(a(D),2),re=a(H);w(re),q(2),t(H),t(D);var T=d(D,2),ae=d(a(T),2),te=a(ae);w(te),q(2),t(ae),t(T),t(b),t(l),U(I,()=>e(V),y=>s(V,y)),U(W,()=>e(E),y=>s(E,y)),U(re,()=>e(B),y=>s(B,y)),U(te,()=>e(N),y=>s(N,y)),n(r,l)};p(Je,r=>{e(J)&&r(Ke)})}t(pe);var $e=d(pe,2);{var Qe=r=>{var l=Pr(),b=a(l),c=d(a(b),2),P=d(a(c),2),I=a(P),S=a(I);{var ee=o=>{var k=$r();n(o,k)};p(S,o=>{e(z)||o(ee)})}var W=d(S,2);{var D=o=>{var k=Mr();n(o,k)};p(W,o=>{e($)||o(D)})}var H=d(W,2);{var re=o=>{var k=Rr();n(o,k)};p(H,o=>{e(A)||o(re)})}var T=d(H,2);{var ae=o=>{var k=zr();n(o,k)};p(T,o=>{e(M)||o(ae)})}var te=d(T,2);{var y=o=>{var k=Ar();n(o,k)};p(te,o=>{e(R)||o(y)})}t(I),t(P),t(c),t(b),t(l),n(r,l)};p($e,r=>{e(j),e(f),e(g),e(h),e(v),e(x),u(()=>!e(j)&&(e(f).length>0||e(g).length>0||e(h).length>0||e(v).length>0||e(x).length>0))&&r(Qe)})}var Me=d($e,2);{var Xe=r=>{var l=Lr(),b=a(l),c=d(a(b),2),P=a(c),I=a(P,!0);t(P),t(c),t(b),t(l),de(()=>ze(I,e(O))),n(r,l)};p(Me,r=>{e(O)&&r(Xe)})}var Re=d(Me,2),Ye=a(Re);{let r=cr(()=>!e(j)||e(G));Pe(Ye,{type:"submit",variant:"primary",size:"lg",fullWidth:!0,get loading(){return e(G)},get disabled(){return e(r)},children:(l,b)=>{q();var c=ar();de(()=>ze(c,e(G)?"Initializing...":"Initialize GARM")),n(l,c)},$$slots:{default:!0}})}t(Re),t(ie),q(2),t(xe),t(fe),t(se),de((r,l)=>{Le(be,"src",r),Le(Ve,"src",l),F(K,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(z),e(f),u(()=>!e(z)&&e(f).length>0?"border-red-300 dark:border-red-600":"")??""}`),F(Q,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e($),e(g),u(()=>!e($)&&e(g).length>0?"border-red-300 dark:border-red-600":"")??""}`),F(X,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(A),e(h),u(()=>!e(A)&&e(h).length>0?"border-red-300 dark:border-red-600":"")??""}`),F(Y,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(M),e(v),u(()=>!e(M)&&e(v).length>0?"border-red-300 dark:border-red-600":"")??""}`),F(Z,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(R),e(x),u(()=>!e(R)&&e(x).length>0?"border-red-300 dark:border-red-600":"")??""}`)},[()=>(Ae(_),u(()=>_("/assets/garm-light.svg"))),()=>(Ae(_),u(()=>_("/assets/garm-dark.svg")))]),U(K,()=>e(f),r=>s(f,r)),U(Q,()=>e(g),r=>s(g,r)),U(X,()=>e(h),r=>s(h,r)),U(Y,()=>e(v),r=>s(v,r)),U(Z,()=>e(x),r=>s(x,r)),er("submit",ie,ur(Ee)),n(qe,se),or(),Ie()}export{Dr as component}; diff --git a/webapp/assets/_app/immutable/nodes/8.CtSgrltG.js b/webapp/assets/_app/immutable/nodes/8.CtSgrltG.js deleted file mode 100644 index 63129eaf..00000000 --- a/webapp/assets/_app/immutable/nodes/8.CtSgrltG.js +++ /dev/null @@ -1 +0,0 @@ -import{c as or,a as u,h as ir,e as nr,b as c,l as cr,t as mr,s as Ce,f as g,g as vr}from"../chunks/CxOx-TIJ.js";import{i as ur}from"../chunks/3NxSoY2_.js";import{p as pr,o as gr,l as E,b as fr,d as v,t as ne,g as e,a as br,m as n,$ as xr,c as a,s as d,u as b,f as hr,w as I,j as o,e as yr,h as Ge,F as m,i as X,r as t,n as kr}from"../chunks/DzFKsO_V.js";import{s as _r,a as wr,i as x,v as Ur}from"../chunks/B_jyf0qs.js";import{w as Ee}from"../chunks/DoJxysSt.js";import{c as M,B as Ie,s as D,d as Be,r as R}from"../chunks/BguOOs3x.js";import{b as z}from"../chunks/BVM1034P.js";import{p as $r}from"../chunks/CdEA5IGF.js";import{g as ce}from"../chunks/BzzAh3Be.js";import{a as Fe,b as Mr}from"../chunks/K_YdKkKc.js";import{t as Rr}from"../chunks/li_-Mkq2.js";import{e as zr}from"../chunks/BZiHL9L3.js";l[m]="src/routes/init/+page.svelte";var Ar=u(g('

    Username is required

    '),l[m],[[171,7]]),Pr=u(g('

    Please enter a valid email address

    '),l[m],[[194,7]]),Lr=u(g('

    Full name is required

    '),l[m],[[217,7]]),qr=u(g('

    Password must be at least 8 characters long

    '),l[m],[[240,7]]),Cr=u(g('

    Passwords do not match

    '),l[m],[[263,7]]),Gr=u(vr(' Advanced Configuration (Optional)',1),l[m],[[278,6,[[284,7]]]]),Er=u(g('

    URL where runners can fetch metadata and setup information.

    URL where runners send status updates and lifecycle events.

    URL where GitHub/Gitea will send webhook events for job notifications.

    URL where GARM agents will connect. Must allow websocket connections.

    '),l[m],[[290,6,[[291,7,[[293,8,[[294,9],[297,9,[[298,10],[306,10]]]]],[313,8,[[314,9],[317,9,[[318,10],[326,10]]]]],[333,8,[[334,9],[337,9,[[338,10],[346,10]]]]],[353,8,[[354,9],[357,9,[[358,10],[366,10]]]]]]]]]]),Ir=u(g("
  • Enter a username
  • "),l[m],[[392,11]]),Br=u(g("
  • Enter a valid email address
  • "),l[m],[[395,11]]),Fr=u(g("
  • Enter your full name
  • "),l[m],[[398,11]]),Nr=u(g("
  • Enter a password with at least 8 characters
  • "),l[m],[[401,11]]),Sr=u(g("
  • Confirm your password
  • "),l[m],[[404,11]]),Vr=u(g('

    Please complete all required fields

    '),l[m],[[378,5,[[379,6,[[380,7,[[381,8,[[382,9]]]]],[385,7,[[386,8],[389,8,[[390,9]]]]]]]]]]),jr=u(g('

    '),l[m],[[415,5,[[416,6,[[417,7,[[418,8,[[419,9]]]]],[422,7,[[423,8]]]]]]]]),Tr=u(g('
    GARM

    Welcome to GARM

    Complete the first-run setup to get started

    First-Run Initialization

    GARM needs to be initialized before first use. This will create the admin user and generate a unique controller ID for this installation.

    This will create the admin user, generate a unique controller ID, and configure the required URLs for your GARM installation.
    Make sure to remember these credentials as they cannot be recovered.

    '),l[m],[[110,0,[[111,1,[[112,2,[[113,3],[118,3]]],[124,2],[127,2]]],[132,1,[[134,2,[[135,3,[[136,4,[[137,5,[[138,6]]]]],[141,4,[[142,5],[145,5,[[146,6]]]]]]]]],[153,2,[[154,3,[[156,4,[[157,5],[160,5,[[161,6]]]]],[179,4,[[180,5],[183,5,[[184,6]]]]],[202,4,[[203,5],[206,5,[[207,6]]]]],[225,4,[[226,5],[229,5,[[230,6]]]]],[248,4,[[249,5],[252,5,[[253,6]]]]],[271,4],[430,4]]],[445,3,[[446,4,[[447,5,[[449,6]]]]]]]]]]]]]]);function l(Ne,Se){or(new.target),pr(Se,!1,l);const[Ve,je]=_r(),B=()=>(Ur(Fe,"authStore"),wr(Fe,"$authStore",Ve)),A=n(),P=n(),L=n(),q=n(),C=n(),H=n();let k=n("admin"),h=n("admin@garm.local"),f=n(""),_=n(""),w=n("Administrator"),F=n(!1),Y=n(""),Z=n(!1),S=n(""),V=n(""),j=n(""),T=n("");async function Te(){if(e(H))try{o(F,!0),o(Y,""),(await kr(Mr.initialize(e(k).trim(),e(h).trim(),e(f),e(w).trim(),{callbackUrl:e(S).trim()||void 0,metadataUrl:e(V).trim()||void 0,webhookUrl:e(j).trim()||void 0,agentUrl:e(T).trim()||void 0})))(),Rr.success("GARM Initialized","GARM has been successfully initialized. Welcome!")}catch(r){o(Y,zr(r))}finally{o(F,!1)}}gr(()=>{if(B().isAuthenticated){ce(M("/"));return}!B().needsInitialization&&!B().loading&&ce(M("/login"))}),E(()=>(e(S),e(V),e(j),e(T)),()=>{if(X(typeof window,"undefined",!1)){const r=window.location.origin;e(S)||o(S,`${r}/api/v1/callbacks`),e(V)||o(V,`${r}/api/v1/metadata`),e(j)||o(j,`${r}/webhooks`),e(T)||o(T,`${r}/agent`)}}),E(()=>e(h),()=>{o(A,X(e(h).trim(),"",!1)&&e(h).includes("@"))}),E(()=>e(f),()=>{o(P,e(f).length>=8)}),E(()=>(e(_),e(f)),()=>{o(L,e(_).length>0&&X(e(f),e(_)))}),E(()=>e(k),()=>{o(q,X(e(k).trim(),"",!1))}),E(()=>e(w),()=>{o(C,X(e(w).trim(),"",!1))}),E(()=>(e(q),e(A),e(C),e(P),e(L)),()=>{o(H,e(q)&&e(A)&&e(C)&&e(P)&&e(L))}),E(()=>(e(F),B(),M),()=>{e(F)||(B().isAuthenticated?ce(M("/")):!B().needsInitialization&&!B().loading&&ce(M("/login")))}),fr(),ur();var me=Tr();ir(r=>{xr.title="Initialize GARM - First Run Setup"});var ve=a(me),ye=a(ve),ke=a(ye),We=d(ke,2);t(ye),I(4),t(ve);var _e=d(ve,2),we=d(a(_e),2),ue=a(we),pe=a(ue),Ue=d(a(pe),2),ee=a(Ue);R(ee);var De=d(ee,2);{var He=r=>{var s=Ar();c(r,s)};v(()=>x(De,r=>{e(q),e(k),b(()=>!e(q)&&e(k).length>0)&&r(He)}),"if",l,170,6)}t(Ue),t(pe);var ge=d(pe,2),$e=d(a(ge),2),re=a($e);R(re);var Oe=d(re,2);{var Je=r=>{var s=Pr();c(r,s)};v(()=>x(Oe,r=>{e(A),e(h),b(()=>!e(A)&&e(h).length>0)&&r(Je)}),"if",l,193,6)}t($e),t(ge);var fe=d(ge,2),Me=d(a(fe),2),ae=a(Me);R(ae);var Ke=d(ae,2);{var Qe=r=>{var s=Lr();c(r,s)};v(()=>x(Ke,r=>{e(C),e(w),b(()=>!e(C)&&e(w).length>0)&&r(Qe)}),"if",l,216,6)}t(Me),t(fe);var be=d(fe,2),Re=d(a(be),2),te=a(Re);R(te);var Xe=d(te,2);{var Ye=r=>{var s=qr();c(r,s)};v(()=>x(Xe,r=>{e(P),e(f),b(()=>!e(P)&&e(f).length>0)&&r(Ye)}),"if",l,239,6)}t(Re),t(be);var xe=d(be,2),ze=d(a(xe),2),de=a(ze);R(de);var Ze=d(de,2);{var er=r=>{var s=Cr();c(r,s)};v(()=>x(Ze,r=>{e(L),e(_),b(()=>!e(L)&&e(_).length>0)&&r(er)}),"if",l,262,6)}t(ze),t(xe);var he=d(xe,2),Ae=a(he);v(()=>Ie(Ae,{type:"button",variant:"ghost",size:"sm",$$events:{click:()=>o(Z,!e(Z))},children:Ee(l,(r,s)=>{var y=Gr(),p=hr(y);I(),ne(()=>D(p,0,`w-4 h-4 mr-2 transition-transform ${e(Z)?"rotate-90":""}`)),c(r,y)}),$$slots:{default:!0}}),"component",l,272,5,{componentTag:"Button"});var rr=d(Ae,2);{var ar=r=>{var s=Er(),y=a(s),p=a(y),G=d(a(p),2),N=a(G);R(N),I(2),t(G),t(p);var W=d(p,2),le=d(a(W),2),O=a(le);R(O),I(2),t(le),t(W);var J=d(W,2),K=d(a(J),2),se=a(K);R(se),I(2),t(K),t(J);var Q=d(J,2),oe=d(a(Q),2),ie=a(oe);R(ie),I(2),t(oe),t(Q),t(y),t(s),z(N,()=>e(V),U=>o(V,U)),z(O,()=>e(S),U=>o(S,U)),z(se,()=>e(j),U=>o(j,U)),z(ie,()=>e(T),U=>o(T,U)),c(r,s)};v(()=>x(rr,r=>{e(Z)&&r(ar)}),"if",l,289,5)}t(he);var Pe=d(he,2);{var tr=r=>{var s=Vr(),y=a(s),p=d(a(y),2),G=d(a(p),2),N=a(G),W=a(N);{var le=i=>{var $=Ir();c(i,$)};v(()=>x(W,i=>{e(q)||i(le)}),"if",l,391,10)}var O=d(W,2);{var J=i=>{var $=Br();c(i,$)};v(()=>x(O,i=>{e(A)||i(J)}),"if",l,394,10)}var K=d(O,2);{var se=i=>{var $=Fr();c(i,$)};v(()=>x(K,i=>{e(C)||i(se)}),"if",l,397,10)}var Q=d(K,2);{var oe=i=>{var $=Nr();c(i,$)};v(()=>x(Q,i=>{e(P)||i(oe)}),"if",l,400,10)}var ie=d(Q,2);{var U=i=>{var $=Sr();c(i,$)};v(()=>x(ie,i=>{e(L)||i(U)}),"if",l,403,10)}t(N),t(G),t(p),t(y),t(s),c(r,s)};v(()=>x(Pe,r=>{e(H),e(k),e(h),e(w),e(f),e(_),b(()=>!e(H)&&(e(k).length>0||e(h).length>0||e(w).length>0||e(f).length>0||e(_).length>0))&&r(tr)}),"if",l,377,4)}var Le=d(Pe,2);{var dr=r=>{var s=jr(),y=a(s),p=d(a(y),2),G=a(p),N=a(G,!0);t(G),t(p),t(y),t(s),ne(()=>Ce(N,e(Y))),c(r,s)};v(()=>x(Le,r=>{e(Y)&&r(dr)}),"if",l,414,4)}var qe=d(Le,2),lr=a(qe);{let r=yr(()=>!e(H)||e(F));v(()=>Ie(lr,{type:"submit",variant:"primary",size:"lg",fullWidth:!0,get loading(){return e(F)},get disabled(){return e(r)},children:Ee(l,(s,y)=>{I();var p=mr();ne(()=>Ce(p,e(F)?"Initializing...":"Initialize GARM")),c(s,p)}),$$slots:{default:!0}}),"component",l,431,5,{componentTag:"Button"})}t(qe),t(ue),I(2),t(we),t(_e),t(me),ne((r,s)=>{Be(ke,"src",r),Be(We,"src",s),D(ee,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(q),e(k),b(()=>!e(q)&&e(k).length>0?"border-red-300 dark:border-red-600":"")??""}`),D(re,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(A),e(h),b(()=>!e(A)&&e(h).length>0?"border-red-300 dark:border-red-600":"")??""}`),D(ae,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(C),e(w),b(()=>!e(C)&&e(w).length>0?"border-red-300 dark:border-red-600":"")??""}`),D(te,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(P),e(f),b(()=>!e(P)&&e(f).length>0?"border-red-300 dark:border-red-600":"")??""}`),D(de,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(L),e(_),b(()=>!e(L)&&e(_).length>0?"border-red-300 dark:border-red-600":"")??""}`)},[()=>(Ge(M),b(()=>M("/assets/garm-light.svg"))),()=>(Ge(M),b(()=>M("/assets/garm-dark.svg")))]),z(ee,()=>e(k),r=>o(k,r)),z(re,()=>e(h),r=>o(h,r)),z(ae,()=>e(w),r=>o(w,r)),z(te,()=>e(f),r=>o(f,r)),z(de,()=>e(_),r=>o(_,r)),nr("submit",ue,$r(Te)),c(Ne,me);var sr=br({...cr()});return je(),sr}export{l as component}; diff --git a/webapp/assets/_app/immutable/nodes/9.DAMysnIX.js b/webapp/assets/_app/immutable/nodes/9.DAMysnIX.js new file mode 100644 index 00000000..4c766138 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/9.DAMysnIX.js @@ -0,0 +1 @@ +import{f as S,a as b,s as O,c as _e,h as ye}from"../chunks/o8CdT7B0.js";import{i as X}from"../chunks/ChJfoPF0.js";import{p as Y,a as Z,c as h,h as f,u as d,r as v,t as q,f as ee,o as be,q as xe,l as L,b as Se,g as t,m as c,$ as Ce,i as ke,s as w,d as a}from"../chunks/DUMcBckj.js";import{p as Ie,i as T}from"../chunks/i7pKks78.js";import{c as M,d as F,g as V}from"../chunks/_9uqtkkk.js";import{D as Pe}from"../chunks/mBfsYUjq.js";import{P as we}from"../chunks/UrL2GjpD.js";import{S as Te}from"../chunks/CKfnRgQC.js";import{w as De}from"../chunks/DTRhxHIE.js";import{t as $e}from"../chunks/Bbk4dQfI.js";import{D as Ae,G as Ee}from"../chunks/DG4LDt2Z.js";import{e as Le}from"../chunks/BZiHL9L3.js";import{E as Me}from"../chunks/llowLxE6.js";import"../chunks/CnZ9nHem.js";import{S as H}from"../chunks/C0gwpZbz.js";import{A as Fe}from"../chunks/7XD7ITBY.js";var Ne=S(' '),Re=S(' '),Ge=S('-'),He=S('
    ');function Oe(N,D){Y(D,!1);let l=Ie(D,"item",8);X();var m=He(),$=h(m);{var u=o=>{var p=Ne(),_=h(p);v(p),q(C=>{F(p,"href",C),F(p,"title",`Pool: ${f(l()),d(()=>l().pool_id)??""}`),O(_,`Pool: ${f(l()),d(()=>l().pool_id)??""}`)},[()=>(f(M),f(l()),d(()=>M(`/pools/${l().pool_id}`)))]),b(o,p)},P=o=>{var p=_e(),_=ee(p);{var C=s=>{var n=Re(),y=h(n);v(n),q(I=>{F(n,"href",I),F(n,"title",`Scale Set: ${f(l()),d(()=>l().scale_set_id)??""}`),O(y,`Scale Set: ${f(l()),d(()=>l().scale_set_id)??""}`)},[()=>(f(M),f(l()),d(()=>M(`/scalesets/${l().scale_set_id}`)))]),b(s,n)},k=s=>{var n=Ge();b(s,n)};T(_,s=>{f(l()),d(()=>l()?.scale_set_id)?s(C):s(k,!1)},!0)}b(o,p)};T($,o=>{f(l()),d(()=>l()?.pool_id)?o(u):o(P,!1)})}v(m),b(N,m),Z()}var qe=S('

    Error

    '),je=S('
    '),ze=S('
    ',1);function nt(N,D){Y(D,!1);const l=c(),m=c(),$=c();let u=c([]),P=c(!0),o=c(""),p="",_=null,C=Date.now(),k=null,s=c(1),n=c(25),y=c(""),I=c(!1),g=c(null),A=c(!1),x=c(null);async function j(){try{a(P,!0),a(o,""),a(u,await V.listInstances())}catch(e){a(o,e instanceof Error?e.message:"Failed to load instances")}finally{a(P,!1)}}function z(e){a(g,e),a(I,!0)}function W(e){a(x,e),a(A,!0)}function R(e){if(!e.agent_id||!e.capabilities?.has_shell||e.status==="stopped")return!0;const r=e.heartbeat;if(!r)return!0;const i=new Date(r);return C-i.getTime()>6e4}async function te(){if(t(g))try{await V.deleteInstance(t(g).name),$e.success("Instance Deleted",`Instance ${t(g).name} has been deleted successfully.`)}catch(e){a(o,Le(e))}finally{a(I,!1),a(g,null)}}const ae=[{key:"name",title:"Name",cellComponent:Me,cellProps:{entityType:"instance",showId:!0}},{key:"pool_scale_set",title:"Pool/Scale Set",flexible:!0,cellComponent:Oe},{key:"os_type",title:"OS Type",cellComponent:H,cellProps:{statusType:"os_type",statusField:"os_type"}},{key:"created",title:"Created",cellComponent:Ee,cellProps:{field:"created_at",type:"date"}},{key:"status",title:"Status",cellComponent:H,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:H,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"actions",title:"Actions",align:"right",cellComponent:Fe,cellProps:{actions:[{type:"shell",title:"Shell",ariaLabel:"Open shell",action:"shell",isDisabled:e=>R(e),disabledTitle:e=>e.capabilities?.has_shell?e.status==="stopped"?"Shell unavailable - Instance is stopped":"Shell unavailable - Agent heartbeat is stale":"Shell unavailable - Agent does not support shell"},{type:"delete",title:"Delete",ariaLabel:"Delete instance",action:"delete"}]}}],le={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"text",field:"os_type",label:"OS"},{type:"status",field:"status"},{type:"status",field:"runner_status"}],actions:[{type:"shell",title:"Shell",handler:e=>W(e),isDisabled:e=>R(e)},{type:"delete",handler:e=>z(e)}]};function re(e){a(y,e.detail.term),a(s,1)}function se(e){a(s,e.detail.page)}function ne(e){a(n,e.detail.perPage),a(s,1)}async function oe(){try{await j()}catch(e){console.error("Retry failed:",e)}}function ie(e){}function ce(e){z(e.detail.item)}function de(e){W(e.detail.item)}function ue(e){if(e.operation==="create"){const r=e.payload;a(u,[...t(u),r])}else if(e.operation==="update"){const r=e.payload;a(u,t(u).map(i=>i.name===r.name?r:i))}else if(e.operation==="delete"){const r=e.payload.name||e.payload;a(u,t(u).filter(i=>i.name!==r))}}be(()=>{j(),_=De.subscribeToEntity("instance",["create","update","delete"],ue),k=setInterval(()=>{C=Date.now()},1e3)}),xe(()=>{_&&(_(),_=null),k&&(clearInterval(k),k=null)}),L(()=>(t(u),t(y)),()=>{a(l,t(u).filter(e=>(t(y)===""||e.name?.toLowerCase().includes(t(y).toLowerCase())||e.provider_id?.toLowerCase().includes(t(y).toLowerCase()))&&p===""))}),L(()=>(t(l),t(n)),()=>{a(m,Math.ceil(t(l).length/t(n)))}),L(()=>(t(s),t(m)),()=>{t(s)>t(m)&&t(m)>0&&a(s,t(m))}),L(()=>(t(l),t(s),t(n)),()=>{a($,t(l).slice((t(s)-1)*t(n),t(s)*t(n)))}),Se(),X();var B=ze();ye(e=>{Ce.title="Instances - GARM"});var G=ee(B),J=h(G);we(J,{title:"Runner Instances",description:"Monitor your running instances",showAction:!1});var K=w(J,2);{var me=e=>{var r=qe(),i=h(r),E=h(i),U=w(h(E),2),ge=h(U,!0);v(U),v(E),v(i),v(r),q(()=>O(ge,t(o))),b(e,r)};T(K,e=>{t(o)&&e(me)})}var pe=w(K,2);{let e=ke(()=>!!t(o));Ae(pe,{get columns(){return ae},get data(){return t($)},get loading(){return t(P)},get error(){return t(o)},get searchTerm(){return t(y)},searchPlaceholder:"Search instances...",get currentPage(){return t(s)},get perPage(){return t(n)},get totalPages(){return t(m)},get totalItems(){return t(l),d(()=>t(l).length)},itemName:"instances",emptyIconType:"cog",get showRetry(){return t(e)},get mobileCardConfig(){return le},$$events:{search:re,pageChange:se,perPageChange:ne,retry:oe,edit:ie,delete:ce,shell:de}})}v(G);var Q=w(G,2);{var fe=e=>{var r=je(),i=h(r),E=h(i);Te(E,{get runnerName(){return t(x),d(()=>t(x).name)},onClose:()=>{a(A,!1),a(x,null)}}),v(i),v(r),b(e,r)};T(Q,e=>{t(A),t(x),d(()=>t(A)&&t(x)&&!R(t(x)))&&e(fe)})}var he=w(Q,2);{var ve=e=>{Pe(e,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(g),d(()=>t(g).name)},$$events:{close:()=>{a(I,!1),a(g,null)},confirm:te}})};T(he,e=>{t(I)&&t(g)&&e(ve)})}b(N,B),Z()}export{nt as component}; diff --git a/webapp/assets/_app/immutable/nodes/9.sPCR99vC.js b/webapp/assets/_app/immutable/nodes/9.sPCR99vC.js deleted file mode 100644 index c8ac04cb..00000000 --- a/webapp/assets/_app/immutable/nodes/9.sPCR99vC.js +++ /dev/null @@ -1 +0,0 @@ -import{c as he,a as R,h as ge,b as M,l as ye,f as H,s as ve}from"../chunks/CxOx-TIJ.js";import{i as _e}from"../chunks/3NxSoY2_.js";import{p as be,o as Te,x as Ce,l as w,b as Ie,f as Se,d as h,a as Pe,g as t,m as s,$ as we,c as g,s as b,e as ke,u as k,F as D,n as F,j as a,i as o,r as y,t as De}from"../chunks/DzFKsO_V.js";import{i as L}from"../chunks/B_jyf0qs.js";import{l as xe}from"../chunks/BAcG6-Ep.js";import{g as U}from"../chunks/BguOOs3x.js";import{D as Ae}from"../chunks/DL1RlOO9.js";import{P as Ee}from"../chunks/DTko0dwG.js";import{S as $e}from"../chunks/DcHRb6xX.js";import{w as Me}from"../chunks/DSHGoHxX.js";import{t as Fe}from"../chunks/li_-Mkq2.js";import{D as Le,E as Ne,I as Re,S as N,G as He,A as Ge}from"../chunks/C2FKJqnN.js";import{e as Oe}from"../chunks/BZiHL9L3.js";r[D]="src/routes/instances/+page.svelte";var je=R(H('

    Error

    '),r[D],[[302,2,[[303,3,[[304,4,[[305,5],[306,5]]]]]]]]),qe=R(H('
    '),r[D],[[340,1,[[341,2]]]]),ze=R(H('
    ',1),r[D],[[294,0]]);function r(V,X){he(new.target),be(X,!1,r);const u=s(),v=s(),G=s();let c=s([]),x=s(!0),p=s(""),A="",T=null,O=Date.now(),C=null,i=s(1),m=s(25),_=s(""),I=s(!1),d=s(null),S=s(!1),f=s(null);async function j(){try{a(x,!0),a(p,""),a(c,(await F(U.listInstances()))())}catch(e){a(p,e instanceof Error?e.message:"Failed to load instances")}finally{a(x,!1)}}function q(e){a(d,e),a(I,!0)}function z(e){a(f,e),a(S,!0)}function E(e){if(!e.agent_id||!e.capabilities?.has_shell||o(e.status,"stopped"))return!0;const l=e.heartbeat;if(!l)return!0;const n=new Date(l);return O-n.getTime()>6e4}async function Y(){if(t(d))try{(await F(U.deleteInstance(t(d).name)))(),Fe.success("Instance Deleted",`Instance ${t(d).name} has been deleted successfully.`)}catch(e){a(p,Oe(e))}finally{a(I,!1),a(d,null)}}const Z=[{key:"name",title:"Name",cellComponent:Ne,cellProps:{entityType:"instance",showId:!0}},{key:"pool_scale_set",title:"Pool/Scale Set",flexible:!0,cellComponent:Re},{key:"os_type",title:"OS Type",cellComponent:N,cellProps:{statusType:"os_type",statusField:"os_type"}},{key:"created",title:"Created",cellComponent:He,cellProps:{field:"created_at",type:"date"}},{key:"status",title:"Status",cellComponent:N,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:N,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"actions",title:"Actions",align:"right",cellComponent:Ge,cellProps:{actions:[{type:"shell",title:"Shell",ariaLabel:"Open shell",action:"shell",isDisabled:e=>E(e),disabledTitle:e=>e.capabilities?.has_shell?o(e.status,"stopped")?"Shell unavailable - Instance is stopped":"Shell unavailable - Agent heartbeat is stale":"Shell unavailable - Agent does not support shell"},{type:"delete",title:"Delete",ariaLabel:"Delete instance",action:"delete"}]}}],ee={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"text",field:"os_type",label:"OS"},{type:"status",field:"status"},{type:"status",field:"runner_status"}],actions:[{type:"shell",title:"Shell",handler:e=>z(e),isDisabled:e=>E(e)},{type:"delete",handler:e=>q(e)}]};function te(e){a(_,e.detail.term),a(i,1)}function ae(e){a(i,e.detail.page)}function le(e){a(m,e.detail.perPage),a(i,1)}async function ne(){try{(await F(j()))()}catch(e){console.error(...xe("error","Retry failed:",e))}}function se(e){}function re(e){q(e.detail.item)}function oe(e){z(e.detail.item)}function ie(e){if(o(e.operation,"create")){const l=e.payload;a(c,[...t(c),l])}else if(o(e.operation,"update")){const l=e.payload;a(c,t(c).map(n=>o(n.name,l.name)?l:n))}else if(o(e.operation,"delete")){const l=e.payload.name||e.payload;a(c,t(c).filter(n=>o(n.name,l,!1)))}}Te(()=>{j(),T=Me.subscribeToEntity("instance",["create","update","delete"],ie),C=setInterval(()=>{O=Date.now()},1e3)}),Ce(()=>{T&&(T(),T=null),C&&(clearInterval(C),C=null)}),w(()=>(t(c),t(_)),()=>{a(u,t(c).filter(e=>{const l=o(t(_),"")||e.name?.toLowerCase().includes(t(_).toLowerCase())||e.provider_id?.toLowerCase().includes(t(_).toLowerCase()),n=o(A,"")||o(e.status,A)||o(e.runner_status,A);return l&&n}))}),w(()=>(t(u),t(m)),()=>{a(v,Math.ceil(t(u).length/t(m)))}),w(()=>(t(i),t(v)),()=>{t(i)>t(v)&&t(v)>0&&a(i,t(v))}),w(()=>(t(u),t(i),t(m)),()=>{a(G,t(u).slice((t(i)-1)*t(m),t(i)*t(m)))}),Ie(),_e();var W=ze();ge(e=>{we.title="Instances - GARM"});var $=Se(W),B=g($);h(()=>Ee(B,{title:"Runner Instances",description:"Monitor your running instances",showAction:!1}),"component",r,295,1,{componentTag:"PageHeader"});var J=b(B,2);{var ce=e=>{var l=je(),n=g(l),P=g(n),Q=b(g(P),2),fe=g(Q,!0);y(Q),y(P),y(n),y(l),De(()=>ve(fe,t(p))),M(e,l)};h(()=>L(J,e=>{t(p)&&e(ce)}),"if",r,301,1)}var de=b(J,2);{let e=ke(()=>!!t(p));h(()=>Le(de,{get columns(){return Z},get data(){return t(G)},get loading(){return t(x)},get error(){return t(p)},get searchTerm(){return t(_)},searchPlaceholder:"Search instances...",get currentPage(){return t(i)},get perPage(){return t(m)},get totalPages(){return t(v)},get totalItems(){return t(u),k(()=>t(u).length)},itemName:"instances",emptyIconType:"cog",get showRetry(){return t(e)},get mobileCardConfig(){return ee},$$events:{search:te,pageChange:ae,perPageChange:le,retry:ne,edit:se,delete:re,shell:oe}}),"component",r,313,1,{componentTag:"DataTable"})}y($);var K=b($,2);{var ue=e=>{var l=qe(),n=g(l),P=g(n);h(()=>$e(P,{get runnerName(){return t(f),k(()=>t(f).name)},onClose:()=>{a(S,!1),a(f,null)}}),"component",r,342,3,{componentTag:"ShellTerminal"}),y(n),y(l),M(e,l)};h(()=>L(K,e=>{t(S),t(f),k(()=>t(S)&&t(f)&&!E(t(f)))&&e(ue)}),"if",r,339,0)}var pe=b(K,2);{var me=e=>{h(()=>Ae(e,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(d),k(()=>t(d).name)},$$events:{close:()=>{a(I,!1),a(d,null)},confirm:Y}}),"component",r,355,1,{componentTag:"DeleteModal"})};h(()=>L(pe,e=>{t(I)&&t(d)&&e(me)}),"if",r,354,0)}return M(V,W),Pe({...ye()})}export{r as component}; diff --git a/webapp/assets/_app/version.json b/webapp/assets/_app/version.json index bb760b9c..e988baba 100644 --- a/webapp/assets/_app/version.json +++ b/webapp/assets/_app/version.json @@ -1 +1 @@ -{"version":"1770647420750"} \ No newline at end of file +{"version":"1770656933342"} \ No newline at end of file diff --git a/webapp/assets/index.html b/webapp/assets/index.html index abb66002..149cc7aa 100644 --- a/webapp/assets/index.html +++ b/webapp/assets/index.html @@ -71,22 +71,22 @@ })(); - - - - - - - - - - + + + + + + + + + +