@nivora/matrix 0.3.12 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +10 -7
- package/.next/build-manifest.json +6 -6
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +251 -6
- package/.next/routes-manifest.json +20 -0
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +11 -11
- package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/matrix/page.js +2 -2
- package/.next/server/app/matrix/page.js.nft.json +1 -1
- package/.next/server/app/matrix/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/releases/[id]/page.js +7 -245
- package/.next/server/app/releases/[id]/page.js.nft.json +1 -1
- package/.next/server/app/releases/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/releases/page.js +2 -240
- package/.next/server/app/releases/page.js.nft.json +1 -1
- package/.next/server/app/releases/page_client-reference-manifest.js +1 -1
- package/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/archive/page.js +1 -1
- package/.next/server/app/traceability/archive/page.js.nft.json +1 -1
- package/.next/server/app/traceability/archive/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/design/[id]/page.js +2 -0
- package/.next/server/app/traceability/design/[id]/page.js.nft.json +1 -0
- package/.next/server/app/traceability/design/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/traceability/design/new/page.js +2 -0
- package/.next/server/app/traceability/design/new/page.js.nft.json +1 -0
- package/.next/server/app/traceability/design/new/page_client-reference-manifest.js +1 -0
- package/.next/server/app/traceability/design/page.js +2 -0
- package/.next/server/app/traceability/design/page.js.nft.json +1 -0
- package/.next/server/app/traceability/design/page_client-reference-manifest.js +1 -0
- package/.next/server/app/traceability/fs/[id]/page.js +3 -3
- package/.next/server/app/traceability/fs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/fs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/fs/page.js +2 -2
- package/.next/server/app/traceability/fs/page.js.nft.json +1 -1
- package/.next/server/app/traceability/fs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/page.js +2 -2
- package/.next/server/app/traceability/page.js.nft.json +1 -1
- package/.next/server/app/traceability/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/risk/[id]/page.js +1 -1
- package/.next/server/app/traceability/risk/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/risk/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/risk/page.js +2 -2
- package/.next/server/app/traceability/risk/page.js.nft.json +1 -1
- package/.next/server/app/traceability/risk/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/urs/[id]/page.js +2 -2
- package/.next/server/app/traceability/urs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/urs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/urs/page.js +1 -1
- package/.next/server/app/traceability/urs/page.js.nft.json +1 -1
- package/.next/server/app/traceability/urs/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +10 -7
- package/.next/server/chunks/1001.js +41 -0
- package/.next/server/chunks/1030.js +1 -0
- package/.next/server/chunks/1058.js +1 -0
- package/.next/server/chunks/120.js +1 -0
- package/.next/server/chunks/1205.js +1 -0
- package/.next/server/chunks/1272.js +1 -0
- package/.next/server/chunks/1361.js +62 -0
- package/.next/server/chunks/1687.js +1 -0
- package/.next/server/chunks/2002.js +262 -0
- package/.next/server/chunks/2146.js +1 -0
- package/.next/server/chunks/{476.js → 2160.js} +2 -2
- package/.next/server/chunks/2325.js +60 -0
- package/.next/server/chunks/2590.js +60 -0
- package/.next/server/chunks/3274.js +136 -0
- package/.next/server/chunks/{445.js → 3445.js} +1 -1
- package/.next/server/chunks/3504.js +1 -0
- package/.next/server/chunks/3870.js +1 -0
- package/.next/server/chunks/4322.js +43 -0
- package/.next/server/chunks/4379.js +5 -0
- package/.next/server/chunks/4405.js +63 -0
- package/.next/server/chunks/4643.js +1 -0
- package/.next/server/chunks/4694.js +55 -0
- package/.next/server/chunks/4696.js +1 -0
- package/.next/server/chunks/4977.js +1 -0
- package/.next/server/chunks/515.js +1 -0
- package/.next/server/chunks/{658.js → 5352.js} +63 -2
- package/.next/server/chunks/5460.js +201 -0
- package/.next/server/chunks/549.js +1 -0
- package/.next/server/chunks/5899.js +36 -0
- package/.next/server/chunks/5935.js +24 -0
- package/.next/server/chunks/5943.js +93 -0
- package/.next/server/chunks/6164.js +1 -0
- package/.next/server/chunks/6265.js +1 -0
- package/.next/server/chunks/6346.js +1 -0
- package/.next/server/chunks/6542.js +148 -0
- package/.next/server/chunks/6589.js +24 -0
- package/.next/server/chunks/6658.js +236 -0
- package/.next/server/chunks/6980.js +1 -0
- package/.next/server/chunks/7135.js +1 -0
- package/.next/server/chunks/720.js +1 -0
- package/.next/server/chunks/7307.js +1 -0
- package/.next/server/chunks/7390.js +1 -0
- package/.next/server/chunks/7391.js +1 -0
- package/.next/server/chunks/{471.js → 7471.js} +1 -1
- package/.next/server/chunks/7919.js +4 -0
- package/.next/server/chunks/{907.js → 7954.js} +44 -2
- package/.next/server/chunks/802.js +131 -0
- package/.next/server/chunks/8142.js +1 -0
- package/.next/server/chunks/8167.js +1 -0
- package/.next/server/chunks/8212.js +174 -0
- package/.next/server/chunks/8350.js +215 -0
- package/.next/server/chunks/8664.js +1 -0
- package/.next/server/chunks/8734.js +59 -0
- package/.next/server/chunks/8818.js +29 -0
- package/.next/server/chunks/8921.js +56 -0
- package/.next/server/chunks/9109.js +1 -0
- package/.next/server/chunks/9252.js +1 -0
- package/.next/server/chunks/9285.js +166 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/chunks/0dbeb660-d1591a6fb5c3509e.js +53 -0
- package/.next/static/chunks/1157-41840e6b30f8aab3.js +1 -0
- package/.next/static/chunks/1371.e9c049ff15fa0424.js +24 -0
- package/.next/static/chunks/1436.fef85767a2db3d69.js +1 -0
- package/.next/static/chunks/1455.4b25458cc615feec.js +1 -0
- package/.next/static/chunks/1633.5050d8d1007aa587.js +1 -0
- package/.next/static/chunks/1816.a66aacf78a1f2b9e.js +1 -0
- package/.next/static/chunks/213-b6da81c7f9f1689d.js +1 -0
- package/.next/static/chunks/2594-b6da81c7f9f1689d.js +1 -0
- package/.next/static/chunks/2765.8adcf70b75e6aeef.js +4 -0
- package/.next/static/chunks/288.eec78353ed692c58.js +1 -0
- package/.next/static/chunks/2947.f836f6410050c641.js +56 -0
- package/.next/static/chunks/2951.8c1f9418d93f794e.js +1 -0
- package/.next/static/chunks/2cdb6380.d41c2c1792d85cbd.js +136 -0
- package/.next/static/chunks/3164.23a30fb4d0160788.js +1 -0
- package/.next/static/chunks/3197.d8e82b560a160022.js +1 -0
- package/.next/static/chunks/3242.bb0fe7b7913ef780.js +262 -0
- package/.next/static/chunks/3398.dcb200a913a6c354.js +59 -0
- package/.next/static/chunks/3477.ec9165cd3e012b87.js +1 -0
- package/.next/static/chunks/3619.14ab2b037411c8dd.js +1 -0
- package/.next/static/chunks/3794-81fca6cc7041ced6.js +2 -0
- package/.next/static/chunks/4016-8b4d5706a552f32e.js +60 -0
- package/.next/static/chunks/4410.667e7a91b32268d8.js +1 -0
- package/.next/static/chunks/448.00c3a4af8c45f64c.js +1 -0
- package/.next/static/chunks/4631.fb52c10c618eda8d.js +166 -0
- package/.next/static/chunks/4839.47666b4d0dd6793d.js +63 -0
- package/.next/static/chunks/4bd1b696-1400c1b9494d4acb.js +1 -0
- package/.next/static/chunks/5176.4f4e736e3be7cf15.js +55 -0
- package/.next/static/chunks/5290.d0e93eb9d345026e.js +174 -0
- package/.next/static/chunks/5838.5c3810ae9f41fb2d.js +148 -0
- package/.next/static/chunks/6034.4c6801c982ca9779.js +1 -0
- package/.next/static/chunks/6173.85c05df7afadd80f.js +1 -0
- package/.next/static/chunks/6257.4802e493b197340d.js +5 -0
- package/.next/static/chunks/628.38b81cd56aaf4cf1.js +1 -0
- package/.next/static/chunks/6454.7f2f7cf37c6cb691.js +29 -0
- package/.next/static/chunks/6971.ffe28a433af5503c.js +1 -0
- package/.next/static/chunks/7048.fae262ca1df0ad90.js +215 -0
- package/.next/static/chunks/7465.55e7c3c6cc146535.js +93 -0
- package/.next/static/chunks/7874.574b3fc13af99551.js +1 -0
- package/.next/static/chunks/8037.c5f9113a6cb1dbb7.js +1 -0
- package/.next/static/chunks/8284.b907c17d2a294557.js +43 -0
- package/.next/static/chunks/8365.9b15b21e000887e5.js +36 -0
- package/.next/static/chunks/8486.357508328aef1d93.js +131 -0
- package/.next/static/chunks/8500-27e7d9770d119ae1.js +1 -0
- package/.next/static/chunks/8776-c5f9302cd8f68651.js +149 -0
- package/.next/static/chunks/8801.d7e8d3b47b8cec0f.js +1 -0
- package/.next/static/chunks/8863.b065187bd644df7b.js +60 -0
- package/.next/static/chunks/8904.c3becf8cf19ec1eb.js +1 -0
- package/.next/static/chunks/90542734.d84bb73ebd95167a.js +1 -0
- package/.next/static/chunks/9133.c96e717400860724.js +24 -0
- package/.next/static/chunks/9203.577b14724e972a55.js +62 -0
- package/.next/static/chunks/9536.0478cfe5e9cfc9d5.js +1 -0
- package/.next/static/chunks/991.718b573be77108f0.js +1 -0
- package/.next/static/chunks/app/_global-error/page-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/app/_not-found/page-193559d8ddda5268.js +1 -0
- package/.next/static/chunks/app/layout-9e89a157ef4bea50.js +1 -0
- package/.next/static/chunks/app/matrix/page-30ba744d4792b0b1.js +1 -0
- package/.next/static/chunks/app/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/releases/[id]/{page-6230a07f6e8c9f23.js → page-123fbaa896b5feb8.js} +2 -2
- package/.next/static/chunks/app/releases/page-d12603efbeced6fb.js +1 -0
- package/.next/static/chunks/app/specs/[id]/page-6c3f0a93d0102219.js +1 -0
- package/.next/static/chunks/app/traceability/archive/page-357abb519c1bfcab.js +1 -0
- package/.next/static/chunks/app/traceability/design/[id]/page-daa33c88e02d9251.js +1 -0
- package/.next/static/chunks/app/traceability/design/new/page-9e6d6307a049b872.js +1 -0
- package/.next/static/chunks/app/traceability/design/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/traceability/fs/[id]/page-f6bbc2035b739563.js +7 -0
- package/.next/static/chunks/app/traceability/fs/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/traceability/layout-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/app/traceability/page-24a203b49af0c6ce.js +1 -0
- package/.next/static/chunks/app/traceability/risk/[id]/page-e2d5a5957837beed.js +1 -0
- package/.next/static/chunks/app/traceability/risk/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/traceability/urs/[id]/page-acd764c05e9a7128.js +1 -0
- package/.next/static/chunks/app/traceability/urs/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/d3ac728e.4b57bd9bce7cd3c1.js +1 -0
- package/.next/static/chunks/framework-d7945a8ad0653f37.js +1 -0
- package/.next/static/chunks/main-app-341bfb00b20e150e.js +1 -0
- package/.next/static/chunks/main-d9b455c88e68699e.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-feea5487bf2c221c.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/webpack-4a58517ee75edeb0.js +1 -0
- package/.next/static/css/{2693864a24fbccd0.css → cdae95cc512ce762.css} +1 -1
- package/.next/static/vaGX_2eRDDB98z7pyX6er/_buildManifest.js +1 -0
- package/bin/cli.js +29 -0
- package/package.json +2 -1
- package/.next/server/chunks/352.js +0 -1
- package/.next/server/chunks/390.js +0 -1
- package/.next/server/chunks/391.js +0 -1
- package/.next/server/chunks/733.js +0 -32
- package/.next/server/chunks/821.js +0 -1
- package/.next/server/chunks/870.js +0 -1
- package/.next/static/ELYfmsCGy7GuuiGH2cFLn/_buildManifest.js +0 -1
- package/.next/static/chunks/444-1331cf1713bba53d.js +0 -1
- package/.next/static/chunks/4bd1b696-67e30520d621c4dd.js +0 -1
- package/.next/static/chunks/500-b84d19d842172eba.js +0 -1
- package/.next/static/chunks/594-41cff04930a1423e.js +0 -1
- package/.next/static/chunks/692.c2bb854f5d78c149.js +0 -1
- package/.next/static/chunks/794-9353bb3ab9a73e90.js +0 -2
- package/.next/static/chunks/app/_global-error/page-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/app/_not-found/page-90fe62e7982fba87.js +0 -1
- package/.next/static/chunks/app/layout-0f51af36ad0921db.js +0 -1
- package/.next/static/chunks/app/matrix/page-b2418abb52a7acd8.js +0 -1
- package/.next/static/chunks/app/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/app/releases/page-888a9033446031e8.js +0 -1
- package/.next/static/chunks/app/specs/[id]/page-9f5688d1e93ae4d1.js +0 -1
- package/.next/static/chunks/app/traceability/archive/page-544eb2053bc31ad7.js +0 -1
- package/.next/static/chunks/app/traceability/fs/[id]/page-84bad96512599c17.js +0 -7
- package/.next/static/chunks/app/traceability/fs/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/app/traceability/layout-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/app/traceability/page-11103f39281e68c4.js +0 -1
- package/.next/static/chunks/app/traceability/risk/[id]/page-56b430a30cf92a59.js +0 -1
- package/.next/static/chunks/app/traceability/risk/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/app/traceability/urs/[id]/page-11e1f447c7333110.js +0 -1
- package/.next/static/chunks/app/traceability/urs/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/framework-d7de93249215fb06.js +0 -1
- package/.next/static/chunks/main-17e3a04cf2f94dca.js +0 -5
- package/.next/static/chunks/main-app-6d93e914b4a54c7e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-ebbdf863aa6a4349.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/webpack-9a7fa060b199dfb3.js +0 -1
- /package/.next/static/{ELYfmsCGy7GuuiGH2cFLn → vaGX_2eRDDB98z7pyX6er}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";exports.id=2325,exports.ids=[2325],exports.modules={304:(a,b,c)=>{c.d(b,{Q:()=>j});var d=c(66526),e=c(44473),f=c(43677),g=c(30548),h=c(94224),i=c(5661);class j{constructor(){this.diagnostics=[]}buildTokens(a,b){let c=(0,i.Td)((0,g.YV)(a,!1)),d=this.buildTerminalTokens(c),e=this.buildKeywordTokens(c,d,b);return d.forEach(a=>{let b=a.PATTERN;"object"==typeof b&&b&&"test"in b&&(0,h.Yv)(b)?e.unshift(a):e.push(a)}),e}flushLexingReport(a){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let a=[...this.diagnostics];return this.diagnostics=[],a}buildTerminalTokens(a){return a.filter(e.rE).filter(a=>!a.fragment).map(a=>this.buildTerminalToken(a)).toArray()}buildTerminalToken(a){let b=(0,g.S)(a),c=this.requiresCustomPattern(b)?this.regexPatternFunction(b):b,e={name:a.name,PATTERN:c};return"function"==typeof c&&(e.LINE_BREAKS=!0),a.hidden&&(e.GROUP=(0,h.Yv)(b)?d.JG.SKIPPED:"hidden"),e}requiresCustomPattern(a){return!!(a.flags.includes("u")||a.flags.includes("s"))||!!(a.source.includes("?<=")||a.source.includes("?<!"))}regexPatternFunction(a){let b=RegExp(a,a.flags+"y");return(a,c)=>(b.lastIndex=c,b.exec(a))}buildKeywordTokens(a,b,c){return a.filter(e.s7).flatMap(a=>(0,f.Uo)(a).filter(e.wb)).distinct(a=>a.value).toArray().sort((a,b)=>b.value.length-a.value.length).map(a=>this.buildKeywordToken(a,b,!!(null==c?void 0:c.caseInsensitive)))}buildKeywordToken(a,b,c){let d=this.buildKeywordPattern(a,c),e={name:a.value,PATTERN:d,LONGER_ALT:this.findLongerAlt(a,b)};return"function"==typeof d&&(e.LINE_BREAKS=!0),e}buildKeywordPattern(a,b){return b?new RegExp((0,h.Ao)(a.value)):a.value}findLongerAlt(a,b){return b.reduce((b,c)=>{let d=null==c?void 0:c.PATTERN;return(null==d?void 0:d.source)&&(0,h.PC)("^"+d.source+"$",a.value)&&b.push(c),b},[])}}},3568:(a,b,c)=>{c.d(b,{f:()=>j});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},i={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new d.Tm,"ValueConverter")}};function j(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.YP,i);return b.ServiceRegistry.register(c),{shared:b,Radar:c}}(0,d.K2)(j,"createRadarServices")},5661:(a,b,c)=>{var d,e;c.d(b,{B5:()=>h,Rf:()=>i,Td:()=>j,Vj:()=>k,fq:()=>f,iD:()=>d});class f{constructor(a,b){this.startFn=a,this.nextFn=b}iterator(){let a={state:this.startFn(),next:()=>this.nextFn(a.state),[Symbol.iterator]:()=>a};return a}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let a=this.iterator(),b=0,c=a.next();for(;!c.done;)b++,c=a.next();return b}toArray(){let a,b=[],c=this.iterator();do void 0!==(a=c.next()).value&&b.push(a.value);while(!a.done);return b}toSet(){return new Set(this)}toMap(a,b){return new Map(this.map(c=>[a?a(c):c,b?b(c):c]))}toString(){return this.join()}concat(a){return new f(()=>({first:this.startFn(),firstDone:!1,iterator:a[Symbol.iterator]()}),a=>{let b;if(!a.firstDone){do if(!(b=this.nextFn(a.first)).done)return b;while(!b.done);a.firstDone=!0}do if(!(b=a.iterator.next()).done)return b;while(!b.done);return i})}join(a=","){let b,c=this.iterator(),d="",e=!1;do{var f;(b=c.next()).done||(e&&(d+=a),d+="string"==typeof(f=b.value)?f:void 0===f?"undefined":"function"==typeof f.toString?f.toString():Object.prototype.toString.call(f)),e=!0}while(!b.done);return d}indexOf(a,b=0){let c=this.iterator(),d=0,e=c.next();for(;!e.done;){if(d>=b&&e.value===a)return d;e=c.next(),d++}return -1}every(a){let b=this.iterator(),c=b.next();for(;!c.done;){if(!a(c.value))return!1;c=b.next()}return!0}some(a){let b=this.iterator(),c=b.next();for(;!c.done;){if(a(c.value))return!0;c=b.next()}return!1}forEach(a){let b=this.iterator(),c=0,d=b.next();for(;!d.done;)a(d.value,c),d=b.next(),c++}map(a){return new f(this.startFn,b=>{let{done:c,value:d}=this.nextFn(b);return c?i:{done:!1,value:a(d)}})}filter(a){return new f(this.startFn,b=>{let c;do if(!(c=this.nextFn(b)).done&&a(c.value))return c;while(!c.done);return i})}nonNullable(){return this.filter(a=>null!=a)}reduce(a,b){let c=this.iterator(),d=b,e=c.next();for(;!e.done;)d=void 0===d?e.value:a(d,e.value),e=c.next();return d}reduceRight(a,b){return this.recursiveReduce(this.iterator(),a,b)}recursiveReduce(a,b,c){let d=a.next();if(d.done)return c;let e=this.recursiveReduce(a,b,c);return void 0===e?d.value:b(e,d.value)}find(a){let b=this.iterator(),c=b.next();for(;!c.done;){if(a(c.value))return c.value;c=b.next()}}findIndex(a){let b=this.iterator(),c=0,d=b.next();for(;!d.done;){if(a(d.value))return c;d=b.next(),c++}return -1}includes(a){let b=this.iterator(),c=b.next();for(;!c.done;){if(c.value===a)return!0;c=b.next()}return!1}flatMap(a){return new f(()=>({this:this.startFn()}),b=>{do{if(b.iterator){let a=b.iterator.next();if(!a.done)return a;b.iterator=void 0}let{done:c,value:d}=this.nextFn(b.this);if(!c){let c=a(d);if(!g(c))return{done:!1,value:c};b.iterator=c[Symbol.iterator]()}}while(b.iterator);return i})}flat(a){if(void 0===a&&(a=1),a<=0)return this;let b=a>1?this.flat(a-1):this;return new f(()=>({this:b.startFn()}),a=>{do{if(a.iterator){let b=a.iterator.next();if(!b.done)return b;a.iterator=void 0}let{done:c,value:d}=b.nextFn(a.this);if(!c)if(!g(d))return{done:!1,value:d};else a.iterator=d[Symbol.iterator]()}while(a.iterator);return i})}head(){let a=this.iterator().next();if(!a.done)return a.value}tail(a=1){return new f(()=>{let b=this.startFn();for(let c=0;c<a&&!this.nextFn(b).done;c++);return b},this.nextFn)}limit(a){return new f(()=>({size:0,state:this.startFn()}),b=>(b.size++,b.size>a)?i:this.nextFn(b.state))}distinct(a){return new f(()=>({set:new Set,internalState:this.startFn()}),b=>{let c;do if(!(c=this.nextFn(b.internalState)).done){let d=a?a(c.value):c.value;if(!b.set.has(d))return b.set.add(d),c}while(!c.done);return i})}exclude(a,b){let c=new Set;for(let d of a){let a=b?b(d):d;c.add(a)}return this.filter(a=>{let d=b?b(a):a;return!c.has(d)})}}function g(a){return!!a&&"function"==typeof a[Symbol.iterator]}let h=new f(()=>void 0,()=>i),i=Object.freeze({done:!0,value:void 0});function j(...a){if(1===a.length){let b=a[0];if(b instanceof f)return b;if(g(b))return new f(()=>b[Symbol.iterator](),a=>a.next());if("number"==typeof b.length)return new f(()=>({index:0}),a=>a.index<b.length?{done:!1,value:b[a.index++]}:i)}return a.length>1?new f(()=>({collIndex:0,arrIndex:0}),b=>{do{if(b.iterator){let a=b.iterator.next();if(!a.done)return a;b.iterator=void 0}if(b.array){if(b.arrIndex<b.array.length)return{done:!1,value:b.array[b.arrIndex++]};b.array=void 0,b.arrIndex=0}if(b.collIndex<a.length){let c=a[b.collIndex++];g(c)?b.iterator=c[Symbol.iterator]():c&&"number"==typeof c.length&&(b.array=c)}}while(b.iterator||b.array||b.collIndex<a.length);return i}):h}class k extends f{constructor(a,b,c){super(()=>({iterators:(null==c?void 0:c.includeRoot)?[[a][Symbol.iterator]()]:[b(a)[Symbol.iterator]()],pruned:!1}),a=>{for(a.pruned&&(a.iterators.pop(),a.pruned=!1);a.iterators.length>0;){let c=a.iterators[a.iterators.length-1].next();if(!c.done)return a.iterators.push(b(c.value)[Symbol.iterator]()),c;a.iterators.pop()}return i})}iterator(){let a={state:this.startFn(),next:()=>this.nextFn(a.state),prune:()=>{a.state.pruned=!0},[Symbol.iterator]:()=>a};return a}}(e=d||(d={})).sum=function(a){return a.reduce((a,b)=>a+b,0)},e.product=function(a){return a.reduce((a,b)=>a*b,0)},e.min=function(a){return a.reduce((a,b)=>Math.min(a,b))},e.max=function(a){return a.reduce((a,b)=>Math.max(a,b))}},7751:(a,b,c)=>{c.d(b,{d:()=>h});var d,e,f=c(44473),g=c(30548);class h{convert(a,b){let c=b.grammarSource;if((0,f._c)(c)&&(c=(0,g.g4)(c)),(0,f.$g)(c)){let d=c.rule.ref;if(!d)throw Error("This cst node was not parsed by a rule.");return this.runConverter(d,a,b)}return a}runConverter(a,b,c){var d;switch(a.name.toUpperCase()){case"INT":return e.convertInt(b);case"STRING":return e.convertString(b);case"ID":return e.convertID(b)}switch(null==(d=(0,g.P3)(a))?void 0:d.toLowerCase()){case"number":return e.convertNumber(b);case"boolean":return e.convertBoolean(b);case"bigint":return e.convertBigint(b);case"date":return e.convertDate(b);default:return b}}}(d=e||(e={})).convertString=function(a){let b="";for(let c=1;c<a.length-1;c++){let d=a.charAt(c);"\\"===d?b+=function(a){switch(a){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return a}}(a.charAt(++c)):b+=d}return b},d.convertID=function(a){return"^"===a.charAt(0)?a.substring(1):a},d.convertInt=function(a){return parseInt(a)},d.convertBigint=function(a){return BigInt(a)},d.convertDate=function(a){return new Date(a)},d.convertNumber=function(a){return Number(a)},d.convertBoolean=function(a){return"true"===a.toLowerCase()}},7970:(a,b,c)=>{c.d(b,{W:()=>d,d:()=>e});class d extends Error{constructor(a,b){super(a?`${b} at ${a.range.start.line}:${a.range.start.character}`:b)}}function e(a){throw Error("Error! The input value was not handled.")}},19765:(a,b,c)=>{c.d(b,{mR:()=>ay,dg:()=>aw,jE:()=>ar,Tm:()=>ax,eZ:()=>as,e5:()=>ao,sr:()=>an,AM:()=>ap,KX:()=>aq,YP:()=>at,eV:()=>au,K2:()=>w});var d,e,f,g,h,i,j,k=c(71893),l=c(56760),m=c(82310),n=c(44473),o=c(77095),p=c(48486);let q={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},r={AstReflection:()=>new n.QX};function s(a){var b;let c,d,e=(c=(0,m.WQ)((0,l.u)(o.D),r),d=(0,m.WQ)((0,l.t)({shared:c}),q),c.ServiceRegistry.register(d),d),f=e.serializer.JsonSerializer.deserialize(a);return e.shared.workspace.LangiumDocumentFactory.fromModel(f,p.r.parse(`memory://${null!=(b=f.name)?b:"grammar"}.langium`)),f}var t=c(7751),u=c(304),v=Object.defineProperty,w=(a,b)=>v(a,"name",{value:b,configurable:!0}),x="Statement",y="Architecture";w(function(a){return $.isInstance(a,y)},"isArchitecture");var z="Axis",A="Branch";w(function(a){return $.isInstance(a,A)},"isBranch");var B="Checkout",C="CherryPicking",D="ClassDefStatement",E="Commit";w(function(a){return $.isInstance(a,E)},"isCommit");var F="Curve",G="Edge",H="Entry",I="GitGraph";w(function(a){return $.isInstance(a,I)},"isGitGraph");var J="Group",K="Info";w(function(a){return $.isInstance(a,K)},"isInfo");var L="Item",M="Junction",N="Merge";w(function(a){return $.isInstance(a,N)},"isMerge");var O="Option",P="Packet";w(function(a){return $.isInstance(a,P)},"isPacket");var Q="PacketBlock";w(function(a){return $.isInstance(a,Q)},"isPacketBlock"),w(function(a){return $.isInstance(a,"Pie")},"isPie");var R="PieSection";w(function(a){return $.isInstance(a,R)},"isPieSection");var S="Radar",T="Service",U="Treemap";w(function(a){return $.isInstance(a,U)},"isTreemap");var V="TreemapRow",W="Direction",X="Leaf",Y="Section",Z=class extends k.kD{static{w(this,"MermaidAstReflection")}getAllTypes(){return[y,z,A,B,C,D,E,F,W,G,H,I,J,K,L,M,X,N,O,P,Q,"Pie",R,S,Y,T,x,U,V]}computeIsSubtype(a,b){switch(a){case A:case B:case C:case E:case N:return this.isSubtype(x,b);case W:return this.isSubtype(I,b);case X:case Y:return this.isSubtype(L,b);default:return!1}}getReferenceType(a){let b=`${a.container.$type}:${a.property}`;if("Entry:axis"===b)return z;throw Error(`${b} is not a valid reference id.`)}getTypeMetaData(a){switch(a){case y:return{name:y,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case z:return{name:z,properties:[{name:"label"},{name:"name"}]};case A:return{name:A,properties:[{name:"name"},{name:"order"}]};case B:return{name:B,properties:[{name:"branch"}]};case C:return{name:C,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case D:return{name:D,properties:[{name:"className"},{name:"styleText"}]};case E:return{name:E,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case F:return{name:F,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case G:return{name:G,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case H:return{name:H,properties:[{name:"axis"},{name:"value"}]};case I:return{name:I,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case J:return{name:J,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case K:return{name:K,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case L:return{name:L,properties:[{name:"classSelector"},{name:"name"}]};case M:return{name:M,properties:[{name:"id"},{name:"in"}]};case N:return{name:N,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case O:return{name:O,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case P:return{name:P,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Q:return{name:Q,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case R:return{name:R,properties:[{name:"label"},{name:"value"}]};case S:return{name:S,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case T:return{name:T,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case U:return{name:U,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case V:return{name:V,properties:[{name:"indent"},{name:"item"}]};case W:return{name:W,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case X:return{name:X,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case Y:return{name:Y,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:a,properties:[]}}}},$=new Z,_=w(()=>d??(d=s(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),aa=w(()=>e??(e=s(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),ab=w(()=>f??(f=s(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),ac=w(()=>g??(g=s(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),ad=w(()=>h??(h=s(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),ae=w(()=>i??(i=s(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),af=w(()=>j??(j=s(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammar"),ag={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ah={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ai={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},aj={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ak={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},al={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},am={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},an={AstReflection:w(()=>new Z,"AstReflection")},ao={Grammar:w(()=>_(),"Grammar"),LanguageMetaData:w(()=>ag,"LanguageMetaData"),parser:{}},ap={Grammar:w(()=>aa(),"Grammar"),LanguageMetaData:w(()=>ah,"LanguageMetaData"),parser:{}},aq={Grammar:w(()=>ab(),"Grammar"),LanguageMetaData:w(()=>ai,"LanguageMetaData"),parser:{}},ar={Grammar:w(()=>ac(),"Grammar"),LanguageMetaData:w(()=>aj,"LanguageMetaData"),parser:{}},as={Grammar:w(()=>ad(),"Grammar"),LanguageMetaData:w(()=>ak,"LanguageMetaData"),parser:{}},at={Grammar:w(()=>ae(),"Grammar"),LanguageMetaData:w(()=>al,"LanguageMetaData"),parser:{}},au={Grammar:w(()=>af(),"Grammar"),LanguageMetaData:w(()=>am,"LanguageMetaData"),parser:{}},av={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},aw=class extends t.d{static{w(this,"AbstractMermaidValueConverter")}runConverter(a,b,c){let d=this.runCommonConverter(a,b,c);return(void 0===d&&(d=this.runCustomConverter(a,b,c)),void 0===d)?super.runConverter(a,b,c):d}runCommonConverter(a,b,c){let d=av[a.name];if(void 0===d)return;let e=d.exec(b);if(null!==e){if(void 0!==e[1])return e[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==e[2])return e[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},ax=class extends aw{static{w(this,"CommonValueConverter")}runCustomConverter(a,b,c){}},ay=class extends u.Q{static{w(this,"AbstractMermaidTokenBuilder")}constructor(a){super(),this.keywords=new Set(a)}buildKeywordTokens(a,b,c){let d=super.buildKeywordTokens(a,b,c);return d.forEach(a=>{this.keywords.has(a.name)&&void 0!==a.PATTERN&&(a.PATTERN=RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),d}};(class extends ay{static{w(this,"CommonTokenBuilder")}})},20002:(a,b,c)=>{c.d(b,{S:()=>k});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},i=class extends d.dg{static{(0,d.K2)(this,"ArchitectureValueConverter")}runCustomConverter(a,b,c){return"ARCH_ICON"===a.name?b.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===a.name?b.replace(/["()]/g,""):"ARCH_TITLE"===a.name?b.replace(/[[\]]/g,"").trim():void 0}},j={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new i,"ValueConverter")}};function k(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.jE,j);return b.ServiceRegistry.register(c),{shared:b,Architecture:c}}(0,d.K2)(k,"createArchitectureServices")},20713:(a,b,c)=>{var d,e;let f;Object.defineProperty(b,"__esModule",{value:!0}),b.Emitter=b.Event=void 0;let g=c(33529);e=d||(b.Event=d={}),f={dispose(){}},e.None=function(){return f};class h{add(a,b=null,c){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(b),Array.isArray(c)&&c.push({dispose:()=>this.remove(a,b)})}remove(a,b=null){if(!this._callbacks)return;let c=!1;for(let d=0,e=this._callbacks.length;d<e;d++)if(this._callbacks[d]===a)if(this._contexts[d]===b){this._callbacks.splice(d,1),this._contexts.splice(d,1);return}else c=!0;if(c)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...a){if(!this._callbacks)return[];let b=[],c=this._callbacks.slice(0),d=this._contexts.slice(0);for(let e=0,f=c.length;e<f;e++)try{b.push(c[e].apply(d[e],a))}catch(a){(0,g.default)().console.error(a)}return b}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class i{constructor(a){this._options=a}get event(){return this._event||(this._event=(a,b,c)=>{this._callbacks||(this._callbacks=new h),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,b);let d={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,b),d.dispose=i._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(c)&&c.push(d),d}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}b.Emitter=i,i._noop=function(){}},21785:(a,b,c)=>{function d(a){return a.charCodeAt(0)}function e(a,b){Array.isArray(a)?a.forEach(function(a){b.push(a)}):b.push(a)}function f(a,b){if(!0===a[b])throw"duplicate flag "+b;a[b],a[b]=!0}function g(a){if(void 0===a)throw Error("Internal Error - Should never get here!");return!0}function h(){throw Error("Internal Error - Should never get here!")}function i(a){return"Character"===a.type}c.d(b,{z:()=>q,H:()=>p});let j=[];for(let a=d("0");a<=d("9");a++)j.push(a);let k=[d("_")].concat(j);for(let a=d("a");a<=d("z");a++)k.push(a);for(let a=d("A");a<=d("Z");a++)k.push(a);let l=[d(" "),d("\f"),d("\n"),d("\r"),d(" "),d("\v"),d(" "),d("\xa0"),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d(" "),d("\u2028"),d("\u2029"),d(" "),d(" "),d(" "),d("\uFEFF")],m=/[0-9a-fA-F]/,n=/[0-9]/,o=/[1-9]/;class p{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(a){this.idx=a.idx,this.input=a.input,this.groupIdx=a.groupIdx}pattern(a){this.idx=0,this.input=a,this.groupIdx=0,this.consumeChar("/");let b=this.disjunction();this.consumeChar("/");let c={type:"Flags",loc:{begin:this.idx,end:a.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":f(c,"global");break;case"i":f(c,"ignoreCase");break;case"m":f(c,"multiLine");break;case"u":f(c,"unicode");break;case"y":f(c,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:c,value:b,loc:this.loc(0)}}disjunction(){let a=[],b=this.idx;for(a.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),a.push(this.alternative());return{type:"Disjunction",value:a,loc:this.loc(b)}}alternative(){let a=[],b=this.idx;for(;this.isTerm();)a.push(this.term());return{type:"Alternative",value:a,loc:this.loc(b)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let a=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(a)};case"$":return{type:"EndAnchor",loc:this.loc(a)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(a)};case"B":return{type:"NonWordBoundary",loc:this.loc(a)}}throw Error("Invalid Assertion Escape");case"(":let b;switch(this.consumeChar("?"),this.popChar()){case"=":b="Lookahead";break;case"!":b="NegativeLookahead"}g(b);let c=this.disjunction();return this.consumeChar(")"),{type:b,value:c,loc:this.loc(a)}}return h()}quantifier(a=!1){let b,c=this.idx;switch(this.popChar()){case"*":b={atLeast:0,atMost:1/0};break;case"+":b={atLeast:1,atMost:1/0};break;case"?":b={atLeast:0,atMost:1};break;case"{":let d=this.integerIncludingZero();switch(this.popChar()){case"}":b={atLeast:d,atMost:d};break;case",":b=this.isDigit()?{atLeast:d,atMost:this.integerIncludingZero()}:{atLeast:d,atMost:1/0},this.consumeChar("}")}if(!0===a&&void 0===b)return;g(b)}if((!0!==a||void 0!==b)&&g(b))return"?"===this.peekChar(0)?(this.consumeChar("?"),b.greedy=!1):b.greedy=!0,b.type="Quantifier",b.loc=this.loc(c),b}atom(){let a,b=this.idx;switch(this.peekChar()){case".":a=this.dotAll();break;case"\\":a=this.atomEscape();break;case"[":a=this.characterClass();break;case"(":a=this.group()}return(void 0===a&&this.isPatternCharacter()&&(a=this.patternCharacter()),g(a))?(a.loc=this.loc(b),this.isQuantifier()&&(a.quantifier=this.quantifier()),a):h()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[d("\n"),d("\r"),d("\u2028"),d("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let a,b=!1;switch(this.popChar()){case"d":a=j;break;case"D":a=j,b=!0;break;case"s":a=l;break;case"S":a=l,b=!0;break;case"w":a=k;break;case"W":a=k,b=!0}return g(a)?{type:"Set",value:a,complement:b}:h()}controlEscapeAtom(){let a;switch(this.popChar()){case"f":a=d("\f");break;case"n":a=d("\n");break;case"r":a=d("\r");break;case"t":a=d(" ");break;case"v":a=d("\v")}return g(a)?{type:"Character",value:a}:h()}controlLetterEscapeAtom(){this.consumeChar("c");let a=this.popChar();if(!1===/[a-zA-Z]/.test(a))throw Error("Invalid ");return{type:"Character",value:a.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:d("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:d(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:d(this.popChar())}}}characterClass(){let a=[],b=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),b=!0);this.isClassAtom();){let b=this.classAtom();if(b.type,i(b)&&this.isRangeDash()){this.consumeChar("-");let c=this.classAtom();if(c.type,i(c)){if(c.value<b.value)throw Error("Range out of order in character class");a.push({from:b.value,to:c.value})}else e(b.value,a),a.push(d("-")),e(c.value,a)}else e(b.value,a)}return this.consumeChar("]"),{type:"Set",complement:b,value:a}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:d("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let a=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),a=!1):this.groupIdx++;let b=this.disjunction();this.consumeChar(")");let c={type:"Group",capturing:a,value:b};return a&&(c.idx=this.groupIdx),c}positiveInteger(){let a=this.popChar();if(!1===o.test(a))throw Error("Expecting a positive integer");for(;n.test(this.peekChar(0));)a+=this.popChar();return parseInt(a,10)}integerIncludingZero(){let a=this.popChar();if(!1===n.test(a))throw Error("Expecting an integer");for(;n.test(this.peekChar(0));)a+=this.popChar();return parseInt(a,10)}patternCharacter(){let a=this.popChar();switch(a){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:d(a)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return n.test(this.peekChar(0))}isClassAtom(a=0){switch(this.peekChar(a)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){let a=this.saveState();try{return void 0!==this.quantifier(!0)}catch(a){return!1}finally{this.restoreState(a)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(a){let b="";for(let c=0;c<a;c++){let a=this.popChar();if(!1===m.test(a))throw Error("Expecting a HexDecimal digits");b+=a}return{type:"Character",value:parseInt(b,16)}}peekChar(a=0){return this.input[this.idx+a]}popChar(){let a=this.peekChar(0);return this.consumeChar(void 0),a}consumeChar(a){if(void 0!==a&&this.input[this.idx]!==a)throw Error("Expected: '"+a+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(a){return{begin:a,end:this.idx}}}class q{visitChildren(a){for(let b in a){let c=a[b];a.hasOwnProperty(b)&&(void 0!==c.type?this.visit(c):Array.isArray(c)&&c.forEach(a=>{this.visit(a)},this))}}visit(a){switch(a.type){case"Pattern":this.visitPattern(a);break;case"Flags":this.visitFlags(a);break;case"Disjunction":this.visitDisjunction(a);break;case"Alternative":this.visitAlternative(a);break;case"StartAnchor":this.visitStartAnchor(a);break;case"EndAnchor":this.visitEndAnchor(a);break;case"WordBoundary":this.visitWordBoundary(a);break;case"NonWordBoundary":this.visitNonWordBoundary(a);break;case"Lookahead":this.visitLookahead(a);break;case"NegativeLookahead":this.visitNegativeLookahead(a);break;case"Character":this.visitCharacter(a);break;case"Set":this.visitSet(a);break;case"Group":this.visitGroup(a);break;case"GroupBackReference":this.visitGroupBackReference(a);break;case"Quantifier":this.visitQuantifier(a)}this.visitChildren(a)}visitPattern(a){}visitFlags(a){}visitDisjunction(a){}visitAlternative(a){}visitStartAnchor(a){}visitEndAnchor(a){}visitWordBoundary(a){}visitNonWordBoundary(a){}visitLookahead(a){}visitNegativeLookahead(a){}visitCharacter(a){}visitSet(a){}visitGroup(a){}visitGroupBackReference(a){}visitQuantifier(a){}}},23883:(a,b,c)=>{var d,e;b.Qi=b.XO=void 0;let f=c(33529),g=c(67796),h=c(20713);(e=d||(b.XO=d={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:h.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:h.Event.None}),e.is=function(a){return a&&(a===e.None||a===e.Cancelled||g.boolean(a.isCancellationRequested)&&!!a.onCancellationRequested)};let i=Object.freeze(function(a,b){let c=(0,f.default)().timer.setTimeout(a.bind(b),0);return{dispose(){c.dispose()}}});class j{constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new h.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class k{get token(){return this._token||(this._token=new j),this._token}cancel(){this._token?this._token.cancel():this._token=d.Cancelled}dispose(){this._token?this._token instanceof j&&this._token.dispose():this._token=d.None}}b.Qi=k},27144:(a,b,c)=>{c.d(b,{$:()=>j});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},i={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new d.Tm,"ValueConverter")}};function j(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.AM,i);return b.ServiceRegistry.register(c),{shared:b,Packet:c}}(0,d.K2)(j,"createPacketServices")},27681:(a,b,c)=>{c.d(b,{b:()=>j});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},i={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new d.Tm,"ValueConverter")}};function j(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.eZ,i);return b.ServiceRegistry.register(c),{shared:b,GitGraph:c}}(0,d.K2)(j,"createGitGraphServices")},30548:(a,b,c)=>{c.d(b,{Bd:()=>m,P3:()=>u,PV:()=>t,Rp:()=>q,S:()=>v,SS:()=>p,U5:()=>r,Uz:()=>function a(b){var c,d,f;if(e.s7(b))return s(b)?b.name:null!=(c=t(b))?c:b.name;if(e.S2(b)||e.Xj(b)||e.fG(b))return b.name;if(e.ve(b)){let c=(d=b).inferredType?d.inferredType.name:(null==(f=d.type)?void 0:f.ref)?a(d.type.ref):void 0;if(c)return c}else if(e.SP(b))return b.name;throw Error("Cannot get name of Unknown Type")},Xq:()=>s,YV:()=>j,eb:()=>l,g4:()=>k,qO:()=>n});var d=c(7970),e=c(44473),f=c(71893),g=c(43677),h=c(74047),i=c(94224);function j(a,b){let c=new Set,d=a.rules.find(a=>e.s7(a)&&a.entry);if(!d)return new Set(a.rules);for(let f of[d].concat(a.rules.filter(a=>e.rE(a)&&a.hidden)))!function a(b,c,d){c.add(b.name),(0,g.Uo)(b).forEach(b=>{if(e.$g(b)||d&&e.lF(b)){let e=b.rule.ref;e&&!c.has(e.name)&&a(e,c,d)}})}(f,c,b);let f=new Set;for(let b of a.rules)(c.has(b.name)||e.rE(b)&&b.hidden)&&f.add(b);return f}function k(a){if(a.terminal)return a.terminal;if(a.type.ref){let b=r(a.type.ref);return null==b?void 0:b.terminal}}function l(a){return a.hidden&&!(0,i.Yv)(v(a))}function m(a,b){return a&&b?o(a,b,a.astNode,!0):[]}function n(a,b,c){if(!a||!b)return;let d=o(a,b,a.astNode,!0);if(0!==d.length)return c=void 0!==c?Math.max(0,Math.min(c,d.length-1)):0,d[c]}function o(a,b,c,d){if(!d){let c=(0,g.XG)(a.grammarSource,e.wh);if(c&&c.feature===b)return[a]}return(0,f.mD)(a)&&a.astNode===c?a.content.flatMap(a=>o(a,b,c,!1)):[]}function p(a,b,c){if(!a)return;let d=function(a,b,c){let d;if(a.astNode!==c)return[];if(e.wb(a.grammarSource)&&a.grammarSource.value===b)return[a];let f=(0,h.NS)(a).iterator(),g=[];do if(!(d=f.next()).done){let a=d.value;a.astNode===c?e.wb(a.grammarSource)&&a.grammarSource.value===b&&g.push(a):f.prune()}while(!d.done);return g}(a,b,null==a?void 0:a.astNode);if(0!==d.length)return c=void 0!==c?Math.max(0,Math.min(c,d.length-1)):0,d[c]}function q(a){var b;let c=a.astNode;for(;c===(null==(b=a.container)?void 0:b.astNode);){let b=(0,g.XG)(a.grammarSource,e.wh);if(b)return b;a=a.container}}function r(a){let b=a;return e.SP(b)&&(e.ve(b.$container)?b=b.$container.$container:e.s7(b.$container)?b=b.$container:(0,d.d)(b.$container)),function a(b,c,d){var f;function h(c,f){let h;return(0,g.XG)(c,e.wh)||(h=a(f,f,d)),d.set(b,h),h}if(d.has(b))return d.get(b);for(let a of(d.set(b,void 0),(0,g.Uo)(c)))if(e.wh(a)&&"name"===a.feature.toLowerCase())return d.set(b,a),a;else if(e.$g(a)&&e.s7(a.rule.ref))return h(a,a.rule.ref);else if(e.D8(a)&&(null==(f=a.typeRef)?void 0:f.ref))return h(a,a.typeRef.ref)}(a,b,new Map)}function s(a){return function a(b,c){if(c.has(b))return!0;for(let d of(c.add(b),(0,g.Uo)(b)))if(e.$g(d)){if(!d.rule.ref||e.s7(d.rule.ref)&&!a(d.rule.ref,c))return!1}else if(e.wh(d))return!1;else if(e.ve(d))return!1;return!!b.definition}(a,new Set)}function t(a){if(a.inferredType)return a.inferredType.name;if(a.dataType)return a.dataType;if(a.returnType){let b=a.returnType.ref;if(b){if(e.s7(b))return b.name;else if(e.S2(b)||e.Xj(b))return b.name}}}function u(a){var b,c,d;return e.rE(a)?null!=(c=null==(b=a.type)?void 0:b.name)?c:"string":null!=(d=t(a))?d:a.name}function v(a){let b={s:!1,i:!1,u:!1};return new RegExp(function a(b,c){var d,f,g,h,i;if(e.Fy(b)){return y((d=b).elements.map(b=>a(b)).join("|"),{cardinality:d.cardinality,lookahead:d.lookahead})}if(e.O4(b)){return y((f=b).elements.map(b=>a(b)).join(""),{cardinality:f.cardinality,lookahead:f.lookahead})}if(e.Bg(b)){return(g=b).right?y(`[${x(g.left)}-${x(g.right)}]`,{cardinality:g.cardinality,lookahead:g.lookahead,wrap:!1}):y(x(g.left),{cardinality:g.cardinality,lookahead:g.lookahead,wrap:!1})}if(e.lF(b)){let c=b.rule.ref;if(!c)throw Error("Missing rule reference.");return y(a(c.definition),{cardinality:b.cardinality,lookahead:b.lookahead})}if(e.GL(b)){return h=b,y(`(?!${a(h.terminal)})${w}*?`,{cardinality:h.cardinality,lookahead:h.lookahead})}else if(e.Mz(b)){return i=b,y(`${w}*?${a(i.terminal)}`,{cardinality:i.cardinality,lookahead:i.lookahead})}else if(e.vd(b)){let a=b.regex.lastIndexOf("/"),d=b.regex.substring(1,a),e=b.regex.substring(a+1);return c&&(c.i=e.includes("i"),c.s=e.includes("s"),c.u=e.includes("u")),y(d,{cardinality:b.cardinality,lookahead:b.lookahead,wrap:!1})}else if(e.z2(b))return y(w,{cardinality:b.cardinality,lookahead:b.lookahead});else throw Error(`Invalid terminal element: ${null==b?void 0:b.$type}`)}(a.definition,b),Object.entries(b).filter(([,a])=>a).map(([a])=>a).join(""))}let w=/[\s\S]/.source;function x(a){return(0,i.Nt)(a.value)}function y(a,b){var c;return((!1!==b.wrap||b.lookahead)&&(a=`(${null!=(c=b.lookahead)?c:""}${a})`),b.cardinality)?`${a}${b.cardinality}`:a}},33529:(a,b)=>{let c;function d(){if(void 0===c)throw Error("No runtime abstraction layer installed");return c}Object.defineProperty(b,"__esModule",{value:!0}),(d||(d={})).install=function(a){if(void 0===a)throw Error("No runtime abstraction layer provided");c=a},b.default=d},38368:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(44090),e=c(78803),f=c(87826),g=c(4591);let h=function(a,b){return((0,g.A)(a)?d.A:f.A)(a,(0,e.A)(b,3))}},39811:(a,b,c)=>{c.d(b,{v:()=>j});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},i={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new d.Tm,"ValueConverter")}};function j(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.e5,i);return b.ServiceRegistry.register(c),{shared:b,Info:c}}(0,d.K2)(j,"createInfoServices")},40819:(a,b,c)=>{c.d(b,{d:()=>n});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},i=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,j=class extends d.dg{static{(0,d.K2)(this,"TreemapValueConverter")}runCustomConverter(a,b,c){if("NUMBER2"===a.name)return parseFloat(b.replace(/,/g,""));if("SEPARATOR"===a.name)return b.substring(1,b.length-1);if("STRING2"===a.name)return b.substring(1,b.length-1);if("INDENTATION"===a.name)return b.length;if("ClassDef"===a.name){if("string"!=typeof b)return b;let a=i.exec(b);if(a)return{$type:"ClassDefStatement",className:a[1],styleText:a[2]||void 0}}}};function k(a){let b=a.validation.TreemapValidator,c=a.validation.ValidationRegistry;if(c){let a={Treemap:b.checkSingleRoot.bind(b)};c.register(a,b)}}(0,d.K2)(k,"registerValidationChecks");var l=class{static{(0,d.K2)(this,"TreemapValidator")}checkSingleRoot(a,b){let c;for(let d of a.TreemapRows)d.item&&(void 0===c&&void 0===d.indent?c=0:void 0===d.indent?b("error","Multiple root nodes are not allowed in a treemap.",{node:d,property:"item"}):void 0!==c&&c>=parseInt(d.indent,10)&&b("error","Multiple root nodes are not allowed in a treemap.",{node:d,property:"item"}))}},m={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new j,"ValueConverter")},validation:{TreemapValidator:(0,d.K2)(()=>new l,"TreemapValidator")}};function n(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.eV,m);return b.ServiceRegistry.register(c),k(c),{shared:b,Treemap:c}}(0,d.K2)(n,"createTreemapServices")},43677:(a,b,c)=>{c.d(b,{DM:()=>o,OP:()=>p,SD:()=>g,Uo:()=>l,VN:()=>k,XG:()=>h,YE:()=>i,cQ:()=>j,jm:()=>m});var d=c(71893),e=c(5661),f=c(74047);function g(a){for(let[b,c]of Object.entries(a))!b.startsWith("$")&&(Array.isArray(c)?c.forEach((c,e)=>{(0,d.ng)(c)&&(c.$container=a,c.$containerProperty=b,c.$containerIndex=e)}):(0,d.ng)(c)&&(c.$container=a,c.$containerProperty=b))}function h(a,b){let c=a;for(;c;){if(b(c))return c;c=c.$container}}function i(a){let b=j(a).$document;if(!b)throw Error("AST node has no document.");return b}function j(a){for(;a.$container;)a=a.$container;return a}function k(a,b){if(!a)throw Error("Node must be an AstNode.");let c=null==b?void 0:b.range;return new e.fq(()=>({keys:Object.keys(a),keyIndex:0,arrayIndex:0}),b=>{for(;b.keyIndex<b.keys.length;){let e=b.keys[b.keyIndex];if(!e.startsWith("$")){let f=a[e];if((0,d.ng)(f)){if(b.keyIndex++,n(f,c))return{done:!1,value:f}}else if(Array.isArray(f)){for(;b.arrayIndex<f.length;){let a=f[b.arrayIndex++];if((0,d.ng)(a)&&n(a,c))return{done:!1,value:a}}b.arrayIndex=0}}b.keyIndex++}return e.Rf})}function l(a,b){if(!a)throw Error("Root node must be an AstNode.");return new e.Vj(a,a=>k(a,b))}function m(a,b){if(a){if((null==b?void 0:b.range)&&!n(a,b.range))return new e.Vj(a,()=>[])}else throw Error("Root node must be an AstNode.");return new e.Vj(a,a=>k(a,b),{includeRoot:!0})}function n(a,b){var c;if(!b)return!0;let d=null==(c=a.$cstNode)?void 0:c.range;return!!d&&(0,f.r4)(d,b)}function o(a){return new e.fq(()=>({keys:Object.keys(a),keyIndex:0,arrayIndex:0}),b=>{for(;b.keyIndex<b.keys.length;){let c=b.keys[b.keyIndex];if(!c.startsWith("$")){let e=a[c];if((0,d.A_)(e))return b.keyIndex++,{done:!1,value:{reference:e,container:a,property:c}};if(Array.isArray(e)){for(;b.arrayIndex<e.length;){let f=b.arrayIndex++,g=e[f];if((0,d.A_)(g))return{done:!1,value:{reference:g,container:a,property:c,index:f}}}b.arrayIndex=0}}b.keyIndex++}return e.Rf})}function p(a,b){for(let c of a.getTypeMetaData(b.$type).properties)void 0!==c.defaultValue&&void 0===b[c.name]&&(b[c.name]=function a(b){return Array.isArray(b)?[...b.map(a)]:b}(c.defaultValue))}},44473:(a,b,c)=>{c.d(b,{$g:()=>an,Bg:()=>_,Ct:()=>B,Cz:()=>o,D8:()=>M,FO:()=>ad,Fy:()=>ap,GL:()=>aj,IZ:()=>af,Mz:()=>ax,O4:()=>ar,QX:()=>aA,RP:()=>s,S2:()=>y,SP:()=>w,TF:()=>F,Tu:()=>q,Xj:()=>R,_c:()=>ab,cY:()=>av,fG:()=>K,jp:()=>X,lF:()=>at,r1:()=>k,rE:()=>P,s7:()=>H,vd:()=>al,ve:()=>V,wb:()=>ah,wh:()=>Z,z2:()=>az});var d=c(71893);let e="AbstractRule",f="AbstractType",g="Condition",h="TypeDefinition",i="ValueLiteral",j="AbstractElement";function k(a){return aB.isInstance(a,j)}let l="ArrayLiteral",m="ArrayType",n="BooleanLiteral";function o(a){return aB.isInstance(a,n)}let p="Conjunction";function q(a){return aB.isInstance(a,p)}let r="Disjunction";function s(a){return aB.isInstance(a,r)}let t="Grammar",u="GrammarImport",v="InferredType";function w(a){return aB.isInstance(a,v)}let x="Interface";function y(a){return aB.isInstance(a,x)}let z="NamedArgument",A="Negation";function B(a){return aB.isInstance(a,A)}let C="NumberLiteral",D="Parameter",E="ParameterReference";function F(a){return aB.isInstance(a,E)}let G="ParserRule";function H(a){return aB.isInstance(a,G)}let I="ReferenceType",J="ReturnType";function K(a){return aB.isInstance(a,J)}let L="SimpleType";function M(a){return aB.isInstance(a,L)}let N="StringLiteral",O="TerminalRule";function P(a){return aB.isInstance(a,O)}let Q="Type";function R(a){return aB.isInstance(a,Q)}let S="TypeAttribute",T="UnionType",U="Action";function V(a){return aB.isInstance(a,U)}let W="Alternatives";function X(a){return aB.isInstance(a,W)}let Y="Assignment";function Z(a){return aB.isInstance(a,Y)}let $="CharacterRange";function _(a){return aB.isInstance(a,$)}let aa="CrossReference";function ab(a){return aB.isInstance(a,aa)}let ac="EndOfFile";function ad(a){return aB.isInstance(a,ac)}let ae="Group";function af(a){return aB.isInstance(a,ae)}let ag="Keyword";function ah(a){return aB.isInstance(a,ag)}let ai="NegatedToken";function aj(a){return aB.isInstance(a,ai)}let ak="RegexToken";function al(a){return aB.isInstance(a,ak)}let am="RuleCall";function an(a){return aB.isInstance(a,am)}let ao="TerminalAlternatives";function ap(a){return aB.isInstance(a,ao)}let aq="TerminalGroup";function ar(a){return aB.isInstance(a,aq)}let as="TerminalRuleCall";function at(a){return aB.isInstance(a,as)}let au="UnorderedGroup";function av(a){return aB.isInstance(a,au)}let aw="UntilToken";function ax(a){return aB.isInstance(a,aw)}let ay="Wildcard";function az(a){return aB.isInstance(a,ay)}class aA extends d.kD{getAllTypes(){return[j,e,f,U,W,l,m,Y,n,$,g,p,aa,r,ac,t,u,ae,v,x,ag,z,ai,A,C,D,E,G,I,ak,J,am,L,N,ao,aq,O,as,Q,S,h,T,au,aw,i,ay]}computeIsSubtype(a,b){switch(a){case U:case W:case Y:case $:case aa:case ac:case ae:case ag:case ai:case ak:case am:case ao:case aq:case as:case au:case aw:case ay:return this.isSubtype(j,b);case l:case C:case N:return this.isSubtype(i,b);case m:case I:case L:case T:return this.isSubtype(h,b);case n:return this.isSubtype(g,b)||this.isSubtype(i,b);case p:case r:case A:case E:return this.isSubtype(g,b);case v:case x:case Q:return this.isSubtype(f,b);case G:return this.isSubtype(e,b)||this.isSubtype(f,b);case O:return this.isSubtype(e,b);default:return!1}}getReferenceType(a){let b=`${a.container.$type}:${a.property}`;switch(b){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return f;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return e;case"Grammar:usedGrammars":return t;case"NamedArgument:parameter":case"ParameterReference:parameter":return D;case"TerminalRuleCall:rule":return O;default:throw Error(`${b} is not a valid reference id.`)}}getTypeMetaData(a){switch(a){case j:return{name:j,properties:[{name:"cardinality"},{name:"lookahead"}]};case l:return{name:l,properties:[{name:"elements",defaultValue:[]}]};case m:return{name:m,properties:[{name:"elementType"}]};case n:return{name:n,properties:[{name:"true",defaultValue:!1}]};case p:return{name:p,properties:[{name:"left"},{name:"right"}]};case r:return{name:r,properties:[{name:"left"},{name:"right"}]};case t:return{name:t,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case u:return{name:u,properties:[{name:"path"}]};case v:return{name:v,properties:[{name:"name"}]};case x:return{name:x,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case z:return{name:z,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case A:return{name:A,properties:[{name:"value"}]};case C:return{name:C,properties:[{name:"value"}]};case D:return{name:D,properties:[{name:"name"}]};case E:return{name:E,properties:[{name:"parameter"}]};case G:return{name:G,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case I:return{name:I,properties:[{name:"referenceType"}]};case J:return{name:J,properties:[{name:"name"}]};case L:return{name:L,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case N:return{name:N,properties:[{name:"value"}]};case O:return{name:O,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Q:return{name:Q,properties:[{name:"name"},{name:"type"}]};case S:return{name:S,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case T:return{name:T,properties:[{name:"types",defaultValue:[]}]};case U:return{name:U,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case W:return{name:W,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Y:return{name:Y,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case $:return{name:$,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case aa:return{name:aa,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case ac:return{name:ac,properties:[{name:"cardinality"},{name:"lookahead"}]};case ae:return{name:ae,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case ag:return{name:ag,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case ai:return{name:ai,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case ak:return{name:ak,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case am:return{name:am,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case ao:return{name:ao,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case aq:return{name:aq,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case as:return{name:as,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case au:return{name:au,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case aw:return{name:aw,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case ay:return{name:ay,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:a,properties:[]}}}}let aB=new aA},48486:(a,b,c)=>{c.d(b,{A:()=>i,r:()=>h});var d={470:a=>{function b(a){if("string"!=typeof a)throw TypeError("Path must be a string. Received "+JSON.stringify(a))}function c(a,b){for(var c,d="",e=0,f=-1,g=0,h=0;h<=a.length;++h){if(h<a.length)c=a.charCodeAt(h);else{if(47===c)break;c=47}if(47===c){if(f===h-1||1===g);else if(f!==h-1&&2===g){if(d.length<2||2!==e||46!==d.charCodeAt(d.length-1)||46!==d.charCodeAt(d.length-2)){if(d.length>2){var i=d.lastIndexOf("/");if(i!==d.length-1){-1===i?(d="",e=0):e=(d=d.slice(0,i)).length-1-d.lastIndexOf("/"),f=h,g=0;continue}}else if(2===d.length||1===d.length){d="",e=0,f=h,g=0;continue}}b&&(d.length>0?d+="/..":d="..",e=2)}else d.length>0?d+="/"+a.slice(f+1,h):d=a.slice(f+1,h),e=h-f-1;f=h,g=0}else 46===c&&-1!==g?++g:g=-1}return d}var d={resolve:function(){for(var a,d,e="",f=!1,g=arguments.length-1;g>=-1&&!f;g--)g>=0?a=arguments[g]:(void 0===d&&(d=process.cwd()),a=d),b(a),0!==a.length&&(e=a+"/"+e,f=47===a.charCodeAt(0));return e=c(e,!f),f?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(a){if(b(a),0===a.length)return".";var d=47===a.charCodeAt(0),e=47===a.charCodeAt(a.length-1);return 0!==(a=c(a,!d)).length||d||(a="."),a.length>0&&e&&(a+="/"),d?"/"+a:a},isAbsolute:function(a){return b(a),a.length>0&&47===a.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var a,c=0;c<arguments.length;++c){var e=arguments[c];b(e),e.length>0&&(void 0===a?a=e:a+="/"+e)}return void 0===a?".":d.normalize(a)},relative:function(a,c){if(b(a),b(c),a===c||(a=d.resolve(a))===(c=d.resolve(c)))return"";for(var e=1;e<a.length&&47===a.charCodeAt(e);++e);for(var f=a.length,g=f-e,h=1;h<c.length&&47===c.charCodeAt(h);++h);for(var i=c.length-h,j=g<i?g:i,k=-1,l=0;l<=j;++l){if(l===j){if(i>j){if(47===c.charCodeAt(h+l))return c.slice(h+l+1);if(0===l)return c.slice(h+l)}else g>j&&(47===a.charCodeAt(e+l)?k=l:0===l&&(k=0));break}var m=a.charCodeAt(e+l);if(m!==c.charCodeAt(h+l))break;47===m&&(k=l)}var n="";for(l=e+k+1;l<=f;++l)l!==f&&47!==a.charCodeAt(l)||(0===n.length?n+="..":n+="/..");return n.length>0?n+c.slice(h+k):(h+=k,47===c.charCodeAt(h)&&++h,c.slice(h))},_makeLong:function(a){return a},dirname:function(a){if(b(a),0===a.length)return".";for(var c=a.charCodeAt(0),d=47===c,e=-1,f=!0,g=a.length-1;g>=1;--g)if(47===(c=a.charCodeAt(g))){if(!f){e=g;break}}else f=!1;return -1===e?d?"/":".":d&&1===e?"//":a.slice(0,e)},basename:function(a,c){if(void 0!==c&&"string"!=typeof c)throw TypeError('"ext" argument must be a string');b(a);var d,e=0,f=-1,g=!0;if(void 0!==c&&c.length>0&&c.length<=a.length){if(c.length===a.length&&c===a)return"";var h=c.length-1,i=-1;for(d=a.length-1;d>=0;--d){var j=a.charCodeAt(d);if(47===j){if(!g){e=d+1;break}}else -1===i&&(g=!1,i=d+1),h>=0&&(j===c.charCodeAt(h)?-1==--h&&(f=d):(h=-1,f=i))}return e===f?f=i:-1===f&&(f=a.length),a.slice(e,f)}for(d=a.length-1;d>=0;--d)if(47===a.charCodeAt(d)){if(!g){e=d+1;break}}else -1===f&&(g=!1,f=d+1);return -1===f?"":a.slice(e,f)},extname:function(a){b(a);for(var c=-1,d=0,e=-1,f=!0,g=0,h=a.length-1;h>=0;--h){var i=a.charCodeAt(h);if(47!==i)-1===e&&(f=!1,e=h+1),46===i?-1===c?c=h:1!==g&&(g=1):-1!==c&&(g=-1);else if(!f){d=h+1;break}}return -1===c||-1===e||0===g||1===g&&c===e-1&&c===d+1?"":a.slice(c,e)},format:function(a){var b,c;if(null===a||"object"!=typeof a)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof a);return b=a.dir||a.root,c=a.base||(a.name||"")+(a.ext||""),b?b===a.root?b+c:b+"/"+c:c},parse:function(a){b(a);var c={root:"",dir:"",base:"",ext:"",name:""};if(0===a.length)return c;var d,e=a.charCodeAt(0),f=47===e;f?(c.root="/",d=1):d=0;for(var g=-1,h=0,i=-1,j=!0,k=a.length-1,l=0;k>=d;--k)if(47!==(e=a.charCodeAt(k)))-1===i&&(j=!1,i=k+1),46===e?-1===g?g=k:1!==l&&(l=1):-1!==g&&(l=-1);else if(!j){h=k+1;break}return -1===g||-1===i||0===l||1===l&&g===i-1&&g===h+1?-1!==i&&(c.base=c.name=0===h&&f?a.slice(1,i):a.slice(h,i)):(0===h&&f?(c.name=a.slice(1,g),c.base=a.slice(1,i)):(c.name=a.slice(h,g),c.base=a.slice(h,i)),c.ext=a.slice(g,i)),h>0?c.dir=a.slice(0,h-1):f&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};d.posix=d,a.exports=d}},e={};function f(a){var b=e[a];if(void 0!==b)return b.exports;var c=e[a]={exports:{}};return d[a](c,c.exports,f),c.exports}f.d=(a,b)=>{for(var c in b)f.o(b,c)&&!f.o(a,c)&&Object.defineProperty(a,c,{enumerable:!0,get:b[c]})},f.o=(a,b)=>Object.prototype.hasOwnProperty.call(a,b),f.r=a=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var g={};(()=>{let a;(f.r(g),f.d(g,{URI:()=>i,Utils:()=>t}),"object"==typeof process)?a="win32"===process.platform:"object"==typeof navigator&&(a=navigator.userAgent.indexOf("Windows")>=0);let b=/^\w[\w\d+.-]*$/,c=/^\//,d=/^\/\//;function e(a,e){if(!a.scheme&&e)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${a.authority}", path: "${a.path}", query: "${a.query}", fragment: "${a.fragment}"}`);if(a.scheme&&!b.test(a.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(a.path){if(a.authority){if(!c.test(a.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(d.test(a.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class i{static isUri(a){return a instanceof i||!!a&&"string"==typeof a.authority&&"string"==typeof a.fragment&&"string"==typeof a.path&&"string"==typeof a.query&&"string"==typeof a.scheme&&"string"==typeof a.fsPath&&"function"==typeof a.with&&"function"==typeof a.toString}scheme;authority;path;query;fragment;constructor(a,b,c,d,f,g=!1){"object"==typeof a?(this.scheme=a.scheme||"",this.authority=a.authority||"",this.path=a.path||"",this.query=a.query||"",this.fragment=a.fragment||""):(this.scheme=function(a,b){return a||b?a:"file"}(a,g),this.authority=b||"",this.path=function(a,b){switch(a){case"https":case"http":case"file":b?"/"!==b[0]&&(b="/"+b):b="/"}return b}(this.scheme,c||""),this.query=d||"",this.fragment=f||"",e(this,g))}get fsPath(){return o(this,!1)}with(a){if(!a)return this;let{scheme:b,authority:c,path:d,query:e,fragment:f}=a;return void 0===b?b=this.scheme:null===b&&(b=""),void 0===c?c=this.authority:null===c&&(c=""),void 0===d?d=this.path:null===d&&(d=""),void 0===e?e=this.query:null===e&&(e=""),void 0===f?f=this.fragment:null===f&&(f=""),b===this.scheme&&c===this.authority&&d===this.path&&e===this.query&&f===this.fragment?this:new k(b,c,d,e,f)}static parse(a,b=!1){let c=h.exec(a);return c?new k(c[2]||"",r(c[4]||""),r(c[5]||""),r(c[7]||""),r(c[9]||""),b):new k("","","","","")}static file(b){let c="";if(a&&(b=b.replace(/\\/g,"/")),"/"===b[0]&&"/"===b[1]){let a=b.indexOf("/",2);-1===a?(c=b.substring(2),b="/"):(c=b.substring(2,a),b=b.substring(a)||"/")}return new k("file",c,b,"","")}static from(a){let b=new k(a.scheme,a.authority,a.path,a.query,a.fragment);return e(b,!0),b}toString(a=!1){return p(this,a)}toJSON(){return this}static revive(a){if(a){if(a instanceof i)return a;{let b=new k(a);return b._formatted=a.external,b._fsPath=a._sep===j?a.fsPath:null,b}}return a}}let j=a?1:void 0;class k extends i{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=o(this,!1)),this._fsPath}toString(a=!1){return a?p(this,!0):(this._formatted||(this._formatted=p(this,!1)),this._formatted)}toJSON(){let a={$mid:1};return this._fsPath&&(a.fsPath=this._fsPath,a._sep=j),this._formatted&&(a.external=this._formatted),this.path&&(a.path=this.path),this.scheme&&(a.scheme=this.scheme),this.authority&&(a.authority=this.authority),this.query&&(a.query=this.query),this.fragment&&(a.fragment=this.fragment),a}}let l={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(a,b,c){let d,e=-1;for(let f=0;f<a.length;f++){let g=a.charCodeAt(f);if(g>=97&&g<=122||g>=65&&g<=90||g>=48&&g<=57||45===g||46===g||95===g||126===g||b&&47===g||c&&91===g||c&&93===g||c&&58===g)-1!==e&&(d+=encodeURIComponent(a.substring(e,f)),e=-1),void 0!==d&&(d+=a.charAt(f));else{void 0===d&&(d=a.substr(0,f));let b=l[g];void 0!==b?(-1!==e&&(d+=encodeURIComponent(a.substring(e,f)),e=-1),d+=b):-1===e&&(e=f)}}return -1!==e&&(d+=encodeURIComponent(a.substring(e))),void 0!==d?d:a}function n(a){let b;for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);35===d||63===d?(void 0===b&&(b=a.substr(0,c)),b+=l[d]):void 0!==b&&(b+=a[c])}return void 0!==b?b:a}function o(b,c){let d;return d=b.authority&&b.path.length>1&&"file"===b.scheme?`//${b.authority}${b.path}`:47===b.path.charCodeAt(0)&&(b.path.charCodeAt(1)>=65&&90>=b.path.charCodeAt(1)||b.path.charCodeAt(1)>=97&&122>=b.path.charCodeAt(1))&&58===b.path.charCodeAt(2)?c?b.path.substr(1):b.path[1].toLowerCase()+b.path.substr(2):b.path,a&&(d=d.replace(/\//g,"\\")),d}function p(a,b){let c=b?n:m,d="",{scheme:e,authority:f,path:g,query:h,fragment:i}=a;if(e&&(d+=e,d+=":"),(f||"file"===e)&&(d+="/",d+="/"),f){let a=f.indexOf("@");if(-1!==a){let b=f.substr(0,a);f=f.substr(a+1),-1===(a=b.lastIndexOf(":"))?d+=c(b,!1,!1):(d+=c(b.substr(0,a),!1,!1),d+=":",d+=c(b.substr(a+1),!1,!0)),d+="@"}-1===(a=(f=f.toLowerCase()).lastIndexOf(":"))?d+=c(f,!1,!0):(d+=c(f.substr(0,a),!1,!0),d+=f.substr(a))}if(g){if(g.length>=3&&47===g.charCodeAt(0)&&58===g.charCodeAt(2)){let a=g.charCodeAt(1);a>=65&&a<=90&&(g=`/${String.fromCharCode(a+32)}:${g.substr(3)}`)}else if(g.length>=2&&58===g.charCodeAt(1)){let a=g.charCodeAt(0);a>=65&&a<=90&&(g=`${String.fromCharCode(a+32)}:${g.substr(2)}`)}d+=c(g,!0,!1)}return h&&(d+="?",d+=c(h,!1,!1)),i&&(d+="#",d+=b?i:m(i,!1,!1)),d}let q=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function r(a){return a.match(q)?a.replace(q,a=>(function a(b){try{return decodeURIComponent(b)}catch{return b.length>3?b.substr(0,3)+a(b.substr(3)):b}})(a)):a}var s,t,u=f(470);let v=u.posix||u;(s=t||(t={})).joinPath=function(a,...b){return a.with({path:v.join(a.path,...b)})},s.resolvePath=function(a,...b){let c=a.path,d=!1;"/"!==c[0]&&(c="/"+c,d=!0);let e=v.resolve(c,...b);return d&&"/"===e[0]&&!a.authority&&(e=e.substring(1)),a.with({path:e})},s.dirname=function(a){if(0===a.path.length||"/"===a.path)return a;let b=v.dirname(a.path);return 1===b.length&&46===b.charCodeAt(0)&&(b=""),a.with({path:b})},s.basename=function(a){return v.basename(a.path)},s.extname=function(a){return v.extname(a.path)}})();let{URI:h,Utils:i}=g},56760:(a,b,c)=>{let d;c.d(b,{t:()=>dT,u:()=>dU});var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,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,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX,aY,aZ,a$,a_,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG=c(74047),bH=c(30548),bI=c(94224),bJ=c(44473),bK=c(66526),bL=c(38368),bM=c(58617);function bN(a,b,c){return`${a.name}_${b}_${c}`}class bO{constructor(a){this.target=a}isEpsilon(){return!1}}class bP extends bO{constructor(a,b){super(a),this.tokenType=b}}class bQ extends bO{constructor(a){super(a)}isEpsilon(){return!0}}class bR extends bO{constructor(a,b,c){super(a),this.rule=b,this.followState=c}isEpsilon(){return!0}}function bS(a,b,c){let d=(0,bM.A)((0,bL.A)(c.definition,c=>(function a(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;if(d instanceof bK.BK)return bX(b,c,d.terminalType,d);if(d instanceof bK.wL){let a,h,i,j;return e=b,f=c,a=(g=d).referencedRule,h=e.ruleToStartState.get(a),i=bZ(e,f,g,{type:1}),b$(i,new bR(h,a,j=bZ(e,f,g,{type:1}))),{left:i,right:j}}if(d instanceof bK.ak){let e,f;return e=bZ(h=b,i=c,j=d,{type:1}),bV(h,e),f=(0,bL.A)(j.definition,b=>a(h,i,b)),bW(h,i,e,j,...f)}if(d instanceof bK.c$){let a,e,f;return a=bZ(k=b,l=c,m=d,{type:1}),bV(k,a),e=bW(k,l,a,m,bS(k,l,m)),n=k,o=l,p=m,bY(f=(q=e).left,q.right),n.decisionMap[bN(o,"Option",p.idx)]=f,q}if(d instanceof bK.Y2){let a,e;return a=bZ(r=b,s=c,t=d,{type:5}),bV(r,a),e=bW(r,s,a,t,bS(r,s,t)),bU(r,s,t,e)}else if(d instanceof bK.Pp){let a,e,f;return a=bZ(u=b,v=c,w=d,{type:5}),bV(u,a),e=bW(u,v,a,w,bS(u,v,w)),f=bX(u,v,w.separator,w),bU(u,v,w,e,f)}else if(d instanceof bK.$P){let a,e;return a=bZ(x=b,y=c,z=d,{type:4}),bV(x,a),e=bW(x,y,a,z,bS(x,y,z)),bT(x,y,z,e)}else{if(!(d instanceof bK.Cy))return bS(b,c,d);let a,e,f;return a=bZ(A=b,B=c,C=d,{type:4}),bV(A,a),e=bW(A,B,a,C,bS(A,B,C)),f=bX(A,B,C.separator,C),bT(A,B,C,e,f)}})(a,b,c)),a=>void 0!==a);return 1===d.length?d[0]:0===d.length?void 0:function(a,b){let c=b.length;for(let f=0;f<c-1;f++){var d,e;let c,g=b[f];1===g.left.transitions.length&&(c=g.left.transitions[0]);let h=c instanceof bR,i=c,j=b[f+1].left;1===g.left.type&&1===g.right.type&&void 0!==c&&(h&&i.followState===g.right||c.target===g.right)?(h?i.followState=j:c.target=j,d=a,e=g.right,d.states.splice(d.states.indexOf(e),1)):bY(g.right,j)}let f=b[0],g=b[c-1];return{left:f.left,right:g.right}}(a,d)}function bT(a,b,c,d,e){let f=d.left,g=d.right,h=bZ(a,b,c,{type:11});bV(a,h);let i=bZ(a,b,c,{type:12});return f.loopback=h,i.loopback=h,a.decisionMap[bN(b,e?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",c.idx)]=h,bY(g,h),void 0===e?(bY(h,f),bY(h,i)):(bY(h,i),bY(h,e.left),bY(e.right,f)),{left:f,right:i}}function bU(a,b,c,d,e){let f=d.left,g=d.right,h=bZ(a,b,c,{type:10});bV(a,h);let i=bZ(a,b,c,{type:12}),j=bZ(a,b,c,{type:9});return h.loopback=j,i.loopback=j,bY(h,f),bY(h,i),bY(g,j),void 0!==e?(bY(j,i),bY(j,e.left),bY(e.right,f)):bY(j,h),a.decisionMap[bN(b,e?"RepetitionWithSeparator":"Repetition",c.idx)]=h,{left:h,right:i}}function bV(a,b){return a.decisionStates.push(b),b.decision=a.decisionStates.length-1,b.decision}function bW(a,b,c,d,...e){let f=bZ(a,b,d,{type:8,start:c});for(let a of(c.end=f,e))void 0!==a?(bY(c,a.left),bY(a.right,f)):bY(c,f);return a.decisionMap[bN(b,function(a){if(a instanceof bK.ak)return"Alternation";if(a instanceof bK.c$)return"Option";if(a instanceof bK.Y2)return"Repetition";if(a instanceof bK.Pp)return"RepetitionWithSeparator";if(a instanceof bK.$P)return"RepetitionMandatory";else if(a instanceof bK.Cy)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}(d),d.idx)]=c,{left:c,right:f}}function bX(a,b,c,d){let e=bZ(a,b,d,{type:1}),f=bZ(a,b,d,{type:1});return b$(e,new bP(f,c)),{left:e,right:f}}function bY(a,b){b$(a,new bQ(b))}function bZ(a,b,c,d){let e=Object.assign({atn:a,production:c,epsilonOnlyTransitions:!1,rule:b,transitions:[],nextTokenWithinRule:[],stateNumber:a.states.length},d);return a.states.push(e),e}function b$(a,b){0===a.transitions.length&&(a.epsilonOnlyTransitions=b.isEpsilon()),a.transitions.push(b)}let b_={};class b0{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(a){let b=b1(a);b in this.map||(this.map[b]=this.configs.length,this.configs.push(a))}get elements(){return this.configs}get alts(){return(0,bL.A)(this.configs,a=>a.alt)}get key(){let a="";for(let b in this.map)a+=b+":";return a}}function b1(a,b=!0){return`${b?`a${a.alt}`:""}s${a.state.stateNumber}:${a.stack.map(a=>a.stateNumber.toString()).join("_")}`}var b2=c(83946),b3=c(78959),b4=c(78803),b5=c(98255),b6=c(74312),b7=c(85992),b8=c(73159),b9=c(46171);class ca{constructor(){this.predicates=[]}is(a){return a>=this.predicates.length||this.predicates[a]}set(a,b){this.predicates[a]=b}toString(){let a="",b=this.predicates.length;for(let c=0;c<b;c++)a+=!0===this.predicates[c]?"1":"0";return a}}let cb=new ca;class cc extends bK.T6{constructor(a){var b;super(),this.logging=null!=(b=null==a?void 0:a.logging)?b:a=>console.log(a)}initialize(a){this.atn=function(a){let b={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};!function(a,b){let c=b.length;for(let d=0;d<c;d++){let c=b[d],e=bZ(a,c,void 0,{type:2}),f=bZ(a,c,void 0,{type:7});e.stop=f,a.ruleToStartState.set(c,e),a.ruleToStopState.set(c,f)}}(b,a);let c=a.length;for(let d=0;d<c;d++){let c=a[d],e=bS(b,c,c);void 0!==e&&function(a,b,c){bY(a.ruleToStartState.get(b),c.left);let d=a.ruleToStopState.get(b);bY(c.right,d)}(b,c,e)}return b}(a.rules),this.dfas=function(a){let b=a.decisionStates.length,c=Array(b);for(let d=0;d<b;d++)c[d]=function(a,b){let c={};return d=>{let e=d.toString(),f=c[e];return void 0!==f||(f={atnStartState:a,decision:b,states:{}},c[e]=f),f}}(a.decisionStates[d],d);return c}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(a){let{prodOccurrence:b,rule:c,hasPredicates:d,dynamicTokensEnabled:e}=a,f=this.dfas,g=this.logging,h=bN(c,"Alternation",b),i=this.atn.decisionMap[h].decision,j=(0,bL.A)((0,bK.jk)({maxLookahead:1,occurrence:b,prodType:"Alternation",rule:c}),a=>(0,bL.A)(a,a=>a[0]));if(cd(j,!1)&&!e){let a=(0,b9.A)(j,(a,b,c)=>((0,b7.A)(b,b=>{b&&(a[b.tokenTypeIdx]=c,(0,b7.A)(b.categoryMatches,b=>{a[b]=c}))}),a),{});return d?function(b){var c;let d=a[this.LA(1).tokenTypeIdx];if(void 0!==b&&void 0!==d){let a=null==(c=b[d])?void 0:c.GATE;if(void 0!==a&&!1===a.call(this))return}return d}:function(){return a[this.LA(1).tokenTypeIdx]}}return d?function(a){let b=new ca,c=void 0===a?0:a.length;for(let d=0;d<c;d++){let c=null==a?void 0:a[d].GATE;b.set(d,void 0===c||c.call(this))}let d=ce.call(this,f,i,b,g);return"number"==typeof d?d:void 0}:function(){let a=ce.call(this,f,i,cb,g);return"number"==typeof a?a:void 0}}buildLookaheadForOptional(a){let{prodOccurrence:b,rule:c,prodType:d,dynamicTokensEnabled:e}=a,f=this.dfas,g=this.logging,h=bN(c,d,b),i=this.atn.decisionMap[h].decision,j=(0,bL.A)((0,bK.jk)({maxLookahead:1,occurrence:b,prodType:d,rule:c}),a=>(0,bL.A)(a,a=>a[0]));if(cd(j)&&j[0][0]&&!e){let a=j[0],b=(0,b6.A)(a);if(1===b.length&&(0,b8.A)(b[0].categoryMatches)){let a=b[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}{let a=(0,b9.A)(b,(a,b)=>(void 0!==b&&(a[b.tokenTypeIdx]=!0,(0,b7.A)(b.categoryMatches,b=>{a[b]=!0})),a),{});return function(){return!0===a[this.LA(1).tokenTypeIdx]}}}return function(){let a=ce.call(this,f,i,cb,g);return"object"!=typeof a&&0===a}}}function cd(a,b=!0){let c=new Set;for(let d of a){let a=new Set;for(let e of d){if(void 0===e)if(!b)return!1;else break;for(let b of[e.tokenTypeIdx].concat(e.categoryMatches))if(c.has(b)){if(!a.has(b))return!1}else c.add(b),a.add(b)}}return!0}function ce(a,b,c,d){let e=a[b](c),f=e.start;if(void 0===f){let a=function(a){let b=new b0,c=a.transitions.length;for(let d=0;d<c;d++)cl({state:a.transitions[d].target,alt:d,stack:[]},b);return b}(e.atnStartState);f=ck(e,ci(a)),e.start=f}return cf.apply(this,[e,f,c,d])}function cf(a,b,c,d){let e=b,f=1,g=[],h=this.LA(f++);for(;;){var i,j;let b=(i=e,j=h,i.edges[j.tokenTypeIdx]);if(void 0===b&&(b=cg.apply(this,[a,e,h,f,c,d])),b===b_)return function(a,b,c){var d,e,f,g;return{actualToken:c,possibleTokenTypes:(f=(d=b.configs.elements,e=a=>a.state.transitions,(0,b3.A)((0,bL.A)(d,e),1)).filter(a=>a instanceof bP).map(a=>a.tokenType),g=a=>a.tokenTypeIdx,f&&f.length?(0,b5.A)(f,(0,b4.A)(g,2)):[]),tokenPath:a}}(g,e,h);if(!0===b.isAcceptState)return b.prediction;e=b,g.push(h),h=this.LA(f++)}}function cg(a,b,c,d,e,f){let g=function(a,b,c){let d,e=new b0,f=[];for(let d of a.elements){if(!1===c.is(d.alt))continue;if(7===d.state.type){f.push(d);continue}let a=d.state.transitions.length;for(let c=0;c<a;c++){let a=function(a,b){if(a instanceof bP&&(0,bK.G)(b,a.tokenType))return a.target}(d.state.transitions[c],b);void 0!==a&&e.add({state:a,alt:d.alt,stack:d.stack})}}if(0===f.length&&1===e.size&&(d=e),void 0===d)for(let a of(d=new b0,e.elements))cl(a,d);if(f.length>0&&!function(a){for(let b of a.elements)if(7===b.state.type)return!0;return!1}(d))for(let a of f)d.add(a);return d}(b.configs,c,e);if(0===g.size)return cj(a,b,c,b_),b_;let h=ci(g),i=function(a,b){let c;for(let d of a.elements)if(!0===b.is(d.alt)){if(void 0===c)c=d.alt;else if(c!==d.alt)return}return c}(g,e);if(void 0!==i)h.isAcceptState=!0,h.prediction=i,h.configs.uniqueAlt=i;else if(function(a){if(function(a){for(let b of a.elements)if(7!==b.state.type)return!1;return!0}(a))return!0;let b=function(a){let b=new Map;for(let c of a){let a=b1(c,!1),d=b.get(a);void 0===d&&(d={},b.set(a,d)),d[c.alt]=!0}return b}(a.elements);return function(a){for(let b of Array.from(a.values()))if(Object.keys(b).length>1)return!0;return!1}(b)&&!function(a){for(let b of Array.from(a.values()))if(1===Object.keys(b).length)return!0;return!1}(b)}(g)){let b=(0,b2.A)(g.alts);h.isAcceptState=!0,h.prediction=b,h.configs.uniqueAlt=b,ch.apply(this,[a,d,g.alts,f])}return cj(a,b,c,h)}function ch(a,b,c,d){var e;let f,g,h,i=[];for(let a=1;a<=b;a++)i.push(this.LA(a).tokenType);let j=a.atnStartState;d((e={topLevelRule:j.rule,ambiguityIndices:c,production:j.production,prefixPath:i},f=(0,bL.A)(e.prefixPath,a=>(0,bK.Sk)(a)).join(", "),g=0===e.production.idx?"":e.production.idx,(h=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(a){if(a instanceof bK.wL)return"SUBRULE";if(a instanceof bK.c$)return"OPTION";if(a instanceof bK.ak)return"OR";if(a instanceof bK.$P)return"AT_LEAST_ONE";if(a instanceof bK.Cy)return"AT_LEAST_ONE_SEP";else if(a instanceof bK.Pp)return"MANY_SEP";else if(a instanceof bK.Y2)return"MANY";else if(a instanceof bK.BK)return"CONSUME";else throw Error("non exhaustive match")}(e.production)}${g}> inside <${e.topLevelRule.name}> Rule,
|
|
2
|
+
<${f}> may appears as a prefix path in all these alternatives.
|
|
3
|
+
`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
4
|
+
`+"For Further details."))}function ci(a){return{configs:a,edges:{},isAcceptState:!1,prediction:-1}}function cj(a,b,c,d){return d=ck(a,d),b.edges[c.tokenTypeIdx]=d,d}function ck(a,b){if(b===b_)return b;let c=b.configs.key,d=a.states[c];return void 0!==d?d:(b.configs.finalize(),a.states[c]=b,b)}function cl(a,b){let c=a.state;if(7===c.type){if(a.stack.length>0){let c=[...a.stack];cl({state:c.pop(),alt:a.alt,stack:c},b)}else b.add(a);return}c.epsilonOnlyTransitions||b.add(a);let d=c.transitions.length;for(let e=0;e<d;e++){let d=function(a,b){if(b instanceof bQ)return{state:b.target,alt:a.alt,stack:a.stack};if(b instanceof bR){let c=[...a.stack,b.followState];return{state:b.target,alt:a.alt,stack:c}}}(a,c.transitions[e]);void 0!==d&&cl(d,b)}}var cm=c(43677);(ak||(ak={})).is=function(a){return"string"==typeof a},(al||(al={})).is=function(a){return"string"==typeof a},(e=am||(am={})).MIN_VALUE=-0x80000000,e.MAX_VALUE=0x7fffffff,e.is=function(a){return"number"==typeof a&&e.MIN_VALUE<=a&&a<=e.MAX_VALUE},(f=an||(an={})).MIN_VALUE=0,f.MAX_VALUE=0x7fffffff,f.is=function(a){return"number"==typeof a&&f.MIN_VALUE<=a&&a<=f.MAX_VALUE},(g=ao||(ao={})).create=function(a,b){return a===Number.MAX_VALUE&&(a=an.MAX_VALUE),b===Number.MAX_VALUE&&(b=an.MAX_VALUE),{line:a,character:b}},g.is=function(a){return bz.objectLiteral(a)&&bz.uinteger(a.line)&&bz.uinteger(a.character)},(h=ap||(ap={})).create=function(a,b,c,d){if(bz.uinteger(a)&&bz.uinteger(b)&&bz.uinteger(c)&&bz.uinteger(d))return{start:ao.create(a,b),end:ao.create(c,d)};if(ao.is(a)&&ao.is(b))return{start:a,end:b};throw Error(`Range#create called with invalid arguments[${a}, ${b}, ${c}, ${d}]`)},h.is=function(a){return bz.objectLiteral(a)&&ao.is(a.start)&&ao.is(a.end)},(i=aq||(aq={})).create=function(a,b){return{uri:a,range:b}},i.is=function(a){return bz.objectLiteral(a)&&ap.is(a.range)&&(bz.string(a.uri)||bz.undefined(a.uri))},(j=ar||(ar={})).create=function(a,b,c,d){return{targetUri:a,targetRange:b,targetSelectionRange:c,originSelectionRange:d}},j.is=function(a){return bz.objectLiteral(a)&&ap.is(a.targetRange)&&bz.string(a.targetUri)&&ap.is(a.targetSelectionRange)&&(ap.is(a.originSelectionRange)||bz.undefined(a.originSelectionRange))},(k=as||(as={})).create=function(a,b,c,d){return{red:a,green:b,blue:c,alpha:d}},k.is=function(a){return bz.objectLiteral(a)&&bz.numberRange(a.red,0,1)&&bz.numberRange(a.green,0,1)&&bz.numberRange(a.blue,0,1)&&bz.numberRange(a.alpha,0,1)},(l=at||(at={})).create=function(a,b){return{range:a,color:b}},l.is=function(a){return bz.objectLiteral(a)&&ap.is(a.range)&&as.is(a.color)},(m=au||(au={})).create=function(a,b,c){return{label:a,textEdit:b,additionalTextEdits:c}},m.is=function(a){return bz.objectLiteral(a)&&bz.string(a.label)&&(bz.undefined(a.textEdit)||aD.is(a))&&(bz.undefined(a.additionalTextEdits)||bz.typedArray(a.additionalTextEdits,aD.is))},(n=av||(av={})).Comment="comment",n.Imports="imports",n.Region="region",(o=aw||(aw={})).create=function(a,b,c,d,e,f){let g={startLine:a,endLine:b};return bz.defined(c)&&(g.startCharacter=c),bz.defined(d)&&(g.endCharacter=d),bz.defined(e)&&(g.kind=e),bz.defined(f)&&(g.collapsedText=f),g},o.is=function(a){return bz.objectLiteral(a)&&bz.uinteger(a.startLine)&&bz.uinteger(a.startLine)&&(bz.undefined(a.startCharacter)||bz.uinteger(a.startCharacter))&&(bz.undefined(a.endCharacter)||bz.uinteger(a.endCharacter))&&(bz.undefined(a.kind)||bz.string(a.kind))},(p=ax||(ax={})).create=function(a,b){return{location:a,message:b}},p.is=function(a){return bz.defined(a)&&aq.is(a.location)&&bz.string(a.message)},(q=ay||(ay={})).Error=1,q.Warning=2,q.Information=3,q.Hint=4,(r=az||(az={})).Unnecessary=1,r.Deprecated=2,(aA||(aA={})).is=function(a){return bz.objectLiteral(a)&&bz.string(a.href)},(s=aB||(aB={})).create=function(a,b,c,d,e,f){let g={range:a,message:b};return bz.defined(c)&&(g.severity=c),bz.defined(d)&&(g.code=d),bz.defined(e)&&(g.source=e),bz.defined(f)&&(g.relatedInformation=f),g},s.is=function(a){var b;return bz.defined(a)&&ap.is(a.range)&&bz.string(a.message)&&(bz.number(a.severity)||bz.undefined(a.severity))&&(bz.integer(a.code)||bz.string(a.code)||bz.undefined(a.code))&&(bz.undefined(a.codeDescription)||bz.string(null==(b=a.codeDescription)?void 0:b.href))&&(bz.string(a.source)||bz.undefined(a.source))&&(bz.undefined(a.relatedInformation)||bz.typedArray(a.relatedInformation,ax.is))},(t=aC||(aC={})).create=function(a,b,...c){let d={title:a,command:b};return bz.defined(c)&&c.length>0&&(d.arguments=c),d},t.is=function(a){return bz.defined(a)&&bz.string(a.title)&&bz.string(a.command)},(u=aD||(aD={})).replace=function(a,b){return{range:a,newText:b}},u.insert=function(a,b){return{range:{start:a,end:a},newText:b}},u.del=function(a){return{range:a,newText:""}},u.is=function(a){return bz.objectLiteral(a)&&bz.string(a.newText)&&ap.is(a.range)},(v=aE||(aE={})).create=function(a,b,c){let d={label:a};return void 0!==b&&(d.needsConfirmation=b),void 0!==c&&(d.description=c),d},v.is=function(a){return bz.objectLiteral(a)&&bz.string(a.label)&&(bz.boolean(a.needsConfirmation)||void 0===a.needsConfirmation)&&(bz.string(a.description)||void 0===a.description)},(aF||(aF={})).is=function(a){return bz.string(a)},(w=aG||(aG={})).replace=function(a,b,c){return{range:a,newText:b,annotationId:c}},w.insert=function(a,b,c){return{range:{start:a,end:a},newText:b,annotationId:c}},w.del=function(a,b){return{range:a,newText:"",annotationId:b}},w.is=function(a){return aD.is(a)&&(aE.is(a.annotationId)||aF.is(a.annotationId))},(x=aH||(aH={})).create=function(a,b){return{textDocument:a,edits:b}},x.is=function(a){return bz.defined(a)&&aO.is(a.textDocument)&&Array.isArray(a.edits)},(y=aI||(aI={})).create=function(a,b,c){let d={kind:"create",uri:a};return void 0!==b&&(void 0!==b.overwrite||void 0!==b.ignoreIfExists)&&(d.options=b),void 0!==c&&(d.annotationId=c),d},y.is=function(a){return a&&"create"===a.kind&&bz.string(a.uri)&&(void 0===a.options||(void 0===a.options.overwrite||bz.boolean(a.options.overwrite))&&(void 0===a.options.ignoreIfExists||bz.boolean(a.options.ignoreIfExists)))&&(void 0===a.annotationId||aF.is(a.annotationId))},(z=aJ||(aJ={})).create=function(a,b,c,d){let e={kind:"rename",oldUri:a,newUri:b};return void 0!==c&&(void 0!==c.overwrite||void 0!==c.ignoreIfExists)&&(e.options=c),void 0!==d&&(e.annotationId=d),e},z.is=function(a){return a&&"rename"===a.kind&&bz.string(a.oldUri)&&bz.string(a.newUri)&&(void 0===a.options||(void 0===a.options.overwrite||bz.boolean(a.options.overwrite))&&(void 0===a.options.ignoreIfExists||bz.boolean(a.options.ignoreIfExists)))&&(void 0===a.annotationId||aF.is(a.annotationId))},(A=aK||(aK={})).create=function(a,b,c){let d={kind:"delete",uri:a};return void 0!==b&&(void 0!==b.recursive||void 0!==b.ignoreIfNotExists)&&(d.options=b),void 0!==c&&(d.annotationId=c),d},A.is=function(a){return a&&"delete"===a.kind&&bz.string(a.uri)&&(void 0===a.options||(void 0===a.options.recursive||bz.boolean(a.options.recursive))&&(void 0===a.options.ignoreIfNotExists||bz.boolean(a.options.ignoreIfNotExists)))&&(void 0===a.annotationId||aF.is(a.annotationId))},(aL||(aL={})).is=function(a){return a&&(void 0!==a.changes||void 0!==a.documentChanges)&&(void 0===a.documentChanges||a.documentChanges.every(a=>bz.string(a.kind)?aI.is(a)||aJ.is(a)||aK.is(a):aH.is(a)))},(B=aM||(aM={})).create=function(a){return{uri:a}},B.is=function(a){return bz.defined(a)&&bz.string(a.uri)},(C=aN||(aN={})).create=function(a,b){return{uri:a,version:b}},C.is=function(a){return bz.defined(a)&&bz.string(a.uri)&&bz.integer(a.version)},(D=aO||(aO={})).create=function(a,b){return{uri:a,version:b}},D.is=function(a){return bz.defined(a)&&bz.string(a.uri)&&(null===a.version||bz.integer(a.version))},(E=aP||(aP={})).create=function(a,b,c,d){return{uri:a,languageId:b,version:c,text:d}},E.is=function(a){return bz.defined(a)&&bz.string(a.uri)&&bz.string(a.languageId)&&bz.integer(a.version)&&bz.string(a.text)},(F=aQ||(aQ={})).PlainText="plaintext",F.Markdown="markdown",F.is=function(a){return a===F.PlainText||a===F.Markdown},(aR||(aR={})).is=function(a){return bz.objectLiteral(a)&&aQ.is(a.kind)&&bz.string(a.value)},(G=aS||(aS={})).Text=1,G.Method=2,G.Function=3,G.Constructor=4,G.Field=5,G.Variable=6,G.Class=7,G.Interface=8,G.Module=9,G.Property=10,G.Unit=11,G.Value=12,G.Enum=13,G.Keyword=14,G.Snippet=15,G.Color=16,G.File=17,G.Reference=18,G.Folder=19,G.EnumMember=20,G.Constant=21,G.Struct=22,G.Event=23,G.Operator=24,G.TypeParameter=25,(H=aT||(aT={})).PlainText=1,H.Snippet=2,(aU||(aU={})).Deprecated=1,(I=aV||(aV={})).create=function(a,b,c){return{newText:a,insert:b,replace:c}},I.is=function(a){return a&&bz.string(a.newText)&&ap.is(a.insert)&&ap.is(a.replace)},(J=aW||(aW={})).asIs=1,J.adjustIndentation=2,(aX||(aX={})).is=function(a){return a&&(bz.string(a.detail)||void 0===a.detail)&&(bz.string(a.description)||void 0===a.description)},(aY||(aY={})).create=function(a){return{label:a}},(aZ||(aZ={})).create=function(a,b){return{items:a||[],isIncomplete:!!b}},(K=a$||(a$={})).fromPlainText=function(a){return a.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},K.is=function(a){return bz.string(a)||bz.objectLiteral(a)&&bz.string(a.language)&&bz.string(a.value)},(a_||(a_={})).is=function(a){return!!a&&bz.objectLiteral(a)&&(aR.is(a.contents)||a$.is(a.contents)||bz.typedArray(a.contents,a$.is))&&(void 0===a.range||ap.is(a.range))},(a0||(a0={})).create=function(a,b){return b?{label:a,documentation:b}:{label:a}},(a1||(a1={})).create=function(a,b,...c){let d={label:a};return bz.defined(b)&&(d.documentation=b),bz.defined(c)?d.parameters=c:d.parameters=[],d},(L=a2||(a2={})).Text=1,L.Read=2,L.Write=3,(a3||(a3={})).create=function(a,b){let c={range:a};return bz.number(b)&&(c.kind=b),c},(M=a4||(a4={})).File=1,M.Module=2,M.Namespace=3,M.Package=4,M.Class=5,M.Method=6,M.Property=7,M.Field=8,M.Constructor=9,M.Enum=10,M.Interface=11,M.Function=12,M.Variable=13,M.Constant=14,M.String=15,M.Number=16,M.Boolean=17,M.Array=18,M.Object=19,M.Key=20,M.Null=21,M.EnumMember=22,M.Struct=23,M.Event=24,M.Operator=25,M.TypeParameter=26,(a5||(a5={})).Deprecated=1,(a6||(a6={})).create=function(a,b,c,d,e){let f={name:a,kind:b,location:{uri:d,range:c}};return e&&(f.containerName=e),f},(a7||(a7={})).create=function(a,b,c,d){return void 0!==d?{name:a,kind:b,location:{uri:c,range:d}}:{name:a,kind:b,location:{uri:c}}},(N=a8||(a8={})).create=function(a,b,c,d,e,f){let g={name:a,detail:b,kind:c,range:d,selectionRange:e};return void 0!==f&&(g.children=f),g},N.is=function(a){return a&&bz.string(a.name)&&bz.number(a.kind)&&ap.is(a.range)&&ap.is(a.selectionRange)&&(void 0===a.detail||bz.string(a.detail))&&(void 0===a.deprecated||bz.boolean(a.deprecated))&&(void 0===a.children||Array.isArray(a.children))&&(void 0===a.tags||Array.isArray(a.tags))},(O=a9||(a9={})).Empty="",O.QuickFix="quickfix",O.Refactor="refactor",O.RefactorExtract="refactor.extract",O.RefactorInline="refactor.inline",O.RefactorRewrite="refactor.rewrite",O.Source="source",O.SourceOrganizeImports="source.organizeImports",O.SourceFixAll="source.fixAll",(P=ba||(ba={})).Invoked=1,P.Automatic=2,(Q=bb||(bb={})).create=function(a,b,c){let d={diagnostics:a};return null!=b&&(d.only=b),null!=c&&(d.triggerKind=c),d},Q.is=function(a){return bz.defined(a)&&bz.typedArray(a.diagnostics,aB.is)&&(void 0===a.only||bz.typedArray(a.only,bz.string))&&(void 0===a.triggerKind||a.triggerKind===ba.Invoked||a.triggerKind===ba.Automatic)},(R=bc||(bc={})).create=function(a,b,c){let d={title:a},e=!0;return"string"==typeof b?(e=!1,d.kind=b):aC.is(b)?d.command=b:d.edit=b,e&&void 0!==c&&(d.kind=c),d},R.is=function(a){return a&&bz.string(a.title)&&(void 0===a.diagnostics||bz.typedArray(a.diagnostics,aB.is))&&(void 0===a.kind||bz.string(a.kind))&&(void 0!==a.edit||void 0!==a.command)&&(void 0===a.command||aC.is(a.command))&&(void 0===a.isPreferred||bz.boolean(a.isPreferred))&&(void 0===a.edit||aL.is(a.edit))},(S=bd||(bd={})).create=function(a,b){let c={range:a};return bz.defined(b)&&(c.data=b),c},S.is=function(a){return bz.defined(a)&&ap.is(a.range)&&(bz.undefined(a.command)||aC.is(a.command))},(T=be||(be={})).create=function(a,b){return{tabSize:a,insertSpaces:b}},T.is=function(a){return bz.defined(a)&&bz.uinteger(a.tabSize)&&bz.boolean(a.insertSpaces)},(U=bf||(bf={})).create=function(a,b,c){return{range:a,target:b,data:c}},U.is=function(a){return bz.defined(a)&&ap.is(a.range)&&(bz.undefined(a.target)||bz.string(a.target))},(V=bg||(bg={})).create=function(a,b){return{range:a,parent:b}},V.is=function(a){return bz.objectLiteral(a)&&ap.is(a.range)&&(void 0===a.parent||V.is(a.parent))},(W=bh||(bh={})).namespace="namespace",W.type="type",W.class="class",W.enum="enum",W.interface="interface",W.struct="struct",W.typeParameter="typeParameter",W.parameter="parameter",W.variable="variable",W.property="property",W.enumMember="enumMember",W.event="event",W.function="function",W.method="method",W.macro="macro",W.keyword="keyword",W.modifier="modifier",W.comment="comment",W.string="string",W.number="number",W.regexp="regexp",W.operator="operator",W.decorator="decorator",(X=bi||(bi={})).declaration="declaration",X.definition="definition",X.readonly="readonly",X.static="static",X.deprecated="deprecated",X.abstract="abstract",X.async="async",X.modification="modification",X.documentation="documentation",X.defaultLibrary="defaultLibrary",(bj||(bj={})).is=function(a){return bz.objectLiteral(a)&&(void 0===a.resultId||"string"==typeof a.resultId)&&Array.isArray(a.data)&&(0===a.data.length||"number"==typeof a.data[0])},(Y=bk||(bk={})).create=function(a,b){return{range:a,text:b}},Y.is=function(a){return null!=a&&ap.is(a.range)&&bz.string(a.text)},(Z=bl||(bl={})).create=function(a,b,c){return{range:a,variableName:b,caseSensitiveLookup:c}},Z.is=function(a){return null!=a&&ap.is(a.range)&&bz.boolean(a.caseSensitiveLookup)&&(bz.string(a.variableName)||void 0===a.variableName)},($=bm||(bm={})).create=function(a,b){return{range:a,expression:b}},$.is=function(a){return null!=a&&ap.is(a.range)&&(bz.string(a.expression)||void 0===a.expression)},(_=bn||(bn={})).create=function(a,b){return{frameId:a,stoppedLocation:b}},_.is=function(a){return bz.defined(a)&&ap.is(a.stoppedLocation)},(aa=bo||(bo={})).Type=1,aa.Parameter=2,aa.is=function(a){return 1===a||2===a},(ab=bp||(bp={})).create=function(a){return{value:a}},ab.is=function(a){return bz.objectLiteral(a)&&(void 0===a.tooltip||bz.string(a.tooltip)||aR.is(a.tooltip))&&(void 0===a.location||aq.is(a.location))&&(void 0===a.command||aC.is(a.command))},(ac=bq||(bq={})).create=function(a,b,c){let d={position:a,label:b};return void 0!==c&&(d.kind=c),d},ac.is=function(a){return bz.objectLiteral(a)&&ao.is(a.position)&&(bz.string(a.label)||bz.typedArray(a.label,bp.is))&&(void 0===a.kind||bo.is(a.kind))&&void 0===a.textEdits||bz.typedArray(a.textEdits,aD.is)&&(void 0===a.tooltip||bz.string(a.tooltip)||aR.is(a.tooltip))&&(void 0===a.paddingLeft||bz.boolean(a.paddingLeft))&&(void 0===a.paddingRight||bz.boolean(a.paddingRight))},(br||(br={})).createSnippet=function(a){return{kind:"snippet",value:a}},(bs||(bs={})).create=function(a,b,c,d){return{insertText:a,filterText:b,range:c,command:d}},(bt||(bt={})).create=function(a){return{items:a}},(ad=bu||(bu={})).Invoked=0,ad.Automatic=1,(bv||(bv={})).create=function(a,b){return{range:a,text:b}},(bw||(bw={})).create=function(a,b){return{triggerKind:a,selectedCompletionInfo:b}},(bx||(bx={})).is=function(a){return bz.objectLiteral(a)&&al.is(a.uri)&&bz.string(a.name)},(ae=by||(by={})).create=function(a,b,c,d){return new cn(a,b,c,d)},ae.is=function(a){return!!(bz.defined(a)&&bz.string(a.uri)&&(bz.undefined(a.languageId)||bz.string(a.languageId))&&bz.uinteger(a.lineCount)&&bz.func(a.getText)&&bz.func(a.positionAt)&&bz.func(a.offsetAt))},ae.applyEdits=function(a,b){let c=a.getText(),d=function a(b,c){if(b.length<=1)return b;let d=b.length/2|0,e=b.slice(0,d),f=b.slice(d);a(e,c),a(f,c);let g=0,h=0,i=0;for(;g<e.length&&h<f.length;)0>=c(e[g],f[h])?b[i++]=e[g++]:b[i++]=f[h++];for(;g<e.length;)b[i++]=e[g++];for(;h<f.length;)b[i++]=f[h++];return b}(b,(a,b)=>{let c=a.range.start.line-b.range.start.line;return 0===c?a.range.start.character-b.range.start.character:c}),e=c.length;for(let b=d.length-1;b>=0;b--){let f=d[b],g=a.offsetAt(f.range.start),h=a.offsetAt(f.range.end);if(h<=e)c=c.substring(0,g)+f.newText+c.substring(h,c.length);else throw Error("Overlapping edit");e=g}return c};class cn{constructor(a,b,c,d){this._uri=a,this._languageId=b,this._version=c,this._content=d,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(a){if(a){let b=this.offsetAt(a.start),c=this.offsetAt(a.end);return this._content.substring(b,c)}return this._content}update(a,b){this._content=a.text,this._version=b,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let a=[],b=this._content,c=!0;for(let d=0;d<b.length;d++){c&&(a.push(d),c=!1);let e=b.charAt(d);c="\r"===e||"\n"===e,"\r"===e&&d+1<b.length&&"\n"===b.charAt(d+1)&&d++}c&&b.length>0&&a.push(b.length),this._lineOffsets=a}return this._lineOffsets}positionAt(a){a=Math.max(Math.min(a,this._content.length),0);let b=this.getLineOffsets(),c=0,d=b.length;if(0===d)return ao.create(0,a);for(;c<d;){let e=Math.floor((c+d)/2);b[e]>a?d=e:c=e+1}let e=c-1;return ao.create(e,a-b[e])}offsetAt(a){let b=this.getLineOffsets();if(a.line>=b.length)return this._content.length;if(a.line<0)return 0;let c=b[a.line],d=a.line+1<b.length?b[a.line+1]:this._content.length;return Math.max(Math.min(c+a.character,d),c)}get lineCount(){return this.getLineOffsets().length}}af=bz||(bz={}),d=Object.prototype.toString,af.defined=function(a){return void 0!==a},af.undefined=function(a){return void 0===a},af.boolean=function(a){return!0===a||!1===a},af.string=function(a){return"[object String]"===d.call(a)},af.number=function(a){return"[object Number]"===d.call(a)},af.numberRange=function(a,b,c){return"[object Number]"===d.call(a)&&b<=a&&a<=c},af.integer=function(a){return"[object Number]"===d.call(a)&&-0x80000000<=a&&a<=0x7fffffff},af.uinteger=function(a){return"[object Number]"===d.call(a)&&0<=a&&a<=0x7fffffff},af.func=function(a){return"[object Function]"===d.call(a)},af.objectLiteral=function(a){return null!==a&&"object"==typeof a},af.typedArray=function(a,b){return Array.isArray(a)&&a.every(b)};class co{constructor(){this.nodeStack=[]}get current(){var a;return null!=(a=this.nodeStack[this.nodeStack.length-1])?a:this.rootNode}buildRootNode(a){return this.rootNode=new ct(a),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(a){let b=new cr;return b.grammarSource=a,b.root=this.rootNode,this.current.content.push(b),this.nodeStack.push(b),b}buildLeafNode(a,b){let c=new cq(a.startOffset,a.image.length,(0,bG.wf)(a),a.tokenType,!b);return c.grammarSource=b,c.root=this.rootNode,this.current.content.push(c),c}removeNode(a){let b=a.container;if(b){let c=b.content.indexOf(a);c>=0&&b.content.splice(c,1)}}addHiddenNodes(a){let b=[];for(let c of a){let a=new cq(c.startOffset,c.image.length,(0,bG.wf)(c),c.tokenType,!0);a.root=this.rootNode,b.push(a)}let c=this.current,d=!1;if(c.content.length>0)return void c.content.push(...b);for(;c.container;){let a=c.container.content.indexOf(c);if(a>0){c.container.content.splice(a,0,...b),d=!0;break}c=c.container}d||this.rootNode.content.unshift(...b)}construct(a){let b=this.current;"string"==typeof a.$type&&(this.current.astNode=a),a.$cstNode=b;let c=this.nodeStack.pop();(null==c?void 0:c.content.length)===0&&this.removeNode(c)}}class cp{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var a,b;let c="string"==typeof(null==(a=this._astNode)?void 0:a.$type)?this._astNode:null==(b=this.container)?void 0:b.astNode;if(!c)throw Error("This node has no associated AST element");return c}set astNode(a){this._astNode=a}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class cq extends cp{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(a,b,c,d,e=!1){super(),this._hidden=e,this._offset=a,this._tokenType=d,this._length=b,this._range=c}}class cr extends cp{constructor(){super(...arguments),this.content=new cs(this)}get children(){return this.content}get offset(){var a,b;return null!=(b=null==(a=this.firstNonHiddenNode)?void 0:a.offset)?b:0}get length(){return this.end-this.offset}get end(){var a,b;return null!=(b=null==(a=this.lastNonHiddenNode)?void 0:a.end)?b:0}get range(){let a=this.firstNonHiddenNode,b=this.lastNonHiddenNode;if(!a||!b)return{start:ao.create(0,0),end:ao.create(0,0)};if(void 0===this._rangeCache){let{range:c}=a,{range:d}=b;this._rangeCache={start:c.start,end:d.end.line<c.start.line?c.start:d.end}}return this._rangeCache}get firstNonHiddenNode(){for(let a of this.content)if(!a.hidden)return a;return this.content[0]}get lastNonHiddenNode(){for(let a=this.content.length-1;a>=0;a--){let b=this.content[a];if(!b.hidden)return b}return this.content[this.content.length-1]}}class cs extends Array{constructor(a){super(),this.parent=a,Object.setPrototypeOf(this,cs.prototype)}push(...a){return this.addParents(a),super.push(...a)}unshift(...a){return this.addParents(a),super.unshift(...a)}splice(a,b,...c){return this.addParents(c),super.splice(a,b,...c)}addParents(a){for(let b of a)b.container=this.parent}}class ct extends cr{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(a){super(),this._text="",this._text=null!=a?a:""}}let cu=Symbol("Datatype");function cv(a){return a.$type===cu}let cw=a=>a.endsWith("")?a:a+"";class cx{constructor(a){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=a.parser.Lexer;const b=this.lexer.definition,c="production"===a.LanguageMetaData.mode;this.wrapper=new cD(b,Object.assign(Object.assign({},a.parser.ParserConfig),{skipValidations:c,errorMessageProvider:a.parser.ParserErrorMessageProvider}))}alternatives(a,b){this.wrapper.wrapOr(a,b)}optional(a,b){this.wrapper.wrapOption(a,b)}many(a,b){this.wrapper.wrapMany(a,b)}atLeastOne(a,b){this.wrapper.wrapAtLeastOne(a,b)}getRule(a){return this.allRules.get(a)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class cy extends cx{get current(){return this.stack[this.stack.length-1]}constructor(a){super(a),this.nodeBuilder=new co,this.stack=[],this.assignmentMap=new Map,this.linker=a.references.Linker,this.converter=a.parser.ValueConverter,this.astReflection=a.shared.AstReflection}rule(a,b){let c=this.computeRuleType(a),d=this.wrapper.DEFINE_RULE(cw(a.name),this.startImplementation(c,b).bind(this));return this.allRules.set(a.name,d),a.entry&&(this.mainRule=d),d}computeRuleType(a){if(!a.fragment){if((0,bH.Xq)(a))return cu;let b=(0,bH.PV)(a);return null!=b?b:a.name}}parse(a,b={}){this.nodeBuilder.buildRootNode(a);let c=this.lexerResult=this.lexer.tokenize(a);this.wrapper.input=c.tokens;let d=b.rule?this.allRules.get(b.rule):this.mainRule;if(!d)throw Error(b.rule?`No rule found with name '${b.rule}'`:"No main rule available.");let e=d.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(c.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:e,lexerErrors:c.errors,lexerReport:c.report,parserErrors:this.wrapper.errors}}startImplementation(a,b){return c=>{let d,e=!this.isRecording()&&void 0!==a;if(e){let b={$type:a};this.stack.push(b),a===cu&&(b.value="")}try{d=b(c)}catch(a){d=void 0}return void 0===d&&e&&(d=this.construct()),d}}extractHiddenTokens(a){let b=this.lexerResult.hidden;if(!b.length)return[];let c=a.startOffset;for(let a=0;a<b.length;a++)if(b[a].startOffset>c)return b.splice(0,a);return b.splice(0,b.length)}consume(a,b,c){let d=this.wrapper.wrapConsume(a,b);if(!this.isRecording()&&this.isValidToken(d)){let a=this.extractHiddenTokens(d);this.nodeBuilder.addHiddenNodes(a);let b=this.nodeBuilder.buildLeafNode(d,c),{assignment:e,isCrossRef:f}=this.getAssignment(c),g=this.current;if(e){let a=(0,bJ.wb)(c)?d.image:this.converter.convert(d.image,b);this.assign(e.operator,e.feature,a,b,f)}else if(cv(g)){let a=d.image;(0,bJ.wb)(c)||(a=this.converter.convert(a,b).toString()),g.value+=a}}}isValidToken(a){return!a.isInsertedInRecovery&&!isNaN(a.startOffset)&&"number"==typeof a.endOffset&&!isNaN(a.endOffset)}subrule(a,b,c,d,e){let f;this.isRecording()||c||(f=this.nodeBuilder.buildCompositeNode(d));let g=this.wrapper.wrapSubrule(a,b,e);!this.isRecording()&&f&&f.length>0&&this.performSubruleAssignment(g,d,f)}performSubruleAssignment(a,b,c){let{assignment:d,isCrossRef:e}=this.getAssignment(b);if(d)this.assign(d.operator,d.feature,a,c,e);else if(!d){let b=this.current;if(cv(b))b.value+=a.toString();else if("object"==typeof a&&a){let c=this.assignWithoutOverride(a,b);this.stack.pop(),this.stack.push(c)}}}action(a,b){if(!this.isRecording()){let c=this.current;b.feature&&b.operator?(c=this.construct(),this.nodeBuilder.removeNode(c.$cstNode),this.nodeBuilder.buildCompositeNode(b).content.push(c.$cstNode),this.stack.push({$type:a}),this.assign(b.operator,b.feature,c,c.$cstNode,!1)):c.$type=a}}construct(){if(this.isRecording())return;let a=this.current;return((0,cm.SD)(a),this.nodeBuilder.construct(a),this.stack.pop(),cv(a))?this.converter.convert(a.value,a.$cstNode):((0,cm.OP)(this.astReflection,a),a)}getAssignment(a){if(!this.assignmentMap.has(a)){let b=(0,cm.XG)(a,bJ.wh);this.assignmentMap.set(a,{assignment:b,isCrossRef:!!b&&(0,bJ._c)(b.terminal)})}return this.assignmentMap.get(a)}assign(a,b,c,d,e){let f,g=this.current;switch(f=e&&"string"==typeof c?this.linker.buildReference(g,b,d,c):c,a){case"=":g[b]=f;break;case"?=":g[b]=!0;break;case"+=":Array.isArray(g[b])||(g[b]=[]),g[b].push(f)}}assignWithoutOverride(a,b){for(let[c,d]of Object.entries(b)){let b=a[c];void 0===b?a[c]=d:Array.isArray(b)&&Array.isArray(d)&&(d.push(...b),a[c]=d)}let c=a.$cstNode;return c&&(c.astNode=void 0,a.$cstNode=void 0),a}get definitionErrors(){return this.wrapper.definitionErrors}}class cz{buildMismatchTokenMessage(a){return bK.my.buildMismatchTokenMessage(a)}buildNotAllInputParsedMessage(a){return bK.my.buildNotAllInputParsedMessage(a)}buildNoViableAltMessage(a){return bK.my.buildNoViableAltMessage(a)}buildEarlyExitMessage(a){return bK.my.buildEarlyExitMessage(a)}}class cA extends cz{buildMismatchTokenMessage({expected:a,actual:b}){let c=a.LABEL?"`"+a.LABEL+"`":a.name.endsWith(":KW")?`keyword '${a.name.substring(0,a.name.length-3)}'`:`token of type '${a.name}'`;return`Expecting ${c} but found \`${b.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:a}){return`Expecting end of file but found \`${a.image}\`.`}}class cB extends cx{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(a){this.resetState();let b=this.lexer.tokenize(a,{mode:"partial"});return this.tokens=b.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(a,b){let c=this.wrapper.DEFINE_RULE(cw(a.name),this.startImplementation(b).bind(this));return this.allRules.set(a.name,c),a.entry&&(this.mainRule=c),c}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(a){return b=>{let c=this.keepStackSize();try{a(b)}finally{this.resetStackSize(c)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let a=this.elementStack.length;return this.stackSize=a,a}resetStackSize(a){this.removeUnexpectedElements(),this.stackSize=a}consume(a,b,c){this.wrapper.wrapConsume(a,b),this.isRecording()||(this.lastElementStack=[...this.elementStack,c],this.nextTokenIndex=this.currIdx+1)}subrule(a,b,c,d,e){this.before(d),this.wrapper.wrapSubrule(a,b,e),this.after(d)}before(a){this.isRecording()||this.elementStack.push(a)}after(a){if(!this.isRecording()){let b=this.elementStack.lastIndexOf(a);b>=0&&this.elementStack.splice(b)}}get currIdx(){return this.wrapper.currIdx}}let cC={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new cA};class cD extends bK.jr{constructor(a,b){super(a,Object.assign(Object.assign(Object.assign({},cC),{lookaheadStrategy:b&&"maxLookahead"in b?new bK.T6({maxLookahead:b.maxLookahead}):new cc({logging:b.skipValidations?()=>{}:void 0})}),b))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(a,b){return this.RULE(a,b)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(a,b){return this.consume(a,b)}wrapSubrule(a,b,c){return this.subrule(a,b,{ARGS:[c]})}wrapOr(a,b){this.or(a,b)}wrapOption(a,b){this.option(a,b)}wrapMany(a,b){this.many(a,b)}wrapAtLeastOne(a,b){this.atLeastOne(a,b)}}var cE=c(7970),cF=c(5661);function cG(a,b,c){return function(a,b){let c=(0,bH.YV)(b,!1);for(let d of(0,cF.Td)(b.rules).filter(bJ.s7).filter(a=>c.has(a))){let b=Object.assign(Object.assign({},a),{consume:1,optional:1,subrule:1,many:1,or:1});a.parser.rule(d,function a(b,c,d=!1){var e,f,g;let h;if((0,bJ.wb)(c))h=function(a,b){let c=a.consume++,d=a.tokens[b.value];if(!d)throw Error("Could not find token for keyword: "+b.value);return()=>a.parser.consume(c,d,b)}(b,c);else if((0,bJ.ve)(c)){let a;e=b,f=c,a=(0,bH.Uz)(f),h=()=>e.parser.action(a,f)}else if((0,bJ.wh)(c))h=a(b,c.terminal);else if((0,bJ._c)(c))h=function a(b,c,d=c.terminal){if(d)if((0,bJ.$g)(d)&&(0,bJ.s7)(d.rule.ref)){let a=d.rule.ref,e=b.subrule++;return d=>b.parser.subrule(e,cK(b,a),!1,c,d)}else if((0,bJ.$g)(d)&&(0,bJ.rE)(d.rule.ref)){let a=b.consume++,e=cL(b,d.rule.ref.name);return()=>b.parser.consume(a,e,c)}else if((0,bJ.wb)(d)){let a=b.consume++,e=cL(b,d.value);return()=>b.parser.consume(a,e,c)}else throw Error("Could not build cross reference parser");{if(!c.type.ref)throw Error("Could not resolve reference to type: "+c.type.$refText);let d=(0,bH.U5)(c.type.ref),e=null==d?void 0:d.terminal;if(!e)throw Error("Could not find name assignment for type: "+(0,bH.Uz)(c.type.ref));return a(b,c,e)}}(b,c);else if((0,bJ.$g)(c))h=function(a,b){let c=b.rule.ref;if((0,bJ.s7)(c)){var d;let e,f=a.subrule++,g=c.fragment,h=b.arguments.length>0?(d=c,e=b.arguments.map(a=>cH(a.value)),a=>{let b={};for(let c=0;c<e.length;c++){let f=d.parameters[c],g=e[c];b[f.name]=g(a)}return b}):()=>({});return d=>a.parser.subrule(f,cK(a,c),g,b,h(d))}if((0,bJ.rE)(c)){let d=a.consume++,e=cL(a,c.name);return()=>a.parser.consume(d,e,b)}if(c)(0,cE.d)(c);else throw new cE.W(b.$cstNode,`Undefined rule: ${b.rule.$refText}`)}(b,c);else if((0,bJ.jp)(c))h=function(b,c){if(1===c.elements.length)return a(b,c.elements[0]);{let d=[];for(let e of c.elements){let c={ALT:a(b,e,!0)},f=cI(e);f&&(c.GATE=cH(f)),d.push(c)}let e=b.or++;return a=>b.parser.alternatives(e,d.map(b=>{let c={ALT:()=>b.ALT(a)},d=b.GATE;return d&&(c.GATE=()=>d(a)),c}))}}(b,c);else if((0,bJ.cY)(c))h=function(b,c){if(1===c.elements.length)return a(b,c.elements[0]);let d=[];for(let e of c.elements){let c={ALT:a(b,e,!0)},f=cI(e);f&&(c.GATE=cH(f)),d.push(c)}let e=b.or++,f=(a,b)=>{let c=b.getRuleStack().join("-");return`uGroup_${a}_${c}`},g=cJ(b,cI(c),a=>b.parser.alternatives(e,d.map((c,d)=>{let g={ALT:()=>!0},h=b.parser;g.ALT=()=>{if(c.ALT(a),!h.isRecording()){let a=f(e,h);h.unorderedGroups.get(a)||h.unorderedGroups.set(a,[]);let b=h.unorderedGroups.get(a);void 0===(null==b?void 0:b[d])&&(b[d]=!0)}};let i=c.GATE;return i?g.GATE=()=>i(a):g.GATE=()=>{let a=h.unorderedGroups.get(f(e,h));return!(null==a?void 0:a[d])},g})),"*");return a=>{g(a),b.parser.isRecording()||b.parser.unorderedGroups.delete(f(e,b.parser))}}(b,c);else if((0,bJ.IZ)(c)){let d;g=b,d=c.elements.map(b=>a(g,b)),h=a=>d.forEach(b=>b(a))}else if((0,bJ.FO)(c)){let a=b.consume++;h=()=>b.parser.consume(a,bK.LT,c)}else throw new cE.W(c.$cstNode,`Unexpected element type: ${c.$type}`);return cJ(b,d?void 0:cI(c),h,c.cardinality)}(b,d.definition))}}({parser:b,tokens:c,ruleNames:new Map},a),b}function cH(a){if((0,bJ.RP)(a)){let b=cH(a.left),c=cH(a.right);return a=>b(a)||c(a)}if((0,bJ.Tu)(a)){let b=cH(a.left),c=cH(a.right);return a=>b(a)&&c(a)}if((0,bJ.Ct)(a)){let b=cH(a.value);return a=>!b(a)}if((0,bJ.TF)(a)){let b=a.parameter.ref.name;return a=>void 0!==a&&!0===a[b]}if((0,bJ.Cz)(a)){let b=!!a.true;return()=>b}(0,cE.d)(a)}function cI(a){if((0,bJ.IZ)(a))return a.guardCondition}function cJ(a,b,c,d){let e=b&&cH(b);if(!d)if(!e)return c;else{let b=a.or++;return d=>a.parser.alternatives(b,[{ALT:()=>c(d),GATE:()=>e(d)},{ALT:(0,bK.mT)(),GATE:()=>!e(d)}])}if("*"===d){let b=a.many++;return d=>a.parser.many(b,{DEF:()=>c(d),GATE:e?()=>e(d):void 0})}if("+"===d){let b=a.many++;if(!e)return d=>a.parser.atLeastOne(b,{DEF:()=>c(d)});{let d=a.or++;return f=>a.parser.alternatives(d,[{ALT:()=>a.parser.atLeastOne(b,{DEF:()=>c(f)}),GATE:()=>e(f)},{ALT:(0,bK.mT)(),GATE:()=>!e(f)}])}}if("?"===d){let b=a.optional++;return d=>a.parser.optional(b,{DEF:()=>c(d),GATE:e?()=>e(d):void 0})}(0,cE.d)(d)}function cK(a,b){let c=function(a,b){if((0,bJ.s7)(b))return b.name;{if(a.ruleNames.has(b))return a.ruleNames.get(b);let c=b,d=c.$container,e=b.$type;for(;!(0,bJ.s7)(d);)((0,bJ.IZ)(d)||(0,bJ.jp)(d)||(0,bJ.cY)(d))&&(e=d.elements.indexOf(c).toString()+":"+e),c=d,d=d.$container;return e=d.name+":"+e,a.ruleNames.set(b,e),e}}(a,b),d=a.parser.getRule(c);if(!d)throw Error(`Rule "${c}" not found."`);return d}function cL(a,b){let c=a.tokens[b];if(!c)throw Error(`Token "${b}" not found."`);return c}var cM=c(304),cN=c(7751),cO=c(23883),cP=c(71893);let cQ=0,cR=Symbol("OperationCancelled");async function cS(a){if(a===cO.XO.None)return;let b=performance.now();if(b-cQ>=10&&(cQ=b,await new Promise(a=>{"undefined"==typeof setImmediate?setTimeout(a,0):setImmediate(a)}),cQ=performance.now()),a.isCancellationRequested)throw cR}class cT{constructor(){this.promise=new Promise((a,b)=>{this.resolve=b=>(a(b),this),this.reject=a=>(b(a),this)})}}class cU{constructor(a,b,c,d){this._uri=a,this._languageId=b,this._version=c,this._content=d,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(a){if(a){let b=this.offsetAt(a.start),c=this.offsetAt(a.end);return this._content.substring(b,c)}return this._content}update(a,b){for(let b of a)if(cU.isIncremental(b)){let a=cX(b.range),c=this.offsetAt(a.start),d=this.offsetAt(a.end);this._content=this._content.substring(0,c)+b.text+this._content.substring(d,this._content.length);let e=Math.max(a.start.line,0),f=Math.max(a.end.line,0),g=this._lineOffsets,h=cV(b.text,!1,c);if(f-e===h.length)for(let a=0,b=h.length;a<b;a++)g[a+e+1]=h[a];else h.length<1e4?g.splice(e+1,f-e,...h):this._lineOffsets=g=g.slice(0,e+1).concat(h,g.slice(f+1));let i=b.text.length-(d-c);if(0!==i)for(let a=e+1+h.length,b=g.length;a<b;a++)g[a]=g[a]+i}else if(cU.isFull(b))this._content=b.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=b}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=cV(this._content,!0)),this._lineOffsets}positionAt(a){a=Math.max(Math.min(a,this._content.length),0);let b=this.getLineOffsets(),c=0,d=b.length;if(0===d)return{line:0,character:a};for(;c<d;){let e=Math.floor((c+d)/2);b[e]>a?d=e:c=e+1}let e=c-1;return a=this.ensureBeforeEOL(a,b[e]),{line:e,character:a-b[e]}}offsetAt(a){let b=this.getLineOffsets();if(a.line>=b.length)return this._content.length;if(a.line<0)return 0;let c=b[a.line];if(a.character<=0)return c;let d=a.line+1<b.length?b[a.line+1]:this._content.length,e=Math.min(c+a.character,d);return this.ensureBeforeEOL(e,c)}ensureBeforeEOL(a,b){for(;a>b&&cW(this._content.charCodeAt(a-1));)a--;return a}get lineCount(){return this.getLineOffsets().length}static isIncremental(a){return null!=a&&"string"==typeof a.text&&void 0!==a.range&&(void 0===a.rangeLength||"number"==typeof a.rangeLength)}static isFull(a){return null!=a&&"string"==typeof a.text&&void 0===a.range&&void 0===a.rangeLength}}function cV(a,b,c=0){let d=b?[c]:[];for(let b=0;b<a.length;b++){let e=a.charCodeAt(b);cW(e)&&(13===e&&b+1<a.length&&10===a.charCodeAt(b+1)&&b++,d.push(c+b+1))}return d}function cW(a){return 13===a||10===a}function cX(a){let b=a.start,c=a.end;return b.line>c.line||b.line===c.line&&b.character>c.character?{start:c,end:b}:a}function cY(a){let b=cX(a.range);return b!==a.range?{newText:a.newText,range:b}:a}(ag=bA||(bA={})).create=function(a,b,c,d){return new cU(a,b,c,d)},ag.update=function(a,b,c){if(a instanceof cU)return a.update(b,c),a;throw Error("TextDocument.update: document must be created by TextDocument.create")},ag.applyEdits=function(a,b){let c=a.getText(),d=function a(b,c){if(b.length<=1)return b;let d=b.length/2|0,e=b.slice(0,d),f=b.slice(d);a(e,c),a(f,c);let g=0,h=0,i=0;for(;g<e.length&&h<f.length;)0>=c(e[g],f[h])?b[i++]=e[g++]:b[i++]=f[h++];for(;g<e.length;)b[i++]=e[g++];for(;h<f.length;)b[i++]=f[h++];return b}(b.map(cY),(a,b)=>{let c=a.range.start.line-b.range.start.line;return 0===c?a.range.start.character-b.range.start.character:c}),e=0,f=[];for(let b of d){let d=a.offsetAt(b.range.start);if(d<e)throw Error("Overlapping edit");d>e&&f.push(c.substring(e,d)),b.newText.length&&f.push(b.newText),e=a.offsetAt(b.range.end)}return f.push(c.substr(e)),f.join("")};var cZ=c(48486);(ah=bB||(bB={}))[ah.Changed=0]="Changed",ah[ah.Parsed=1]="Parsed",ah[ah.IndexedContent=2]="IndexedContent",ah[ah.ComputedScopes=3]="ComputedScopes",ah[ah.Linked=4]="Linked",ah[ah.IndexedReferences=5]="IndexedReferences",ah[ah.Validated=6]="Validated";class c${constructor(a){this.serviceRegistry=a.ServiceRegistry,this.textDocuments=a.workspace.TextDocuments,this.fileSystemProvider=a.workspace.FileSystemProvider}async fromUri(a,b=cO.XO.None){let c=await this.fileSystemProvider.readFile(a);return this.createAsync(a,c,b)}fromTextDocument(a,b,c){return(b=null!=b?b:cZ.r.parse(a.uri),cO.XO.is(c))?this.createAsync(b,a,c):this.create(b,a,c)}fromString(a,b,c){return cO.XO.is(c)?this.createAsync(b,a,c):this.create(b,a,c)}fromModel(a,b){return this.create(b,{$model:a})}create(a,b,c){if("string"==typeof b){let d=this.parse(a,b,c);return this.createLangiumDocument(d,a,void 0,b)}if("$model"in b){let c={value:b.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(c,a)}{let d=this.parse(a,b.getText(),c);return this.createLangiumDocument(d,a,b)}}async createAsync(a,b,c){if("string"==typeof b){let d=await this.parseAsync(a,b,c);return this.createLangiumDocument(d,a,void 0,b)}{let d=await this.parseAsync(a,b.getText(),c);return this.createLangiumDocument(d,a,b)}}createLangiumDocument(a,b,c,d){let e;if(c)e={parseResult:a,uri:b,state:bB.Parsed,references:[],textDocument:c};else{let c=this.createTextDocumentGetter(b,d);e={parseResult:a,uri:b,state:bB.Parsed,references:[],get textDocument(){return c()}}}return a.value.$document=e,e}async update(a,b){var c,d;let e=null==(c=a.parseResult.value.$cstNode)?void 0:c.root.fullText,f=null==(d=this.textDocuments)?void 0:d.get(a.uri.toString()),g=f?f.getText():await this.fileSystemProvider.readFile(a.uri);if(f)Object.defineProperty(a,"textDocument",{value:f});else{let b=this.createTextDocumentGetter(a.uri,g);Object.defineProperty(a,"textDocument",{get:b})}return e!==g&&(a.parseResult=await this.parseAsync(a.uri,g,b),a.parseResult.value.$document=a),a.state=bB.Parsed,a}parse(a,b,c){return this.serviceRegistry.getServices(a).parser.LangiumParser.parse(b,c)}parseAsync(a,b,c){return this.serviceRegistry.getServices(a).parser.AsyncParser.parse(b,c)}createTextDocumentGetter(a,b){let c,d=this.serviceRegistry;return()=>null!=c?c:c=bA.create(a.toString(),d.getServices(a).LanguageMetaData.languageId,0,null!=b?b:"")}}class c_{constructor(a){this.documentMap=new Map,this.langiumDocumentFactory=a.workspace.LangiumDocumentFactory,this.serviceRegistry=a.ServiceRegistry}get all(){return(0,cF.Td)(this.documentMap.values())}addDocument(a){let b=a.uri.toString();if(this.documentMap.has(b))throw Error(`A document with the URI '${b}' is already present.`);this.documentMap.set(b,a)}getDocument(a){let b=a.toString();return this.documentMap.get(b)}async getOrCreateDocument(a,b){let c=this.getDocument(a);return c||(c=await this.langiumDocumentFactory.fromUri(a,b),this.addDocument(c)),c}createDocument(a,b,c){if(c)return this.langiumDocumentFactory.fromString(b,a,c).then(a=>(this.addDocument(a),a));{let c=this.langiumDocumentFactory.fromString(b,a);return this.addDocument(c),c}}hasDocument(a){return this.documentMap.has(a.toString())}invalidateDocument(a){let b=a.toString(),c=this.documentMap.get(b);return c&&(this.serviceRegistry.getServices(a).references.Linker.unlink(c),c.state=bB.Changed,c.precomputedScopes=void 0,c.diagnostics=void 0),c}deleteDocument(a){let b=a.toString(),c=this.documentMap.get(b);return c&&(c.state=bB.Changed,this.documentMap.delete(b)),c}}let c0=Symbol("ref_resolving");class c1{constructor(a){this.reflection=a.shared.AstReflection,this.langiumDocuments=()=>a.shared.workspace.LangiumDocuments,this.scopeProvider=a.references.ScopeProvider,this.astNodeLocator=a.workspace.AstNodeLocator}async link(a,b=cO.XO.None){for(let c of(0,cm.jm)(a.parseResult.value))await cS(b),(0,cm.DM)(c).forEach(b=>this.doLink(b,a))}doLink(a,b){var c;let d=a.reference;if(void 0===d._ref){d._ref=c0;try{let b=this.getCandidate(a);if((0,cP.Zl)(b))d._ref=b;else if(d._nodeDescription=b,this.langiumDocuments().hasDocument(b.documentUri)){let c=this.loadAstNode(b);d._ref=null!=c?c:this.createLinkingError(a,b)}else d._ref=void 0}catch(e){console.error(`An error occurred while resolving reference to '${d.$refText}':`,e);let b=null!=(c=e.message)?c:String(e);d._ref=Object.assign(Object.assign({},a),{message:`An error occurred while resolving reference to '${d.$refText}': ${b}`})}b.references.push(d)}}unlink(a){for(let b of a.references)delete b._ref,delete b._nodeDescription;a.references=[]}getCandidate(a){let b=this.scopeProvider.getScope(a).getElement(a.reference.$refText);return null!=b?b:this.createLinkingError(a)}buildReference(a,b,c,d){let e=this,f={$refNode:c,$refText:d,get ref(){var g;if((0,cP.ng)(this._ref))return this._ref;if((0,cP.Nr)(this._nodeDescription)){let c=e.loadAstNode(this._nodeDescription);this._ref=null!=c?c:e.createLinkingError({reference:f,container:a,property:b},this._nodeDescription)}else if(void 0===this._ref){this._ref=c0;let c=(0,cm.cQ)(a).$document,d=e.getLinkedNode({reference:f,container:a,property:b});if(d.error&&c&&c.state<bB.ComputedScopes)return this._ref=void 0;this._ref=null!=(g=d.node)?g:d.error,this._nodeDescription=d.descr,null==c||c.references.push(this)}else if(this._ref===c0)throw Error(`Cyclic reference resolution detected: ${e.astNodeLocator.getAstNodePath(a)}/${b} (symbol '${d}')`);return(0,cP.ng)(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return(0,cP.Zl)(this._ref)?this._ref:void 0}};return f}getLinkedNode(a){var b;try{let b=this.getCandidate(a);if((0,cP.Zl)(b))return{error:b};let c=this.loadAstNode(b);if(c)return{node:c,descr:b};return{descr:b,error:this.createLinkingError(a,b)}}catch(d){console.error(`An error occurred while resolving reference to '${a.reference.$refText}':`,d);let c=null!=(b=d.message)?b:String(d);return{error:Object.assign(Object.assign({},a),{message:`An error occurred while resolving reference to '${a.reference.$refText}': ${c}`})}}}loadAstNode(a){if(a.node)return a.node;let b=this.langiumDocuments().getDocument(a.documentUri);if(b)return this.astNodeLocator.getAstNode(b.parseResult.value,a.path)}createLinkingError(a,b){let c=(0,cm.cQ)(a.container).$document;c&&c.state<bB.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${c.uri}).`);let d=this.reflection.getReferenceType(a);return Object.assign(Object.assign({},a),{message:`Could not resolve reference to ${d} named '${a.reference.$refText}'.`,targetDescription:b})}}class c2{getName(a){if("string"==typeof a.name)return a.name}getNameNode(a){return(0,bH.qO)(a.$cstNode,"name")}}(ai=bC||(bC={})).basename=cZ.A.basename,ai.dirname=cZ.A.dirname,ai.extname=cZ.A.extname,ai.joinPath=cZ.A.joinPath,ai.resolvePath=cZ.A.resolvePath,ai.equals=function(a,b){return(null==a?void 0:a.toString())===(null==b?void 0:b.toString())},ai.relative=function(a,b){let c="string"==typeof a?a:a.path,d="string"==typeof b?b:b.path,e=c.split("/").filter(a=>a.length>0),f=d.split("/").filter(a=>a.length>0),g=0;for(;g<e.length&&e[g]===f[g];g++);return"../".repeat(e.length-g)+f.slice(g).join("/")},ai.normalize=function(a){return cZ.r.parse(a.toString()).toString()};class c3{constructor(a){this.nameProvider=a.references.NameProvider,this.index=a.shared.workspace.IndexManager,this.nodeLocator=a.workspace.AstNodeLocator}findDeclaration(a){if(a){let b=(0,bH.Rp)(a),c=a.astNode;if(b&&c){let d=c[b.feature];if((0,cP.A_)(d))return d.ref;if(Array.isArray(d)){for(let b of d)if((0,cP.A_)(b)&&b.$refNode&&b.$refNode.offset<=a.offset&&b.$refNode.end>=a.end)return b.ref}}if(c){let b=this.nameProvider.getNameNode(c);if(b&&(b===a||(0,bG.pO)(a,b)))return c}}}findDeclarationNode(a){let b=this.findDeclaration(a);if(null==b?void 0:b.$cstNode){let a=this.nameProvider.getNameNode(b);return null!=a?a:b.$cstNode}}findReferences(a,b){let c=[];if(b.includeDeclaration){let b=this.getReferenceToSelf(a);b&&c.push(b)}let d=this.index.findAllReferences(a,this.nodeLocator.getAstNodePath(a));return b.documentUri&&(d=d.filter(a=>bC.equals(a.sourceUri,b.documentUri))),c.push(...d),(0,cF.Td)(c)}getReferenceToSelf(a){let b=this.nameProvider.getNameNode(a);if(b){let c=(0,cm.YE)(a),d=this.nodeLocator.getAstNodePath(a);return{sourceUri:c.uri,sourcePath:d,targetUri:c.uri,targetPath:d,segment:(0,bG.SX)(b),local:!0}}}}class c4{constructor(a){if(this.map=new Map,a)for(const[b,c]of a)this.add(b,c)}get size(){return cF.iD.sum((0,cF.Td)(this.map.values()).map(a=>a.length))}clear(){this.map.clear()}delete(a,b){if(void 0===b)return this.map.delete(a);{let c=this.map.get(a);if(c){let d=c.indexOf(b);if(d>=0)return 1===c.length?this.map.delete(a):c.splice(d,1),!0}return!1}}get(a){var b;return null!=(b=this.map.get(a))?b:[]}has(a,b){if(void 0===b)return this.map.has(a);{let c=this.map.get(a);return!!c&&c.indexOf(b)>=0}}add(a,b){return this.map.has(a)?this.map.get(a).push(b):this.map.set(a,[b]),this}addAll(a,b){return this.map.has(a)?this.map.get(a).push(...b):this.map.set(a,Array.from(b)),this}forEach(a){this.map.forEach((b,c)=>b.forEach(b=>a(b,c,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return(0,cF.Td)(this.map.entries()).flatMap(([a,b])=>b.map(b=>[a,b]))}keys(){return(0,cF.Td)(this.map.keys())}values(){return(0,cF.Td)(this.map.values()).flat()}entriesGroupedByKey(){return(0,cF.Td)(this.map.entries())}}class c5{get size(){return this.map.size}constructor(a){if(this.map=new Map,this.inverse=new Map,a)for(const[b,c]of a)this.set(b,c)}clear(){this.map.clear(),this.inverse.clear()}set(a,b){return this.map.set(a,b),this.inverse.set(b,a),this}get(a){return this.map.get(a)}getKey(a){return this.inverse.get(a)}delete(a){let b=this.map.get(a);return void 0!==b&&(this.map.delete(a),this.inverse.delete(b),!0)}}class c6{constructor(a){this.nameProvider=a.references.NameProvider,this.descriptions=a.workspace.AstNodeDescriptionProvider}async computeExports(a,b=cO.XO.None){return this.computeExportsForNode(a.parseResult.value,a,void 0,b)}async computeExportsForNode(a,b,c=cm.VN,d=cO.XO.None){let e=[];for(let f of(this.exportNode(a,e,b),c(a)))await cS(d),this.exportNode(f,e,b);return e}exportNode(a,b,c){let d=this.nameProvider.getName(a);d&&b.push(this.descriptions.createDescription(a,d,c))}async computeLocalScopes(a,b=cO.XO.None){let c=a.parseResult.value,d=new c4;for(let e of(0,cm.Uo)(c))await cS(b),this.processNode(e,a,d);return d}processNode(a,b,c){let d=a.$container;if(d){let e=this.nameProvider.getName(a);e&&c.add(d,this.descriptions.createDescription(a,e,b))}}}class c7{constructor(a,b,c){var d;this.elements=a,this.outerScope=b,this.caseInsensitive=null!=(d=null==c?void 0:c.caseInsensitive)&&d}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(a){let b=this.caseInsensitive?this.elements.find(b=>b.name.toLowerCase()===a.toLowerCase()):this.elements.find(b=>b.name===a);return b||(this.outerScope?this.outerScope.getElement(a):void 0)}}class c8{constructor(a,b,c){var d;for(const b of(this.elements=new Map,this.caseInsensitive=null!=(d=null==c?void 0:c.caseInsensitive)&&d,a)){const a=this.caseInsensitive?b.name.toLowerCase():b.name;this.elements.set(a,b)}this.outerScope=b}getElement(a){let b=this.caseInsensitive?a.toLowerCase():a,c=this.elements.get(b);return c||(this.outerScope?this.outerScope.getElement(a):void 0)}getAllElements(){let a=(0,cF.Td)(this.elements.values());return this.outerScope&&(a=a.concat(this.outerScope.getAllElements())),a}}class c9{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(a){this.toDispose.push(a)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(a=>a.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}}class da extends c9{constructor(){super(...arguments),this.cache=new Map}has(a){return this.throwIfDisposed(),this.cache.has(a)}set(a,b){this.throwIfDisposed(),this.cache.set(a,b)}get(a,b){if(this.throwIfDisposed(),this.cache.has(a))return this.cache.get(a);if(b){let c=b();return this.cache.set(a,c),c}}delete(a){return this.throwIfDisposed(),this.cache.delete(a)}clear(){this.throwIfDisposed(),this.cache.clear()}}class db extends c9{constructor(a){super(),this.cache=new Map,this.converter=null!=a?a:a=>a}has(a,b){return this.throwIfDisposed(),this.cacheForContext(a).has(b)}set(a,b,c){this.throwIfDisposed(),this.cacheForContext(a).set(b,c)}get(a,b,c){this.throwIfDisposed();let d=this.cacheForContext(a);if(d.has(b))return d.get(b);if(c){let a=c();return d.set(b,a),a}}delete(a,b){return this.throwIfDisposed(),this.cacheForContext(a).delete(b)}clear(a){if(this.throwIfDisposed(),a){let b=this.converter(a);this.cache.delete(b)}else this.cache.clear()}cacheForContext(a){let b=this.converter(a),c=this.cache.get(b);return c||(c=new Map,this.cache.set(b,c)),c}}class dc extends da{constructor(a,b){super(),b?(this.toDispose.push(a.workspace.DocumentBuilder.onBuildPhase(b,()=>{this.clear()})),this.toDispose.push(a.workspace.DocumentBuilder.onUpdate((a,b)=>{b.length>0&&this.clear()}))):this.toDispose.push(a.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class dd{constructor(a){this.reflection=a.shared.AstReflection,this.nameProvider=a.references.NameProvider,this.descriptions=a.workspace.AstNodeDescriptionProvider,this.indexManager=a.shared.workspace.IndexManager,this.globalScopeCache=new dc(a.shared)}getScope(a){let b=[],c=this.reflection.getReferenceType(a),d=(0,cm.YE)(a.container).precomputedScopes;if(d){let e=a.container;do{let a=d.get(e);a.length>0&&b.push((0,cF.Td)(a).filter(a=>this.reflection.isSubtype(a.type,c))),e=e.$container}while(e)}let e=this.getGlobalScope(c,a);for(let a=b.length-1;a>=0;a--)e=this.createScope(b[a],e);return e}createScope(a,b,c){return new c7((0,cF.Td)(a),b,c)}createScopeForNodes(a,b,c){return new c7((0,cF.Td)(a).map(a=>{let b=this.nameProvider.getName(a);if(b)return this.descriptions.createDescription(a,b)}).nonNullable(),b,c)}getGlobalScope(a,b){return this.globalScopeCache.get(a,()=>new c8(this.indexManager.allElements(a)))}}function de(a){return"object"==typeof a&&!!a&&("$ref"in a||"$error"in a)}class df{constructor(a){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=a.shared.workspace.LangiumDocuments,this.astNodeLocator=a.workspace.AstNodeLocator,this.nameProvider=a.references.NameProvider,this.commentProvider=a.documentation.CommentProvider}serialize(a,b){let c=null!=b?b:{},d=null==b?void 0:b.replacer,e=(a,b)=>this.replacer(a,b,c),f=d?(a,b)=>d(a,b,e):e;try{return this.currentDocument=(0,cm.YE)(a),JSON.stringify(a,f,null==b?void 0:b.space)}finally{this.currentDocument=void 0}}deserialize(a,b){let c=JSON.parse(a);return this.linkNode(c,c,null!=b?b:{}),c}replacer(a,b,{refText:c,sourceText:d,textRegions:e,comments:f,uriConverter:g}){var h,i,j,k;if(!this.ignoreProperties.has(a)){if((0,cP.A_)(b)){let a=b.ref,d=c?b.$refText:void 0;if(!a)return{$error:null!=(i=null==(h=b.error)?void 0:h.message)?i:"Could not resolve reference",$refText:d};{let c=(0,cm.YE)(a),e="";this.currentDocument&&this.currentDocument!==c&&(e=g?g(c.uri,b):c.uri.toString());let f=this.astNodeLocator.getAstNodePath(a);return{$ref:`${e}#${f}`,$refText:d}}}if(!(0,cP.ng)(b))return b;{let c;if(e&&(c=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},b)),(!a||b.$document)&&(null==c?void 0:c.$textRegion)&&(c.$textRegion.documentURI=null==(j=this.currentDocument)?void 0:j.uri.toString())),d&&!a&&(null!=c||(c=Object.assign({},b)),c.$sourceText=null==(k=b.$cstNode)?void 0:k.text),f){null!=c||(c=Object.assign({},b));let a=this.commentProvider.getComment(b);a&&(c.$comment=a.replace(/\r/g,""))}return null!=c?c:b}}}addAstNodeRegionWithAssignmentsTo(a){let b=a=>({offset:a.offset,end:a.end,length:a.length,range:a.range});if(a.$cstNode){let c=(a.$textRegion=b(a.$cstNode)).assignments={};return Object.keys(a).filter(a=>!a.startsWith("$")).forEach(d=>{let e=(0,bH.Bd)(a.$cstNode,d).map(b);0!==e.length&&(c[d]=e)}),a}}linkNode(a,b,c,d,e,f){for(let[d,e]of Object.entries(a))if(Array.isArray(e))for(let f=0;f<e.length;f++){let g=e[f];de(g)?e[f]=this.reviveReference(a,d,b,g,c):(0,cP.ng)(g)&&this.linkNode(g,b,c,a,d,f)}else de(e)?a[d]=this.reviveReference(a,d,b,e,c):(0,cP.ng)(e)&&this.linkNode(e,b,c,a,d);a.$container=d,a.$containerProperty=e,a.$containerIndex=f}reviveReference(a,b,c,d,e){let f=d.$refText,g=d.$error;if(d.$ref){let a=this.getRefNode(c,d.$ref,e.uriConverter);if((0,cP.ng)(a))return f||(f=this.nameProvider.getName(a)),{$refText:null!=f?f:"",ref:a};g=a}if(g){let c={$refText:null!=f?f:""};return c.error={container:a,property:b,message:g,reference:c},c}}getRefNode(a,b,c){try{let d=b.indexOf("#");if(0===d){let c=this.astNodeLocator.getAstNode(a,b.substring(1));if(!c)return"Could not resolve path: "+b;return c}if(d<0){let a=c?c(b):cZ.r.parse(b),d=this.langiumDocuments.getDocument(a);if(!d)return"Could not find document for URI: "+b;return d.parseResult.value}let e=c?c(b.substring(0,d)):cZ.r.parse(b.substring(0,d)),f=this.langiumDocuments.getDocument(e);if(!f)return"Could not find document for URI: "+b;if(d===b.length-1)return f.parseResult.value;let g=this.astNodeLocator.getAstNode(f.parseResult.value,b.substring(d+1));if(!g)return"Could not resolve URI: "+b;return g}catch(a){return String(a)}}}class dg{get map(){return this.fileExtensionMap}constructor(a){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=null==a?void 0:a.workspace.TextDocuments}register(a){let b=a.LanguageMetaData;for(let c of b.fileExtensions)this.fileExtensionMap.has(c)&&console.warn(`The file extension ${c} is used by multiple languages. It is now assigned to '${b.languageId}'.`),this.fileExtensionMap.set(c,a);this.languageIdMap.set(b.languageId,a),1===this.languageIdMap.size?this.singleton=a:this.singleton=void 0}getServices(a){var b,c;if(void 0!==this.singleton)return this.singleton;if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let d=null==(c=null==(b=this.textDocuments)?void 0:b.get(a))?void 0:c.languageId;if(void 0!==d){let a=this.languageIdMap.get(d);if(a)return a}let e=bC.extname(a),f=this.fileExtensionMap.get(e);if(!f)if(d)throw Error(`The service registry contains no services for the extension '${e}' for language '${d}'.`);else throw Error(`The service registry contains no services for the extension '${e}'.`);return f}hasServices(a){try{return this.getServices(a),!0}catch(a){return!1}}get all(){return Array.from(this.languageIdMap.values())}}(bD||(bD={})).all=["fast","slow","built-in"];class dh{constructor(a){this.entries=new c4,this.entriesBefore=[],this.entriesAfter=[],this.reflection=a.shared.AstReflection}register(a,b=this,c="fast"){if("built-in"===c)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[d,e]of Object.entries(a))if(Array.isArray(e))for(let a of e){let e={check:this.wrapValidationException(a,b),category:c};this.addEntry(d,e)}else if("function"==typeof e){let a={check:this.wrapValidationException(e,b),category:c};this.addEntry(d,a)}else(0,cE.d)(e)}wrapValidationException(a,b){return async(c,d,e)=>{await this.handleException(()=>a.call(b,c,d,e),"An error occurred during validation",d,c)}}async handleException(a,b,c,d){try{await a()}catch(e){if(e===cR)throw e;console.error(`${b}:`,e),e instanceof Error&&e.stack&&console.error(e.stack);let a=e instanceof Error?e.message:String(e);c("error",`${b}: ${a}`,{node:d})}}addEntry(a,b){if("AstNode"===a)return void this.entries.add("AstNode",b);for(let c of this.reflection.getAllSubTypes(a))this.entries.add(c,b)}getChecks(a,b){let c=(0,cF.Td)(this.entries.get(a)).concat(this.entries.get("AstNode"));return b&&(c=c.filter(a=>b.includes(a.category))),c.map(a=>a.check)}registerBeforeDocument(a,b=this){this.entriesBefore.push(this.wrapPreparationException(a,"An error occurred during set-up of the validation",b))}registerAfterDocument(a,b=this){this.entriesAfter.push(this.wrapPreparationException(a,"An error occurred during tear-down of the validation",b))}wrapPreparationException(a,b,c){return async(d,e,f,g)=>{await this.handleException(()=>a.call(c,d,e,f,g),b,e,d)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class di{constructor(a){this.validationRegistry=a.validation.ValidationRegistry,this.metadata=a.LanguageMetaData}async validateDocument(a,b={},c=cO.XO.None){let d=a.parseResult,e=[];if((await cS(c),!b.categories||b.categories.includes("built-in"))&&(this.processLexingErrors(d,e,b),b.stopAfterLexingErrors&&e.some(a=>{var b;return(null==(b=a.data)?void 0:b.code)===bE.LexingError})||(this.processParsingErrors(d,e,b),b.stopAfterParsingErrors&&e.some(a=>{var b;return(null==(b=a.data)?void 0:b.code)===bE.ParsingError}))||(this.processLinkingErrors(a,e,b),b.stopAfterLinkingErrors&&e.some(a=>{var b;return(null==(b=a.data)?void 0:b.code)===bE.LinkingError}))))return e;try{e.push(...await this.validateAst(d.value,b,c))}catch(a){if(a===cR)throw a;console.error("An error occurred during validation:",a)}return await cS(c),e}processLexingErrors(a,b,c){var d,e,f;for(let c of[...a.lexerErrors,...null!=(e=null==(d=a.lexerReport)?void 0:d.diagnostics)?e:[]]){let a=null!=(f=c.severity)?f:"error",d={severity:dj(a),range:{start:{line:c.line-1,character:c.column-1},end:{line:c.line-1,character:c.column+c.length-1}},message:c.message,data:function(a){switch(a){case"error":return{code:bE.LexingError};case"warning":return{code:bE.LexingWarning};case"info":return{code:bE.LexingInfo};case"hint":return{code:bE.LexingHint};default:throw Error("Invalid diagnostic severity: "+a)}}(a),source:this.getSource()};b.push(d)}}processParsingErrors(a,b,c){for(let c of a.parserErrors){let a;if(isNaN(c.token.startOffset)){if("previousToken"in c){let b=c.previousToken;if(isNaN(b.startOffset)){let b={line:0,character:0};a={start:b,end:b}}else{let c={line:b.endLine-1,character:b.endColumn};a={start:c,end:c}}}}else a=(0,bG.wf)(c.token);if(a){let d={severity:dj("error"),range:a,message:c.message,data:{code:bE.ParsingError},source:this.getSource()};b.push(d)}}}processLinkingErrors(a,b,c){for(let c of a.references){let a=c.error;if(a){let c={node:a.container,property:a.property,index:a.index,data:{code:bE.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};b.push(this.toDiagnostic("error",a.message,c))}}}async validateAst(a,b,c=cO.XO.None){let d=[],e=(a,b,c)=>{d.push(this.toDiagnostic(a,b,c))};return await this.validateAstBefore(a,b,e,c),await this.validateAstNodes(a,b,e,c),await this.validateAstAfter(a,b,e,c),d}async validateAstBefore(a,b,c,d=cO.XO.None){var e;for(let f of this.validationRegistry.checksBefore)await cS(d),await f(a,c,null!=(e=b.categories)?e:[],d)}async validateAstNodes(a,b,c,d=cO.XO.None){await Promise.all((0,cm.jm)(a).map(async a=>{for(let e of(await cS(d),this.validationRegistry.getChecks(a.$type,b.categories)))await e(a,c,d)}))}async validateAstAfter(a,b,c,d=cO.XO.None){var e;for(let f of this.validationRegistry.checksAfter)await cS(d),await f(a,c,null!=(e=b.categories)?e:[],d)}toDiagnostic(a,b,c){var d;let e;return{message:b,range:(d=c).range?d.range:("string"==typeof d.property?e=(0,bH.qO)(d.node.$cstNode,d.property,d.index):"string"==typeof d.keyword&&(e=(0,bH.SS)(d.node.$cstNode,d.keyword,d.index)),null!=e||(e=d.node.$cstNode),e)?e.range:{start:{line:0,character:0},end:{line:0,character:0}},severity:dj(a),code:c.code,codeDescription:c.codeDescription,tags:c.tags,relatedInformation:c.relatedInformation,data:c.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function dj(a){switch(a){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+a)}}(aj=bE||(bE={})).LexingError="lexing-error",aj.LexingWarning="lexing-warning",aj.LexingInfo="lexing-info",aj.LexingHint="lexing-hint",aj.ParsingError="parsing-error",aj.LinkingError="linking-error";class dk{constructor(a){this.astNodeLocator=a.workspace.AstNodeLocator,this.nameProvider=a.references.NameProvider}createDescription(a,b,c){let d,e=null!=c?c:(0,cm.YE)(a);null!=b||(b=this.nameProvider.getName(a));let f=this.astNodeLocator.getAstNodePath(a);if(!b)throw Error(`Node at path ${f} has no name.`);let g=()=>{var b;return null!=d?d:d=(0,bG.SX)(null!=(b=this.nameProvider.getNameNode(a))?b:a.$cstNode)};return{node:a,name:b,get nameSegment(){return g()},selectionSegment:(0,bG.SX)(a.$cstNode),type:a.$type,documentUri:e.uri,path:f}}}class dl{constructor(a){this.nodeLocator=a.workspace.AstNodeLocator}async createDescriptions(a,b=cO.XO.None){let c=[],d=a.parseResult.value;for(let a of(0,cm.jm)(d))await cS(b),(0,cm.DM)(a).filter(a=>!(0,cP.Zl)(a)).forEach(a=>{let b=this.createDescription(a);b&&c.push(b)});return c}createDescription(a){let b=a.reference.$nodeDescription,c=a.reference.$refNode;if(!b||!c)return;let d=(0,cm.YE)(a.container).uri;return{sourceUri:d,sourcePath:this.nodeLocator.getAstNodePath(a.container),targetUri:b.documentUri,targetPath:b.path,segment:(0,bG.SX)(c),local:bC.equals(b.documentUri,d)}}}class dm{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(a){if(a.$container){let b=this.getAstNodePath(a.$container),c=this.getPathSegment(a);return b+this.segmentSeparator+c}return""}getPathSegment({$containerProperty:a,$containerIndex:b}){if(!a)throw Error("Missing '$containerProperty' in AST node.");return void 0!==b?a+this.indexSeparator+b:a}getAstNode(a,b){return b.split(this.segmentSeparator).reduce((a,b)=>{if(!a||0===b.length)return a;let c=b.indexOf(this.indexSeparator);if(c>0){let d=b.substring(0,c),e=parseInt(b.substring(c+1)),f=a[d];return null==f?void 0:f[e]}return a[b]},a)}}var dn=c(20713);class dp{constructor(a){this._ready=new cT,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new dn.Emitter,this.serviceRegistry=a.ServiceRegistry}get ready(){return this._ready.promise}initialize(a){var b,c;this.workspaceConfig=null!=(c=null==(b=a.capabilities.workspace)?void 0:b.configuration)&&c}async initialized(a){if(this.workspaceConfig){if(a.register){let b=this.serviceRegistry.all;a.register({section:b.map(a=>this.toSectionName(a.LanguageMetaData.languageId))})}if(a.fetchConfiguration){let b=this.serviceRegistry.all.map(a=>({section:this.toSectionName(a.LanguageMetaData.languageId)})),c=await a.fetchConfiguration(b);b.forEach((a,b)=>{this.updateSectionConfiguration(a.section,c[b])})}}this._ready.resolve()}updateConfiguration(a){a.settings&&Object.keys(a.settings).forEach(b=>{let c=a.settings[b];this.updateSectionConfiguration(b,c),this.onConfigurationSectionUpdateEmitter.fire({section:b,configuration:c})})}updateSectionConfiguration(a,b){this.settings[a]=b}async getConfiguration(a,b){await this.ready;let c=this.toSectionName(a);if(this.settings[c])return this.settings[c][b]}toSectionName(a){return`${a}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}(bF||(bF={})).create=function(a){return{dispose:async()=>await a()}};class dq{constructor(a){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new c4,this.documentPhaseListeners=new c4,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=bB.Changed,this.langiumDocuments=a.workspace.LangiumDocuments,this.langiumDocumentFactory=a.workspace.LangiumDocumentFactory,this.textDocuments=a.workspace.TextDocuments,this.indexManager=a.workspace.IndexManager,this.serviceRegistry=a.ServiceRegistry}async build(a,b={},c=cO.XO.None){var d,e;for(let c of a){let a=c.uri.toString();if(c.state===bB.Validated){if("boolean"==typeof b.validation&&b.validation)c.state=bB.IndexedReferences,c.diagnostics=void 0,this.buildState.delete(a);else if("object"==typeof b.validation){let f=this.buildState.get(a),g=null==(d=null==f?void 0:f.result)?void 0:d.validationChecks;if(g){let d=(null!=(e=b.validation.categories)?e:bD.all).filter(a=>!g.includes(a));d.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:Object.assign(Object.assign({},b.validation),{categories:d})},result:f.result}),c.state=bB.IndexedReferences)}}}else this.buildState.delete(a)}this.currentState=bB.Changed,await this.emitUpdate(a.map(a=>a.uri),[]),await this.buildDocuments(a,b,c)}async update(a,b,c=cO.XO.None){for(let a of(this.currentState=bB.Changed,b))this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(let b of a){if(!this.langiumDocuments.invalidateDocument(b)){let a=this.langiumDocumentFactory.fromModel({$type:"INVALID"},b);a.state=bB.Changed,this.langiumDocuments.addDocument(a)}this.buildState.delete(b.toString())}let d=(0,cF.Td)(a).concat(b).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!d.has(a.uri.toString())&&this.shouldRelink(a,d)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,bB.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(a,b),await cS(c);let e=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var b;return a.state<bB.Linked||!(null==(b=this.buildState.get(a.uri.toString()))?void 0:b.completed)}).toArray());await this.buildDocuments(e,this.updateBuildOptions,c)}async emitUpdate(a,b){await Promise.all(this.updateListeners.map(c=>c(a,b)))}sortDocuments(a){let b=0,c=a.length-1;for(;b<c;){for(;b<a.length&&this.hasTextDocument(a[b]);)b++;for(;c>=0&&!this.hasTextDocument(a[c]);)c--;b<c&&([a[b],a[c]]=[a[c],a[b]])}return a}hasTextDocument(a){var b;return!!(null==(b=this.textDocuments)?void 0:b.get(a.uri))}shouldRelink(a,b){return!!a.references.some(a=>void 0!==a.error)||this.indexManager.isAffected(a,b)}onUpdate(a){return this.updateListeners.push(a),bF.create(()=>{let b=this.updateListeners.indexOf(a);b>=0&&this.updateListeners.splice(b,1)})}async buildDocuments(a,b,c){this.prepareBuild(a,b),await this.runCancelable(a,bB.Parsed,c,a=>this.langiumDocumentFactory.update(a,c)),await this.runCancelable(a,bB.IndexedContent,c,a=>this.indexManager.updateContent(a,c)),await this.runCancelable(a,bB.ComputedScopes,c,async a=>{let b=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await b.computeLocalScopes(a,c)}),await this.runCancelable(a,bB.Linked,c,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,c)),await this.runCancelable(a,bB.IndexedReferences,c,a=>this.indexManager.updateReferences(a,c));let d=a.filter(a=>this.shouldValidate(a));for(let b of(await this.runCancelable(d,bB.Validated,c,a=>this.validate(a,c)),a)){let a=this.buildState.get(b.uri.toString());a&&(a.completed=!0)}}prepareBuild(a,b){for(let c of a){let a=c.uri.toString(),d=this.buildState.get(a);(!d||d.completed)&&this.buildState.set(a,{completed:!1,options:b,result:null==d?void 0:d.result})}}async runCancelable(a,b,c,d){for(let e of a.filter(a=>a.state<b))await cS(c),await d(e),e.state=b,await this.notifyDocumentPhase(e,b,c);let e=a.filter(a=>a.state===b);await this.notifyBuildPhase(e,b,c),this.currentState=b}onBuildPhase(a,b){return this.buildPhaseListeners.add(a,b),bF.create(()=>{this.buildPhaseListeners.delete(a,b)})}onDocumentPhase(a,b){return this.documentPhaseListeners.add(a,b),bF.create(()=>{this.documentPhaseListeners.delete(a,b)})}waitUntil(a,b,c){let d;if(b&&"path"in b?d=b:c=b,null!=c||(c=cO.XO.None),d){let b=this.langiumDocuments.getDocument(d);if(b&&b.state>a)return Promise.resolve(d)}return this.currentState>=a?Promise.resolve(void 0):c.isCancellationRequested?Promise.reject(cR):new Promise((b,e)=>{let f=this.onBuildPhase(a,()=>{if(f.dispose(),g.dispose(),d){let a=this.langiumDocuments.getDocument(d);b(null==a?void 0:a.uri)}else b(void 0)}),g=c.onCancellationRequested(()=>{f.dispose(),g.dispose(),e(cR)})})}async notifyDocumentPhase(a,b,c){for(let d of this.documentPhaseListeners.get(b).slice())try{await d(a,c)}catch(a){if(a!==cR)throw a}}async notifyBuildPhase(a,b,c){if(0!==a.length)for(let d of this.buildPhaseListeners.get(b).slice())await cS(c),await d(a,c)}shouldValidate(a){return!!this.getBuildOptions(a).validation}async validate(a,b){var c;let d=this.serviceRegistry.getServices(a.uri).validation.DocumentValidator,e=this.getBuildOptions(a).validation,f="object"==typeof e?e:void 0,g=await d.validateDocument(a,f,b);a.diagnostics?a.diagnostics.push(...g):a.diagnostics=g;let h=this.buildState.get(a.uri.toString());if(h){null!=h.result||(h.result={});let a=null!=(c=null==f?void 0:f.categories)?c:bD.all;h.result.validationChecks?h.result.validationChecks.push(...a):h.result.validationChecks=[...a]}}getBuildOptions(a){var b,c;return null!=(c=null==(b=this.buildState.get(a.uri.toString()))?void 0:b.options)?c:{}}}class dr{constructor(a){this.symbolIndex=new Map,this.symbolByTypeIndex=new db,this.referenceIndex=new Map,this.documents=a.workspace.LangiumDocuments,this.serviceRegistry=a.ServiceRegistry,this.astReflection=a.AstReflection}findAllReferences(a,b){let c=(0,cm.YE)(a).uri,d=[];return this.referenceIndex.forEach(a=>{a.forEach(a=>{bC.equals(a.targetUri,c)&&a.targetPath===b&&d.push(a)})}),(0,cF.Td)(d)}allElements(a,b){let c=(0,cF.Td)(this.symbolIndex.keys());return b&&(c=c.filter(a=>!b||b.has(a))),c.map(b=>this.getFileDescriptions(b,a)).flat()}getFileDescriptions(a,b){var c;return b?this.symbolByTypeIndex.get(a,b,()=>{var c;return(null!=(c=this.symbolIndex.get(a))?c:[]).filter(a=>this.astReflection.isSubtype(a.type,b))}):null!=(c=this.symbolIndex.get(a))?c:[]}remove(a){let b=a.toString();this.symbolIndex.delete(b),this.symbolByTypeIndex.clear(b),this.referenceIndex.delete(b)}async updateContent(a,b=cO.XO.None){let c=this.serviceRegistry.getServices(a.uri),d=await c.references.ScopeComputation.computeExports(a,b),e=a.uri.toString();this.symbolIndex.set(e,d),this.symbolByTypeIndex.clear(e)}async updateReferences(a,b=cO.XO.None){let c=this.serviceRegistry.getServices(a.uri),d=await c.workspace.ReferenceDescriptionProvider.createDescriptions(a,b);this.referenceIndex.set(a.uri.toString(),d)}isAffected(a,b){let c=this.referenceIndex.get(a.uri.toString());return!!c&&c.some(a=>!a.local&&b.has(a.targetUri.toString()))}}class ds{constructor(a){this.initialBuildOptions={},this._ready=new cT,this.serviceRegistry=a.ServiceRegistry,this.langiumDocuments=a.workspace.LangiumDocuments,this.documentBuilder=a.workspace.DocumentBuilder,this.fileSystemProvider=a.workspace.FileSystemProvider,this.mutex=a.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(a){var b;this.folders=null!=(b=a.workspaceFolders)?b:void 0}initialized(a){return this.mutex.write(a=>{var b;return this.initializeWorkspace(null!=(b=this.folders)?b:[],a)})}async initializeWorkspace(a,b=cO.XO.None){let c=await this.performStartup(a);await cS(b),await this.documentBuilder.build(c,this.initialBuildOptions,b)}async performStartup(a){let b=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),c=[],d=a=>{c.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};return await this.loadAdditionalDocuments(a,d),await Promise.all(a.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,b,d))),this._ready.resolve(),c}loadAdditionalDocuments(a,b){return Promise.resolve()}getRootFolder(a){return cZ.r.parse(a.uri)}async traverseFolder(a,b,c,d){let e=await this.fileSystemProvider.readDirectory(b);await Promise.all(e.map(async b=>{this.includeEntry(a,b,c)&&(b.isDirectory?await this.traverseFolder(a,b.uri,c,d):b.isFile&&d(await this.langiumDocuments.getOrCreateDocument(b.uri)))}))}includeEntry(a,b,c){let d=bC.basename(b.uri);if(d.startsWith("."))return!1;if(b.isDirectory)return"node_modules"!==d&&"out"!==d;if(b.isFile){let a=bC.extname(b.uri);return c.includes(a)}return!1}}class dt{buildUnexpectedCharactersMessage(a,b,c,d,e){return bK.PW.buildUnexpectedCharactersMessage(a,b,c,d,e)}buildUnableToPopLexerModeMessage(a){return bK.PW.buildUnableToPopLexerModeMessage(a)}}let du={mode:"full"};class dv{constructor(a){this.errorMessageProvider=a.parser.LexerErrorMessageProvider,this.tokenBuilder=a.parser.TokenBuilder;const b=this.tokenBuilder.buildTokens(a.Grammar,{caseInsensitive:a.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(b);const c=dx(b)?Object.values(b):b,d="production"===a.LanguageMetaData.mode;this.chevrotainLexer=new bK.JG(c,{positionTracking:"full",skipValidations:d,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(a,b=du){var c,d,e;let f=this.chevrotainLexer.tokenize(a);return{tokens:f.tokens,errors:f.errors,hidden:null!=(c=f.groups.hidden)?c:[],report:null==(e=(d=this.tokenBuilder).flushLexingReport)?void 0:e.call(d,a)}}toTokenTypeDictionary(a){if(dx(a))return a;let b=dw(a)?Object.values(a.modes).flat():a,c={};return b.forEach(a=>c[a.name]=a),c}}function dw(a){return a&&"modes"in a&&"defaultMode"in a}function dx(a){return!(Array.isArray(a)&&(0===a.length||"name"in a[0]))&&!dw(a)}function dy(a){return("string"==typeof a?a:a.text).split(bI.TH)}let dz=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,dA=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,dB=/\S/,dC=/\s*$/;function dD(a,b){let c=a.substring(b).match(dB);return c?b+c.index:a.length}function dE(a){let b=a.tokens[a.index],c=b,d=b,e=[];for(;b&&"break"!==b.type&&"tag"!==b.type;){var f;e.push("inline-tag"===(f=a).tokens[f.index].type?dF(f,!0):dG(f)),d=b,b=a.tokens[a.index]}return new dL(e,ap.create(c.range.start,d.range.end))}function dF(a,b){let c=a.tokens[a.index++],d=c.content.substring(1),e=a.tokens[a.index];if((null==e?void 0:e.type)==="text")if(b){let e=dG(a);return new dK(d,new dL([e],e.range),b,ap.create(c.range.start,e.range.end))}else{let e=dE(a);return new dK(d,e,b,ap.create(c.range.start,e.range.end))}{let a=c.range;return new dK(d,new dL([],a),b,a)}}function dG(a){let b=a.tokens[a.index++];return new dM(b.content,b.range)}function dH(a){if(!a)return dH({start:"/**",end:"*/",line:"*"});let{start:b,end:c,line:d}=a;return{start:dI(b,!0),end:dI(c,!1),line:dI(d,!0)}}function dI(a,b){if("string"!=typeof a&&"object"!=typeof a)return a;{let c="string"==typeof a?(0,bI.Nt)(a):a.source;return b?RegExp(`^\\s*${c}`):RegExp(`\\s*${c}\\s*$`)}}class dJ{constructor(a,b){this.elements=a,this.range=b}getTag(a){return this.getAllTags().find(b=>b.name===a)}getTags(a){return this.getAllTags().filter(b=>b.name===a)}getAllTags(){return this.elements.filter(a=>"name"in a)}toString(){let a="";for(let b of this.elements)if(0===a.length)a=b.toString();else{let c=b.toString();a+=dN(a)+c}return a.trim()}toMarkdown(a){let b="";for(let c of this.elements)if(0===b.length)b=c.toMarkdown(a);else{let d=c.toMarkdown(a);b+=dN(b)+d}return b.trim()}}class dK{constructor(a,b,c,d){this.name=a,this.content=b,this.inline=c,this.range=d}toString(){let a=`@${this.name}`,b=this.content.toString();return(1===this.content.inlines.length?a=`${a} ${b}`:this.content.inlines.length>1&&(a=`${a}
|
|
5
|
+
${b}`),this.inline)?`{${a}}`:a}toMarkdown(a){var b,c;return null!=(c=null==(b=null==a?void 0:a.renderTag)?void 0:b.call(a,this))?c:this.toMarkdownDefault(a)}toMarkdownDefault(a){let b=this.content.toMarkdown(a);if(this.inline){let c=function(a,b,c){var d,e;if("linkplain"===a||"linkcode"===a||"link"===a){let f=b.indexOf(" "),g=b;if(f>0){let a=dD(b,f);g=b.substring(a),b=b.substring(0,f)}return("linkcode"===a||"link"===a&&"code"===c.link)&&(g=`\`${g}\``),null!=(e=null==(d=c.renderLink)?void 0:d.call(c,b,g))?e:function(a,b){try{return cZ.r.parse(a,!0),`[${b}](${a})`}catch(b){return a}}(b,g)}}(this.name,b,null!=a?a:{});if("string"==typeof c)return c}let c="";(null==a?void 0:a.tag)==="italic"||(null==a?void 0:a.tag)===void 0?c="*":(null==a?void 0:a.tag)==="bold"?c="**":(null==a?void 0:a.tag)==="bold-italic"&&(c="***");let d=`${c}@${this.name}${c}`;return(1===this.content.inlines.length?d=`${d} — ${b}`:this.content.inlines.length>1&&(d=`${d}
|
|
6
|
+
${b}`),this.inline)?`{${d}}`:d}}class dL{constructor(a,b){this.inlines=a,this.range=b}toString(){let a="";for(let b=0;b<this.inlines.length;b++){let c=this.inlines[b],d=this.inlines[b+1];a+=c.toString(),d&&d.range.start.line>c.range.start.line&&(a+="\n")}return a}toMarkdown(a){let b="";for(let c=0;c<this.inlines.length;c++){let d=this.inlines[c],e=this.inlines[c+1];b+=d.toMarkdown(a),e&&e.range.start.line>d.range.start.line&&(b+="\n")}return b}}class dM{constructor(a,b){this.text=a,this.range=b}toString(){return this.text}toMarkdown(){return this.text}}function dN(a){return a.endsWith("\n")?"\n":"\n\n"}class dO{constructor(a){this.indexManager=a.shared.workspace.IndexManager,this.commentProvider=a.documentation.CommentProvider}getDocumentation(a){let b=this.commentProvider.getComment(a);if(b&&function(a,b){let c=dH(void 0),d=dy(a);if(0===d.length)return!1;let e=d[0],f=d[d.length-1],g=c.start,h=c.end;return!!(null==g?void 0:g.exec(e))&&!!(null==h?void 0:h.exec(f))}(b)){let c,d;return("string"==typeof b?d=void 0:d=b.range.start,c=void 0,!d&&(d=ao.create(0,0)),function(a){var b,c,d,e;let f=ao.create(a.position.line,a.position.character);if(0===a.tokens.length)return new dJ([],ap.create(f,f));let g=[];for(;a.index<a.tokens.length;){let b=function(a,b){let c=a.tokens[a.index];return"tag"===c.type?dF(a,!1):"text"===c.type||"inline-tag"===c.type?dE(a):(function(a,b){if(b){let c=new dM("",a.range);"inlines"in b?b.inlines.push(c):b.content.inlines.push(c)}}(c,b),void a.index++)}(a,g[g.length-1]);b&&g.push(b)}let h=null!=(c=null==(b=g[0])?void 0:b.range.start)?c:f,i=null!=(e=null==(d=g[g.length-1])?void 0:d.range.end)?e:f;return new dJ(g,ap.create(h,i))}({index:0,tokens:function(a){var b,c,d;let e=[],f=a.position.line,g=a.position.character;for(let h=0;h<a.lines.length;h++){let i=0===h,j=h===a.lines.length-1,k=a.lines[h],l=0;if(i&&a.options.start){let c=null==(b=a.options.start)?void 0:b.exec(k);c&&(l=c.index+c[0].length)}else{let b=null==(c=a.options.line)?void 0:c.exec(k);b&&(l=b.index+b[0].length)}if(j){let b=null==(d=a.options.end)?void 0:d.exec(k);b&&(k=k.substring(0,b.index))}if(dD(k=k.substring(0,function(a){let b=a.match(dC);if(b&&"number"==typeof b.index)return b.index}(k)),l)>=k.length){if(e.length>0){let a=ao.create(f,g);e.push({type:"break",content:"",range:ap.create(a,a)})}}else{dz.lastIndex=l;let a=dz.exec(k);if(a){let b=a[0],c=a[1],d=ao.create(f,g+l),h=ao.create(f,g+l+b.length);e.push({type:"tag",content:c,range:ap.create(d,h)}),l+=b.length,l=dD(k,l)}if(l<k.length){let a=k.substring(l),b=Array.from(a.matchAll(dA));e.push(...function(a,b,c,d){let e=[];if(0===a.length){let a=ao.create(c,d),f=ao.create(c,d+b.length);e.push({type:"text",content:b,range:ap.create(a,f)})}else{let f=0;for(let g of a){let a=g.index,h=b.substring(f,a);h.length>0&&e.push({type:"text",content:b.substring(f,a),range:ap.create(ao.create(c,f+d),ao.create(c,a+d))});let i=h.length+1,j=g[1];if(e.push({type:"inline-tag",content:j,range:ap.create(ao.create(c,f+i+d),ao.create(c,f+i+j.length+d))}),i+=j.length,4===g.length){i+=g[2].length;let a=g[3];e.push({type:"text",content:a,range:ap.create(ao.create(c,f+i+d),ao.create(c,f+i+a.length+d))})}else e.push({type:"text",content:"",range:ap.create(ao.create(c,f+i+d),ao.create(c,f+i+d))});f=a+g[0].length}let g=b.substring(f);g.length>0&&e.push({type:"text",content:g,range:ap.create(ao.create(c,f+d),ao.create(c,f+d+g.length))})}return e}(b,a,f,g+l))}}f++,g=0}return e.length>0&&"break"===e[e.length-1].type?e.slice(0,-1):e}({lines:dy(b),position:d,options:dH(c)}),position:d})).toMarkdown({renderLink:(b,c)=>this.documentationLinkRenderer(a,b,c),renderTag:b=>this.documentationTagRenderer(a,b)})}}documentationLinkRenderer(a,b,c){var d;let e=null!=(d=this.findNameInPrecomputedScopes(a,b))?d:this.findNameInGlobalScope(a,b);if(e&&e.nameSegment){let a=e.nameSegment.range.start.line+1,b=e.nameSegment.range.start.character+1,d=e.documentUri.with({fragment:`L${a},${b}`});return`[${c}](${d.toString()})`}}documentationTagRenderer(a,b){}findNameInPrecomputedScopes(a,b){let c=(0,cm.YE)(a).precomputedScopes;if(!c)return;let d=a;do{let a=c.get(d).find(a=>a.name===b);if(a)return a;d=d.$container}while(d)}findNameInGlobalScope(a,b){return this.indexManager.allElements().find(a=>a.name===b)}}class dP{constructor(a){this.grammarConfig=()=>a.parser.GrammarConfig}getComment(a){var b;return"string"==typeof a.$comment?a.$comment:null==(b=(0,bG.v)(a.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:b.text}}class dQ{constructor(a){this.syncParser=a.parser.LangiumParser}parse(a,b){return Promise.resolve(this.syncParser.parse(a))}}class dR{constructor(){this.previousTokenSource=new cO.Qi,this.writeQueue=[],this.readQueue=[],this.done=!0}write(a){this.cancelWrite();let b=(cQ=performance.now(),new cO.Qi);return this.previousTokenSource=b,this.enqueue(this.writeQueue,a,b.token)}read(a){return this.enqueue(this.readQueue,a)}enqueue(a,b,c=cO.XO.None){let d=new cT;return a.push({action:b,deferred:d,cancellationToken:c}),this.performNextOperation(),d.promise}async performNextOperation(){if(!this.done)return;let a=[];if(this.writeQueue.length>0)a.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;a.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(a.map(async({action:a,deferred:b,cancellationToken:c})=>{try{let d=await Promise.resolve().then(()=>a(c));b.resolve(d)}catch(a){a===cR?b.resolve(void 0):b.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class dS{constructor(a){this.grammarElementIdMap=new c5,this.tokenTypeIdMap=new c5,this.grammar=a.Grammar,this.lexer=a.parser.Lexer,this.linker=a.references.Linker}dehydrate(a){return{lexerErrors:a.lexerErrors,lexerReport:a.lexerReport?this.dehydrateLexerReport(a.lexerReport):void 0,parserErrors:a.parserErrors.map(a=>Object.assign(Object.assign({},a),{message:a.message})),value:this.dehydrateAstNode(a.value,this.createDehyrationContext(a.value))}}dehydrateLexerReport(a){return a}createDehyrationContext(a){let b=new Map,c=new Map;for(let c of(0,cm.jm)(a))b.set(c,{});if(a.$cstNode)for(let b of(0,bG.NS)(a.$cstNode))c.set(b,{});return{astNodes:b,cstNodes:c}}dehydrateAstNode(a,b){let c=b.astNodes.get(a);for(let[d,e]of(c.$type=a.$type,c.$containerIndex=a.$containerIndex,c.$containerProperty=a.$containerProperty,void 0!==a.$cstNode&&(c.$cstNode=this.dehydrateCstNode(a.$cstNode,b)),Object.entries(a)))if(!d.startsWith("$"))if(Array.isArray(e)){let a=[];for(let f of(c[d]=a,e))(0,cP.ng)(f)?a.push(this.dehydrateAstNode(f,b)):(0,cP.A_)(f)?a.push(this.dehydrateReference(f,b)):a.push(f)}else(0,cP.ng)(e)?c[d]=this.dehydrateAstNode(e,b):(0,cP.A_)(e)?c[d]=this.dehydrateReference(e,b):void 0!==e&&(c[d]=e);return c}dehydrateReference(a,b){let c={};return c.$refText=a.$refText,a.$refNode&&(c.$refNode=b.cstNodes.get(a.$refNode)),c}dehydrateCstNode(a,b){let c=b.cstNodes.get(a);return(0,cP.br)(a)?c.fullText=a.fullText:c.grammarSource=this.getGrammarElementId(a.grammarSource),c.hidden=a.hidden,c.astNode=b.astNodes.get(a.astNode),(0,cP.mD)(a)?c.content=a.content.map(a=>this.dehydrateCstNode(a,b)):(0,cP.FC)(a)&&(c.tokenType=a.tokenType.name,c.offset=a.offset,c.length=a.length,c.startLine=a.range.start.line,c.startColumn=a.range.start.character,c.endLine=a.range.end.line,c.endColumn=a.range.end.character),c}hydrate(a){let b=a.value,c=this.createHydrationContext(b);return"$cstNode"in b&&this.hydrateCstNode(b.$cstNode,c),{lexerErrors:a.lexerErrors,lexerReport:a.lexerReport,parserErrors:a.parserErrors,value:this.hydrateAstNode(b,c)}}createHydrationContext(a){let b,c=new Map,d=new Map;for(let b of(0,cm.jm)(a))c.set(b,{});if(a.$cstNode)for(let c of(0,bG.NS)(a.$cstNode)){let a;"fullText"in c?b=a=new ct(c.fullText):"content"in c?a=new cr:"tokenType"in c&&(a=this.hydrateCstLeafNode(c)),a&&(d.set(c,a),a.root=b)}return{astNodes:c,cstNodes:d}}hydrateAstNode(a,b){let c=b.astNodes.get(a);for(let[d,e]of(c.$type=a.$type,c.$containerIndex=a.$containerIndex,c.$containerProperty=a.$containerProperty,a.$cstNode&&(c.$cstNode=b.cstNodes.get(a.$cstNode)),Object.entries(a)))if(!d.startsWith("$"))if(Array.isArray(e)){let a=[];for(let f of(c[d]=a,e))(0,cP.ng)(f)?a.push(this.setParent(this.hydrateAstNode(f,b),c)):(0,cP.A_)(f)?a.push(this.hydrateReference(f,c,d,b)):a.push(f)}else(0,cP.ng)(e)?c[d]=this.setParent(this.hydrateAstNode(e,b),c):(0,cP.A_)(e)?c[d]=this.hydrateReference(e,c,d,b):void 0!==e&&(c[d]=e);return c}setParent(a,b){return a.$container=b,a}hydrateReference(a,b,c,d){return this.linker.buildReference(b,c,d.cstNodes.get(a.$refNode),a.$refText)}hydrateCstNode(a,b,c=0){let d=b.cstNodes.get(a);if("number"==typeof a.grammarSource&&(d.grammarSource=this.getGrammarElement(a.grammarSource)),d.astNode=b.astNodes.get(a.astNode),(0,cP.mD)(d))for(let e of a.content){let a=this.hydrateCstNode(e,b,c++);d.content.push(a)}return d}hydrateCstLeafNode(a){let b=this.getTokenType(a.tokenType);return new cq(a.offset,a.length,{start:{line:a.startLine,character:a.startColumn},end:{line:a.endLine,character:a.endColumn}},b,a.hidden)}getTokenType(a){return this.lexer.definition[a]}getGrammarElementId(a){if(a)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(a)}getGrammarElement(a){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(a)}createGrammarElementIdMap(){let a=0;for(let b of(0,cm.jm)(this.grammar))(0,bJ.r1)(b)&&this.grammarElementIdMap.set(b,a++)}}function dT(a){return{documentation:{CommentProvider:a=>new dP(a),DocumentationProvider:a=>new dO(a)},parser:{AsyncParser:a=>new dQ(a),GrammarConfig:a=>(function(a){let b=[];for(let c of a.Grammar.rules)(0,bJ.rE)(c)&&(0,bH.eb)(c)&&(0,bI.lU)((0,bH.S)(c))&&b.push(c.name);return{multilineCommentRules:b,nameRegexp:bG.El}})(a),LangiumParser:a=>{var b;let c,d,e;return d=(b=a).Grammar,e=b.parser.Lexer,(c=cG(d,new cy(b),e.definition)).finalize(),c},CompletionParser:a=>{let b,c,d;return b=a.Grammar,c=a.parser.Lexer,cG(b,d=new cB(a),c.definition),d.finalize(),d},ValueConverter:()=>new cN.d,TokenBuilder:()=>new cM.Q,Lexer:a=>new dv(a),ParserErrorMessageProvider:()=>new cA,LexerErrorMessageProvider:()=>new dt},workspace:{AstNodeLocator:()=>new dm,AstNodeDescriptionProvider:a=>new dk(a),ReferenceDescriptionProvider:a=>new dl(a)},references:{Linker:a=>new c1(a),NameProvider:()=>new c2,ScopeProvider:a=>new dd(a),ScopeComputation:a=>new c6(a),References:a=>new c3(a)},serializer:{Hydrator:a=>new dS(a),JsonSerializer:a=>new df(a)},validation:{DocumentValidator:a=>new di(a),ValidationRegistry:a=>new dh(a)},shared:()=>a.shared}}function dU(a){return{ServiceRegistry:a=>new dg(a),workspace:{LangiumDocuments:a=>new c_(a),LangiumDocumentFactory:a=>new c$(a),DocumentBuilder:a=>new dq(a),IndexManager:a=>new dr(a),WorkspaceManager:a=>new ds(a),FileSystemProvider:b=>a.fileSystemProvider(b),WorkspaceLock:()=>new dR,ConfigurationProvider:a=>new dp(a)}}}},59661:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(86340);let e=function(a,b,c){for(var e=-1,f=a.length;++e<f;){var g=a[e],h=b(g);if(null!=h&&(void 0===i?h==h&&!(0,d.A)(h):c(h,i)))var i=h,j=g}return j}},66526:(a,b,c)=>{c.d(b,{ak:()=>fT,mT:()=>jn,LT:()=>hZ,jr:()=>jp,T6:()=>iW,JG:()=>hN,wL:()=>fL,c$:()=>fO,Y2:()=>fR,$P:()=>fP,Cy:()=>fQ,Pp:()=>fS,BK:()=>fU,PW:()=>hL,my:()=>h0,jk:()=>ip,Sk:()=>hO,G:()=>h_});let d=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d&&!1!==b(a[c],c,a););return a},e=function(a,b,c){for(var d=-1,e=Object(a),f=c(a),g=f.length;g--;){var h=f[++d];if(!1===b(e[h],h,e))break}return a},f=function(a,b){for(var c=-1,d=Array(a);++c<a;)d[c]=b(c);return d};var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J="object"==typeof global&&global&&global.Object===Object&&global,K="object"==typeof self&&self&&self.Object===Object&&self,L=J||K||Function("return this")(),M=L.Symbol,N=Object.prototype,O=N.hasOwnProperty,P=N.toString,Q=M?M.toStringTag:void 0;let R=function(a){var b=O.call(a,Q),c=a[Q];try{a[Q]=void 0;var d=!0}catch(a){}var e=P.call(a);return d&&(b?a[Q]=c:delete a[Q]),e};var S=Object.prototype.toString,T=M?M.toStringTag:void 0;let U=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":T&&T in Object(a)?R(a):S.call(a)},V=function(a){return null!=a&&"object"==typeof a},W=function(a){return V(a)&&"[object Arguments]"==U(a)};var X=Object.prototype,Y=X.hasOwnProperty,Z=X.propertyIsEnumerable,$=W(function(){return arguments}())?W:function(a){return V(a)&&Y.call(a,"callee")&&!Z.call(a,"callee")},_=Array.isArray,aa="object"==typeof exports&&exports&&!exports.nodeType&&exports,ab=aa&&"object"==typeof module&&module&&!module.nodeType&&module,ac=ab&&ab.exports===aa?L.Buffer:void 0;let ad=(ac?ac.isBuffer:void 0)||function(){return!1};var ae=/^(?:0|[1-9]\d*)$/;let af=function(a,b){var c=typeof a;return!!(b=null==b?0x1fffffffffffff:b)&&("number"==c||"symbol"!=c&&ae.test(a))&&a>-1&&a%1==0&&a<b},ag=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=0x1fffffffffffff};var ah={};ah["[object Float32Array]"]=ah["[object Float64Array]"]=ah["[object Int8Array]"]=ah["[object Int16Array]"]=ah["[object Int32Array]"]=ah["[object Uint8Array]"]=ah["[object Uint8ClampedArray]"]=ah["[object Uint16Array]"]=ah["[object Uint32Array]"]=!0,ah["[object Arguments]"]=ah["[object Array]"]=ah["[object ArrayBuffer]"]=ah["[object Boolean]"]=ah["[object DataView]"]=ah["[object Date]"]=ah["[object Error]"]=ah["[object Function]"]=ah["[object Map]"]=ah["[object Number]"]=ah["[object Object]"]=ah["[object RegExp]"]=ah["[object Set]"]=ah["[object String]"]=ah["[object WeakMap]"]=!1;let ai=function(a){return function(b){return a(b)}};var aj="object"==typeof exports&&exports&&!exports.nodeType&&exports,ak=aj&&"object"==typeof module&&module&&!module.nodeType&&module,al=ak&&ak.exports===aj&&J.process,am=function(){try{var a=ak&&ak.require&&ak.require("util").types;if(a)return a;return al&&al.binding&&al.binding("util")}catch(a){}}(),an=am&&am.isTypedArray,ao=an?ai(an):function(a){return V(a)&&ag(a.length)&&!!ah[U(a)]},ap=Object.prototype.hasOwnProperty;let aq=function(a,b){var c=_(a),d=!c&&$(a),e=!c&&!d&&ad(a),g=!c&&!d&&!e&&ao(a),h=c||d||e||g,i=h?f(a.length,String):[],j=i.length;for(var k in a)(b||ap.call(a,k))&&!(h&&("length"==k||e&&("offset"==k||"parent"==k)||g&&("buffer"==k||"byteLength"==k||"byteOffset"==k)||af(k,j)))&&i.push(k);return i};var ar=Object.prototype;let as=function(a){var b=a&&a.constructor;return a===("function"==typeof b&&b.prototype||ar)},at=function(a,b){return function(c){return a(b(c))}};var au=at(Object.keys,Object),av=Object.prototype.hasOwnProperty;let aw=function(a){if(!as(a))return au(a);var b=[];for(var c in Object(a))av.call(a,c)&&"constructor"!=c&&b.push(c);return b},ax=function(a){var b=typeof a;return null!=a&&("object"==b||"function"==b)},ay=function(a){if(!ax(a))return!1;var b=U(a);return"[object Function]"==b||"[object GeneratorFunction]"==b||"[object AsyncFunction]"==b||"[object Proxy]"==b},az=function(a){return null!=a&&ag(a.length)&&!ay(a)},aA=function(a){return az(a)?aq(a):aw(a)};var aB=(n=function(a,b){return a&&e(a,b,aA)},function(a,b){if(null==a)return a;if(!az(a))return n(a,b);for(var c=a.length,d=-1,e=Object(a);++d<c&&!1!==b(e[d],d,e););return a});let aC=function(a){return a},aD=function(a,b){return(_(a)?d:aB)(a,"function"==typeof b?b:aC)},aE=function(a,b){for(var c=-1,d=null==a?0:a.length,e=Array(d);++c<d;)e[c]=b(a[c],c,a);return e},aF=function(a){return null==a?[]:aE(aA(a),function(b){return a[b]})};var aG=L["__core-js_shared__"],aH=(o=/[^.]+$/.exec(aG&&aG.keys&&aG.keys.IE_PROTO||""))?"Symbol(src)_1."+o:"",aI=Function.prototype.toString;let aJ=function(a){if(null!=a){try{return aI.call(a)}catch(a){}try{return a+""}catch(a){}}return""};var aK=/^\[object .+?Constructor\]$/,aL=Object.prototype,aM=Function.prototype.toString,aN=aL.hasOwnProperty,aO=RegExp("^"+aM.call(aN).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let aP=function(a){return!!ax(a)&&(!aH||!(aH in a))&&(ay(a)?aO:aK).test(aJ(a))},aQ=function(a,b){var c=null==a?void 0:a[b];return aP(c)?c:void 0};var aR=aQ(L,"DataView"),aS=aQ(L,"Map"),aT=aQ(L,"Promise"),aU=aQ(L,"Set"),aV=aQ(L,"WeakMap"),aW="[object Map]",aX="[object Promise]",aY="[object Set]",aZ="[object WeakMap]",a$="[object DataView]",a_=aJ(aR),a0=aJ(aS),a1=aJ(aT),a2=aJ(aU),a3=aJ(aV),a4=U;(aR&&a4(new aR(new ArrayBuffer(1)))!=a$||aS&&a4(new aS)!=aW||aT&&a4(aT.resolve())!=aX||aU&&a4(new aU)!=aY||aV&&a4(new aV)!=aZ)&&(a4=function(a){var b=U(a),c="[object Object]"==b?a.constructor:void 0,d=c?aJ(c):"";if(d)switch(d){case a_:return a$;case a0:return aW;case a1:return aX;case a2:return aY;case a3:return aZ}return b});let a5=a4;var a6=Object.prototype.hasOwnProperty;let a7=function(a){if(null==a)return!0;if(az(a)&&(_(a)||"string"==typeof a||"function"==typeof a.splice||ad(a)||ao(a)||$(a)))return!a.length;var b=a5(a);if("[object Map]"==b||"[object Set]"==b)return!a.size;if(as(a))return!aw(a).length;for(var c in a)if(a6.call(a,c))return!1;return!0},a8=function(a,b){return a===b||a!=a&&b!=b},a9=function(a,b){for(var c=a.length;c--;)if(a8(a[c][0],b))return c;return -1};var ba=Array.prototype.splice;function bb(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}bb.prototype.clear=function(){this.__data__=[],this.size=0},bb.prototype.delete=function(a){var b=this.__data__,c=a9(b,a);return!(c<0)&&(c==b.length-1?b.pop():ba.call(b,c,1),--this.size,!0)},bb.prototype.get=function(a){var b=this.__data__,c=a9(b,a);return c<0?void 0:b[c][1]},bb.prototype.has=function(a){return a9(this.__data__,a)>-1},bb.prototype.set=function(a,b){var c=this.__data__,d=a9(c,a);return d<0?(++this.size,c.push([a,b])):c[d][1]=b,this};var bc=aQ(Object,"create"),bd=Object.prototype.hasOwnProperty,be=Object.prototype.hasOwnProperty;function bf(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}bf.prototype.clear=function(){this.__data__=bc?bc(null):{},this.size=0},bf.prototype.delete=function(a){var b=this.has(a)&&delete this.__data__[a];return this.size-=!!b,b},bf.prototype.get=function(a){var b=this.__data__;if(bc){var c=b[a];return"__lodash_hash_undefined__"===c?void 0:c}return bd.call(b,a)?b[a]:void 0},bf.prototype.has=function(a){var b=this.__data__;return bc?void 0!==b[a]:be.call(b,a)},bf.prototype.set=function(a,b){var c=this.__data__;return this.size+=+!this.has(a),c[a]=bc&&void 0===b?"__lodash_hash_undefined__":b,this};let bg=function(a){var b=typeof a;return"string"==b||"number"==b||"symbol"==b||"boolean"==b?"__proto__"!==a:null===a},bh=function(a,b){var c=a.__data__;return bg(b)?c["string"==typeof b?"string":"hash"]:c.map};function bi(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}function bj(a){var b=this.__data__=new bb(a);this.size=b.size}function bk(a){var b=-1,c=null==a?0:a.length;for(this.__data__=new bi;++b<c;)this.add(a[b])}bi.prototype.clear=function(){this.size=0,this.__data__={hash:new bf,map:new(aS||bb),string:new bf}},bi.prototype.delete=function(a){var b=bh(this,a).delete(a);return this.size-=!!b,b},bi.prototype.get=function(a){return bh(this,a).get(a)},bi.prototype.has=function(a){return bh(this,a).has(a)},bi.prototype.set=function(a,b){var c=bh(this,a),d=c.size;return c.set(a,b),this.size+=+(c.size!=d),this},bj.prototype.clear=function(){this.__data__=new bb,this.size=0},bj.prototype.delete=function(a){var b=this.__data__,c=b.delete(a);return this.size=b.size,c},bj.prototype.get=function(a){return this.__data__.get(a)},bj.prototype.has=function(a){return this.__data__.has(a)},bj.prototype.set=function(a,b){var c=this.__data__;if(c instanceof bb){var d=c.__data__;if(!aS||d.length<199)return d.push([a,b]),this.size=++c.size,this;c=this.__data__=new bi(d)}return c.set(a,b),this.size=c.size,this},bk.prototype.add=bk.prototype.push=function(a){return this.__data__.set(a,"__lodash_hash_undefined__"),this},bk.prototype.has=function(a){return this.__data__.has(a)};let bl=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d;)if(b(a[c],c,a))return!0;return!1},bm=function(a,b){return a.has(b)},bn=function(a,b,c,d,e,f){var g=1&c,h=a.length,i=b.length;if(h!=i&&!(g&&i>h))return!1;var j=f.get(a),k=f.get(b);if(j&&k)return j==b&&k==a;var l=-1,m=!0,n=2&c?new bk:void 0;for(f.set(a,b),f.set(b,a);++l<h;){var o=a[l],p=b[l];if(d)var q=g?d(p,o,l,b,a,f):d(o,p,l,a,b,f);if(void 0!==q){if(q)continue;m=!1;break}if(n){if(!bl(b,function(a,b){if(!bm(n,b)&&(o===a||e(o,a,c,d,f)))return n.push(b)})){m=!1;break}}else if(!(o===p||e(o,p,c,d,f))){m=!1;break}}return f.delete(a),f.delete(b),m};var bo=L.Uint8Array;let bp=function(a){var b=-1,c=Array(a.size);return a.forEach(function(a,d){c[++b]=[d,a]}),c},bq=function(a){var b=-1,c=Array(a.size);return a.forEach(function(a){c[++b]=a}),c};var br=M?M.prototype:void 0,bs=br?br.valueOf:void 0;let bt=function(a,b,c,d,e,f,g){switch(c){case"[object DataView]":if(a.byteLength!=b.byteLength||a.byteOffset!=b.byteOffset)break;a=a.buffer,b=b.buffer;case"[object ArrayBuffer]":if(a.byteLength!=b.byteLength||!f(new bo(a),new bo(b)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return a8(+a,+b);case"[object Error]":return a.name==b.name&&a.message==b.message;case"[object RegExp]":case"[object String]":return a==b+"";case"[object Map]":var h=bp;case"[object Set]":var i=1&d;if(h||(h=bq),a.size!=b.size&&!i)break;var j=g.get(a);if(j)return j==b;d|=2,g.set(a,b);var k=bn(h(a),h(b),d,e,f,g);return g.delete(a),k;case"[object Symbol]":if(bs)return bs.call(a)==bs.call(b)}return!1},bu=function(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a},bv=function(a,b,c){var d=b(a);return _(a)?d:bu(d,c(a))},bw=function(a,b){for(var c=-1,d=null==a?0:a.length,e=0,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[e++]=g)}return f},bx=function(){return[]};var by=Object.prototype.propertyIsEnumerable,bz=Object.getOwnPropertySymbols,bA=bz?function(a){return null==a?[]:bw(bz(a=Object(a)),function(b){return by.call(a,b)})}:bx;let bB=function(a){return bv(a,aA,bA)};var bC=Object.prototype.hasOwnProperty;let bD=function(a,b,c,d,e,f){var g=1&c,h=bB(a),i=h.length;if(i!=bB(b).length&&!g)return!1;for(var j=i;j--;){var k=h[j];if(!(g?k in b:bC.call(b,k)))return!1}var l=f.get(a),m=f.get(b);if(l&&m)return l==b&&m==a;var n=!0;f.set(a,b),f.set(b,a);for(var o=g;++j<i;){var p=a[k=h[j]],q=b[k];if(d)var r=g?d(q,p,k,b,a,f):d(p,q,k,a,b,f);if(!(void 0===r?p===q||e(p,q,c,d,f):r)){n=!1;break}o||(o="constructor"==k)}if(n&&!o){var s=a.constructor,t=b.constructor;s!=t&&"constructor"in a&&"constructor"in b&&!("function"==typeof s&&s instanceof s&&"function"==typeof t&&t instanceof t)&&(n=!1)}return f.delete(a),f.delete(b),n};var bE="[object Arguments]",bF="[object Array]",bG="[object Object]",bH=Object.prototype.hasOwnProperty;let bI=function(a,b,c,d,e,f){var g=_(a),h=_(b),i=g?bF:a5(a),j=h?bF:a5(b);i=i==bE?bG:i,j=j==bE?bG:j;var k=i==bG,l=j==bG,m=i==j;if(m&&ad(a)){if(!ad(b))return!1;g=!0,k=!1}if(m&&!k)return f||(f=new bj),g||ao(a)?bn(a,b,c,d,e,f):bt(a,b,i,c,d,e,f);if(!(1&c)){var n=k&&bH.call(a,"__wrapped__"),o=l&&bH.call(b,"__wrapped__");if(n||o){var p=n?a.value():a,q=o?b.value():b;return f||(f=new bj),e(p,q,c,d,f)}}return!!m&&(f||(f=new bj),bD(a,b,c,d,e,f))},bJ=function a(b,c,d,e,f){return b===c||(null!=b&&null!=c&&(V(b)||V(c))?bI(b,c,d,e,a,f):b!=b&&c!=c)},bK=function(a,b,c,d){var e=c.length,f=e,g=!d;if(null==a)return!f;for(a=Object(a);e--;){var h=c[e];if(g&&h[2]?h[1]!==a[h[0]]:!(h[0]in a))return!1}for(;++e<f;){var i=(h=c[e])[0],j=a[i],k=h[1];if(g&&h[2]){if(void 0===j&&!(i in a))return!1}else{var l=new bj;if(d)var m=d(j,k,i,a,b,l);if(!(void 0===m?bJ(k,j,3,d,l):m))return!1}}return!0},bL=function(a){return a==a&&!ax(a)},bM=function(a){for(var b=aA(a),c=b.length;c--;){var d=b[c],e=a[d];b[c]=[d,e,bL(e)]}return b},bN=function(a,b){return function(c){return null!=c&&c[a]===b&&(void 0!==b||a in Object(c))}},bO=function(a){var b=bM(a);return 1==b.length&&b[0][2]?bN(b[0][0],b[0][1]):function(c){return c===a||bK(c,a,b)}},bP=function(a){return"symbol"==typeof a||V(a)&&"[object Symbol]"==U(a)};var bQ=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bR=/^\w*$/;let bS=function(a,b){if(_(a))return!1;var c=typeof a;return!!("number"==c||"symbol"==c||"boolean"==c||null==a||bP(a))||bR.test(a)||!bQ.test(a)||null!=b&&a in Object(b)};function bT(a,b){if("function"!=typeof a||null!=b&&"function"!=typeof b)throw TypeError("Expected a function");var c=function(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;if(f.has(e))return f.get(e);var g=a.apply(this,d);return c.cache=f.set(e,g)||f,g};return c.cache=new(bT.Cache||bi),c}bT.Cache=bi;var bU=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,bV=/\\(\\)?/g,bW=(q=(p=bT(function(a){var b=[];return 46===a.charCodeAt(0)&&b.push(""),a.replace(bU,function(a,c,d,e){b.push(d?e.replace(bV,"$1"):c||a)}),b},function(a){return 500===q.size&&q.clear(),a})).cache,p),bX=1/0,bY=M?M.prototype:void 0,bZ=bY?bY.toString:void 0;let b$=function a(b){if("string"==typeof b)return b;if(_(b))return aE(b,a)+"";if(bP(b))return bZ?bZ.call(b):"";var c=b+"";return"0"==c&&1/b==-bX?"-0":c},b_=function(a,b){return _(a)?a:bS(a,b)?[a]:bW(null==a?"":b$(a))};var b0=1/0;let b1=function(a){if("string"==typeof a||bP(a))return a;var b=a+"";return"0"==b&&1/a==-b0?"-0":b},b2=function(a,b){b=b_(b,a);for(var c=0,d=b.length;null!=a&&c<d;)a=a[b1(b[c++])];return c&&c==d?a:void 0},b3=function(a,b,c){var d=null==a?void 0:b2(a,b);return void 0===d?c:d},b4=function(a,b){return null!=a&&b in Object(a)},b5=function(a,b,c){b=b_(b,a);for(var d=-1,e=b.length,f=!1;++d<e;){var g=b1(b[d]);if(!(f=null!=a&&c(a,g)))break;a=a[g]}return f||++d!=e?f:!!(e=null==a?0:a.length)&&ag(e)&&af(g,e)&&(_(a)||$(a))},b6=function(a){var b;return bS(a)?(b=b1(a),function(a){return null==a?void 0:a[b]}):function(b){return b2(b,a)}},b7=function(a){if("function"==typeof a)return a;if(null==a)return aC;if("object"==typeof a){var b,c;return _(a)?(b=a[0],c=a[1],bS(b)&&bL(c)?bN(b1(b),c):function(a){var d=b3(a,b);return void 0===d&&d===c?null!=a&&b5(a,b,b4):bJ(c,d,3)}):bO(a)}return b6(a)},b8=function(a,b){var c=-1,d=az(a)?Array(a.length):[];return aB(a,function(a,e,f){d[++c]=b(a,e,f)}),d},b9=function(a,b){return(_(a)?aE:b8)(a,b7(b,3))};var ca=Object.prototype.hasOwnProperty;let cb=function(a,b){return null!=a&&ca.call(a,b)},cc=function(a,b){return null!=a&&b5(a,b,cb)};var cd=function(){try{var a=aQ(Object,"defineProperty");return a({},"",{}),a}catch(a){}}();let ce=function(a,b,c){"__proto__"==b&&cd?cd(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c};var cf=Object.prototype.hasOwnProperty;let cg=function(a,b,c){var d=a[b];cf.call(a,b)&&a8(d,c)&&(void 0!==c||b in a)||ce(a,b,c)},ch=function(a,b,c,d){var e=!c;c||(c={});for(var f=-1,g=b.length;++f<g;){var h=b[f],i=d?d(c[h],a[h],h,c,a):void 0;void 0===i&&(i=a[h]),e?ce(c,h,i):cg(c,h,i)}return c},ci=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b};var cj=Object.prototype.hasOwnProperty;let ck=function(a){if(!ax(a))return ci(a);var b=as(a),c=[];for(var d in a)"constructor"==d&&(b||!cj.call(a,d))||c.push(d);return c},cl=function(a){return az(a)?aq(a,!0):ck(a)};var cm="object"==typeof exports&&exports&&!exports.nodeType&&exports,cn=cm&&"object"==typeof module&&module&&!module.nodeType&&module,co=cn&&cn.exports===cm?L.Buffer:void 0,cp=co?co.allocUnsafe:void 0;let cq=function(a,b){if(b)return a.slice();var c=a.length,d=cp?cp(c):new a.constructor(c);return a.copy(d),d},cr=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b};var cs=at(Object.getPrototypeOf,Object),ct=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)bu(b,bA(a)),a=cs(a);return b}:bx;let cu=function(a){return bv(a,cl,ct)};var cv=Object.prototype.hasOwnProperty;let cw=function(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&cv.call(a,"index")&&(c.index=a.index,c.input=a.input),c},cx=function(a){var b=new a.constructor(a.byteLength);return new bo(b).set(new bo(a)),b},cy=function(a,b){var c=b?cx(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.byteLength)};var cz=/\w*$/;let cA=function(a){var b=new a.constructor(a.source,cz.exec(a));return b.lastIndex=a.lastIndex,b};var cB=M?M.prototype:void 0,cC=cB?cB.valueOf:void 0;let cD=function(a,b){var c=b?cx(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)},cE=function(a,b,c){var d=a.constructor;switch(b){case"[object ArrayBuffer]":return cx(a);case"[object Boolean]":case"[object Date]":return new d(+a);case"[object DataView]":return cy(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return cD(a,c);case"[object Map]":case"[object Set]":return new d;case"[object Number]":case"[object String]":return new d(a);case"[object RegExp]":return cA(a);case"[object Symbol]":return cC?Object(cC.call(a)):{}}};var cF=Object.create,cG=function(){function a(){}return function(b){if(!ax(b))return{};if(cF)return cF(b);a.prototype=b;var c=new a;return a.prototype=void 0,c}}(),cH=am&&am.isMap,cI=cH?ai(cH):function(a){return V(a)&&"[object Map]"==a5(a)},cJ=am&&am.isSet,cK=cJ?ai(cJ):function(a){return V(a)&&"[object Set]"==a5(a)},cL="[object Arguments]",cM="[object Function]",cN="[object Object]",cO={};cO[cL]=cO["[object Array]"]=cO["[object ArrayBuffer]"]=cO["[object DataView]"]=cO["[object Boolean]"]=cO["[object Date]"]=cO["[object Float32Array]"]=cO["[object Float64Array]"]=cO["[object Int8Array]"]=cO["[object Int16Array]"]=cO["[object Int32Array]"]=cO["[object Map]"]=cO["[object Number]"]=cO[cN]=cO["[object RegExp]"]=cO["[object Set]"]=cO["[object String]"]=cO["[object Symbol]"]=cO["[object Uint8Array]"]=cO["[object Uint8ClampedArray]"]=cO["[object Uint16Array]"]=cO["[object Uint32Array]"]=!0,cO["[object Error]"]=cO[cM]=cO["[object WeakMap]"]=!1;let cP=function a(b,c,e,f,g,h){var i,j=1&c,k=2&c,l=4&c;if(e&&(i=g?e(b,f,g,h):e(b)),void 0!==i)return i;if(!ax(b))return b;var m=_(b);if(m){if(i=cw(b),!j)return cr(b,i)}else{var n,o,p,q,r,s=a5(b),t=s==cM||"[object GeneratorFunction]"==s;if(ad(b))return cq(b,j);if(s==cN||s==cL||t&&!g){if(i=k||t||"function"!=typeof(n=b).constructor||as(n)?{}:cG(cs(n)),!j)return k?(p=(o=i)&&ch(b,cl(b),o),ch(b,ct(b),p)):(r=(q=i)&&ch(b,aA(b),q),ch(b,bA(b),r))}else{if(!cO[s])return g?b:{};i=cE(b,s,j)}}h||(h=new bj);var u=h.get(b);if(u)return u;h.set(b,i),cK(b)?b.forEach(function(d){i.add(a(d,c,e,d,b,h))}):cI(b)&&b.forEach(function(d,f){i.set(f,a(d,c,e,f,b,h))});var v=l?k?cu:bB:k?cl:aA,w=m?void 0:v(b);return d(w||b,function(d,f){w&&(d=b[f=d]),cg(i,f,a(d,c,e,f,b,h))}),i},cQ=function(a){return cP(a,4)};function cR(a){function b(){}b.prototype=a;let c=new b;function d(){return typeof c.bar}return d(),d(),a}let cS=function(a,b,c){var d=-1,e=a.length;b<0&&(b=-b>e?0:e+b),(c=c>e?e:c)<0&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0;for(var f=Array(e);++d<e;)f[d]=a[d+b];return f};var cT=/\s/;let cU=function(a){for(var b=a.length;b--&&cT.test(a.charAt(b)););return b};var cV=/^\s+/,cW=0/0,cX=/^[-+]0x[0-9a-f]+$/i,cY=/^0b[01]+$/i,cZ=/^0o[0-7]+$/i,c$=parseInt;let c_=function(a){if("number"==typeof a)return a;if(bP(a))return cW;if(ax(a)){var b,c="function"==typeof a.valueOf?a.valueOf():a;a=ax(c)?c+"":c}if("string"!=typeof a)return 0===a?a:+a;a=(b=a)?b.slice(0,cU(b)+1).replace(cV,""):b;var d=cY.test(a);return d||cZ.test(a)?c$(a.slice(2),d?2:8):cX.test(a)?cW:+a};var c0=1/0;let c1=function(a){var b,c=(b=a)?(b=c_(b))===c0||b===-c0?(b<0?-1:1)*17976931348623157e292:b==b?b:0:0===b?b:0,d=c%1;return c==c?d?c-d:c:0},c2=function(a,b,c){var d=null==a?0:a.length;return d?cS(a,(b=c||void 0===b?1:c1(b))<0?0:b,d):[]};var c3="object"==typeof global&&global&&global.Object===Object&&global,c4="object"==typeof self&&self&&self.Object===Object&&self,c5=c3||c4||Function("return this")(),c6=c5.Symbol,c7=Object.prototype,c8=c7.hasOwnProperty,c9=c7.toString,da=c6?c6.toStringTag:void 0;let db=function(a){var b=c8.call(a,da),c=a[da];try{a[da]=void 0;var d=!0}catch(a){}var e=c9.call(a);return d&&(b?a[da]=c:delete a[da]),e};var dc=Object.prototype.toString,dd=c6?c6.toStringTag:void 0;let de=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":dd&&dd in Object(a)?db(a):dc.call(a)};var df=Array.isArray;let dg=function(a){return null!=a&&"object"==typeof a},dh=function(a){return"string"==typeof a||!df(a)&&dg(a)&&"[object String]"==de(a)},di=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d&&!1!==b(a[c],c,a););return a},dj=function(a,b,c){for(var d=-1,e=Object(a),f=c(a),g=f.length;g--;){var h=f[++d];if(!1===b(e[h],h,e))break}return a},dk=function(a,b){for(var c=-1,d=Array(a);++c<a;)d[c]=b(c);return d},dl=function(a){return dg(a)&&"[object Arguments]"==de(a)};var dm=Object.prototype,dn=dm.hasOwnProperty,dp=dm.propertyIsEnumerable,dq=dl(function(){return arguments}())?dl:function(a){return dg(a)&&dn.call(a,"callee")&&!dp.call(a,"callee")},dr="object"==typeof exports&&exports&&!exports.nodeType&&exports,ds=dr&&"object"==typeof module&&module&&!module.nodeType&&module,dt=ds&&ds.exports===dr?c5.Buffer:void 0;let du=(dt?dt.isBuffer:void 0)||function(){return!1};var dv=/^(?:0|[1-9]\d*)$/;let dw=function(a,b){var c=typeof a;return!!(b=null==b?0x1fffffffffffff:b)&&("number"==c||"symbol"!=c&&dv.test(a))&&a>-1&&a%1==0&&a<b},dx=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=0x1fffffffffffff};var dy={};dy["[object Float32Array]"]=dy["[object Float64Array]"]=dy["[object Int8Array]"]=dy["[object Int16Array]"]=dy["[object Int32Array]"]=dy["[object Uint8Array]"]=dy["[object Uint8ClampedArray]"]=dy["[object Uint16Array]"]=dy["[object Uint32Array]"]=!0,dy["[object Arguments]"]=dy["[object Array]"]=dy["[object ArrayBuffer]"]=dy["[object Boolean]"]=dy["[object DataView]"]=dy["[object Date]"]=dy["[object Error]"]=dy["[object Function]"]=dy["[object Map]"]=dy["[object Number]"]=dy["[object Object]"]=dy["[object RegExp]"]=dy["[object Set]"]=dy["[object String]"]=dy["[object WeakMap]"]=!1;let dz=function(a){return function(b){return a(b)}};var dA="object"==typeof exports&&exports&&!exports.nodeType&&exports,dB=dA&&"object"==typeof module&&module&&!module.nodeType&&module,dC=dB&&dB.exports===dA&&c3.process,dD=function(){try{var a=dB&&dB.require&&dB.require("util").types;if(a)return a;return dC&&dC.binding&&dC.binding("util")}catch(a){}}(),dE=dD&&dD.isTypedArray,dF=dE?dz(dE):function(a){return dg(a)&&dx(a.length)&&!!dy[de(a)]},dG=Object.prototype.hasOwnProperty;let dH=function(a,b){var c=df(a),d=!c&&dq(a),e=!c&&!d&&du(a),f=!c&&!d&&!e&&dF(a),g=c||d||e||f,h=g?dk(a.length,String):[],i=h.length;for(var j in a)(b||dG.call(a,j))&&!(g&&("length"==j||e&&("offset"==j||"parent"==j)||f&&("buffer"==j||"byteLength"==j||"byteOffset"==j)||dw(j,i)))&&h.push(j);return h};var dI=Object.prototype;let dJ=function(a){var b=a&&a.constructor;return a===("function"==typeof b&&b.prototype||dI)},dK=function(a,b){return function(c){return a(b(c))}};var dL=dK(Object.keys,Object),dM=Object.prototype.hasOwnProperty;let dN=function(a){if(!dJ(a))return dL(a);var b=[];for(var c in Object(a))dM.call(a,c)&&"constructor"!=c&&b.push(c);return b},dO=function(a){var b=typeof a;return null!=a&&("object"==b||"function"==b)},dP=function(a){if(!dO(a))return!1;var b=de(a);return"[object Function]"==b||"[object GeneratorFunction]"==b||"[object AsyncFunction]"==b||"[object Proxy]"==b},dQ=function(a){return null!=a&&dx(a.length)&&!dP(a)},dR=function(a){return dQ(a)?dH(a):dN(a)};var dS=(r=function(a,b){return a&&dj(a,b,dR)},function(a,b){if(null==a)return a;if(!dQ(a))return r(a,b);for(var c=a.length,d=-1,e=Object(a);++d<c&&!1!==b(e[d],d,e););return a});let dT=function(a){return a},dU=function(a,b){return(df(a)?di:dS)(a,"function"==typeof b?b:dT)};var dV=c5["__core-js_shared__"],dW=(s=/[^.]+$/.exec(dV&&dV.keys&&dV.keys.IE_PROTO||""))?"Symbol(src)_1."+s:"",dX=Function.prototype.toString;let dY=function(a){if(null!=a){try{return dX.call(a)}catch(a){}try{return a+""}catch(a){}}return""};var dZ=/^\[object .+?Constructor\]$/,d$=Object.prototype,d_=Function.prototype.toString,d0=d$.hasOwnProperty,d1=RegExp("^"+d_.call(d0).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let d2=function(a){return!!dO(a)&&(!dW||!(dW in a))&&(dP(a)?d1:dZ).test(dY(a))},d3=function(a,b){var c=null==a?void 0:a[b];return d2(c)?c:void 0};var d4=function(){try{var a=d3(Object,"defineProperty");return a({},"",{}),a}catch(a){}}();let d5=function(a,b,c){"__proto__"==b&&d4?d4(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c},d6=function(a,b){return a===b||a!=a&&b!=b};var d7=Object.prototype.hasOwnProperty;let d8=function(a,b,c){var d=a[b];d7.call(a,b)&&d6(d,c)&&(void 0!==c||b in a)||d5(a,b,c)},d9=function(a,b,c,d){var e=!c;c||(c={});for(var f=-1,g=b.length;++f<g;){var h=b[f],i=d?d(c[h],a[h],h,c,a):void 0;void 0===i&&(i=a[h]),e?d5(c,h,i):d8(c,h,i)}return c},ea=function(a,b,c){switch(c.length){case 0:return a.call(b);case 1:return a.call(b,c[0]);case 2:return a.call(b,c[0],c[1]);case 3:return a.call(b,c[0],c[1],c[2])}return a.apply(b,c)};var eb=Math.max,ec=Date.now,ed=(t=d4?function(a,b){return d4(a,"toString",{configurable:!0,enumerable:!1,value:function(){return b},writable:!0})}:dT,u=0,v=0,function(){var a=ec(),b=16-(a-v);if(v=a,b>0){if(++u>=800)return arguments[0]}else u=0;return t.apply(void 0,arguments)});let ee=function(a,b,c){if(!dO(c))return!1;var d=typeof b;return("number"==d?!!(dQ(c)&&dw(b,c.length)):"string"==d&&b in c)&&d6(c[b],a)};var ef=Object.prototype.hasOwnProperty,eg=(w=function(a,b){if(dJ(b)||dQ(b))return void d9(b,dR(b),a);for(var c in b)ef.call(b,c)&&d8(a,c,b[c])},ed((g=function(a,b){var c=-1,d=b.length,e=d>1?b[d-1]:void 0,f=d>2?b[2]:void 0;for(e=w.length>3&&"function"==typeof e?(d--,e):void 0,f&&ee(b[0],b[1],f)&&(e=d<3?void 0:e,d=1),a=Object(a);++c<d;){var g=b[c];g&&w(a,g,c,e)}return a},i=eb(void 0===(i=h)?g.length-1:i,0),function(){for(var a=arguments,b=-1,c=eb(a.length-i,0),d=Array(c);++b<c;)d[b]=a[i+b];b=-1;for(var e=Array(i+1);++b<i;)e[b]=a[b];return e[i]=dT(d),ea(g,this,e)}),g+""));let eh=function(a,b){for(var c=-1,d=null==a?0:a.length,e=Array(d);++c<d;)e[c]=b(a[c],c,a);return e},ei=function(a,b){for(var c=a.length;c--;)if(d6(a[c][0],b))return c;return -1};var ej=Array.prototype.splice;function ek(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}ek.prototype.clear=function(){this.__data__=[],this.size=0},ek.prototype.delete=function(a){var b=this.__data__,c=ei(b,a);return!(c<0)&&(c==b.length-1?b.pop():ej.call(b,c,1),--this.size,!0)},ek.prototype.get=function(a){var b=this.__data__,c=ei(b,a);return c<0?void 0:b[c][1]},ek.prototype.has=function(a){return ei(this.__data__,a)>-1},ek.prototype.set=function(a,b){var c=this.__data__,d=ei(c,a);return d<0?(++this.size,c.push([a,b])):c[d][1]=b,this};var el=d3(c5,"Map"),em=d3(Object,"create"),en=Object.prototype.hasOwnProperty,eo=Object.prototype.hasOwnProperty;function ep(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}ep.prototype.clear=function(){this.__data__=em?em(null):{},this.size=0},ep.prototype.delete=function(a){var b=this.has(a)&&delete this.__data__[a];return this.size-=!!b,b},ep.prototype.get=function(a){var b=this.__data__;if(em){var c=b[a];return"__lodash_hash_undefined__"===c?void 0:c}return en.call(b,a)?b[a]:void 0},ep.prototype.has=function(a){var b=this.__data__;return em?void 0!==b[a]:eo.call(b,a)},ep.prototype.set=function(a,b){var c=this.__data__;return this.size+=+!this.has(a),c[a]=em&&void 0===b?"__lodash_hash_undefined__":b,this};let eq=function(a){var b=typeof a;return"string"==b||"number"==b||"symbol"==b||"boolean"==b?"__proto__"!==a:null===a},er=function(a,b){var c=a.__data__;return eq(b)?c["string"==typeof b?"string":"hash"]:c.map};function es(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}function et(a){var b=this.__data__=new ek(a);this.size=b.size}function eu(a){var b=-1,c=null==a?0:a.length;for(this.__data__=new es;++b<c;)this.add(a[b])}es.prototype.clear=function(){this.size=0,this.__data__={hash:new ep,map:new(el||ek),string:new ep}},es.prototype.delete=function(a){var b=er(this,a).delete(a);return this.size-=!!b,b},es.prototype.get=function(a){return er(this,a).get(a)},es.prototype.has=function(a){return er(this,a).has(a)},es.prototype.set=function(a,b){var c=er(this,a),d=c.size;return c.set(a,b),this.size+=+(c.size!=d),this},et.prototype.clear=function(){this.__data__=new ek,this.size=0},et.prototype.delete=function(a){var b=this.__data__,c=b.delete(a);return this.size=b.size,c},et.prototype.get=function(a){return this.__data__.get(a)},et.prototype.has=function(a){return this.__data__.has(a)},et.prototype.set=function(a,b){var c=this.__data__;if(c instanceof ek){var d=c.__data__;if(!el||d.length<199)return d.push([a,b]),this.size=++c.size,this;c=this.__data__=new es(d)}return c.set(a,b),this.size=c.size,this},eu.prototype.add=eu.prototype.push=function(a){return this.__data__.set(a,"__lodash_hash_undefined__"),this},eu.prototype.has=function(a){return this.__data__.has(a)};let ev=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d;)if(b(a[c],c,a))return!0;return!1},ew=function(a,b,c,d,e,f){var g=1&c,h=a.length,i=b.length;if(h!=i&&!(g&&i>h))return!1;var j=f.get(a),k=f.get(b);if(j&&k)return j==b&&k==a;var l=-1,m=!0,n=2&c?new eu:void 0;for(f.set(a,b),f.set(b,a);++l<h;){var o=a[l],p=b[l];if(d)var q=g?d(p,o,l,b,a,f):d(o,p,l,a,b,f);if(void 0!==q){if(q)continue;m=!1;break}if(n){if(!ev(b,function(a,b){if(!n.has(b)&&(o===a||e(o,a,c,d,f)))return n.push(b)})){m=!1;break}}else if(!(o===p||e(o,p,c,d,f))){m=!1;break}}return f.delete(a),f.delete(b),m};var ex=c5.Uint8Array;let ey=function(a){var b=-1,c=Array(a.size);return a.forEach(function(a,d){c[++b]=[d,a]}),c},ez=function(a){var b=-1,c=Array(a.size);return a.forEach(function(a){c[++b]=a}),c};var eA=c6?c6.prototype:void 0,eB=eA?eA.valueOf:void 0;let eC=function(a,b,c,d,e,f,g){switch(c){case"[object DataView]":if(a.byteLength!=b.byteLength||a.byteOffset!=b.byteOffset)break;a=a.buffer,b=b.buffer;case"[object ArrayBuffer]":if(a.byteLength!=b.byteLength||!f(new ex(a),new ex(b)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return d6(+a,+b);case"[object Error]":return a.name==b.name&&a.message==b.message;case"[object RegExp]":case"[object String]":return a==b+"";case"[object Map]":var h=ey;case"[object Set]":var i=1&d;if(h||(h=ez),a.size!=b.size&&!i)break;var j=g.get(a);if(j)return j==b;d|=2,g.set(a,b);var k=ew(h(a),h(b),d,e,f,g);return g.delete(a),k;case"[object Symbol]":if(eB)return eB.call(a)==eB.call(b)}return!1},eD=function(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a},eE=function(a,b,c){var d=b(a);return df(a)?d:eD(d,c(a))},eF=function(a,b){for(var c=-1,d=null==a?0:a.length,e=0,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[e++]=g)}return f},eG=function(){return[]};var eH=Object.prototype.propertyIsEnumerable,eI=Object.getOwnPropertySymbols,eJ=eI?function(a){return null==a?[]:eF(eI(a=Object(a)),function(b){return eH.call(a,b)})}:eG;let eK=function(a){return eE(a,dR,eJ)};var eL=Object.prototype.hasOwnProperty;let eM=function(a,b,c,d,e,f){var g=1&c,h=eK(a),i=h.length;if(i!=eK(b).length&&!g)return!1;for(var j=i;j--;){var k=h[j];if(!(g?k in b:eL.call(b,k)))return!1}var l=f.get(a),m=f.get(b);if(l&&m)return l==b&&m==a;var n=!0;f.set(a,b),f.set(b,a);for(var o=g;++j<i;){var p=a[k=h[j]],q=b[k];if(d)var r=g?d(q,p,k,b,a,f):d(p,q,k,a,b,f);if(!(void 0===r?p===q||e(p,q,c,d,f):r)){n=!1;break}o||(o="constructor"==k)}if(n&&!o){var s=a.constructor,t=b.constructor;s!=t&&"constructor"in a&&"constructor"in b&&!("function"==typeof s&&s instanceof s&&"function"==typeof t&&t instanceof t)&&(n=!1)}return f.delete(a),f.delete(b),n};var eN=d3(c5,"DataView"),eO=d3(c5,"Promise"),eP=d3(c5,"Set"),eQ=d3(c5,"WeakMap"),eR="[object Map]",eS="[object Promise]",eT="[object Set]",eU="[object WeakMap]",eV="[object DataView]",eW=dY(eN),eX=dY(el),eY=dY(eO),eZ=dY(eP),e$=dY(eQ),e_=de;(eN&&e_(new eN(new ArrayBuffer(1)))!=eV||el&&e_(new el)!=eR||eO&&e_(eO.resolve())!=eS||eP&&e_(new eP)!=eT||eQ&&e_(new eQ)!=eU)&&(e_=function(a){var b=de(a),c="[object Object]"==b?a.constructor:void 0,d=c?dY(c):"";if(d)switch(d){case eW:return eV;case eX:return eR;case eY:return eS;case eZ:return eT;case e$:return eU}return b});let e0=e_;var e1="[object Arguments]",e2="[object Array]",e3="[object Object]",e4=Object.prototype.hasOwnProperty;let e5=function(a,b,c,d,e,f){var g=df(a),h=df(b),i=g?e2:e0(a),j=h?e2:e0(b);i=i==e1?e3:i,j=j==e1?e3:j;var k=i==e3,l=j==e3,m=i==j;if(m&&du(a)){if(!du(b))return!1;g=!0,k=!1}if(m&&!k)return f||(f=new et),g||dF(a)?ew(a,b,c,d,e,f):eC(a,b,i,c,d,e,f);if(!(1&c)){var n=k&&e4.call(a,"__wrapped__"),o=l&&e4.call(b,"__wrapped__");if(n||o){var p=n?a.value():a,q=o?b.value():b;return f||(f=new et),e(p,q,c,d,f)}}return!!m&&(f||(f=new et),eM(a,b,c,d,e,f))},e6=function a(b,c,d,e,f){return b===c||(null!=b&&null!=c&&(dg(b)||dg(c))?e5(b,c,d,e,a,f):b!=b&&c!=c)},e7=function(a,b,c,d){var e=c.length,f=e,g=!d;if(null==a)return!f;for(a=Object(a);e--;){var h=c[e];if(g&&h[2]?h[1]!==a[h[0]]:!(h[0]in a))return!1}for(;++e<f;){var i=(h=c[e])[0],j=a[i],k=h[1];if(g&&h[2]){if(void 0===j&&!(i in a))return!1}else{var l=new et;if(d)var m=d(j,k,i,a,b,l);if(!(void 0===m?e6(k,j,3,d,l):m))return!1}}return!0},e8=function(a){return a==a&&!dO(a)},e9=function(a){for(var b=dR(a),c=b.length;c--;){var d=b[c],e=a[d];b[c]=[d,e,e8(e)]}return b},fa=function(a,b){return function(c){return null!=c&&c[a]===b&&(void 0!==b||a in Object(c))}},fb=function(a){var b=e9(a);return 1==b.length&&b[0][2]?fa(b[0][0],b[0][1]):function(c){return c===a||e7(c,a,b)}},fc=function(a){return"symbol"==typeof a||dg(a)&&"[object Symbol]"==de(a)};var fd=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fe=/^\w*$/;let ff=function(a,b){if(df(a))return!1;var c=typeof a;return!!("number"==c||"symbol"==c||"boolean"==c||null==a||fc(a))||fe.test(a)||!fd.test(a)||null!=b&&a in Object(b)};function fg(a,b){if("function"!=typeof a||null!=b&&"function"!=typeof b)throw TypeError("Expected a function");var c=function(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;if(f.has(e))return f.get(e);var g=a.apply(this,d);return c.cache=f.set(e,g)||f,g};return c.cache=new(fg.Cache||es),c}fg.Cache=es;var fh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fi=/\\(\\)?/g,fj=(y=(x=fg(function(a){var b=[];return 46===a.charCodeAt(0)&&b.push(""),a.replace(fh,function(a,c,d,e){b.push(d?e.replace(fi,"$1"):c||a)}),b},function(a){return 500===y.size&&y.clear(),a})).cache,x),fk=1/0,fl=c6?c6.prototype:void 0,fm=fl?fl.toString:void 0;let fn=function a(b){if("string"==typeof b)return b;if(df(b))return eh(b,a)+"";if(fc(b))return fm?fm.call(b):"";var c=b+"";return"0"==c&&1/b==-fk?"-0":c},fo=function(a,b){return df(a)?a:ff(a,b)?[a]:fj(null==a?"":fn(a))};var fp=1/0;let fq=function(a){if("string"==typeof a||fc(a))return a;var b=a+"";return"0"==b&&1/a==-fp?"-0":b},fr=function(a,b){b=fo(b,a);for(var c=0,d=b.length;null!=a&&c<d;)a=a[fq(b[c++])];return c&&c==d?a:void 0},fs=function(a,b,c){var d=null==a?void 0:fr(a,b);return void 0===d?c:d},ft=function(a,b){return null!=a&&b in Object(a)},fu=function(a,b,c){b=fo(b,a);for(var d=-1,e=b.length,f=!1;++d<e;){var g=fq(b[d]);if(!(f=null!=a&&c(a,g)))break;a=a[g]}return f||++d!=e?f:!!(e=null==a?0:a.length)&&dx(e)&&dw(g,e)&&(df(a)||dq(a))},fv=function(a){var b;return ff(a)?(b=fq(a),function(a){return null==a?void 0:a[b]}):function(b){return fr(b,a)}},fw=function(a){if("function"==typeof a)return a;if(null==a)return dT;if("object"==typeof a){var b,c;return df(a)?(b=a[0],c=a[1],ff(b)&&e8(c)?fa(fq(b),c):function(a){var d=fs(a,b);return void 0===d&&d===c?null!=a&&fu(a,b,ft):e6(c,d,3)}):fb(a)}return fv(a)},fx=function(a,b,c,d){if(!dO(a))return a;b=fo(b,a);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=fq(b[e]),j=c;if("__proto__"===i||"constructor"===i||"prototype"===i)break;if(e!=g){var k=h[i];void 0===(j=d?d(k,i,h):void 0)&&(j=dO(k)?k:dw(b[e+1])?[]:{})}d8(h,i,j),h=h[i]}return a},fy=function(a,b,c){for(var d=-1,e=b.length,f={};++d<e;){var g=b[d],h=fr(a,g);c(h,g)&&fx(f,fo(g,a),h)}return f};var fz=dK(Object.getPrototypeOf,Object),fA=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)eD(b,eJ(a)),a=fz(a);return b}:eG;let fB=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b};var fC=Object.prototype.hasOwnProperty;let fD=function(a){if(!dO(a))return fB(a);var b=dJ(a),c=[];for(var d in a)"constructor"==d&&(b||!fC.call(a,d))||c.push(d);return c},fE=function(a){return dQ(a)?dH(a,!0):fD(a)},fF=function(a,b){if(null==a)return{};var c=eh(eE(a,fE,fA),function(a){return[a]});return b=fw(b),fy(a,c,function(a,c){return b(a,c[0])})},fG=function(a,b){var c=-1,d=dQ(a)?Array(a.length):[];return dS(a,function(a,e,f){d[++c]=b(a,e,f)}),d},fH=function(a,b){return(df(a)?eh:fG)(a,fw(b,3))};var fI=dD&&dD.isRegExp,fJ=fI?dz(fI):function(a){return dg(a)&&"[object RegExp]"==de(a)};class fK{get definition(){return this._definition}set definition(a){this._definition=a}constructor(a){this._definition=a}accept(a){a.visit(this),dU(this.definition,b=>{b.accept(a)})}}class fL extends fK{constructor(a){super([]),this.idx=1,eg(this,fF(a,a=>void 0!==a))}set definition(a){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(a){a.visit(this)}}class fM extends fK{constructor(a){super(a.definition),this.orgText="",eg(this,fF(a,a=>void 0!==a))}}class fN extends fK{constructor(a){super(a.definition),this.ignoreAmbiguities=!1,eg(this,fF(a,a=>void 0!==a))}}class fO extends fK{constructor(a){super(a.definition),this.idx=1,eg(this,fF(a,a=>void 0!==a))}}class fP extends fK{constructor(a){super(a.definition),this.idx=1,eg(this,fF(a,a=>void 0!==a))}}class fQ extends fK{constructor(a){super(a.definition),this.idx=1,eg(this,fF(a,a=>void 0!==a))}}class fR extends fK{constructor(a){super(a.definition),this.idx=1,eg(this,fF(a,a=>void 0!==a))}}class fS extends fK{constructor(a){super(a.definition),this.idx=1,eg(this,fF(a,a=>void 0!==a))}}class fT extends fK{get definition(){return this._definition}set definition(a){this._definition=a}constructor(a){super(a.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,eg(this,fF(a,a=>void 0!==a))}}class fU{constructor(a){this.idx=1,eg(this,fF(a,a=>void 0!==a))}accept(a){a.visit(this)}}class fV{visit(a){switch(a.constructor){case fL:return this.visitNonTerminal(a);case fN:return this.visitAlternative(a);case fO:return this.visitOption(a);case fP:return this.visitRepetitionMandatory(a);case fQ:return this.visitRepetitionMandatoryWithSeparator(a);case fS:return this.visitRepetitionWithSeparator(a);case fR:return this.visitRepetition(a);case fT:return this.visitAlternation(a);case fU:return this.visitTerminal(a);case fM:return this.visitRule(a);default:throw Error("non exhaustive match")}}visitNonTerminal(a){}visitAlternative(a){}visitOption(a){}visitRepetition(a){}visitRepetitionMandatory(a){}visitRepetitionMandatoryWithSeparator(a){}visitRepetitionWithSeparator(a){}visitAlternation(a){}visitTerminal(a){}visitRule(a){}}let fW=function(a,b){var c;return dS(a,function(a,d,e){return!(c=b(a,d,e))}),!!c},fX=function(a,b,c){var d=df(a)?ev:fW;return c&&ee(a,b,c)&&(b=void 0),d(a,fw(b,3))},fY=function(a,b,c,d){for(var e=a.length,f=c+(d?1:-1);d?f--:++f<e;)if(b(a[f],f,a))return f;return -1},fZ=function(a){return a!=a},f$=function(a,b,c){for(var d=c-1,e=a.length;++d<e;)if(a[d]===b)return d;return -1};var f_=/\s/;let f0=function(a){for(var b=a.length;b--&&f_.test(a.charAt(b)););return b};var f1=/^\s+/,f2=0/0,f3=/^[-+]0x[0-9a-f]+$/i,f4=/^0b[01]+$/i,f5=/^0o[0-7]+$/i,f6=parseInt;let f7=function(a){if("number"==typeof a)return a;if(fc(a))return f2;if(dO(a)){var b,c="function"==typeof a.valueOf?a.valueOf():a;a=dO(c)?c+"":c}if("string"!=typeof a)return 0===a?a:+a;a=(b=a)?b.slice(0,f0(b)+1).replace(f1,""):b;var d=f4.test(a);return d||f5.test(a)?f6(a.slice(2),d?2:8):f3.test(a)?f2:+a};var f8=1/0;let f9=function(a){var b,c=(b=a)?(b=f7(b))===f8||b===-f8?(b<0?-1:1)*17976931348623157e292:b==b?b:0:0===b?b:0,d=c%1;return c==c?d?c-d:c:0},ga=function(a){return null==a?[]:eh(dR(a),function(b){return a[b]})};var gb=Math.max;let gc=function(a,b,c,d){a=dQ(a)?a:ga(a),c=c&&!d?f9(c):0;var e,f,g=a.length;return c<0&&(c=gb(g+c,0)),dh(a)?c<=g&&a.indexOf(b,c)>-1:!!g&&(e=a,f=c,(b==b?f$(e,b,f):fY(e,fZ,f))>-1)},gd=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d;)if(!b(a[c],c,a))return!1;return!0},ge=function(a,b){var c=!0;return dS(a,function(a,d,e){return c=!!b(a,d,e)}),c},gf=function(a,b,c){var d=df(a)?gd:ge;return c&&ee(a,b,c)&&(b=void 0),d(a,fw(b,3))};function gg(a,b=[]){return a instanceof fO||a instanceof fR||a instanceof fS||(a instanceof fT?fX(a.definition,a=>gg(a,b)):!(a instanceof fL&&gc(b,a))&&a instanceof fK&&(a instanceof fL&&b.push(a),gf(a.definition,a=>gg(a,b))))}function gh(a){if(a instanceof fL)return"SUBRULE";if(a instanceof fO)return"OPTION";if(a instanceof fT)return"OR";if(a instanceof fP)return"AT_LEAST_ONE";if(a instanceof fQ)return"AT_LEAST_ONE_SEP";else if(a instanceof fS)return"MANY_SEP";else if(a instanceof fR)return"MANY";else if(a instanceof fU)return"CONSUME";else throw Error("non exhaustive match")}class gi{walk(a,b=[]){aD(a.definition,(c,d)=>{let e=c2(a.definition,d+1);if(c instanceof fL)this.walkProdRef(c,e,b);else if(c instanceof fU)this.walkTerminal(c,e,b);else if(c instanceof fN)this.walkFlat(c,e,b);else if(c instanceof fO)this.walkOption(c,e,b);else if(c instanceof fP)this.walkAtLeastOne(c,e,b);else if(c instanceof fQ)this.walkAtLeastOneSep(c,e,b);else if(c instanceof fS)this.walkManySep(c,e,b);else if(c instanceof fR)this.walkMany(c,e,b);else if(c instanceof fT)this.walkOr(c,e,b);else throw Error("non exhaustive match")})}walkTerminal(a,b,c){}walkProdRef(a,b,c){}walkFlat(a,b,c){let d=b.concat(c);this.walk(a,d)}walkOption(a,b,c){let d=b.concat(c);this.walk(a,d)}walkAtLeastOne(a,b,c){let d=[new fO({definition:a.definition})].concat(b,c);this.walk(a,d)}walkAtLeastOneSep(a,b,c){let d=gj(a,b,c);this.walk(a,d)}walkMany(a,b,c){let d=[new fO({definition:a.definition})].concat(b,c);this.walk(a,d)}walkManySep(a,b,c){let d=gj(a,b,c);this.walk(a,d)}walkOr(a,b,c){let d=b.concat(c);aD(a.definition,a=>{let b=new fN({definition:[a]});this.walk(b,d)})}}function gj(a,b,c){return[new fO({definition:[new fU({terminalType:a.separator})].concat(a.definition)})].concat(b,c)}let gk=function(a,b,c,d){for(var e=a.length,f=c+(d?1:-1);d?f--:++f<e;)if(b(a[f],f,a))return f;return -1},gl=function(a){return a!=a},gm=function(a,b,c){for(var d=c-1,e=a.length;++d<e;)if(a[d]===b)return d;return -1},gn=function(a,b,c){return b==b?gm(a,b,c):gk(a,gl,c)},go=function(a,b){return!!(null==a?0:a.length)&&gn(a,b,0)>-1},gp=function(a,b,c){for(var d=-1,e=null==a?0:a.length;++d<e;)if(c(b,a[d]))return!0;return!1},gq=function(){};var gr=aU&&1/bq(new aU([,-0]))[1]==1/0?function(a){return new aU(a)}:gq;let gs=function(a,b,c){var d=-1,e=go,f=a.length,g=!0,h=[],i=h;if(c)g=!1,e=gp;else if(f>=200){var j=b?null:gr(a);if(j)return bq(j);g=!1,e=bm,i=new bk}else i=b?[]:h;a:for(;++d<f;){var k=a[d],l=b?b(k):k;if(k=c||0!==k?k:0,g&&l==l){for(var m=i.length;m--;)if(i[m]===l)continue a;b&&i.push(l),h.push(k)}else e(i,l,c)||(i!==h&&i.push(l),h.push(k))}return h},gt=function(a){return a&&a.length?gs(a):[]};var gu=M?M.isConcatSpreadable:void 0;let gv=function(a){return _(a)||$(a)||!!(gu&&a&&a[gu])},gw=function a(b,c,d,e,f){var g=-1,h=b.length;for(d||(d=gv),f||(f=[]);++g<h;){var i=b[g];c>0&&d(i)?c>1?a(i,c-1,d,e,f):bu(f,i):e||(f[f.length]=i)}return f},gx=function(a){return(null==a?0:a.length)?gw(a,1):[]};function gy(a){if(a instanceof fL)return gy(a.referencedRule);if(a instanceof fU)return[a.terminalType];if(a instanceof fN||a instanceof fO||a instanceof fR||a instanceof fP||a instanceof fQ||a instanceof fS||a instanceof fU||a instanceof fM)return function(a){let b,c=[],d=a.definition,e=0,f=d.length>e,g=!0;for(;f&&g;)g=gg(b=d[e]),c=c.concat(gy(b)),e+=1,f=d.length>e;return gt(c)}(a);if(a instanceof fT)return gt(gx(b9(a.definition,a=>gy(a))));throw Error("non exhaustive match")}let gz=function(a,b,c){switch(c.length){case 0:return a.call(b);case 1:return a.call(b,c[0]);case 2:return a.call(b,c[0],c[1]);case 3:return a.call(b,c[0],c[1],c[2])}return a.apply(b,c)};var gA=Math.max,gB=Date.now,gC=(z=cd?function(a,b){return cd(a,"toString",{configurable:!0,enumerable:!1,value:function(){return b},writable:!0})}:aC,A=0,B=0,function(){var a=gB(),b=16-(a-B);if(B=a,b>0){if(++A>=800)return arguments[0]}else A=0;return z.apply(void 0,arguments)});let gD=function(a,b){var c;return gC((c=gA(void 0===(c=b)?a.length-1:c,0),function(){for(var b=arguments,d=-1,e=gA(b.length-c,0),f=Array(e);++d<e;)f[d]=b[c+d];d=-1;for(var g=Array(c+1);++d<c;)g[d]=b[d];return g[c]=aC(f),gz(a,this,g)}),a+"")},gE=function(a,b,c){if(!ax(c))return!1;var d=typeof b;return("number"==d?!!(az(c)&&af(b,c.length)):"string"==d&&b in c)&&a8(c[b],a)};var gF=Object.prototype.hasOwnProperty,gG=(C=function(a,b){if(as(b)||az(b))return void ch(b,aA(b),a);for(var c in b)gF.call(b,c)&&cg(a,c,b[c])},gD(function(a,b){var c=-1,d=b.length,e=d>1?b[d-1]:void 0,f=d>2?b[2]:void 0;for(e=C.length>3&&"function"==typeof e?(d--,e):void 0,f&&gE(b[0],b[1],f)&&(e=d<3?void 0:e,d=1),a=Object(a);++c<d;){var g=b[c];g&&C(a,g,c,e)}return a}));let gH="_~IN~_";class gI extends gi{constructor(a){super(),this.topProd=a,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(a,b,c){}walkProdRef(a,b,c){var d,e;let f=(d=a.referencedRule,e=a.idx,d.name+e+gH+this.topProd.name),g=gy(new fN({definition:b.concat(c)}));this.follows[f]=g}}let gJ=function(a){return"string"==typeof a||!_(a)&&V(a)&&"[object String]"==U(a)},gK=function(a){return void 0===a};var gL=c(21785),gM=Object.prototype,gN=gM.hasOwnProperty,gO=gD(function(a,b){a=Object(a);var c=-1,d=b.length,e=d>2?b[2]:void 0;for(e&&gE(b[0],b[1],e)&&(d=1);++c<d;)for(var f=b[c],g=cl(f),h=-1,i=g.length;++h<i;){var j=g[h],k=a[j];(void 0===k||a8(k,gM[j])&&!gN.call(a,j))&&(a[j]=f[j])}return a});let gP=function(a,b){var c=[];return aB(a,function(a,d,e){b(a,d,e)&&c.push(a)}),c},gQ=function(a){if("function"!=typeof a)throw TypeError("Expected a function");return function(){var b=arguments;switch(b.length){case 0:return!a.call(this);case 1:return!a.call(this,b[0]);case 2:return!a.call(this,b[0],b[1]);case 3:return!a.call(this,b[0],b[1],b[2])}return!a.apply(this,b)}},gR=function(a,b){return(_(a)?bw:gP)(a,gQ(b7(b,3)))};var gS=am&&am.isRegExp,gT=gS?ai(gS):function(a){return V(a)&&"[object RegExp]"==U(a)},gU=Math.max;let gV=function(a,b,c,d){a=az(a)?a:aF(a),c=c&&!d?c1(c):0;var e=a.length;return c<0&&(c=gU(e+c,0)),gJ(a)?c<=e&&a.indexOf(b,c)>-1:!!e&&gn(a,b,c)>-1};var gW=Math.max;let gX=function(a,b,c){var d=null==a?0:a.length;if(!d)return -1;var e=null==c?0:c1(c);return e<0&&(e=gW(d+e,0)),gn(a,b,e)},gY=function(a,b,c,d){var e=-1,f=null==a?0:a.length;for(d&&f&&(c=a[++e]);++e<f;)c=b(c,a[e],e,a);return c},gZ=function(a,b,c,d,e){return e(a,function(a,e,f){c=d?(d=!1,a):b(c,a,e,f)}),c},g$=function(a,b,c){var d=_(a)?gY:gZ,e=arguments.length<3;return d(a,b7(b,4),c,e,aB)},g_=function(a,b){return(_(a)?bw:gP)(a,b7(b,3))},g0=function(a,b,c,d){var e=-1,f=go,g=!0,h=a.length,i=[],j=b.length;if(!h)return i;c&&(b=aE(b,ai(c))),d?(f=gp,g=!1):b.length>=200&&(f=bm,g=!1,b=new bk(b));a:for(;++e<h;){var k=a[e],l=null==c?k:c(k);if(k=d||0!==k?k:0,g&&l==l){for(var m=j;m--;)if(b[m]===l)continue a;i.push(k)}else f(b,l,d)||i.push(k)}return i},g1=function(a){return V(a)&&az(a)};var g2=gD(function(a,b){return g1(a)?g0(a,gw(b,1,g1,!0)):[]});let g3=function(a){for(var b=-1,c=null==a?0:a.length,d=0,e=[];++b<c;){var f=a[b];f&&(e[d++]=f)}return e},g4=function(a){return a&&a.length?a[0]:void 0};var g5=Math.max,g6=(D=function(a,b,c){var d=null==a?0:a.length;if(!d)return -1;var e=null==c?0:c1(c);return e<0&&(e=g5(d+e,0)),gk(a,b7(b,3),e)},function(a,b,c){var d=Object(a);if(!az(a)){var e=b7(b,3);a=aA(a),b=function(a){return e(d[a],a,d)}}var f=D(a,b,c);return f>-1?d[e?a[f]:f]:void 0});function g7(a){console&&console.error&&console.error(`Error: ${a}`)}function g8(a){console&&console.warn&&console.warn(`Warning: ${a}`)}let g9=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d;)if(!b(a[c],c,a))return!1;return!0},ha=function(a,b){var c=!0;return aB(a,function(a,d,e){return c=!!b(a,d,e)}),c},hb=function(a,b,c){var d=_(a)?g9:ha;return c&&gE(a,b,c)&&(b=void 0),d(a,b7(b,3))},hc={},hd=new gL.H;function he(a){let b=a.toString();if(hc.hasOwnProperty(b))return hc[b];{let a=hd.pattern(b);return hc[b]=a,a}}let hf="Complement Sets are not supported for first char optimization",hg='Unable to use "first char" lexer optimizations:\n';function hh(a,b,c){let d=hA(a);b[d]=d,!0===c&&function(a,b){let c=String.fromCharCode(a),d=c.toUpperCase();if(d!==c){let a=hA(d.charCodeAt(0));b[a]=a}else{let a=c.toLowerCase();if(a!==c){let c=hA(a.charCodeAt(0));b[c]=c}}}(a,b)}function hi(a,b){return g6(a.value,a=>"number"==typeof a?gV(b,a):void 0!==g6(b,b=>a.from<=b&&b<=a.to))}class hj extends gL.z{constructor(a){super(),this.targetCharCodes=a,this.found=!1}visitChildren(a){if(!0!==this.found){switch(a.type){case"Lookahead":this.visitLookahead(a);return;case"NegativeLookahead":this.visitNegativeLookahead(a);return}super.visitChildren(a)}}visitCharacter(a){gV(this.targetCharCodes,a.value)&&(this.found=!0)}visitSet(a){a.complement?void 0===hi(a,this.targetCharCodes)&&(this.found=!0):void 0!==hi(a,this.targetCharCodes)&&(this.found=!0)}}function hk(a,b){if(!(b instanceof RegExp))return void 0!==g6(b,b=>gV(a,b.charCodeAt(0)));{let c=he(b),d=new hj(a);return d.visit(c),d.found}}let hl="PATTERN",hm="defaultMode",hn="modes",ho="boolean"==typeof RegExp("(?:)").sticky,hp=/[^\\][$]/,hq=/[^\\[][\^]|^\^/;function hr(a){let b=a.ignoreCase?"i":"";return RegExp(`^(?:${a.source})`,b)}function hs(a){let b=a.ignoreCase?"iy":"y";return RegExp(`${a.source}`,b)}function ht(a){let b=a.PATTERN;if(gT(b))return!1;if(ay(b))return!0;if(cc(b,"exec"))return!0;if(gJ(b))return!1;throw Error("non exhaustive match")}function hu(a){return!!gJ(a)&&1===a.length&&a.charCodeAt(0)}let hv={test:function(a){let b=a.length;for(let c=this.lastIndex;c<b;c++){let b=a.charCodeAt(c);if(10===b)return this.lastIndex=c+1,!0;if(13===b)return 10===a.charCodeAt(c+1)?this.lastIndex=c+2:this.lastIndex=c+1,!0}return!1},lastIndex:0};function hw(a,b){if(cc(a,"LINE_BREAKS"))return!1;if(gT(a.PATTERN)){try{hk(b,a.PATTERN)}catch(a){return{issue:j.IDENTIFY_TERMINATOR,errMsg:a.message}}return!1}if(gJ(a.PATTERN))return!1;if(ht(a))return{issue:j.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function hx(a){return b9(a,a=>gJ(a)?a.charCodeAt(0):a)}function hy(a,b,c){void 0===a[b]?a[b]=[c]:a[b].push(c)}let hz=[];function hA(a){return a<256?a:hz[a]}let hB=function(a){var b=null==a?0:a.length;return b?a[b-1]:void 0};function hC(a){let b=new Date().getTime(),c=a();return{time:new Date().getTime()-b,value:c}}function hD(a,b){let c=a.tokenTypeIdx;return c===b.tokenTypeIdx||!0===b.isParent&&!0===b.categoryMatchesMap[c]}function hE(a,b){return a.tokenTypeIdx===b.tokenTypeIdx}let hF=1,hG={};function hH(a){let b=function(a){let b=cQ(a),c=a,d=!0;for(;d;){let a=g2(c=g3(gx(b9(c,a=>a.CATEGORIES))),b);b=b.concat(a),a7(a)?d=!1:c=a}return b}(a);aD(b,a=>{hI(a)||(hG[hF]=a,a.tokenTypeIdx=hF++),hJ(a)&&!_(a.CATEGORIES)&&(a.CATEGORIES=[a.CATEGORIES]),hJ(a)||(a.CATEGORIES=[]),cc(a,"categoryMatches")||(a.categoryMatches=[]),cc(a,"categoryMatchesMap")||(a.categoryMatchesMap={})}),aD(b,a=>{!function a(b,c){aD(b,a=>{c.categoryMatchesMap[a.tokenTypeIdx]=!0}),aD(c.CATEGORIES,d=>{let e=b.concat(c);gV(e,d)||a(e,d)})}([],a)}),aD(b,a=>{a.categoryMatches=[],aD(a.categoryMatchesMap,(b,c)=>{a.categoryMatches.push(hG[c].tokenTypeIdx)})}),aD(b,a=>{a.isParent=a.categoryMatches.length>0})}function hI(a){return cc(a,"tokenTypeIdx")}function hJ(a){return cc(a,"CATEGORIES")}function hK(a){return cc(a,"tokenTypeIdx")}let hL={buildUnableToPopLexerModeMessage:a=>`Unable to pop Lexer Mode after encountering Token ->${a.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(a,b,c,d,e)=>`unexpected character: ->${a.charAt(b)}<- at offset: ${b}, skipped ${c} characters.`};(E=j||(j={}))[E.MISSING_PATTERN=0]="MISSING_PATTERN",E[E.INVALID_PATTERN=1]="INVALID_PATTERN",E[E.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",E[E.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",E[E.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",E[E.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",E[E.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",E[E.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",E[E.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",E[E.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",E[E.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",E[E.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",E[E.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",E[E.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",E[E.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",E[E.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",E[E.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",E[E.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";let hM={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:hL,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(hM);class hN{constructor(a,b=hM){if(this.lexerDefinition=a,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(a,b)=>{if(!0!==this.traceInitPerf)return b();{this.traceInitIndent++;let c=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${c}--> <${a}>`);let{time:d,value:e}=hC(b),f=d>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&f(`${c}<-- <${a}> time: ${d}ms`),this.traceInitIndent--,e}},"boolean"==typeof b)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=gG({},hM,b);const c=this.config.traceInitPerf;!0===c?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof c&&(this.traceInitMaxIdent=c,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let c,d=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===hM.lineTerminatorsPattern)this.config.lineTerminatorsPattern=hv;else if(this.config.lineTerminatorCharacters===hM.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(b.safeMode&&b.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),_(a)?c={modes:{defaultMode:cQ(a)},defaultMode:hm}:(d=!1,c=cQ(a))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{var a;let b;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((a=c,this.trackStartLines,this.config.lineTerminatorCharacters,b=[],cc(a,hm)||b.push({message:"A MultiMode Lexer cannot be initialized without a <"+hm+"> property in its definition\n",type:j.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),cc(a,hn)||b.push({message:"A MultiMode Lexer cannot be initialized without a <"+hn+"> property in its definition\n",type:j.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),cc(a,hn)&&cc(a,hm)&&!cc(a.modes,a.defaultMode)&&b.push({message:`A MultiMode Lexer cannot be initialized with a ${hm}: <${a.defaultMode}>which does not exist
|
|
7
|
+
`,type:j.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),cc(a,hn)&&aD(a.modes,(a,c)=>{aD(a,(d,e)=>{gK(d)?b.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${c}> at index: <${e}>
|
|
8
|
+
`,type:j.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):cc(d,"LONGER_ALT")&&aD(_(d.LONGER_ALT)?d.LONGER_ALT:[d.LONGER_ALT],e=>{gK(e)||gV(a,e)||b.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${e.name}> on token <${d.name}> outside of mode <${c}>
|
|
9
|
+
`,type:j.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),b))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{var a,b,d;let e,f,g,h;this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat((a=c,b=this.trackStartLines,d=this.config.lineTerminatorCharacters,e=[],f=!1,g=gR(g3(gx(aF(a.modes))),a=>a[hl]===hN.NA),h=hx(d),b&&aD(g,a=>{let b=hw(a,h);if(!1!==b){let c={message:function(a,b){if(b.issue===j.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
10
|
+
The problem is in the <${a.name}> Token Type
|
|
11
|
+
Root cause: ${b.errMsg}.
|
|
12
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(b.issue===j.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
13
|
+
The problem is in the <${a.name}> Token Type
|
|
14
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(a,b),type:b.issue,tokenType:a};e.push(c)}else cc(a,"LINE_BREAKS")?!0===a.LINE_BREAKS&&(f=!0):hk(h,a.PATTERN)&&(f=!0)}),b&&!f&&e.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:j.NO_LINE_BREAKS_FLAGS}),e))})),c.modes=c.modes?c.modes:{},aD(c.modes,(a,b)=>{c.modes[b]=gR(a,a=>gK(a))});let e=aA(c.modes);if(aD(c.modes,(a,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{var b,c,d,f,g,h;let i,k,l,m,n,o,p,q,r,s,t,u;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((i=[],k={errors:b9(n=g_(b=a,a=>!cc(a,hl)),a=>({message:"Token Type: ->"+a.name+"<- missing static 'PATTERN' property",type:j.MISSING_PATTERN,tokenTypes:[a]})),valid:g2(b,n)},i=i.concat(k.errors),m=(l={errors:b9(o=g_(c=k.valid,a=>{let b=a[hl];return!gT(b)&&!ay(b)&&!cc(b,"exec")&&!gJ(b)}),a=>({message:"Token Type: ->"+a.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:j.INVALID_PATTERN,tokenTypes:[a]})),valid:g2(c,o)}).valid,i=(i=(i=(i=(i=i.concat(l.errors)).concat((p=[],q=g_(m,a=>gT(a[hl])),(p=(p=(p=(p=p.concat(function(a){class b extends gL.z{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return b9(g_(a,a=>{let c=a.PATTERN;try{let a=he(c),d=new b;return d.visit(a),d.found}catch(a){return hp.test(c.source)}}),a=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+a.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:j.EOI_ANCHOR_FOUND,tokenTypes:[a]}))}(q))).concat(function(a){class b extends gL.z{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return b9(g_(a,a=>{let c=a.PATTERN;try{let a=he(c),d=new b;return d.visit(a),d.found}catch(a){return hq.test(c.source)}}),a=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+a.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:j.SOI_ANCHOR_FOUND,tokenTypes:[a]}))}(q))).concat(b9(g_(q,a=>{let b=a[hl];return b instanceof RegExp&&(b.multiline||b.global)}),a=>({message:"Token Type: ->"+a.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:j.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[a]})))).concat((r=[],s=b9(d=q,a=>g$(d,(b,c)=>(a.PATTERN.source!==c.PATTERN.source||gV(r,c)||c.PATTERN===hN.NA||(r.push(c),b.push(c)),b),[])),b9(g_(s=g3(s),a=>a.length>1),a=>{let b=b9(a,a=>a.name),c=g4(a).PATTERN;return{message:`The same RegExp pattern ->${c}<-has been used in all of the following Token Types: ${b.join(", ")} <-`,type:j.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})))).concat(b9(g_(q,a=>a.PATTERN.test("")),a=>({message:"Token Type: ->"+a.name+"<- static 'PATTERN' must not match an empty string",type:j.EMPTY_MATCH_PATTERN,tokenTypes:[a]})))))).concat(b9(g_(m,a=>{if(!cc(a,"GROUP"))return!1;let b=a.GROUP;return b!==hN.SKIPPED&&b!==hN.NA&&!gJ(b)}),a=>({message:"Token Type: ->"+a.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:j.INVALID_GROUP_TYPE_FOUND,tokenTypes:[a]})))).concat((f=m,g=e,b9(g_(f,a=>void 0!==a.PUSH_MODE&&!gV(g,a.PUSH_MODE)),a=>({message:`Token Type: ->${a.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${a.PUSH_MODE}<-which does not exist`,type:j.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[a]}))))).concat((t=[],u=g$(h=m,(a,b,c)=>{var d;let e=b.PATTERN;return e===hN.NA||(gJ(e)?a.push({str:e,idx:c,tokenType:b}):gT(e)&&(d=e,void 0===g6([".","\\","[","]","|","^","$","(",")","?","*","+","{"],a=>-1!==d.source.indexOf(a)))&&a.push({str:e.source,idx:c,tokenType:b})),a},[]),aD(h,(a,b)=>{aD(u,({str:c,idx:d,tokenType:e})=>{if(b<d&&function(a,b){if(gT(b)){let c=b.exec(a);return null!==c&&0===c.index}if(ay(b))return b(a,0,[],{});if(cc(b,"exec"))return b.exec(a,0,[],{});if("string"==typeof b)return b===a;throw Error("non exhaustive match")}(c,a.PATTERN)){let b=`Token: ->${e.name}<- can never be matched.
|
|
15
|
+
Because it appears AFTER the Token Type ->${a.name}<-in the lexer's definition.
|
|
16
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:b,type:j.UNREACHABLE_PATTERN,tokenTypes:[a,e]})}})}),t))))}),a7(this.lexerDefinitionErrors)){let d;hH(a),this.TRACE_INIT("analyzeTokenTypes",()=>{var c;let e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;(q=(c=gO(c={lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:b.positionTracking,ensureOptimizations:b.ensureOptimizations,safeMode:b.safeMode,tracer:this.TRACE_INIT},{useSticky:ho,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(a,b)=>b()})).tracer)("initCharCodeToOptimizedIndexMap",()=>{if(a7(hz)){hz=Array(65536);for(let a=0;a<65536;a++)hz[a]=a>255?255+~~(a/255):a}}),q("Reject Lexer.NA",()=>{e=gR(a,a=>a[hl]===hN.NA)}),r=!1,q("Transform Patterns",()=>{r=!1,f=b9(e,a=>{let b=a[hl];if(gT(b)){let a=b.source;return 1!==a.length||"^"===a||"$"===a||"."===a||b.ignoreCase?2!==a.length||"\\"!==a[0]||gV(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],a[1])?c.useSticky?hs(b):hr(b):a[1]:a}if(ay(b))return r=!0,{exec:b};if("object"==typeof b)return r=!0,b;if("string"==typeof b)if(1===b.length)return b;else{let a=new RegExp(b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"));return c.useSticky?hs(a):hr(a)}throw Error("non exhaustive match")})}),q("misc mapping",()=>{g=b9(e,a=>a.tokenTypeIdx),h=b9(e,a=>{let b=a.GROUP;if(b!==hN.SKIPPED){if(gJ(b))return b;if(gK(b))return!1;throw Error("non exhaustive match")}}),i=b9(e,a=>{let b=a.LONGER_ALT;if(b)return _(b)?b9(b,a=>gX(e,a)):[gX(e,b)]}),j=b9(e,a=>a.PUSH_MODE),k=b9(e,a=>cc(a,"POP_MODE"))}),q("Line Terminator Handling",()=>{let a=hx(c.lineTerminatorCharacters);l=b9(e,a=>!1),"onlyOffset"!==c.positionTracking&&(l=b9(e,b=>cc(b,"LINE_BREAKS")?!!b.LINE_BREAKS:!1===hw(b,a)&&hk(a,b.PATTERN)))}),q("Misc Mapping #2",()=>{m=b9(e,ht),n=b9(f,hu),o=g$(e,(a,b)=>{let c=b.GROUP;return gJ(c)&&c!==hN.SKIPPED&&(a[c]=[]),a},{}),p=b9(f,(a,b)=>({pattern:f[b],longerAlt:i[b],canLineTerminator:l[b],isCustom:m[b],short:n[b],group:h[b],push:j[b],pop:k[b],tokenTypeIdx:g[b],tokenType:e[b]}))}),s=!0,t=[],c.safeMode||q("First Char Optimization",()=>{t=g$(e,(a,b,d)=>{if("string"==typeof b.PATTERN)hy(a,hA(b.PATTERN.charCodeAt(0)),p[d]);else if(_(b.START_CHARS_HINT)){let c;aD(b.START_CHARS_HINT,b=>{let e=hA("string"==typeof b?b.charCodeAt(0):b);c!==e&&(c=e,hy(a,e,p[d]))})}else if(gT(b.PATTERN))if(b.PATTERN.unicode)s=!1,c.ensureOptimizations&&g7(`${hg} Unable to analyze < ${b.PATTERN.toString()} > pattern.
|
|
17
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
18
|
+
This will disable the lexer's first char optimizations.
|
|
19
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let e=function(a,b=!1){try{let b=he(a);return function a(b,c,d){switch(b.type){case"Disjunction":for(let e=0;e<b.value.length;e++)a(b.value[e],c,d);break;case"Alternative":let e=b.value;for(let b=0;b<e.length;b++){let f=e[b];switch(f.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(f.type){case"Character":hh(f.value,c,d);break;case"Set":if(!0===f.complement)throw Error(hf);aD(f.value,a=>{if("number"==typeof a)hh(a,c,d);else if(!0===d)for(let b=a.from;b<=a.to;b++)hh(b,c,d);else{for(let b=a.from;b<=a.to&&b<256;b++)hh(b,c,d);if(a.to>=256){let b=a.from>=256?a.from:256,d=a.to,e=hA(b),f=hA(d);for(let a=e;a<=f;a++)c[a]=a}}});break;case"Group":a(f.value,c,d);break;default:throw Error("Non Exhaustive Match")}let g=void 0!==f.quantifier&&0===f.quantifier.atLeast;if("Group"===f.type&&!1===function a(b){let c=b.quantifier;return!!c&&0===c.atLeast||!!b.value&&(_(b.value)?hb(b.value,a):a(b.value))}(f)||"Group"!==f.type&&!1===g)break}break;default:throw Error("non exhaustive match!")}return aF(c)}(b.value,{},b.flags.ignoreCase)}catch(c){if(c.message===hf)b&&g8(`${hg} Unable to optimize: < ${a.toString()} >
|
|
20
|
+
Complement Sets cannot be automatically optimized.
|
|
21
|
+
This will disable the lexer's first char optimizations.
|
|
22
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let c="";b&&(c="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),g7(`${hg}
|
|
23
|
+
Failed parsing: < ${a.toString()} >
|
|
24
|
+
Using the @chevrotain/regexp-to-ast library
|
|
25
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+c)}}return[]}(b.PATTERN,c.ensureOptimizations);a7(e)&&(s=!1),aD(e,b=>{hy(a,b,p[d])})}else c.ensureOptimizations&&g7(`${hg} TokenType: <${b.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
+
This will disable the lexer's first char optimizations.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),s=!1;return a},[])}),d={emptyGroups:o,patternIdxToConfig:p,charCodeToPatternIdxToConfig:t,hasCustom:r,canBeOptimized:s}}),this.patternIdxToConfig[c]=d.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=d.charCodeToPatternIdxToConfig,this.emptyGroups=gG({},this.emptyGroups,d.emptyGroups),this.hasCustom=d.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=d.canBeOptimized}})}),this.defaultMode=c.defaultMode,!a7(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+b9(this.lexerDefinitionErrors,a=>a.message).join("-----------------------\n"));aD(this.lexerDefinitionWarning,a=>{g8(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(ho?(this.chopInput=aC,this.match=this.matchWithTest):(this.updateLastIndex=gq,this.match=this.matchWithExec),d&&(this.handleModes=gq),!1===this.trackStartLines&&(this.computeNewColumn=aC),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=gq),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=g$(this.canModeBeOptimized,(a,b,c)=>(!1===b&&a.push(c),a),[]);if(b.ensureOptimizations&&!a7(a))throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
|
|
28
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
29
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{hc={}}),this.TRACE_INIT("toFastProperties",()=>{cR(this)})})}tokenize(a,b=this.defaultMode){if(!a7(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+b9(this.lexerDefinitionErrors,a=>a.message).join("-----------------------\n"));return this.tokenizeInternal(a,b)}tokenizeInternal(a,b){var c;let d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a,w=v.length,x=0,y=0,z=Array(this.hasCustom?0:Math.floor(a.length/10)),A=[],B=this.trackStartLines?1:void 0,C=this.trackStartLines?1:void 0,D=(c=this.emptyGroups,u={},aD(aA(c),a=>{if(_(c[a]))u[a]=[];else throw Error("non exhaustive match")}),u),E=this.trackStartLines,F=this.config.lineTerminatorsPattern,G=0,H=[],I=[],J=[],K=[];function L(){return H}function M(a){let b=I[hA(a)];return void 0===b?K:b}Object.freeze(K);let N=a=>{if(1===J.length&&void 0===a.tokenType.PUSH_MODE){let b=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(a);A.push({offset:a.startOffset,line:a.startLine,column:a.startColumn,length:a.image.length,message:b})}else{J.pop();let a=hB(J);H=this.patternIdxToConfig[a],I=this.charCodeToPatternIdxToConfig[a],G=H.length;let b=this.canModeBeOptimized[a]&&!1===this.config.safeMode;s=I&&b?M:L}};function O(a){J.push(a),I=this.charCodeToPatternIdxToConfig[a],G=(H=this.patternIdxToConfig[a]).length,G=H.length;let b=this.canModeBeOptimized[a]&&!1===this.config.safeMode;s=I&&b?M:L}O.call(this,b);let P=this.config.recoveryEnabled;for(;x<w;){i=null;let b=v.charCodeAt(x),c=s(b),u=c.length;for(d=0;d<u;d++){let e=(t=c[d]).pattern;j=null;let l=t.short;if(!1!==l?b===l&&(i=e):!0===t.isCustom?null!==(r=e.exec(v,x,z,D))?(i=r[0],void 0!==r.payload&&(j=r.payload)):i=null:(this.updateLastIndex(e,x),i=this.match(e,a,x)),null!==i){if(void 0!==(h=t.longerAlt)){let b=h.length;for(f=0;f<b;f++){let b=H[h[f]],c=b.pattern;if(k=null,!0===b.isCustom?null!==(r=c.exec(v,x,z,D))?(g=r[0],void 0!==r.payload&&(k=r.payload)):g=null:(this.updateLastIndex(c,x),g=this.match(c,a,x)),g&&g.length>i.length){i=g,j=k,t=b;break}}}break}}if(null!==i){if(l=i.length,void 0!==(m=t.group)&&(n=t.tokenTypeIdx,o=this.createTokenInstance(i,x,n,t.tokenType,B,C,l),this.handlePayload(o,j),!1===m?y=this.addToken(z,y,o):D[m].push(o)),a=this.chopInput(a,l),x+=l,C=this.computeNewColumn(C,l),!0===E&&!0===t.canLineTerminator){let a,b,c=0;F.lastIndex=0;do!0===(a=F.test(i))&&(b=F.lastIndex-1,c++);while(!0===a);0!==c&&(B+=c,C=l-b,this.updateTokenEndLineColumnLocation(o,m,b,c,B,C,l))}this.handleModes(t,N,O,o)}else{let b=x,c=B,d=C,f=!1===P;for(;!1===f&&x<w;)for(a=this.chopInput(a,1),x++,e=0;e<G;e++){let b=H[e],c=b.pattern,d=b.short;if(!1!==d?v.charCodeAt(x)===d&&(f=!0):!0===b.isCustom?f=null!==c.exec(v,x,z,D):(this.updateLastIndex(c,x),f=null!==c.exec(a)),!0===f)break}if(p=x-b,C=this.computeNewColumn(C,p),q=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,b,p,c,d),A.push({offset:b,line:c,column:d,length:p,message:q}),!1===P)break}}return this.hasCustom||(z.length=y),{tokens:z,groups:D,errors:A}}handleModes(a,b,c,d){if(!0===a.pop){let e=a.push;b(d),void 0!==e&&c.call(this,e)}else void 0!==a.push&&c.call(this,a.push)}chopInput(a,b){return a.substring(b)}updateLastIndex(a,b){a.lastIndex=b}updateTokenEndLineColumnLocation(a,b,c,d,e,f,g){let h,i;void 0!==b&&(i=(h=c===g-1)?-1:0,(1!==d||!0!==h)&&(a.endLine=e+i,a.endColumn=f-1+-i))}computeNewColumn(a,b){return a+b}createOffsetOnlyToken(a,b,c,d){return{image:a,startOffset:b,tokenTypeIdx:c,tokenType:d}}createStartOnlyToken(a,b,c,d,e,f){return{image:a,startOffset:b,startLine:e,startColumn:f,tokenTypeIdx:c,tokenType:d}}createFullToken(a,b,c,d,e,f,g){return{image:a,startOffset:b,endOffset:b+g-1,startLine:e,endLine:e,startColumn:f,endColumn:f+g-1,tokenTypeIdx:c,tokenType:d}}addTokenUsingPush(a,b,c){return a.push(c),b}addTokenUsingMemberAccess(a,b,c){return a[b]=c,++b}handlePayloadNoCustom(a,b){}handlePayloadWithCustom(a,b){null!==b&&(a.payload=b)}matchWithTest(a,b,c){return!0===a.test(b)?b.substring(c,a.lastIndex):null}matchWithExec(a,b){let c=a.exec(b);return null!==c?c[0]:null}}function hO(a){return hP(a)?a.LABEL:a.name}function hP(a){return gJ(a.LABEL)&&""!==a.LABEL}hN.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",hN.NA=/NOT_APPLICABLE/;let hQ="categories",hR="label",hS="group",hT="push_mode",hU="pop_mode",hV="longer_alt",hW="line_breaks",hX="start_chars_hint";function hY(a){let b=a.pattern,c={};if(c.name=a.name,gK(b)||(c.PATTERN=b),cc(a,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return cc(a,hQ)&&(c.CATEGORIES=a[hQ]),hH([c]),cc(a,hR)&&(c.LABEL=a[hR]),cc(a,hS)&&(c.GROUP=a[hS]),cc(a,hU)&&(c.POP_MODE=a[hU]),cc(a,hT)&&(c.PUSH_MODE=a[hT]),cc(a,hV)&&(c.LONGER_ALT=a[hV]),cc(a,hW)&&(c.LINE_BREAKS=a[hW]),cc(a,hX)&&(c.START_CHARS_HINT=a[hX]),c}let hZ=hY({name:"EOF",pattern:hN.NA});function h$(a,b,c,d,e,f,g,h){return{image:b,startOffset:c,endOffset:d,startLine:e,endLine:f,startColumn:g,endColumn:h,tokenTypeIdx:a.tokenTypeIdx,tokenType:a}}function h_(a,b){return hD(a,b)}hH([hZ]);let h0={buildMismatchTokenMessage({expected:a,actual:b,previous:c,ruleName:d}){let e=hP(a)?`--> ${hO(a)} <--`:`token of type --> ${a.name} <--`;return`Expecting ${e} but found --> '${b.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:a,ruleName:b})=>"Redundant input, expecting EOF but found: "+a.image,buildNoViableAltMessage({expectedPathsPerAlt:a,actual:b,previous:c,customUserDescription:d,ruleName:e}){let f="Expecting: ",g="\nbut found: '"+g4(b).image+"'";if(d)return f+d+g;{let b=b9(g$(a,(a,b)=>a.concat(b),[]),a=>`[${b9(a,a=>hO(a)).join(", ")}]`),c=b9(b,(a,b)=>` ${b+1}. ${a}`);return f+`one of these possible Token sequences:
|
|
30
|
+
${c.join("\n")}`+g}},buildEarlyExitMessage({expectedIterationPaths:a,actual:b,customUserDescription:c,ruleName:d}){let e="Expecting: ",f="\nbut found: '"+g4(b).image+"'";if(c)return e+c+f;{let b=b9(a,a=>`[${b9(a,a=>hO(a)).join(",")}]`);return e+`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
31
|
+
<${b.join(" ,")}>`+f}}};Object.freeze(h0);let h1={buildRuleNotFoundError:(a,b)=>"Invalid grammar, reference to a rule which is not defined: ->"+b.nonTerminalName+"<-\ninside top level rule: ->"+a.name+"<-"},h2={buildDuplicateFoundError(a,b){let c=a.name,d=g4(b),e=d.idx,f=gh(d),g=d instanceof fU?d.terminalType.name:d instanceof fL?d.nonTerminalName:"",h=`->${f}${e>0?e:""}<- ${g?`with argument: ->${g}<-`:""}
|
|
32
|
+
appears more than once (${b.length} times) in the top level rule: ->${c}<-.
|
|
33
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
34
|
+
`;return(h=h.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:a=>`Namespace conflict found in grammar.
|
|
35
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${a.name}>.
|
|
36
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
37
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
38
|
+
and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(a){let b=b9(a.prefixPath,a=>hO(a)).join(", "),c=0===a.alternation.idx?"":a.alternation.idx;return`Ambiguous alternatives: <${a.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
39
|
+
in <OR${c}> inside <${a.topLevelRule.name}> Rule,
|
|
40
|
+
<${b}> may appears as a prefix path in all these alternatives.
|
|
41
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
42
|
+
For Further details.`},buildAlternationAmbiguityError(a){let b=b9(a.prefixPath,a=>hO(a)).join(", "),c=0===a.alternation.idx?"":a.alternation.idx,d=`Ambiguous Alternatives Detected: <${a.ambiguityIndices.join(" ,")}> in <OR${c}> inside <${a.topLevelRule.name}> Rule,
|
|
43
|
+
<${b}> may appears as a prefix path in all these alternatives.
|
|
44
|
+
`;return d+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
45
|
+
`+"For Further details."},buildEmptyRepetitionError(a){let b=gh(a.repetition);return 0!==a.repetition.idx&&(b+=a.repetition.idx),`The repetition <${b}> within Rule <${a.topLevelRule.name}> can never consume any tokens.
|
|
46
|
+
This could lead to an infinite loop.`},buildTokenNameError:a=>"deprecated",buildEmptyAlternationError:a=>`Ambiguous empty alternative: <${a.emptyChoiceIdx+1}> in <OR${a.alternation.idx}> inside <${a.topLevelRule.name}> Rule.
|
|
47
|
+
Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:a=>`An Alternation cannot have more than 256 alternatives:
|
|
48
|
+
<OR${a.alternation.idx}> inside <${a.topLevelRule.name}> Rule.
|
|
49
|
+
has ${a.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(a){let b=a.topLevelRule.name,c=b9(a.leftRecursionPath,a=>a.name),d=`${b} --> ${c.concat([b]).join(" --\x3e ")}`;return`Left Recursion found in grammar.
|
|
50
|
+
rule: <${b}> can be invoked from itself (directly or indirectly)
|
|
51
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
52
|
+
${d}
|
|
53
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
54
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:a=>"deprecated",buildDuplicateRuleNameError(a){let b;return b=a.topLevelRule instanceof fM?a.topLevelRule.name:a.topLevelRule,`Duplicate definition, rule: ->${b}<- is already defined in the grammar: ->${a.grammarName}<-`}};class h3 extends fV{constructor(a,b){super(),this.nameToTopRule=a,this.errMsgProvider=b,this.errors=[]}resolveRefs(){aD(aF(this.nameToTopRule),a=>{this.currTopLevel=a,a.accept(this)})}visitNonTerminal(a){let b=this.nameToTopRule[a.nonTerminalName];if(b)a.referencedRule=b;else{let b=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,a);this.errors.push({message:b,type:m.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:a.nonTerminalName})}}}let h4=function(a,b){return gw(b9(a,b),1)},h5=function(a,b,c,d){for(var e=-1,f=null==a?0:a.length;++e<f;){var g=a[e];b(d,g,c(g),a)}return d},h6=function(a,b,c,d){return aB(a,function(a,e,f){b(d,a,c(a),f)}),d};var h7=Object.prototype.hasOwnProperty,h8=(F=function(a,b,c){h7.call(a,c)?a[c].push(b):ce(a,c,[b])},function(a,b){return(_(a)?h5:h6)(a,F,b7(b,2),{})});let h9=function(a,b,c,d){if(!ax(a))return a;b=b_(b,a);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=b1(b[e]),j=c;if("__proto__"===i||"constructor"===i||"prototype"===i)break;if(e!=g){var k=h[i];void 0===(j=d?d(k,i,h):void 0)&&(j=ax(k)?k:af(b[e+1])?[]:{})}cg(h,i,j),h=h[i]}return a},ia=function(a,b,c){for(var d=-1,e=b.length,f={};++d<e;){var g=b[d],h=b2(a,g);c(h,g)&&h9(f,b_(g,a),h)}return f},ib=function(a,b){if(null==a)return{};var c=aE(cu(a),function(a){return[a]});return b=b7(b),ia(a,c,function(a,c){return b(a,c[0])})},ic=function(a,b,c){var d=null==a?0:a.length;return d?cS(a,0,(b=d-(b=c||void 0===b?1:c1(b)))<0?0:b):[]};class id extends gi{constructor(a,b){super(),this.topProd=a,this.path=b,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=cQ(this.path.ruleStack).reverse(),this.occurrenceStack=cQ(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(a,b=[]){this.found||super.walk(a,b)}walkProdRef(a,b,c){if(a.referencedRule.name===this.nextProductionName&&a.idx===this.nextProductionOccurrence){let d=b.concat(c);this.updateExpectedNext(),this.walk(a.referencedRule,d)}}updateExpectedNext(){a7(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class ie extends id{constructor(a,b){super(a,b),this.path=b,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(a,b,c){if(this.isAtEndOfPath&&a.terminalType.name===this.nextTerminalName&&a.idx===this.nextTerminalOccurrence&&!this.found){let a=new fN({definition:b.concat(c)});this.possibleTokTypes=gy(a),this.found=!0}}}class ig extends gi{constructor(a,b){super(),this.topRule=a,this.occurrence=b,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class ih extends ig{walkMany(a,b,c){if(a.idx===this.occurrence){let a=g4(b.concat(c));this.result.isEndOfRule=void 0===a,a instanceof fU&&(this.result.token=a.terminalType,this.result.occurrence=a.idx)}else super.walkMany(a,b,c)}}class ii extends ig{walkManySep(a,b,c){if(a.idx===this.occurrence){let a=g4(b.concat(c));this.result.isEndOfRule=void 0===a,a instanceof fU&&(this.result.token=a.terminalType,this.result.occurrence=a.idx)}else super.walkManySep(a,b,c)}}class ij extends ig{walkAtLeastOne(a,b,c){if(a.idx===this.occurrence){let a=g4(b.concat(c));this.result.isEndOfRule=void 0===a,a instanceof fU&&(this.result.token=a.terminalType,this.result.occurrence=a.idx)}else super.walkAtLeastOne(a,b,c)}}class ik extends ig{walkAtLeastOneSep(a,b,c){if(a.idx===this.occurrence){let a=g4(b.concat(c));this.result.isEndOfRule=void 0===a,a instanceof fU&&(this.result.token=a.terminalType,this.result.occurrence=a.idx)}else super.walkAtLeastOneSep(a,b,c)}}function il(a,b,c=[]){c=cQ(c);let d=[],e=0;function f(f){let g=il(f.concat(c2(a,e+1)),b,c);return d.concat(g)}for(;c.length<b&&e<a.length;){let b=a[e];if(b instanceof fN)return f(b.definition);if(b instanceof fL)return f(b.definition);if(b instanceof fO)d=f(b.definition);else if(b instanceof fP)return f(b.definition.concat([new fR({definition:b.definition})]));else if(b instanceof fQ)return f([new fN({definition:b.definition}),new fR({definition:[new fU({terminalType:b.separator})].concat(b.definition)})]);else if(b instanceof fS)d=f(b.definition.concat([new fR({definition:[new fU({terminalType:b.separator})].concat(b.definition)})]));else if(b instanceof fR)d=f(b.definition.concat([new fR({definition:b.definition})]));else if(b instanceof fT)return aD(b.definition,a=>{!1===a7(a.definition)&&(d=f(a.definition))}),d;else if(b instanceof fU)c.push(b.terminalType);else throw Error("non exhaustive match");e++}return d.push({partialPath:c,suffixDef:c2(a,e)}),d}function im(a,b,c,d){let e="EXIT_NONE_TERMINAL",f=[e],g="EXIT_ALTERNATIVE",h=!1,i=b.length,j=i-d-1,k=[],l=[];for(l.push({idx:-1,def:a,ruleStack:[],occurrenceStack:[]});!a7(l);){let a=l.pop();if(a===g){h&&hB(l).idx<=j&&l.pop();continue}let d=a.def,m=a.idx,n=a.ruleStack,o=a.occurrenceStack;if(a7(d))continue;let p=d[0];if(p===e){let a={idx:m,def:c2(d),ruleStack:ic(n),occurrenceStack:ic(o)};l.push(a)}else if(p instanceof fU)if(m<i-1){let a=m+1;if(c(b[a],p.terminalType)){let b={idx:a,def:c2(d),ruleStack:n,occurrenceStack:o};l.push(b)}}else if(m===i-1)k.push({nextTokenType:p.terminalType,nextTokenOccurrence:p.idx,ruleStack:n,occurrenceStack:o}),h=!0;else throw Error("non exhaustive match");else if(p instanceof fL){let a=cQ(n);a.push(p.nonTerminalName);let b=cQ(o);b.push(p.idx);let c={idx:m,def:p.definition.concat(f,c2(d)),ruleStack:a,occurrenceStack:b};l.push(c)}else if(p instanceof fO){let a={idx:m,def:c2(d),ruleStack:n,occurrenceStack:o};l.push(a),l.push(g);let b={idx:m,def:p.definition.concat(c2(d)),ruleStack:n,occurrenceStack:o};l.push(b)}else if(p instanceof fP){let a=new fR({definition:p.definition,idx:p.idx}),b={idx:m,def:p.definition.concat([a],c2(d)),ruleStack:n,occurrenceStack:o};l.push(b)}else if(p instanceof fQ){let a=new fR({definition:[new fU({terminalType:p.separator})].concat(p.definition),idx:p.idx}),b={idx:m,def:p.definition.concat([a],c2(d)),ruleStack:n,occurrenceStack:o};l.push(b)}else if(p instanceof fS){let a={idx:m,def:c2(d),ruleStack:n,occurrenceStack:o};l.push(a),l.push(g);let b=new fR({definition:[new fU({terminalType:p.separator})].concat(p.definition),idx:p.idx}),c={idx:m,def:p.definition.concat([b],c2(d)),ruleStack:n,occurrenceStack:o};l.push(c)}else if(p instanceof fR){let a={idx:m,def:c2(d),ruleStack:n,occurrenceStack:o};l.push(a),l.push(g);let b=new fR({definition:p.definition,idx:p.idx}),c={idx:m,def:p.definition.concat([b],c2(d)),ruleStack:n,occurrenceStack:o};l.push(c)}else if(p instanceof fT)for(let a=p.definition.length-1;a>=0;a--){let b={idx:m,def:p.definition[a].definition.concat(c2(d)),ruleStack:n,occurrenceStack:o};l.push(b),l.push(g)}else if(p instanceof fN)l.push({idx:m,def:p.definition.concat(c2(d)),ruleStack:n,occurrenceStack:o});else if(p instanceof fM)l.push(function(a,b,c,d){let e=cQ(c);e.push(a.name);let f=cQ(d);return f.push(1),{idx:b,def:a.definition,ruleStack:e,occurrenceStack:f}}(p,m,n,o));else throw Error("non exhaustive match")}return k}function io(a){if(a instanceof fO||"Option"===a)return k.OPTION;if(a instanceof fR||"Repetition"===a)return k.REPETITION;if(a instanceof fP||"RepetitionMandatory"===a)return k.REPETITION_MANDATORY;if(a instanceof fQ||"RepetitionMandatoryWithSeparator"===a)return k.REPETITION_MANDATORY_WITH_SEPARATOR;if(a instanceof fS||"RepetitionWithSeparator"===a)return k.REPETITION_WITH_SEPARATOR;else if(a instanceof fT||"Alternation"===a)return k.ALTERNATION;else throw Error("non exhaustive match")}function ip(a){let{occurrence:b,rule:c,prodType:d,maxLookahead:e}=a,f=io(d);return f===k.ALTERNATION?ix(b,c,e):iy(b,c,f,e)}function iq(a,b,c,d){let e=a.length,f=hb(a,a=>hb(a,a=>1===a.length));if(b)return function(b){let d=b9(b,a=>a.GATE);for(let b=0;b<e;b++){let e=a[b],f=e.length,g=d[b];if(void 0===g||!1!==g.call(this))b:for(let a=0;a<f;a++){let d=e[a],f=d.length;for(let a=0;a<f;a++)if(!1===c(this.LA(a+1),d[a]))continue b;return b}}};if(!f||d)return function(){for(let b=0;b<e;b++){let d=a[b],e=d.length;b:for(let a=0;a<e;a++){let e=d[a],f=e.length;for(let a=0;a<f;a++)if(!1===c(this.LA(a+1),e[a]))continue b;return b}}};{let b=g$(b9(a,a=>gx(a)),(a,b,c)=>(aD(b,b=>{cc(a,b.tokenTypeIdx)||(a[b.tokenTypeIdx]=c),aD(b.categoryMatches,b=>{cc(a,b)||(a[b]=c)})}),a),{});return function(){return b[this.LA(1).tokenTypeIdx]}}}function ir(a,b,c){let d=hb(a,a=>1===a.length),e=a.length;if(!d||c)return function(){b:for(let c=0;c<e;c++){let d=a[c],e=d.length;for(let a=0;a<e;a++)if(!1===b(this.LA(a+1),d[a]))continue b;return!0}return!1};{let b=gx(a);if(1===b.length&&a7(b[0].categoryMatches)){let a=b[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}{let a=g$(b,(a,b,c)=>(a[b.tokenTypeIdx]=!0,aD(b.categoryMatches,b=>{a[b]=!0}),a),[]);return function(){return!0===a[this.LA(1).tokenTypeIdx]}}}}(G=k||(k={}))[G.OPTION=0]="OPTION",G[G.REPETITION=1]="REPETITION",G[G.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",G[G.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",G[G.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",G[G.ALTERNATION=5]="ALTERNATION";class is extends gi{constructor(a,b,c){super(),this.topProd=a,this.targetOccurrence=b,this.targetProdType=c}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(a,b,c,d){return a.idx===this.targetOccurrence&&this.targetProdType===b&&(this.restDef=c.concat(d),!0)}walkOption(a,b,c){this.checkIsTarget(a,k.OPTION,b,c)||super.walkOption(a,b,c)}walkAtLeastOne(a,b,c){this.checkIsTarget(a,k.REPETITION_MANDATORY,b,c)||super.walkOption(a,b,c)}walkAtLeastOneSep(a,b,c){this.checkIsTarget(a,k.REPETITION_MANDATORY_WITH_SEPARATOR,b,c)||super.walkOption(a,b,c)}walkMany(a,b,c){this.checkIsTarget(a,k.REPETITION,b,c)||super.walkOption(a,b,c)}walkManySep(a,b,c){this.checkIsTarget(a,k.REPETITION_WITH_SEPARATOR,b,c)||super.walkOption(a,b,c)}}class it extends fV{constructor(a,b,c){super(),this.targetOccurrence=a,this.targetProdType=b,this.targetRef=c,this.result=[]}checkIsTarget(a,b){a.idx===this.targetOccurrence&&this.targetProdType===b&&(void 0===this.targetRef||a===this.targetRef)&&(this.result=a.definition)}visitOption(a){this.checkIsTarget(a,k.OPTION)}visitRepetition(a){this.checkIsTarget(a,k.REPETITION)}visitRepetitionMandatory(a){this.checkIsTarget(a,k.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(a){this.checkIsTarget(a,k.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(a){this.checkIsTarget(a,k.REPETITION_WITH_SEPARATOR)}visitAlternation(a){this.checkIsTarget(a,k.ALTERNATION)}}function iu(a){let b=Array(a);for(let c=0;c<a;c++)b[c]=[];return b}function iv(a){let b=[""];for(let c=0;c<a.length;c++){let d=a[c],e=[];for(let a=0;a<b.length;a++){let c=b[a];e.push(c+"_"+d.tokenTypeIdx);for(let a=0;a<d.categoryMatches.length;a++){let b="_"+d.categoryMatches[a];e.push(c+b)}}b=e}return b}function iw(a,b){let c=b9(a,a=>il([a],1)),d=iu(c.length),e=b9(c,a=>{let b={};return aD(a,a=>{aD(iv(a.partialPath),a=>{b[a]=!0})}),b}),f=c;for(let a=1;a<=b;a++){let c=f;f=iu(c.length);for(let g=0;g<c.length;g++){let h=c[g];for(let c=0;c<h.length;c++){let i=h[c].partialPath,j=h[c].suffixDef,k=iv(i);if(function(a,b,c){for(let d=0;d<a.length;d++){if(d===c)continue;let e=a[d];for(let a=0;a<b.length;a++)if(!0===e[b[a]])return!1}return!0}(e,k,g)||a7(j)||i.length===b){let a=d[g];if(!1===iz(a,i)){a.push(i);for(let a=0;a<k.length;a++){let b=k[a];e[g][b]=!0}}}else{let b=il(j,a+1,i);f[g]=f[g].concat(b),aD(b,a=>{aD(iv(a.partialPath),a=>{e[g][a]=!0})})}}}}return d}function ix(a,b,c,d){let e=new it(a,k.ALTERNATION,d);return b.accept(e),iw(e.result,c)}function iy(a,b,c,d){let e=new it(a,c);b.accept(e);let f=e.result,g=new is(b,a,c).startWalking();return iw([new fN({definition:f}),new fN({definition:g})],d)}function iz(a,b){c:for(let c=0;c<a.length;c++){let d=a[c];if(d.length===b.length){for(let a=0;a<d.length;a++){let c=b[a],e=d[a];if(!1==(c===e||void 0!==e.categoryMatchesMap[c.tokenTypeIdx]))continue c}return!0}}return!1}function iA(a){return hb(a,a=>hb(a,a=>hb(a,a=>a7(a.categoryMatches))))}function iB(a){return`${gh(a)}_#_${a.idx}_#_${iC(a)}`}function iC(a){return a instanceof fU?a.terminalType.name:a instanceof fL?a.nonTerminalName:""}class iD extends fV{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(a){this.allProductions.push(a)}visitOption(a){this.allProductions.push(a)}visitRepetitionWithSeparator(a){this.allProductions.push(a)}visitRepetitionMandatory(a){this.allProductions.push(a)}visitRepetitionMandatoryWithSeparator(a){this.allProductions.push(a)}visitRepetition(a){this.allProductions.push(a)}visitAlternation(a){this.allProductions.push(a)}visitTerminal(a){this.allProductions.push(a)}}class iE extends fV{constructor(){super(...arguments),this.alternations=[]}visitAlternation(a){this.alternations.push(a)}}class iF extends fV{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(a){this.allProductions.push(a)}visitRepetitionMandatory(a){this.allProductions.push(a)}visitRepetitionMandatoryWithSeparator(a){this.allProductions.push(a)}visitRepetition(a){this.allProductions.push(a)}}let iG="MismatchedTokenException",iH="NoViableAltException",iI="EarlyExitException",iJ="NotAllInputParsedException",iK=[iG,iH,iI,iJ];function iL(a){return gV(iK,a.name)}Object.freeze(iK);class iM extends Error{constructor(a,b){super(a),this.token=b,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class iN extends iM{constructor(a,b,c){super(a,b),this.previousToken=c,this.name=iG}}class iO extends iM{constructor(a,b,c){super(a,b),this.previousToken=c,this.name=iH}}class iP extends iM{constructor(a,b){super(a,b),this.name=iJ}}class iQ extends iM{constructor(a,b,c){super(a,b),this.previousToken=c,this.name=iI}}let iR={},iS="InRuleRecoveryException";class iT extends Error{constructor(a){super(a),this.name=iS}}class iU{initRecoverable(a){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=cc(a,"recoveryEnabled")?a.recoveryEnabled:jl.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=iV)}getTokenToInsert(a){let b=h$(a,"",NaN,NaN,NaN,NaN,NaN,NaN);return b.isInsertedInRecovery=!0,b}canTokenTypeBeInsertedInRecovery(a){return!0}canTokenTypeBeDeletedInRecovery(a){return!0}tryInRepetitionRecovery(a,b,c,d){let e=this.findReSyncTokenType(),f=this.exportLexerState(),g=[],h=!1,i=this.LA(1),j=this.LA(1),k=()=>{let a=this.LA(0),b=new iN(this.errorMessageProvider.buildMismatchTokenMessage({expected:d,actual:i,previous:a,ruleName:this.getCurrRuleFullName()}),i,this.LA(0));b.resyncedTokens=ic(g),this.SAVE_ERROR(b)};for(;!h;)if(this.tokenMatcher(j,d))return void k();else if(c.call(this)){k(),a.apply(this,b);return}else this.tokenMatcher(j,e)?h=!0:(j=this.SKIP_TOKEN(),this.addToResyncTokens(j,g));this.importLexerState(f)}shouldInRepetitionRecoveryBeTried(a,b,c){return!(!1===c||this.tokenMatcher(this.LA(1),a)||this.isBackTracking()||this.canPerformInRuleRecovery(a,this.getFollowsForInRuleRecovery(a,b)))}getFollowsForInRuleRecovery(a,b){let c=this.getCurrentGrammarPath(a,b);return this.getNextPossibleTokenTypes(c)}tryInRuleRecovery(a,b){if(this.canRecoverWithSingleTokenInsertion(a,b))return this.getTokenToInsert(a);if(this.canRecoverWithSingleTokenDeletion(a)){let a=this.SKIP_TOKEN();return this.consumeToken(),a}throw new iT("sad sad panda")}canPerformInRuleRecovery(a,b){return this.canRecoverWithSingleTokenInsertion(a,b)||this.canRecoverWithSingleTokenDeletion(a)}canRecoverWithSingleTokenInsertion(a,b){if(!this.canTokenTypeBeInsertedInRecovery(a)||a7(b))return!1;let c=this.LA(1);return void 0!==g6(b,a=>this.tokenMatcher(c,a))}canRecoverWithSingleTokenDeletion(a){return!!this.canTokenTypeBeDeletedInRecovery(a)&&this.tokenMatcher(this.LA(2),a)}isInCurrentRuleReSyncSet(a){let b=this.getCurrFollowKey();return gV(this.getFollowSetFromFollowKey(b),a)}findReSyncTokenType(){let a=this.flattenFollowSet(),b=this.LA(1),c=2;for(;;){let d=g6(a,a=>hD(b,a));if(void 0!==d)return d;b=this.LA(c),c++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return iR;let a=this.getLastExplicitRuleShortName(),b=this.getLastExplicitRuleOccurrenceIndex(),c=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(a),idxInCallingRule:b,inRule:this.shortRuleNameToFullName(c)}}buildFullFollowKeyStack(){let a=this.RULE_STACK,b=this.RULE_OCCURRENCE_STACK;return b9(a,(c,d)=>0===d?iR:{ruleName:this.shortRuleNameToFullName(c),idxInCallingRule:b[d],inRule:this.shortRuleNameToFullName(a[d-1])})}flattenFollowSet(){return gx(b9(this.buildFullFollowKeyStack(),a=>this.getFollowSetFromFollowKey(a)))}getFollowSetFromFollowKey(a){if(a===iR)return[hZ];let b=a.ruleName+a.idxInCallingRule+gH+a.inRule;return this.resyncFollows[b]}addToResyncTokens(a,b){return this.tokenMatcher(a,hZ)||b.push(a),b}reSyncTo(a){let b=[],c=this.LA(1);for(;!1===this.tokenMatcher(c,a);)c=this.SKIP_TOKEN(),this.addToResyncTokens(c,b);return ic(b)}attemptInRepetitionRecovery(a,b,c,d,e,f,g){}getCurrentGrammarPath(a,b){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:cQ(this.RULE_OCCURRENCE_STACK),lastTok:a,lastTokOccurrence:b}}getHumanReadableRuleStack(){return b9(this.RULE_STACK,a=>this.shortRuleNameToFullName(a))}}function iV(a,b,c,d,e,f,g){let h=this.getKeyForAutomaticLookahead(d,e),i=this.firstAfterRepMap[h];if(void 0===i){let a=this.getCurrRuleFullName();i=new f(this.getGAstProductions()[a],e).startWalking(),this.firstAfterRepMap[h]=i}let j=i.token,k=i.occurrence,l=i.isEndOfRule;1===this.RULE_STACK.length&&l&&void 0===j&&(j=hZ,k=1),void 0!==j&&void 0!==k&&this.shouldInRepetitionRecoveryBeTried(j,k,g)&&this.tryInRepetitionRecovery(a,b,c,j)}class iW{constructor(a){var b;this.maxLookahead=null!=(b=null==a?void 0:a.maxLookahead)?b:jl.maxLookahead}validate(a){let b=this.validateNoLeftRecursion(a.rules);return a7(b)?[...b,...this.validateEmptyOrAlternatives(a.rules),...this.validateAmbiguousAlternationAlternatives(a.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(a.rules,this.maxLookahead)]:b}validateNoLeftRecursion(a){return h4(a,a=>(function a(b,c,d,e=[]){let f=[],g=function a(b){let c=[];if(a7(b))return c;let d=g4(b);if(d instanceof fL)c.push(d.referencedRule);else if(d instanceof fN||d instanceof fO||d instanceof fP||d instanceof fQ||d instanceof fS||d instanceof fR)c=c.concat(a(d.definition));else if(d instanceof fT)c=gx(b9(d.definition,b=>a(b.definition)));else if(d instanceof fU);else throw Error("non exhaustive match");let e=gg(d),f=b.length>1;if(!e||!f)return c;{let d=c2(b);return c.concat(a(d))}}(c.definition);if(a7(g))return[];{let c=b.name;gV(g,b)&&f.push({message:d.buildLeftRecursionError({topLevelRule:b,leftRecursionPath:e}),type:m.LEFT_RECURSION,ruleName:c});let h=h4(g2(g,e.concat([b])),c=>{let f=cQ(e);return f.push(c),a(b,c,d,f)});return f.concat(h)}})(a,a,h2))}validateEmptyOrAlternatives(a){return h4(a,a=>{let b;return b=new iE,a.accept(b),h4(b.alternations,b=>h4(ic(b.definition),(c,d)=>a7(im([c],[],hD,1))?[{message:h2.buildEmptyAlternationError({topLevelRule:a,alternation:b,emptyChoiceIdx:d}),type:m.NONE_LAST_EMPTY_ALT,ruleName:a.name,occurrence:b.idx,alternative:d+1}]:[]))})}validateAmbiguousAlternationAlternatives(a,b){return h4(a,a=>{let c;return c=new iE,a.accept(c),h4(gR(c.alternations,a=>!0===a.ignoreAmbiguities),c=>{var d,e,f,g,h,i,j,k;let l,n,o=ix(c.idx,a,c.maxLookahead||b,c),p=(d=o,e=c,f=a,g=h2,l=[],b9(g$(d,(a,b,c)=>(!0===e.definition[c].ignoreAmbiguities||aD(b,b=>{let f=[c];aD(d,(a,d)=>{c!==d&&iz(a,b)&&!0!==e.definition[d].ignoreAmbiguities&&f.push(d)}),f.length>1&&!iz(l,b)&&(l.push(b),a.push({alts:f,path:b}))}),a),[]),a=>{let b=b9(a.alts,a=>a+1);return{message:g.buildAlternationAmbiguityError({topLevelRule:f,alternation:e,ambiguityIndices:b,prefixPath:a.path}),type:m.AMBIGUOUS_ALTS,ruleName:f.name,occurrence:e.idx,alternatives:a.alts}})),q=(h=o,i=c,j=a,k=h2,g3(h4(n=g$(h,(a,b,c)=>{let d=b9(b,a=>({idx:c,path:a}));return a.concat(d)},[]),a=>{if(!0===i.definition[a.idx].ignoreAmbiguities)return[];let b=a.idx,c=a.path;return b9(g_(n,a=>{var d;return!0!==i.definition[a.idx].ignoreAmbiguities&&a.idx<b&&(d=a.path,d.length<c.length&&hb(d,(a,b)=>{let d=c[b];return a===d||d.categoryMatchesMap[a.tokenTypeIdx]}))}),a=>{let c=[a.idx+1,b+1],d=0===i.idx?"":i.idx;return{message:k.buildAlternationPrefixAmbiguityError({topLevelRule:j,alternation:i,ambiguityIndices:c,prefixPath:a.path}),type:m.AMBIGUOUS_PREFIX_ALTS,ruleName:j.name,occurrence:d,alternatives:c}})})));return p.concat(q)})})}validateSomeNonEmptyLookaheadPath(a,b){let c;return c=[],aD(a,a=>{let d=new iF;a.accept(d),aD(d.allProductions,d=>{let e=io(d),f=d.maxLookahead||b;if(a7(gx(iy(d.idx,a,e,f)[0]))){let b=h2.buildEmptyRepetitionError({topLevelRule:a,repetition:d});c.push({message:b,type:m.NO_NON_EMPTY_LOOKAHEAD,ruleName:a.name})}})}),c}buildLookaheadForAlternation(a){var b,c,d,e,f;let g,h;return b=a.prodOccurrence,c=a.rule,d=a.maxLookahead,e=a.hasPredicates,f=a.dynamicTokensEnabled,h=iA(g=ix(b,c,d))?hE:hD,iq(g,e,h,f)}buildLookaheadForOptional(a){var b,c,d,e,f;let g,h;return b=a.prodOccurrence,c=a.rule,d=a.maxLookahead,e=a.dynamicTokensEnabled,f=io(a.prodType),h=iA(g=iy(b,c,f,d))?hE:hD,ir(g[0],h,e)}}class iX{initLooksAhead(a){this.dynamicTokensEnabled=cc(a,"dynamicTokensEnabled")?a.dynamicTokensEnabled:jl.dynamicTokensEnabled,this.maxLookahead=cc(a,"maxLookahead")?a.maxLookahead:jl.maxLookahead,this.lookaheadStrategy=cc(a,"lookaheadStrategy")?a.lookaheadStrategy:new iW({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(a){aD(a,a=>{this.TRACE_INIT(`${a.name} Rule Lookahead`,()=>{var b;let c,{alternation:d,repetition:e,option:f,repetitionMandatory:g,repetitionMandatoryWithSeparator:h,repetitionWithSeparator:i}=(b=a,iZ.reset(),b.accept(iZ),c=iZ.dslMethods,iZ.reset(),c);aD(d,b=>{let c=0===b.idx?"":b.idx;this.TRACE_INIT(`${gh(b)}${c}`,()=>{var c;let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:b.idx,rule:a,maxLookahead:b.maxLookahead||this.maxLookahead,hasPredicates:b.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),e=(c=this.fullRuleNameToShort[a.name],256|b.idx|c);this.setLaFuncCache(e,d)})}),aD(e,b=>{this.computeLookaheadFunc(a,b.idx,768,"Repetition",b.maxLookahead,gh(b))}),aD(f,b=>{this.computeLookaheadFunc(a,b.idx,512,"Option",b.maxLookahead,gh(b))}),aD(g,b=>{this.computeLookaheadFunc(a,b.idx,1024,"RepetitionMandatory",b.maxLookahead,gh(b))}),aD(h,b=>{this.computeLookaheadFunc(a,b.idx,1536,"RepetitionMandatoryWithSeparator",b.maxLookahead,gh(b))}),aD(i,b=>{this.computeLookaheadFunc(a,b.idx,1280,"RepetitionWithSeparator",b.maxLookahead,gh(b))})})})}computeLookaheadFunc(a,b,c,d,e,f){this.TRACE_INIT(`${f}${0===b?"":b}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:b,rule:a,maxLookahead:e||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:d}),g=b|c|this.fullRuleNameToShort[a.name];this.setLaFuncCache(g,f)})}getKeyForAutomaticLookahead(a,b){return b|a|this.getLastExplicitRuleShortName()}getLaFuncFromCache(a){return this.lookAheadFuncsCache.get(a)}setLaFuncCache(a,b){this.lookAheadFuncsCache.set(a,b)}}class iY extends fV{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(a){this.dslMethods.option.push(a)}visitRepetitionWithSeparator(a){this.dslMethods.repetitionWithSeparator.push(a)}visitRepetitionMandatory(a){this.dslMethods.repetitionMandatory.push(a)}visitRepetitionMandatoryWithSeparator(a){this.dslMethods.repetitionMandatoryWithSeparator.push(a)}visitRepetition(a){this.dslMethods.repetition.push(a)}visitAlternation(a){this.dslMethods.alternation.push(a)}}let iZ=new iY;function i$(a,b){!0===isNaN(a.startOffset)?(a.startOffset=b.startOffset,a.endOffset=b.endOffset):a.endOffset<b.endOffset==!0&&(a.endOffset=b.endOffset)}function i_(a,b){!0===isNaN(a.startOffset)?(a.startOffset=b.startOffset,a.startColumn=b.startColumn,a.startLine=b.startLine,a.endOffset=b.endOffset,a.endColumn=b.endColumn,a.endLine=b.endLine):a.endOffset<b.endOffset==!0&&(a.endOffset=b.endOffset,a.endColumn=b.endColumn,a.endLine=b.endLine)}function i0(a,b){Object.defineProperty(a,"name",{enumerable:!1,configurable:!0,writable:!1,value:b})}function i1(a,b){let c=aA(a),d=c.length;for(let e=0;e<d;e++){let d=a[c[e]],f=d.length;for(let a=0;a<f;a++){let c=d[a];void 0===c.tokenTypeIdx&&this[c.name](c.children,b)}}}(H=l||(l={}))[H.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",H[H.MISSING_METHOD=1]="MISSING_METHOD";class i2{initTreeBuilder(a){if(this.CST_STACK=[],this.outputCst=a.outputCst,this.nodeLocationTracking=cc(a,"nodeLocationTracking")?a.nodeLocationTracking:jl.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=i_,this.setNodeLocationFromNode=i_,this.cstPostRule=gq,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=gq,this.setNodeLocationFromNode=gq,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=i$,this.setNodeLocationFromNode=i$,this.cstPostRule=gq,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=gq,this.setNodeLocationFromNode=gq,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=gq,this.setNodeLocationFromNode=gq,this.cstPostRule=gq,this.setInitialNodeLocation=gq;else throw Error(`Invalid <nodeLocationTracking> config option: "${a.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=gq,this.cstFinallyStateUpdate=gq,this.cstPostTerminal=gq,this.cstPostNonTerminal=gq,this.cstPostRule=gq}setInitialNodeLocationOnlyOffsetRecovery(a){a.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(a){a.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(a){a.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(a){let b=this.LA(1);a.location={startOffset:b.startOffset,startLine:b.startLine,startColumn:b.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(a){let b={name:a,children:Object.create(null)};this.setInitialNodeLocation(b),this.CST_STACK.push(b)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(a){let b=this.LA(0),c=a.location;c.startOffset<=b.startOffset==!0?(c.endOffset=b.endOffset,c.endLine=b.endLine,c.endColumn=b.endColumn):(c.startOffset=NaN,c.startLine=NaN,c.startColumn=NaN)}cstPostRuleOnlyOffset(a){let b=this.LA(0),c=a.location;c.startOffset<=b.startOffset==!0?c.endOffset=b.endOffset:c.startOffset=NaN}cstPostTerminal(a,b){let c=this.CST_STACK[this.CST_STACK.length-1];void 0===c.children[a]?c.children[a]=[b]:c.children[a].push(b),this.setNodeLocationFromToken(c.location,b)}cstPostNonTerminal(a,b){let c=this.CST_STACK[this.CST_STACK.length-1];void 0===c.children[b]?c.children[b]=[a]:c.children[b].push(a),this.setNodeLocationFromNode(c.location,a.location)}getBaseCstVisitorConstructor(){if(gK(this.baseCstVisitorConstructor)){var a,b;let c,d=(a=this.className,b=aA(this.gastProductionsCache),i0(c=function(){},a+"BaseSemantics"),c.prototype={visit:function(a,b){if(_(a)&&(a=a[0]),!gK(a))return this[a.name](a.children,b)},validateVisitor:function(){var a,c,d;let e=(a=this,c=b,d=a,g3(b9(g_(c,a=>!1===ay(d[a])),a=>({msg:`Missing visitor method: <${a}> on ${d.constructor.name} CST Visitor.`,type:l.MISSING_METHOD,methodName:a}))));if(!a7(e)){let a=b9(e,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
55
|
+
${a.join("\n\n").replace(/\n/g,"\n ")}`)}}},c.prototype.constructor=c,c._RULE_NAMES=b,c);return this.baseCstVisitorConstructor=d,d}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(gK(this.baseCstVisitorWithDefaultsConstructor)){var a,b,c;let d,e,f=(a=this.className,b=aA(this.gastProductionsCache),c=this.getBaseCstVisitorConstructor(),i0(d=function(){},a+"BaseSemanticsWithDefaults"),e=Object.create(c.prototype),aD(b,a=>{e[a]=i1}),d.prototype=e,d.prototype.constructor=d,d);return this.baseCstVisitorWithDefaultsConstructor=f,f}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let a=this.RULE_STACK;return a[a.length-1]}getPreviousExplicitRuleShortName(){let a=this.RULE_STACK;return a[a.length-2]}getLastExplicitRuleOccurrenceIndex(){let a=this.RULE_OCCURRENCE_STACK;return a[a.length-1]}}class i3{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(a){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=a,this.tokVectorLength=a.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):jk}LA(a){let b=this.currIdx+a;return b<0||this.tokVectorLength<=b?jk:this.tokVector[b]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(a){this.currIdx=a}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class i4{ACTION(a){return a.call(this)}consume(a,b,c){return this.consumeInternal(b,a,c)}subrule(a,b,c){return this.subruleInternal(b,a,c)}option(a,b){return this.optionInternal(b,a)}or(a,b){return this.orInternal(b,a)}many(a,b){return this.manyInternal(a,b)}atLeastOne(a,b){return this.atLeastOneInternal(a,b)}CONSUME(a,b){return this.consumeInternal(a,0,b)}CONSUME1(a,b){return this.consumeInternal(a,1,b)}CONSUME2(a,b){return this.consumeInternal(a,2,b)}CONSUME3(a,b){return this.consumeInternal(a,3,b)}CONSUME4(a,b){return this.consumeInternal(a,4,b)}CONSUME5(a,b){return this.consumeInternal(a,5,b)}CONSUME6(a,b){return this.consumeInternal(a,6,b)}CONSUME7(a,b){return this.consumeInternal(a,7,b)}CONSUME8(a,b){return this.consumeInternal(a,8,b)}CONSUME9(a,b){return this.consumeInternal(a,9,b)}SUBRULE(a,b){return this.subruleInternal(a,0,b)}SUBRULE1(a,b){return this.subruleInternal(a,1,b)}SUBRULE2(a,b){return this.subruleInternal(a,2,b)}SUBRULE3(a,b){return this.subruleInternal(a,3,b)}SUBRULE4(a,b){return this.subruleInternal(a,4,b)}SUBRULE5(a,b){return this.subruleInternal(a,5,b)}SUBRULE6(a,b){return this.subruleInternal(a,6,b)}SUBRULE7(a,b){return this.subruleInternal(a,7,b)}SUBRULE8(a,b){return this.subruleInternal(a,8,b)}SUBRULE9(a,b){return this.subruleInternal(a,9,b)}OPTION(a){return this.optionInternal(a,0)}OPTION1(a){return this.optionInternal(a,1)}OPTION2(a){return this.optionInternal(a,2)}OPTION3(a){return this.optionInternal(a,3)}OPTION4(a){return this.optionInternal(a,4)}OPTION5(a){return this.optionInternal(a,5)}OPTION6(a){return this.optionInternal(a,6)}OPTION7(a){return this.optionInternal(a,7)}OPTION8(a){return this.optionInternal(a,8)}OPTION9(a){return this.optionInternal(a,9)}OR(a){return this.orInternal(a,0)}OR1(a){return this.orInternal(a,1)}OR2(a){return this.orInternal(a,2)}OR3(a){return this.orInternal(a,3)}OR4(a){return this.orInternal(a,4)}OR5(a){return this.orInternal(a,5)}OR6(a){return this.orInternal(a,6)}OR7(a){return this.orInternal(a,7)}OR8(a){return this.orInternal(a,8)}OR9(a){return this.orInternal(a,9)}MANY(a){this.manyInternal(0,a)}MANY1(a){this.manyInternal(1,a)}MANY2(a){this.manyInternal(2,a)}MANY3(a){this.manyInternal(3,a)}MANY4(a){this.manyInternal(4,a)}MANY5(a){this.manyInternal(5,a)}MANY6(a){this.manyInternal(6,a)}MANY7(a){this.manyInternal(7,a)}MANY8(a){this.manyInternal(8,a)}MANY9(a){this.manyInternal(9,a)}MANY_SEP(a){this.manySepFirstInternal(0,a)}MANY_SEP1(a){this.manySepFirstInternal(1,a)}MANY_SEP2(a){this.manySepFirstInternal(2,a)}MANY_SEP3(a){this.manySepFirstInternal(3,a)}MANY_SEP4(a){this.manySepFirstInternal(4,a)}MANY_SEP5(a){this.manySepFirstInternal(5,a)}MANY_SEP6(a){this.manySepFirstInternal(6,a)}MANY_SEP7(a){this.manySepFirstInternal(7,a)}MANY_SEP8(a){this.manySepFirstInternal(8,a)}MANY_SEP9(a){this.manySepFirstInternal(9,a)}AT_LEAST_ONE(a){this.atLeastOneInternal(0,a)}AT_LEAST_ONE1(a){return this.atLeastOneInternal(1,a)}AT_LEAST_ONE2(a){this.atLeastOneInternal(2,a)}AT_LEAST_ONE3(a){this.atLeastOneInternal(3,a)}AT_LEAST_ONE4(a){this.atLeastOneInternal(4,a)}AT_LEAST_ONE5(a){this.atLeastOneInternal(5,a)}AT_LEAST_ONE6(a){this.atLeastOneInternal(6,a)}AT_LEAST_ONE7(a){this.atLeastOneInternal(7,a)}AT_LEAST_ONE8(a){this.atLeastOneInternal(8,a)}AT_LEAST_ONE9(a){this.atLeastOneInternal(9,a)}AT_LEAST_ONE_SEP(a){this.atLeastOneSepFirstInternal(0,a)}AT_LEAST_ONE_SEP1(a){this.atLeastOneSepFirstInternal(1,a)}AT_LEAST_ONE_SEP2(a){this.atLeastOneSepFirstInternal(2,a)}AT_LEAST_ONE_SEP3(a){this.atLeastOneSepFirstInternal(3,a)}AT_LEAST_ONE_SEP4(a){this.atLeastOneSepFirstInternal(4,a)}AT_LEAST_ONE_SEP5(a){this.atLeastOneSepFirstInternal(5,a)}AT_LEAST_ONE_SEP6(a){this.atLeastOneSepFirstInternal(6,a)}AT_LEAST_ONE_SEP7(a){this.atLeastOneSepFirstInternal(7,a)}AT_LEAST_ONE_SEP8(a){this.atLeastOneSepFirstInternal(8,a)}AT_LEAST_ONE_SEP9(a){this.atLeastOneSepFirstInternal(9,a)}RULE(a,b,c=jm){if(gV(this.definedRulesNames,a)){let b={message:h2.buildDuplicateRuleNameError({topLevelRule:a,grammarName:this.className}),type:m.DUPLICATE_RULE_NAME,ruleName:a};this.definitionErrors.push(b)}this.definedRulesNames.push(a);let d=this.defineRule(a,b,c);return this[a]=d,d}OVERRIDE_RULE(a,b,c=jm){var d,e;let f,g,h=(d=this.definedRulesNames,e=this.className,g=[],gV(d,a)||(f=`Invalid rule override, rule: ->${a}<- cannot be overridden in the grammar: ->${e}<-as it is not defined in any of the super grammars `,g.push({message:f,type:m.INVALID_RULE_OVERRIDE,ruleName:a})),g);this.definitionErrors=this.definitionErrors.concat(h);let i=this.defineRule(a,b,c);return this[a]=i,i}BACKTRACK(a,b){return function(){this.isBackTrackingStack.push(1);let c=this.saveRecogState();try{return a.apply(this,b),!0}catch(a){if(iL(a))return!1;throw a}finally{this.reloadRecogState(c),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return fH(aF(this.gastProductionsCache),function a(b){function c(b){return fH(b,a)}if(b instanceof fL){let a={type:"NonTerminal",name:b.nonTerminalName,idx:b.idx};return dh(b.label)&&(a.label=b.label),a}if(b instanceof fN)return{type:"Alternative",definition:c(b.definition)};if(b instanceof fO)return{type:"Option",idx:b.idx,definition:c(b.definition)};if(b instanceof fP)return{type:"RepetitionMandatory",idx:b.idx,definition:c(b.definition)};if(b instanceof fQ)return{type:"RepetitionMandatoryWithSeparator",idx:b.idx,separator:a(new fU({terminalType:b.separator})),definition:c(b.definition)};else if(b instanceof fS)return{type:"RepetitionWithSeparator",idx:b.idx,separator:a(new fU({terminalType:b.separator})),definition:c(b.definition)};else if(b instanceof fR)return{type:"Repetition",idx:b.idx,definition:c(b.definition)};else if(b instanceof fT)return{type:"Alternation",idx:b.idx,definition:c(b.definition)};else if(b instanceof fU){var d,e;let a={type:"Terminal",name:b.terminalType.name,label:dh((e=d=b.terminalType).LABEL)&&""!==e.LABEL?d.LABEL:d.name,idx:b.idx};dh(b.label)&&(a.terminalLabel=b.label);let c=b.terminalType.PATTERN;return b.terminalType.PATTERN&&(a.pattern=fJ(c)?c.source:c),a}else if(b instanceof fM)return{type:"Rule",name:b.name,orgText:b.orgText,definition:c(b.definition)};else throw Error("non exhaustive match")})}}class i5{initRecognizerEngine(a,b){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=hE,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},cc(b,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(_(a)){if(a7(a))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof a[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(_(a))this.tokensMap=g$(a,(a,b)=>(a[b.name]=b,a),{});else if(cc(a,"modes")&&hb(gx(aF(a.modes)),hK)){let b=gt(gx(aF(a.modes)));this.tokensMap=g$(b,(a,b)=>(a[b.name]=b,a),{})}else if(ax(a))this.tokensMap=cQ(a);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=hZ;let c=hb(cc(a,"modes")?gx(aF(a.modes)):aF(a),a=>a7(a.categoryMatches));this.tokenMatcher=c?hE:hD,hH(aF(this.tokensMap))}defineRule(a,b,c){if(this.selfAnalysisDone)throw Error(`Grammar rule <${a}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
56
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let d=cc(c,"resyncEnabled")?c.resyncEnabled:jm.resyncEnabled,e=cc(c,"recoveryValueFunc")?c.recoveryValueFunc:jm.recoveryValueFunc,f=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[f]=a,this.fullRuleNameToShort[a]=f,Object.assign(!0===this.outputCst?function(...c){try{this.ruleInvocationStateUpdate(f,a,this.subruleIdx),b.apply(this,c);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(a){return this.invokeRuleCatch(a,d,e)}finally{this.ruleFinallyStateUpdate()}}:function(...c){try{return this.ruleInvocationStateUpdate(f,a,this.subruleIdx),b.apply(this,c)}catch(a){return this.invokeRuleCatch(a,d,e)}finally{this.ruleFinallyStateUpdate()}},{ruleName:a,originalGrammarAction:b})}invokeRuleCatch(a,b,c){let d=1===this.RULE_STACK.length,e=b&&!this.isBackTracking()&&this.recoveryEnabled;if(iL(a)){if(e){let b=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(b)){if(a.resyncedTokens=this.reSyncTo(b),!this.outputCst)return c(a);{let a=this.CST_STACK[this.CST_STACK.length-1];return a.recoveredNode=!0,a}}if(this.outputCst){let b=this.CST_STACK[this.CST_STACK.length-1];b.recoveredNode=!0,a.partialCstResult=b}throw a}if(d)return this.moveToTerminatedState(),c(a)}throw a}optionInternal(a,b){let c=this.getKeyForAutomaticLookahead(512,b);return this.optionInternalLogic(a,b,c)}optionInternalLogic(a,b,c){let d,e=this.getLaFuncFromCache(c);if("function"!=typeof a){d=a.DEF;let b=a.GATE;if(void 0!==b){let a=e;e=()=>b.call(this)&&a.call(this)}}else d=a;if(!0===e.call(this))return d.call(this)}atLeastOneInternal(a,b){let c=this.getKeyForAutomaticLookahead(1024,a);return this.atLeastOneInternalLogic(a,b,c)}atLeastOneInternalLogic(a,b,c){let d,e=this.getLaFuncFromCache(c);if("function"!=typeof b){d=b.DEF;let a=b.GATE;if(void 0!==a){let b=e;e=()=>a.call(this)&&b.call(this)}}else d=b;if(!0===e.call(this)){let a=this.doSingleRepetition(d);for(;!0===e.call(this)&&!0===a;)a=this.doSingleRepetition(d)}else throw this.raiseEarlyExitException(a,k.REPETITION_MANDATORY,b.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[a,b],e,1024,a,ij)}atLeastOneSepFirstInternal(a,b){let c=this.getKeyForAutomaticLookahead(1536,a);this.atLeastOneSepFirstInternalLogic(a,b,c)}atLeastOneSepFirstInternalLogic(a,b,c){let d=b.DEF,e=b.SEP;if(!0===this.getLaFuncFromCache(c).call(this)){d.call(this);let b=()=>this.tokenMatcher(this.LA(1),e);for(;!0===this.tokenMatcher(this.LA(1),e);)this.CONSUME(e),d.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[a,e,b,d,ik],b,1536,a,ik)}else throw this.raiseEarlyExitException(a,k.REPETITION_MANDATORY_WITH_SEPARATOR,b.ERR_MSG)}manyInternal(a,b){let c=this.getKeyForAutomaticLookahead(768,a);return this.manyInternalLogic(a,b,c)}manyInternalLogic(a,b,c){let d,e=this.getLaFuncFromCache(c);if("function"!=typeof b){d=b.DEF;let a=b.GATE;if(void 0!==a){let b=e;e=()=>a.call(this)&&b.call(this)}}else d=b;let f=!0;for(;!0===e.call(this)&&!0===f;)f=this.doSingleRepetition(d);this.attemptInRepetitionRecovery(this.manyInternal,[a,b],e,768,a,ih,f)}manySepFirstInternal(a,b){let c=this.getKeyForAutomaticLookahead(1280,a);this.manySepFirstInternalLogic(a,b,c)}manySepFirstInternalLogic(a,b,c){let d=b.DEF,e=b.SEP;if(!0===this.getLaFuncFromCache(c).call(this)){d.call(this);let b=()=>this.tokenMatcher(this.LA(1),e);for(;!0===this.tokenMatcher(this.LA(1),e);)this.CONSUME(e),d.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[a,e,b,d,ii],b,1280,a,ii)}}repetitionSepSecondInternal(a,b,c,d,e){for(;c();)this.CONSUME(b),d.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[a,b,c,d,e],c,1536,a,e)}doSingleRepetition(a){let b=this.getLexerPosition();return a.call(this),this.getLexerPosition()>b}orInternal(a,b){let c=this.getKeyForAutomaticLookahead(256,b),d=_(a)?a:a.DEF,e=this.getLaFuncFromCache(c).call(this,d);if(void 0!==e)return d[e].ALT.call(this);this.raiseNoAltException(b,a.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let a=this.LA(1),b=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:a,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new iP(b,a))}}subruleInternal(a,b,c){let d;try{let e=void 0!==c?c.ARGS:void 0;return this.subruleIdx=b,d=a.apply(this,e),this.cstPostNonTerminal(d,void 0!==c&&void 0!==c.LABEL?c.LABEL:a.ruleName),d}catch(b){throw this.subruleInternalError(b,c,a.ruleName)}}subruleInternalError(a,b,c){throw iL(a)&&void 0!==a.partialCstResult&&(this.cstPostNonTerminal(a.partialCstResult,void 0!==b&&void 0!==b.LABEL?b.LABEL:c),delete a.partialCstResult),a}consumeInternal(a,b,c){let d;try{let b=this.LA(1);!0===this.tokenMatcher(b,a)?(this.consumeToken(),d=b):this.consumeInternalError(a,b,c)}catch(c){d=this.consumeInternalRecovery(a,b,c)}return this.cstPostTerminal(void 0!==c&&void 0!==c.LABEL?c.LABEL:a.name,d),d}consumeInternalError(a,b,c){let d,e=this.LA(0);throw d=void 0!==c&&c.ERR_MSG?c.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:a,actual:b,previous:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new iN(d,b,e))}consumeInternalRecovery(a,b,c){if(this.recoveryEnabled&&"MismatchedTokenException"===c.name&&!this.isBackTracking()){let d=this.getFollowsForInRuleRecovery(a,b);try{return this.tryInRuleRecovery(a,d)}catch(a){if(a.name===iS)throw c;throw a}}throw c}saveRecogState(){let a=this.errors,b=cQ(this.RULE_STACK);return{errors:a,lexerState:this.exportLexerState(),RULE_STACK:b,CST_STACK:this.CST_STACK}}reloadRecogState(a){this.errors=a.errors,this.importLexerState(a.lexerState),this.RULE_STACK=a.RULE_STACK}ruleInvocationStateUpdate(a,b,c){this.RULE_OCCURRENCE_STACK.push(c),this.RULE_STACK.push(a),this.cstInvocationStateUpdate(b)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let a=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[a]}shortRuleNameToFullName(a){return this.shortRuleNameToFull[a]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),hZ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class i6{initErrorHandler(a){this._errors=[],this.errorMessageProvider=cc(a,"errorMessageProvider")?a.errorMessageProvider:jl.errorMessageProvider}SAVE_ERROR(a){if(iL(a))return a.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:cQ(this.RULE_OCCURRENCE_STACK)},this._errors.push(a),a;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return cQ(this._errors)}set errors(a){this._errors=a}raiseEarlyExitException(a,b,c){let d=this.getCurrRuleFullName(),e=iy(a,this.getGAstProductions()[d],b,this.maxLookahead)[0],f=[];for(let a=1;a<=this.maxLookahead;a++)f.push(this.LA(a));let g=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:e,actual:f,previous:this.LA(0),customUserDescription:c,ruleName:d});throw this.SAVE_ERROR(new iQ(g,this.LA(1),this.LA(0)))}raiseNoAltException(a,b){let c=this.getCurrRuleFullName(),d=ix(a,this.getGAstProductions()[c],this.maxLookahead),e=[];for(let a=1;a<=this.maxLookahead;a++)e.push(this.LA(a));let f=this.LA(0),g=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:d,actual:e,previous:f,customUserDescription:b,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new iO(g,this.LA(1),f))}}class i7{initContentAssist(){}computeContentAssist(a,b){let c=this.gastProductionsCache[a];if(gK(c))throw Error(`Rule ->${a}<- does not exist in this grammar.`);return im([c],b,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(a){let b=g4(a.ruleStack);return new ie(this.getGAstProductions()[b],a).startWalking()}}let i8=function(a,b){var c;return aB(a,function(a,d,e){return!(c=b(a,d,e))}),!!c},i9=function(a,b,c){var d=_(a)?bl:i8;return c&&gE(a,b,c)&&(b=void 0),d(a,b7(b,3))},ja={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ja);let jb=hY({name:"RECORDING_PHASE_TOKEN",pattern:hN.NA});hH([jb]);let jc=h$(jb,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(jc);let jd={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};class je{initGastRecorder(a){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let a=0;a<10;a++){let b=a>0?a:"";this[`CONSUME${b}`]=function(b,c){return this.consumeInternalRecord(b,a,c)},this[`SUBRULE${b}`]=function(b,c){return this.subruleInternalRecord(b,a,c)},this[`OPTION${b}`]=function(b){return this.optionInternalRecord(b,a)},this[`OR${b}`]=function(b){return this.orInternalRecord(b,a)},this[`MANY${b}`]=function(b){this.manyInternalRecord(a,b)},this[`MANY_SEP${b}`]=function(b){this.manySepFirstInternalRecord(a,b)},this[`AT_LEAST_ONE${b}`]=function(b){this.atLeastOneInternalRecord(a,b)},this[`AT_LEAST_ONE_SEP${b}`]=function(b){this.atLeastOneSepFirstInternalRecord(a,b)}}this.consume=function(a,b,c){return this.consumeInternalRecord(b,a,c)},this.subrule=function(a,b,c){return this.subruleInternalRecord(b,a,c)},this.option=function(a,b){return this.optionInternalRecord(b,a)},this.or=function(a,b){return this.orInternalRecord(b,a)},this.many=function(a,b){this.manyInternalRecord(a,b)},this.atLeastOne=function(a,b){this.atLeastOneInternalRecord(a,b)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let a=0;a<10;a++){let b=a>0?a:"";delete this[`CONSUME${b}`],delete this[`SUBRULE${b}`],delete this[`OPTION${b}`],delete this[`OR${b}`],delete this[`MANY${b}`],delete this[`MANY_SEP${b}`],delete this[`AT_LEAST_ONE${b}`],delete this[`AT_LEAST_ONE_SEP${b}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(a){}BACKTRACK_RECORD(a,b){return()=>!0}LA_RECORD(a){return jk}topLevelRuleRecord(a,b){try{let c=new fM({definition:[],name:a});return c.name=a,this.recordingProdStack.push(c),b.call(this),this.recordingProdStack.pop(),c}catch(a){if(!0!==a.KNOWN_RECORDER_ERROR)try{a.message=a.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(a){}throw a}}optionInternalRecord(a,b){return jf.call(this,fO,a,b)}atLeastOneInternalRecord(a,b){jf.call(this,fP,b,a)}atLeastOneSepFirstInternalRecord(a,b){jf.call(this,fQ,b,a,!0)}manyInternalRecord(a,b){jf.call(this,fR,b,a)}manySepFirstInternalRecord(a,b){jf.call(this,fS,b,a,!0)}orInternalRecord(a,b){return jg.call(this,a,b)}subruleInternalRecord(a,b,c){if(ji(b),!a||!1===cc(a,"ruleName")){let c=Error(`<SUBRULE${jh(b)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(a)}>
|
|
57
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw c.KNOWN_RECORDER_ERROR=!0,c}let d=hB(this.recordingProdStack),e=new fL({idx:b,nonTerminalName:a.ruleName,label:null==c?void 0:c.LABEL,referencedRule:void 0});return d.definition.push(e),this.outputCst?jd:ja}consumeInternalRecord(a,b,c){if(ji(b),!hI(a)){let c=Error(`<CONSUME${jh(b)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(a)}>
|
|
58
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw c.KNOWN_RECORDER_ERROR=!0,c}let d=hB(this.recordingProdStack),e=new fU({idx:b,terminalType:a,label:null==c?void 0:c.LABEL});return d.definition.push(e),jc}}function jf(a,b,c,d=!1){ji(c);let e=hB(this.recordingProdStack),f=ay(b)?b:b.DEF,g=new a({definition:[],idx:c});return d&&(g.separator=b.SEP),cc(b,"MAX_LOOKAHEAD")&&(g.maxLookahead=b.MAX_LOOKAHEAD),this.recordingProdStack.push(g),f.call(this),e.definition.push(g),this.recordingProdStack.pop(),ja}function jg(a,b){ji(b);let c=hB(this.recordingProdStack),d=!1===_(a),e=!1===d?a:a.DEF,f=new fT({definition:[],idx:b,ignoreAmbiguities:d&&!0===a.IGNORE_AMBIGUITIES});return cc(a,"MAX_LOOKAHEAD")&&(f.maxLookahead=a.MAX_LOOKAHEAD),f.hasPredicates=i9(e,a=>ay(a.GATE)),c.definition.push(f),aD(e,a=>{let b=new fN({definition:[]});f.definition.push(b),cc(a,"IGNORE_AMBIGUITIES")?b.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:cc(a,"GATE")&&(b.ignoreAmbiguities=!0),this.recordingProdStack.push(b),a.ALT.call(this),this.recordingProdStack.pop()}),ja}function jh(a){return 0===a?"":`${a}`}function ji(a){if(a<0||a>255){let b=Error(`Invalid DSL Method idx value: <${a}>
|
|
59
|
+
Idx value must be a none negative value smaller than ${256}`);throw b.KNOWN_RECORDER_ERROR=!0,b}}class jj{initPerformanceTracer(a){if(cc(a,"traceInitPerf")){let b=a.traceInitPerf,c="number"==typeof b;this.traceInitMaxIdent=c?b:1/0,this.traceInitPerf=c?b>0:b}else this.traceInitMaxIdent=0,this.traceInitPerf=jl.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(a,b){if(!0!==this.traceInitPerf)return b();{this.traceInitIndent++;let c=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${c}--> <${a}>`);let{time:d,value:e}=hC(b),f=d>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&f(`${c}<-- <${a}> time: ${d}ms`),this.traceInitIndent--,e}}}let jk=h$(hZ,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(jk);let jl=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:h0,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),jm=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0});function jn(a){return function(){return a}}(I=m||(m={}))[I.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",I[I.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",I[I.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",I[I.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",I[I.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",I[I.LEFT_RECURSION=5]="LEFT_RECURSION",I[I.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",I[I.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",I[I.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",I[I.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",I[I.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",I[I.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",I[I.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",I[I.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class jo{static performSelfAnalysis(a){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let a;this.selfAnalysisDone=!0;let b=this.className;this.TRACE_INIT("toFastProps",()=>{cR(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),aD(this.definedRulesNames,a=>{let b,c=this[a].originalGrammarAction;this.TRACE_INIT(`${a} Rule`,()=>{b=this.topLevelRuleRecord(a,c)}),this.gastProductionsCache[a]=b})}finally{this.disableRecording()}});let c=[];if(this.TRACE_INIT("Grammar Resolving",()=>{var a;let b,d,e;d=gO(a={rules:aF(this.gastProductionsCache)},{errMsgProvider:h1}),e={},aD(a.rules,a=>{e[a.name]=a}),(b=new h3(e,d.errMsgProvider)).resolveRefs(),c=b.errors,this.definitionErrors=this.definitionErrors.concat(c)}),this.TRACE_INIT("Grammar Validations",()=>{if(a7(c)&&!1===this.skipValidations){var a,d,e,f,g,h,i,j,k;let c,l,n,o,p,q,r=(d=(a=gO(a={rules:aF(this.gastProductionsCache),tokenTypes:aF(this.tokensMap),errMsgProvider:h2,grammarName:b},{errMsgProvider:h2})).rules,e=a.tokenTypes,f=a.errMsgProvider,g=a.grammarName,n=h4(d,a=>{var b,c;let d;return b=a,c=f,d=new iD,b.accept(d),b9(aF(ib(h8(d.allProductions,iB),a=>a.length>1)),a=>{let d=g4(a),e=c.buildDuplicateFoundError(b,a),f=gh(d),g={message:e,type:m.DUPLICATE_PRODUCTIONS,ruleName:b.name,dslName:f,occurrence:d.idx},h=iC(d);return h&&(g.parameter=h),g})}),i=d,j=e,k=f,c=[],l=b9(j,a=>a.name),aD(i,a=>{let b=a.name;if(gV(l,b)){let d=k.buildNamespaceConflictError(a);c.push({message:d,type:m.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:b})}}),o=c,p=h4(d,a=>{var b,c;let d;return b=a,c=f,d=new iE,b.accept(d),h4(d.alternations,a=>a.definition.length>255?[{message:c.buildTooManyAlternativesError({topLevelRule:b,alternation:a}),type:m.TOO_MANY_ALTS,ruleName:b.name,occurrence:a.idx}]:[])}),q=h4(d,a=>(function(a,b,c,d){let e=[];if(g$(b,(b,c)=>c.name===a.name?b+1:b,0)>1){let b=d.buildDuplicateRuleNameError({topLevelRule:a,grammarName:c});e.push({message:b,type:m.DUPLICATE_RULE_NAME,ruleName:a.name})}return e})(a,d,g,f)),n.concat(o,p,q)),s=b9((h={lookaheadStrategy:this.lookaheadStrategy,rules:aF(this.gastProductionsCache),tokenTypes:aF(this.tokensMap),grammarName:b}).lookaheadStrategy.validate({rules:h.rules,tokenTypes:h.tokenTypes,grammarName:h.grammarName}),a=>Object.assign({type:m.CUSTOM_LOOKAHEAD_VALIDATION},a));this.definitionErrors=this.definitionErrors.concat(r,s)}}),a7(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var a;let b,c=(a=aF(this.gastProductionsCache),b={},aD(a,a=>{gG(b,new gI(a).startWalking())}),b);this.resyncFollows=c}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var a,b;null==(b=(a=this.lookaheadStrategy).initialize)||b.call(a,{rules:aF(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(aF(this.gastProductionsCache))})),!jo.DEFER_DEFINITION_ERRORS_HANDLING&&!a7(this.definitionErrors))throw a=b9(this.definitionErrors,a=>a.message),Error(`Parser Definition Errors detected:
|
|
60
|
+
${a.join("\n-------------------------------\n")}`)})}constructor(a,b){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(b),this.initLexerAdapter(),this.initLooksAhead(b),this.initRecognizerEngine(a,b),this.initRecoverable(b),this.initTreeBuilder(b),this.initContentAssist(),this.initGastRecorder(b),this.initPerformanceTracer(b),cc(b,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=cc(b,"skipValidations")?b.skipValidations:jl.skipValidations}}jo.DEFER_DEFINITION_ERRORS_HANDLING=!1,[iU,iX,i2,i3,i5,i4,i6,i7,je,jj].forEach(a=>{let b=a.prototype;Object.getOwnPropertyNames(b).forEach(c=>{if("constructor"===c)return;let d=Object.getOwnPropertyDescriptor(b,c);d&&(d.get||d.set)?Object.defineProperty(jo.prototype,c,d):jo.prototype[c]=a.prototype[c]})});class jp extends jo{constructor(a,b=jl){const c=cQ(b);c.outputCst=!1,super(a,c)}}},67796:(a,b)=>{function c(a){return"string"==typeof a||a instanceof String}function d(a){return Array.isArray(a)}Object.defineProperty(b,"__esModule",{value:!0}),b.stringArray=b.array=b.func=b.error=b.number=b.string=b.boolean=void 0,b.boolean=function(a){return!0===a||!1===a},b.string=c,b.number=function(a){return"number"==typeof a||a instanceof Number},b.error=function(a){return a instanceof Error},b.func=function(a){return"function"==typeof a},b.array=d,b.stringArray=function(a){return d(a)&&a.every(a=>c(a))}},71893:(a,b,c)=>{function d(a){return"object"==typeof a&&null!==a&&"string"==typeof a.$type}function e(a){return"object"==typeof a&&null!==a&&"string"==typeof a.$refText}function f(a){return"object"==typeof a&&null!==a&&"string"==typeof a.name&&"string"==typeof a.type&&"string"==typeof a.path}function g(a){return"object"==typeof a&&null!==a&&d(a.container)&&e(a.reference)&&"string"==typeof a.message}c.d(b,{A_:()=>e,FC:()=>j,Nr:()=>f,Zl:()=>g,br:()=>k,kD:()=>h,mD:()=>i,ng:()=>d});class h{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(a,b){return d(a)&&this.isSubtype(a.$type,b)}isSubtype(a,b){if(a===b)return!0;let c=this.subtypes[a];c||(c=this.subtypes[a]={});let d=c[b];if(void 0!==d)return d;{let d=this.computeIsSubtype(a,b);return c[b]=d,d}}getAllSubTypes(a){let b=this.allSubtypes[a];if(b)return b;{let b=this.getAllTypes(),c=[];for(let d of b)this.isSubtype(d,a)&&c.push(d);return this.allSubtypes[a]=c,c}}}function i(a){return"object"==typeof a&&null!==a&&Array.isArray(a.content)}function j(a){return"object"==typeof a&&null!==a&&"object"==typeof a.tokenType}function k(a){return i(a)&&"string"==typeof a.fullText}},74047:(a,b,c)=>{c.d(b,{El:()=>m,NS:()=>h,SX:()=>k,pO:()=>i,r4:()=>l,v:()=>n,wf:()=>j});var d,e,f=c(71893),g=c(5661);function h(a){return new g.Vj(a,a=>(0,f.mD)(a)?a.content:[],{includeRoot:!0})}function i(a,b){for(;a.container;)if((a=a.container)===b)return!0;return!1}function j(a){return{start:{character:a.startColumn-1,line:a.startLine-1},end:{character:a.endColumn,line:a.endLine-1}}}function k(a){if(!a)return;let{offset:b,end:c,range:d}=a;return{range:d,offset:b,end:c,length:c-b}}function l(a,b){return function(a,b){if(a.end.line<b.start.line||a.end.line===b.start.line&&a.end.character<=b.start.character)return e.Before;if(a.start.line>b.end.line||a.start.line===b.end.line&&a.start.character>=b.end.character)return e.After;let c=a.start.line>b.start.line||a.start.line===b.start.line&&a.start.character>=b.start.character,d=a.end.line<b.end.line||a.end.line===b.end.line&&a.end.character<=b.end.character;return c&&d?e.Inside:c?e.OverlapBack:d?e.OverlapFront:e.Outside}(a,b)>e.After}(d=e||(e={}))[d.Before=0]="Before",d[d.After=1]="After",d[d.OverlapFront=2]="OverlapFront",d[d.OverlapBack=3]="OverlapBack",d[d.Inside=4]="Inside",d[d.Outside=5]="Outside";let m=/^[\w\p{L}]$/u;function n(a,b){if(a){let c=function(a,b=!0){for(;a.container;){let c=a.container,d=c.content.indexOf(a);for(;d>0;){d--;let a=c.content[d];if(b||!a.hidden)return a}a=c}}(a,!0);if(c&&o(c,b))return c;if((0,f.br)(a)){let c=a.content.findIndex(a=>!a.hidden);for(let d=c-1;d>=0;d--){let c=a.content[d];if(o(c,b))return c}}}}function o(a,b){return(0,f.FC)(a)&&b.includes(a.tokenType.name)}},74312:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(78959);let e=function(a){return(null==a?0:a.length)?(0,d.A)(a,1):[]}},77095:(a,b,c)=>{c.d(b,{D:()=>e});class d{readFile(){throw Error("No file system is available.")}async readDirectory(){return[]}}let e={fileSystemProvider:()=>new d}},82310:(a,b,c)=>{var d;function e(a,b,c,d,e,f,h,i,k){return g([a,b,c,d,e,f,h,i,k].reduce(j,{}))}c.d(b,{WQ:()=>e}),(d||(d={})).merge=(a,b)=>j(j({},a),b);let f=Symbol("isProxy");function g(a,b){let c=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error("Cannot set property on injected service container")},get:(d,e)=>e===f||i(d,e,a,b||c),getOwnPropertyDescriptor:(d,e)=>(i(d,e,a,b||c),Object.getOwnPropertyDescriptor(d,e)),has:(b,c)=>c in a,ownKeys:()=>[...Object.getOwnPropertyNames(a)]});return c}let h=Symbol();function i(a,b,c,d){if(b in a){if(a[b]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:a[b]});if(a[b]===h)throw Error('Cycle detected. Please make "'+String(b)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return a[b]}if(b in c){let e=c[b];a[b]=h;try{a[b]="function"==typeof e?e(d):g(e,d)}catch(c){throw a[b]=c instanceof Error?c:void 0,c}return a[b]}}function j(a,b){if(b){for(let[c,d]of Object.entries(b))if(void 0!==d){let b=a[c];null!==b&&null!==d&&"object"==typeof b&&"object"==typeof d?a[c]=j(b,d):a[c]=d}}return a}},83946:(a,b,c)=>{c.d(b,{A:()=>g});var d=c(59661),e=c(95326),f=c(66994);let g=function(a){return a&&a.length?(0,d.A)(a,f.A,e.A):void 0}},86752:(a,b,c)=>{c.d(b,{f:()=>k});var d=c(19765),e=c(77095),f=c(82310),g=c(56760),h=class extends d.mR{static{(0,d.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},i=class extends d.dg{static{(0,d.K2)(this,"PieValueConverter")}runCustomConverter(a,b,c){if("PIE_SECTION_LABEL"===a.name)return b.replace(/"/g,"").trim()}},j={parser:{TokenBuilder:(0,d.K2)(()=>new h,"TokenBuilder"),ValueConverter:(0,d.K2)(()=>new i,"ValueConverter")}};function k(a=e.D){let b=(0,f.WQ)((0,g.u)(a),d.sr),c=(0,f.WQ)((0,g.t)({shared:b}),d.KX,j);return b.ServiceRegistry.register(c),{shared:b,Pie:c}}(0,d.K2)(k,"createPieServices")},87826:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(16730),e=c(93884);let f=function(a,b){var c=-1,f=(0,e.A)(a)?Array(a.length):[];return(0,d.A)(a,function(a,d,e){f[++c]=b(a,d,e)}),f}},92325:(a,b,c)=>{c.d(b,{qg:()=>g}),c(27681),c(39811),c(27144),c(86752),c(20002),c(3568),c(40819);var d=c(19765),e={},f={info:(0,d.K2)(async()=>{let{createInfoServices:a}=await c.e(720).then(c.bind(c,90720));e.info=a().Info.parser.LangiumParser},"info"),packet:(0,d.K2)(async()=>{let{createPacketServices:a}=await c.e(7135).then(c.bind(c,37135));e.packet=a().Packet.parser.LangiumParser},"packet"),pie:(0,d.K2)(async()=>{let{createPieServices:a}=await c.e(4643).then(c.bind(c,74643));e.pie=a().Pie.parser.LangiumParser},"pie"),architecture:(0,d.K2)(async()=>{let{createArchitectureServices:a}=await c.e(4696).then(c.bind(c,24696));e.architecture=a().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,d.K2)(async()=>{let{createGitGraphServices:a}=await c.e(1687).then(c.bind(c,21687));e.gitGraph=a().GitGraph.parser.LangiumParser},"gitGraph"),radar:(0,d.K2)(async()=>{let{createRadarServices:a}=await c.e(8142).then(c.bind(c,68142));e.radar=a().Radar.parser.LangiumParser},"radar"),treemap:(0,d.K2)(async()=>{let{createTreemapServices:a}=await c.e(515).then(c.bind(c,70515));e.treemap=a().Treemap.parser.LangiumParser},"treemap")};async function g(a,b){let c=f[a];if(!c)throw Error(`Unknown diagram type: ${a}`);e[a]||await c();let d=e[a].parse(b);if(d.lexerErrors.length>0||d.parserErrors.length>0)throw new h(d);return d.value}(0,d.K2)(g,"parse");var h=class extends Error{constructor(a){super(`Parsing failed: ${a.lexerErrors.map(a=>a.message).join("\n")} ${a.parserErrors.map(a=>a.message).join("\n")}`),this.result=a}static{(0,d.K2)(this,"MermaidParseError")}}},94224:(a,b,c)=>{c.d(b,{Ao:()=>m,Nt:()=>l,PC:()=>n,TH:()=>e,Yv:()=>k,lU:()=>i});var d=c(21785);let e=/\r?\n/gm,f=new d.H;class g extends d.z{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(a){this.multiline=!1,this.regex=a,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(a){a.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(a){let b=String.fromCharCode(a.value);if(this.multiline||"\n"!==b||(this.multiline=!0),a.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let a=l(b);this.endRegexpStack.push(a),this.isStarting&&(this.startRegexp+=a)}}visitSet(a){if(!this.multiline){let b=new RegExp(this.regex.substring(a.loc.begin,a.loc.end));this.multiline=!!"\n".match(b)}if(a.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let b=this.regex.substring(a.loc.begin,a.loc.end);this.endRegexpStack.push(b),this.isStarting&&(this.startRegexp+=b)}}visitChildren(a){"Group"===a.type&&a.quantifier||super.visitChildren(a)}}let h=new g;function i(a){try{return"string"==typeof a&&(a=new RegExp(a)),a=a.toString(),h.reset(a),h.visit(f.pattern(a)),h.multiline}catch(a){return!1}}let j="\f\n\r \v \xa0 \u2028\u2029 \uFEFF".split("");function k(a){let b="string"==typeof a?new RegExp(a):a;return j.some(a=>b.test(a))}function l(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function m(a){return Array.prototype.map.call(a,a=>/\w/.test(a)?`[${a.toLowerCase()}${a.toUpperCase()}]`:l(a)).join("")}function n(a,b){var c;let d,e,f,g=("string"==typeof(c=a)&&(c=new RegExp(c)),d=c,e=c.source,f=0,new RegExp(function a(){let b="",c;function g(a){b+=e.substr(f,a),f+=a}function h(a){b+="(?:"+e.substr(f,a)+"|$)",f+=a}for(;f<e.length;)switch(e[f]){case"\\":switch(e[f+1]){case"c":h(3);break;case"x":h(4);break;case"u":h(d.unicode?"{"===e[f+2]?e.indexOf("}",f)-f+1:6:2);break;case"p":case"P":h(d.unicode?e.indexOf("}",f)-f+1:2);break;case"k":h(e.indexOf(">",f)-f+1);break;default:h(2)}break;case"[":(c=/\[(?:\\.|.)*?\]/g).lastIndex=f,h((c=c.exec(e)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":g(1);break;case"{":(c=/\{\d+,?\d*\}/g).lastIndex=f,(c=c.exec(e))?g(c[0].length):h(1);break;case"(":if("?"===e[f+1])switch(e[f+2]){case":":b+="(?:",f+=3,b+=a()+"|$)";break;case"=":b+="(?=",f+=3,b+=a()+")";break;case"!":c=f,f+=3,a(),b+=e.substr(c,f-c);break;case"<":switch(e[f+3]){case"=":case"!":c=f,f+=4,a(),b+=e.substr(c,f-c);break;default:g(e.indexOf(">",f)-f+1),b+=a()+"|$)"}}else g(1),b+=a()+"|$)";break;case")":return++f,b;default:h(1)}return b}(),c.flags)),h=b.match(g);return!!h&&h[0].length>0}},95326:(a,b,c)=>{c.d(b,{A:()=>d});let d=function(a,b){return a<b}}};
|