@dayinxisheng/zreadbrow 1.11.0 → 1.17.3
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/bin/zreadbrow.js +14 -2
- package/dist/public/assets/AIPanel-C-YfdAam.js +40 -0
- package/dist/public/assets/MermaidBlock-CPVuAdRJ.js +1 -0
- package/dist/public/assets/MermaidViewerModal-BRk7-q4K.js +33 -0
- package/dist/public/assets/ReferenceModal-B916Di7q.js +52 -0
- package/dist/public/assets/SettingsModal-CTBLFFSS.js +23 -0
- package/dist/public/assets/_baseUniq-m7cimItk.js +1 -0
- package/dist/public/assets/abap-BdImnpbu.js +1 -0
- package/dist/public/assets/actionscript-3-CoDkCxhg.js +1 -0
- package/dist/public/assets/ada-bCR0ucgS.js +1 -0
- package/dist/public/assets/andromeeda-C4gqWexZ.js +1 -0
- package/dist/public/assets/angular-html-CU67Zn6k.js +1 -0
- package/dist/public/assets/angular-ts-BwZT4LLn.js +1 -0
- package/dist/public/assets/apache-Pmp26Uib.js +1 -0
- package/dist/public/assets/apex-D8_7TLub.js +1 -0
- package/dist/public/assets/apl-dKokRX4l.js +1 -0
- package/dist/public/assets/applescript-Co6uUVPk.js +1 -0
- package/dist/public/assets/ara-BRHolxvo.js +1 -0
- package/dist/public/assets/architectureDiagram-Q4EWVU46-DtqSqMGf.js +36 -0
- package/dist/public/assets/asciidoc-Ve4PFQV2.js +1 -0
- package/dist/public/assets/asm-D_Q5rh1f.js +1 -0
- package/dist/public/assets/astro-CbQHKStN.js +1 -0
- package/dist/public/assets/aurora-x-D-2ljcwZ.js +1 -0
- package/dist/public/assets/awk-DMzUqQB5.js +1 -0
- package/dist/public/assets/ayu-dark-DYE7WIF3.js +1 -0
- package/dist/public/assets/ayu-light-BA47KaF1.js +1 -0
- package/dist/public/assets/ayu-mirage-32ctXXKs.js +1 -0
- package/dist/public/assets/ballerina-BFfxhgS-.js +1 -0
- package/dist/public/assets/bat-BkioyH1T.js +1 -0
- package/dist/public/assets/beancount-k_qm7-4y.js +1 -0
- package/dist/public/assets/berry-uYugtg8r.js +1 -0
- package/dist/public/assets/bibtex-CHM0blh-.js +1 -0
- package/dist/public/assets/bicep-Bmn6On1c.js +1 -0
- package/dist/public/assets/bird2-DPOp833l.js +1 -0
- package/dist/public/assets/blade-D4QpJJKB.js +1 -0
- package/dist/public/assets/{blockDiagram-DXYQGD6D-3nHn8zf8.js → blockDiagram-DXYQGD6D-CgFuSL-z.js} +5 -5
- package/dist/public/assets/bsl-BO_Y6i37.js +1 -0
- package/dist/public/assets/c-BIGW1oBm.js +1 -0
- package/dist/public/assets/c3-eo99z4R2.js +1 -0
- package/dist/public/assets/{c4Diagram-AHTNJAMY-C_avfzvA.js → c4Diagram-AHTNJAMY-CUE7rn2p.js} +1 -1
- package/dist/public/assets/cadence-Bv_4Rxtq.js +1 -0
- package/dist/public/assets/cairo-KRGpt6FW.js +1 -0
- package/dist/public/assets/catppuccin-frappe-DFWUc33u.js +1 -0
- package/dist/public/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
- package/dist/public/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
- package/dist/public/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
- package/dist/public/assets/chunk-4BX2VUAB-zMHqNRcr.js +1 -0
- package/dist/public/assets/{chunk-4TB4RGXK-CtC9TRDU.js → chunk-4TB4RGXK-BpV3pxqF.js} +1 -1
- package/dist/public/assets/chunk-55IACEB6-1YjEpZd0.js +1 -0
- package/dist/public/assets/chunk-EDXVE4YY-CeBjdSJX.js +1 -0
- package/dist/public/assets/{chunk-FMBD7UC4-5FxcCMNb.js → chunk-FMBD7UC4-oyXy72V1.js} +1 -1
- package/dist/public/assets/{chunk-OYMX7WX6-l29TJ9n4.js → chunk-OYMX7WX6-CQB5A9wm.js} +1 -1
- package/dist/public/assets/chunk-QZHKN3VN-C6V5KhDH.js +1 -0
- package/dist/public/assets/chunk-YZCP3GAM-Cvl0MM85.js +1 -0
- package/dist/public/assets/clarity-D53aC0YG.js +1 -0
- package/dist/public/assets/classDiagram-6PBFFD2Q-DHxKXnDK.js +1 -0
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-DHxKXnDK.js +1 -0
- package/dist/public/assets/clojure-P80f7IUj.js +1 -0
- package/dist/public/assets/clone-B_44hGXQ.js +1 -0
- package/dist/public/assets/cmake-D1j8_8rp.js +1 -0
- package/dist/public/assets/cobol-nwyudZeR.js +1 -0
- package/dist/public/assets/codeowners-Bp6g37R7.js +1 -0
- package/dist/public/assets/codeql-DsOJ9woJ.js +1 -0
- package/dist/public/assets/coffee-Ch7k5sss.js +1 -0
- package/dist/public/assets/common-lisp-Cg-RD9OK.js +1 -0
- package/dist/public/assets/coq-DkFqJrB1.js +1 -0
- package/dist/public/assets/cose-bilkent-S5V4N54A-tP2GUtP-.js +1 -0
- package/dist/public/assets/cpp-CofmeUqb.js +1 -0
- package/dist/public/assets/crystal-tKQVLTB8.js +1 -0
- package/dist/public/assets/csharp-COcwbKMJ.js +1 -0
- package/dist/public/assets/css-DPfMkruS.js +1 -0
- package/dist/public/assets/csv-fuZLfV_i.js +1 -0
- package/dist/public/assets/cue-D82EKSYY.js +1 -0
- package/dist/public/assets/cypher-COkxafJQ.js +1 -0
- package/dist/public/assets/d-85-TOEBH.js +1 -0
- package/dist/public/assets/dagre-KV5264BT-Evq-yC-H.js +4 -0
- package/dist/public/assets/dark-plus-C3mMm8J8.js +1 -0
- package/dist/public/assets/dart-CF10PKvl.js +1 -0
- package/dist/public/assets/dax-CEL-wOlO.js +1 -0
- package/dist/public/assets/desktop-BmXAJ9_W.js +1 -0
- package/dist/public/assets/diagram-5BDNPKRD-C9IEP2hE.js +10 -0
- package/dist/public/assets/diagram-G4DWMVQ6-BCLMvrx-.js +24 -0
- package/dist/public/assets/diagram-MMDJMWI5-DxJ3dga5.js +43 -0
- package/dist/public/assets/diagram-TYMM5635-BOJIcEla.js +24 -0
- package/dist/public/assets/diff-D97Zzqfu.js +1 -0
- package/dist/public/assets/docker-BcOcwvcX.js +1 -0
- package/dist/public/assets/dotenv-Da5cRb03.js +1 -0
- package/dist/public/assets/dracula-BzJJZx-M.js +1 -0
- package/dist/public/assets/dracula-soft-BXkSAIEj.js +1 -0
- package/dist/public/assets/dream-maker-BtqSS_iP.js +1 -0
- package/dist/public/assets/edge-BkV0erSs.js +1 -0
- package/dist/public/assets/elixir-CDX3lj18.js +1 -0
- package/dist/public/assets/elm-DbKCFpqz.js +1 -0
- package/dist/public/assets/emacs-lisp-C9XAeP06.js +1 -0
- package/dist/public/assets/{erDiagram-SMLLAGMA-BDyPv2cw.js → erDiagram-SMLLAGMA-aXA9Q1fI.js} +4 -4
- package/dist/public/assets/erb-B12qg9BL.js +1 -0
- package/dist/public/assets/erlang-DsQrWhSR.js +1 -0
- package/dist/public/assets/everforest-dark-BgDCqdQA.js +1 -0
- package/dist/public/assets/everforest-light-C8M2exoo.js +1 -0
- package/dist/public/assets/fennel-BYunw83y.js +1 -0
- package/dist/public/assets/fish-BvzEVeQv.js +1 -0
- package/dist/public/assets/{flowDiagram-DWJPFMVM-Br4kn9xF.js → flowDiagram-DWJPFMVM-BjEk7JcK.js} +4 -4
- package/dist/public/assets/fluent-C4IJs8-o.js +1 -0
- package/dist/public/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
- package/dist/public/assets/fortran-free-form-BxgE0vQu.js +1 -0
- package/dist/public/assets/fsharp-CXgrBDvD.js +1 -0
- package/dist/public/assets/ganttDiagram-T4ZO3ILL-D3u7X5y3.js +292 -0
- package/dist/public/assets/gdresource-BOOCDP_w.js +1 -0
- package/dist/public/assets/gdscript-C5YyOfLZ.js +1 -0
- package/dist/public/assets/gdshader-DkwncUOv.js +1 -0
- package/dist/public/assets/genie-D0YGMca9.js +1 -0
- package/dist/public/assets/gherkin-DyxjwDmM.js +1 -0
- package/dist/public/assets/git-commit-F4YmCXRG.js +1 -0
- package/dist/public/assets/git-rebase-r7XF79zn.js +1 -0
- package/dist/public/assets/gitGraphDiagram-UUTBAWPF-oEcGoRSk.js +106 -0
- package/dist/public/assets/github-dark-DHJKELXO.js +1 -0
- package/dist/public/assets/github-dark-default-Cuk6v7N8.js +1 -0
- package/dist/public/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/dist/public/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
- package/dist/public/assets/github-light-DAi9KRSo.js +1 -0
- package/dist/public/assets/github-light-default-D7oLnXFd.js +1 -0
- package/dist/public/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
- package/dist/public/assets/gleam-BspZqrRM.js +1 -0
- package/dist/public/assets/glimmer-js-Rg0-pVw9.js +1 -0
- package/dist/public/assets/glimmer-ts-U6CK756n.js +1 -0
- package/dist/public/assets/glsl-DplSGwfg.js +1 -0
- package/dist/public/assets/gn-n2N0HUVH.js +1 -0
- package/dist/public/assets/gnuplot-DdkO51Og.js +1 -0
- package/dist/public/assets/go-CxLEBnE3.js +1 -0
- package/dist/public/assets/graph-lVZ_cjbT.js +1 -0
- package/dist/public/assets/graphql-ChdNCCLP.js +1 -0
- package/dist/public/assets/groovy-gcz8RCvz.js +1 -0
- package/dist/public/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
- package/dist/public/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
- package/dist/public/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
- package/dist/public/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
- package/dist/public/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
- package/dist/public/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
- package/dist/public/assets/hack-CaT9iCJl.js +1 -0
- package/dist/public/assets/haml-B8DHNrY2.js +1 -0
- package/dist/public/assets/handlebars-BL8al0AC.js +1 -0
- package/dist/public/assets/haskell-Df6bDoY_.js +1 -0
- package/dist/public/assets/haxe-CzTSHFRz.js +1 -0
- package/dist/public/assets/hcl-BWvSN4gD.js +1 -0
- package/dist/public/assets/highlighted-body-OFNGDK62-DkdBx1s2.js +1 -0
- package/dist/public/assets/hjson-D5-asLiD.js +1 -0
- package/dist/public/assets/hlsl-D3lLCCz7.js +1 -0
- package/dist/public/assets/horizon-BUw7H-hv.js +1 -0
- package/dist/public/assets/horizon-bright-Cn-bp-IR.js +1 -0
- package/dist/public/assets/houston-DnULxvSX.js +1 -0
- package/dist/public/assets/html-GMplVEZG.js +1 -0
- package/dist/public/assets/html-derivative-BFtXZ54Q.js +1 -0
- package/dist/public/assets/http-jrhK8wxY.js +1 -0
- package/dist/public/assets/hurl-irOxFIW8.js +1 -0
- package/dist/public/assets/hxml-Bvhsp5Yf.js +1 -0
- package/dist/public/assets/hy-DFXneXwc.js +1 -0
- package/dist/public/assets/imba-DGztddWO.js +1 -0
- package/dist/public/assets/index-BmQ-wOlB.js +482 -0
- package/dist/public/assets/index-F37uDERb.css +1 -0
- package/dist/public/assets/infoDiagram-42DDH7IO-C28F97oa.js +2 -0
- package/dist/public/assets/ini-BEwlwnbL.js +1 -0
- package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-DfjfB3Z9.js → ishikawaDiagram-UXIWVN3A-D59D4ZGk.js} +5 -5
- package/dist/public/assets/java-CylS5w8V.js +1 -0
- package/dist/public/assets/javascript-wDzz0qaB.js +1 -0
- package/dist/public/assets/jinja-4LBKfQ-Z.js +1 -0
- package/dist/public/assets/jison-wvAkD_A8.js +1 -0
- package/dist/public/assets/{journeyDiagram-VCZTEJTY-Cv4XDTnO.js → journeyDiagram-VCZTEJTY-DshaLFkN.js} +6 -6
- package/dist/public/assets/json-Cp-IABpG.js +1 -0
- package/dist/public/assets/json5-C9tS-k6U.js +1 -0
- package/dist/public/assets/jsonc-Des-eS-w.js +1 -0
- package/dist/public/assets/jsonl-DcaNXYhu.js +1 -0
- package/dist/public/assets/jsonnet-DFQXde-d.js +1 -0
- package/dist/public/assets/jssm-C2t-YnRu.js +1 -0
- package/dist/public/assets/jsx-g9-lgVsj.js +1 -0
- package/dist/public/assets/julia-CxzCAyBv.js +1 -0
- package/dist/public/assets/just-Cw27pwNe.js +1 -0
- package/dist/public/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
- package/dist/public/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
- package/dist/public/assets/kanagawa-wave-DWedfzmr.js +1 -0
- package/dist/public/assets/{kanban-definition-6JOO6SKY-DVuIyZC8.js → kanban-definition-6JOO6SKY-C2g7cjfd.js} +7 -7
- package/dist/public/assets/kdl-DV7GczEv.js +1 -0
- package/dist/public/assets/kotlin-BdnUsdx6.js +1 -0
- package/dist/public/assets/kusto-DZf3V79B.js +1 -0
- package/dist/public/assets/laserwave-DUszq2jm.js +1 -0
- package/dist/public/assets/latex-CWtU0Tv5.js +1 -0
- package/dist/public/assets/layout-CnqOUuXe.js +1 -0
- package/dist/public/assets/lean-BZvkOJ9d.js +1 -0
- package/dist/public/assets/less-B1dDrJ26.js +1 -0
- package/dist/public/assets/light-plus-B7mTdjB0.js +1 -0
- package/dist/public/assets/liquid-DYVedYrR.js +1 -0
- package/dist/public/assets/llvm-DjAJT7YJ.js +1 -0
- package/dist/public/assets/log-2UxHyX5q.js +1 -0
- package/dist/public/assets/logo-BtOb2qkB.js +1 -0
- package/dist/public/assets/lua-BaeVxFsk.js +1 -0
- package/dist/public/assets/luau-C-HG3fhB.js +1 -0
- package/dist/public/assets/make-CHLpvVh8.js +1 -0
- package/dist/public/assets/markdown-Cvjx9yec.js +1 -0
- package/dist/public/assets/marko-CnJfTvn9.js +1 -0
- package/dist/public/assets/material-theme-D5KoaKCx.js +1 -0
- package/dist/public/assets/material-theme-darker-BfHTSMKl.js +1 -0
- package/dist/public/assets/material-theme-lighter-B0m2ddpp.js +1 -0
- package/dist/public/assets/material-theme-ocean-CyktbL80.js +1 -0
- package/dist/public/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
- package/dist/public/assets/matlab-D7o27uSR.js +1 -0
- package/dist/public/assets/mdc-BMNejdWA.js +1 -0
- package/dist/public/assets/mdx-Cmh6b_Ma.js +1 -0
- package/dist/public/assets/mermaid-CF-QbALk.js +309 -0
- package/dist/public/assets/mermaid-mWjccvbQ.js +1 -0
- package/dist/public/assets/min-DIoUV2Ll.js +1 -0
- package/dist/public/assets/min-dark-CafNBF8u.js +1 -0
- package/dist/public/assets/min-light-CTRr51gU.js +1 -0
- package/dist/public/assets/{mindmap-definition-QFDTVHPH-CKXc6pGW.js → mindmap-definition-QFDTVHPH-Cuart2gs.js} +3 -3
- package/dist/public/assets/mipsasm-CKIfxQSi.js +1 -0
- package/dist/public/assets/mojo-rZm6bMo-.js +1 -0
- package/dist/public/assets/monokai-D4h5O-jR.js +1 -0
- package/dist/public/assets/moonbit-_H4v1dQx.js +1 -0
- package/dist/public/assets/move-IF9eRakj.js +1 -0
- package/dist/public/assets/narrat-DRg8JJMk.js +1 -0
- package/dist/public/assets/nextflow-Zz6hmt5N.js +1 -0
- package/dist/public/assets/nextflow-groovy-BeH2EWoN.js +1 -0
- package/dist/public/assets/nginx-BpAMiNFr.js +1 -0
- package/dist/public/assets/night-owl-C39BiMTA.js +1 -0
- package/dist/public/assets/night-owl-light-CMTm3GFP.js +1 -0
- package/dist/public/assets/nim-CVrawwO9.js +1 -0
- package/dist/public/assets/nix-CwoSXNpI.js +1 -0
- package/dist/public/assets/nord-Ddv68eIx.js +1 -0
- package/dist/public/assets/nushell-Cz2AlsmD.js +1 -0
- package/dist/public/assets/objective-c-DXmwc3jG.js +1 -0
- package/dist/public/assets/objective-cpp-CLxacb5B.js +1 -0
- package/dist/public/assets/ocaml-C0hk2d4L.js +1 -0
- package/dist/public/assets/odin-BBf5iR-q.js +1 -0
- package/dist/public/assets/one-dark-pro-DVMEJ2y_.js +1 -0
- package/dist/public/assets/one-light-C3Wv6jpd.js +1 -0
- package/dist/public/assets/openscad-C4EeE6gA.js +1 -0
- package/dist/public/assets/pascal-D93ZcfNL.js +1 -0
- package/dist/public/assets/perl-C0TMdlhV.js +1 -0
- package/dist/public/assets/php-Dhbhpdrm.js +1 -0
- package/dist/public/assets/pieDiagram-DEJITSTG-DDYdBumO.js +30 -0
- package/dist/public/assets/pkl-u5AG7uiY.js +1 -0
- package/dist/public/assets/plastic-3e1v2bzS.js +1 -0
- package/dist/public/assets/plsql-ChMvpjG-.js +1 -0
- package/dist/public/assets/po-BTJTHyun.js +1 -0
- package/dist/public/assets/poimandres-CS3Unz2-.js +1 -0
- package/dist/public/assets/polar-C0HS_06l.js +1 -0
- package/dist/public/assets/postcss-CXtECtnM.js +1 -0
- package/dist/public/assets/powerquery-CEu0bR-o.js +1 -0
- package/dist/public/assets/powershell-Dpen1YoG.js +1 -0
- package/dist/public/assets/prisma-Dd19v3D-.js +1 -0
- package/dist/public/assets/prolog-CbFg5uaA.js +1 -0
- package/dist/public/assets/proto-C7zT0LnQ.js +1 -0
- package/dist/public/assets/pug-CGlum2m_.js +1 -0
- package/dist/public/assets/puppet-BMWR74SV.js +1 -0
- package/dist/public/assets/purescript-CklMAg4u.js +1 -0
- package/dist/public/assets/python-B6aJPvgy.js +1 -0
- package/dist/public/assets/qml-3beO22l8.js +1 -0
- package/dist/public/assets/qmldir-C8lEn-DE.js +1 -0
- package/dist/public/assets/qss-IeuSbFQv.js +1 -0
- package/dist/public/assets/{quadrantDiagram-34T5L4WZ-DybJJDPI.js → quadrantDiagram-34T5L4WZ-1M4jQ4aT.js} +2 -2
- package/dist/public/assets/r-Dspwwk_N.js +1 -0
- package/dist/public/assets/racket-BqYA7rlc.js +1 -0
- package/dist/public/assets/raku-DXvB9xmW.js +1 -0
- package/dist/public/assets/razor-Uh8Bk_45.js +1 -0
- package/dist/public/assets/red-bN70gL4F.js +1 -0
- package/dist/public/assets/reg-C-SQnVFl.js +1 -0
- package/dist/public/assets/regexp-CDVJQ6XC.js +1 -0
- package/dist/public/assets/rel-C3B-1QV4.js +1 -0
- package/dist/public/assets/{requirementDiagram-MS252O5E-Bf2NfnQO.js → requirementDiagram-MS252O5E-cbWppHFa.js} +3 -3
- package/dist/public/assets/riscv-BM1_JUlF.js +1 -0
- package/dist/public/assets/ron-D8l8udqQ.js +1 -0
- package/dist/public/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
- package/dist/public/assets/rose-pine-moon-D4_iv3hh.js +1 -0
- package/dist/public/assets/rose-pine-qdsjHGoJ.js +1 -0
- package/dist/public/assets/rosmsg-BJDFO7_C.js +1 -0
- package/dist/public/assets/rst-BrH8l1NY.js +1 -0
- package/dist/public/assets/ruby-Dw2BHqvy.js +1 -0
- package/dist/public/assets/rust-B1yitclQ.js +1 -0
- package/dist/public/assets/sankeyDiagram-XADWPNL6-4D4rvcjw.js +10 -0
- package/dist/public/assets/sas-cz2c8ADy.js +1 -0
- package/dist/public/assets/sass-Cj5Yp3dK.js +1 -0
- package/dist/public/assets/scala-C151Ov-r.js +1 -0
- package/dist/public/assets/scheme-C98Dy4si.js +1 -0
- package/dist/public/assets/scss-OYdSNvt2.js +1 -0
- package/dist/public/assets/sdbl-DVxCFoDh.js +1 -0
- package/dist/public/assets/{sequenceDiagram-FGHM5R23-BKsfKx1K.js → sequenceDiagram-FGHM5R23-ComC2-Sc.js} +1 -1
- package/dist/public/assets/shaderlab-Dg9Lc6iA.js +1 -0
- package/dist/public/assets/shellscript-Yzrsuije.js +1 -0
- package/dist/public/assets/shellsession-BADoaaVG.js +1 -0
- package/dist/public/assets/slack-dark-BthQWCQV.js +1 -0
- package/dist/public/assets/slack-ochin-DqwNpetd.js +1 -0
- package/dist/public/assets/smalltalk-BERRCDM3.js +1 -0
- package/dist/public/assets/snazzy-light-Bw305WKR.js +1 -0
- package/dist/public/assets/solarized-dark-DXbdFlpD.js +1 -0
- package/dist/public/assets/solarized-light-L9t79GZl.js +1 -0
- package/dist/public/assets/solidity-rGO070M0.js +1 -0
- package/dist/public/assets/soy-Brmx7dQM.js +1 -0
- package/dist/public/assets/sparql-rVzFXLq3.js +1 -0
- package/dist/public/assets/splunk-BtCnVYZw.js +1 -0
- package/dist/public/assets/sql-BLtJtn59.js +1 -0
- package/dist/public/assets/ssh-config-_ykCGR6B.js +1 -0
- package/dist/public/assets/stata-BH5u7GGu.js +1 -0
- package/dist/public/assets/stateDiagram-FHFEXIEX-8nR4RqyL.js +1 -0
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-sni4Ws2p.js +1 -0
- package/dist/public/assets/stylus-BEDo0Tqx.js +1 -0
- package/dist/public/assets/surrealql-Bq5Q-fJD.js +1 -0
- package/dist/public/assets/svelte-C_ipcX3V.js +1 -0
- package/dist/public/assets/swift-D82vCrfD.js +1 -0
- package/dist/public/assets/synthwave-84-CbfX1IO0.js +1 -0
- package/dist/public/assets/system-verilog-CnnmHF94.js +1 -0
- package/dist/public/assets/systemd-4A_iFExJ.js +1 -0
- package/dist/public/assets/talonscript-CkByrt1z.js +1 -0
- package/dist/public/assets/tasl-QIJgUcNo.js +1 -0
- package/dist/public/assets/tcl-dwOrl1Do.js +1 -0
- package/dist/public/assets/templ-P3uqSqPl.js +1 -0
- package/dist/public/assets/terraform-BETggiCN.js +1 -0
- package/dist/public/assets/tex-idrVyKtj.js +1 -0
- package/dist/public/assets/{timeline-definition-GMOUNBTQ-DvnJe1xm.js → timeline-definition-GMOUNBTQ-CWEAkGhb.js} +4 -4
- package/dist/public/assets/tokyo-night-hegEt444.js +1 -0
- package/dist/public/assets/toml-vGWfd6FD.js +1 -0
- package/dist/public/assets/ts-tags-zn1MmPIZ.js +1 -0
- package/dist/public/assets/tsv-B_m7g4N7.js +1 -0
- package/dist/public/assets/tsx-COt5Ahok.js +1 -0
- package/dist/public/assets/turtle-BsS91CYL.js +1 -0
- package/dist/public/assets/twig-DNn4PbVi.js +1 -0
- package/dist/public/assets/typescript-BPQ3VLAy.js +1 -0
- package/dist/public/assets/typespec-BGHnOYBU.js +1 -0
- package/dist/public/assets/typst-DHCkPAjA.js +1 -0
- package/dist/public/assets/v-BcVCzyr7.js +1 -0
- package/dist/public/assets/vala-CsfeWuGM.js +1 -0
- package/dist/public/assets/vb-D17OF-Vu.js +1 -0
- package/dist/public/assets/vennDiagram-DHZGUBPP-BCUB4Y59.js +34 -0
- package/dist/public/assets/verilog-BQ8w6xss.js +1 -0
- package/dist/public/assets/vesper-DU1UobuO.js +1 -0
- package/dist/public/assets/vhdl-CeAyd5Ju.js +1 -0
- package/dist/public/assets/viml-CJc9bBzg.js +1 -0
- package/dist/public/assets/vitesse-black-Bkuqu6BP.js +1 -0
- package/dist/public/assets/vitesse-dark-D0r3Knsf.js +1 -0
- package/dist/public/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/dist/public/assets/vue-DN_0RTcg.js +1 -0
- package/dist/public/assets/vue-html-AaS7Mt5G.js +1 -0
- package/dist/public/assets/vue-vine-CQOfvN7w.js +1 -0
- package/dist/public/assets/vyper-CDx5xZoG.js +1 -0
- package/dist/public/assets/{wardley-RL74JXVD-D2KKM-ae.js → wardley-RL74JXVD-fcUo-Wrg.js} +1 -1
- package/dist/public/assets/{wardleyDiagram-NUSXRM2D-CgU6PntZ.js → wardleyDiagram-NUSXRM2D-q0nyo3Bx.js} +2 -2
- package/dist/public/assets/wasm-CG6Dc4jp.js +1 -0
- package/dist/public/assets/wasm-MzD3tlZU.js +1 -0
- package/dist/public/assets/wenyan-BV7otONQ.js +1 -0
- package/dist/public/assets/wgsl-Dx-B1_4e.js +1 -0
- package/dist/public/assets/wikitext-BhOHFoWU.js +1 -0
- package/dist/public/assets/wit-5i3qLPDT.js +1 -0
- package/dist/public/assets/wolfram-lXgVvXCa.js +1 -0
- package/dist/public/assets/xml-sdJ4AIDG.js +1 -0
- package/dist/public/assets/xsl-CtQFsRM5.js +1 -0
- package/dist/public/assets/xychartDiagram-5P7HB3ND-tZNDsxpi.js +7 -0
- package/dist/public/assets/yaml-Buea-lGh.js +1 -0
- package/dist/public/assets/zenscript-DVFEvuxE.js +1 -0
- package/dist/public/assets/zig-VOosw3JB.js +1 -0
- package/dist/public/index.html +3 -2
- package/dist/server/index.js +1 -1
- package/dist/server/middleware/errorHandler.js +1 -1
- package/dist/server/middleware/requestId.js +1 -0
- package/dist/server/routes/ai.js +1 -1
- package/dist/server/routes/config.js +1 -1
- package/dist/server/routes/files.js +1 -1
- package/dist/server/routes/projects.js +1 -1
- package/dist/server/routes/scan.js +1 -1
- package/dist/server/routes/search.js +1 -1
- package/dist/server/routes/wiki.js +1 -1
- package/dist/server/services/ai.js +1 -1
- package/dist/server/services/cache.js +1 -0
- package/dist/server/services/config.js +1 -1
- package/dist/server/services/jieba.js +1 -0
- package/dist/server/services/logger.js +1 -1
- package/dist/server/services/scanner.js +1 -1
- package/dist/server/services/search-db.js +1 -0
- package/dist/server/services/search-index.js +1 -0
- package/dist/server/services/search-query.js +1 -0
- package/dist/server/services/tokenizer.js +1 -0
- package/dist/server/services/wiki-loader.js +1 -1
- package/dist/server/services/wire-reader.js +1 -1
- package/package.json +7 -2
- package/dist/public/assets/_baseUniq-CIRdfd93.js +0 -1
- package/dist/public/assets/arc-B4HYSrvA.js +0 -1
- package/dist/public/assets/architectureDiagram-Q4EWVU46-0_RoxIgJ.js +0 -36
- package/dist/public/assets/channel-C_s5gQOv.js +0 -1
- package/dist/public/assets/chunk-4BX2VUAB-BMX7hm6-.js +0 -1
- package/dist/public/assets/chunk-55IACEB6-4D0opfow.js +0 -1
- package/dist/public/assets/chunk-EDXVE4YY-BTYCYeSV.js +0 -1
- package/dist/public/assets/chunk-QZHKN3VN-g-pg8y3p.js +0 -1
- package/dist/public/assets/chunk-YZCP3GAM-BxtZpO--.js +0 -1
- package/dist/public/assets/classDiagram-6PBFFD2Q-CCnUlGd6.js +0 -1
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-CCnUlGd6.js +0 -1
- package/dist/public/assets/clone-BS2Igb5a.js +0 -1
- package/dist/public/assets/cose-bilkent-S5V4N54A-5D-AKbEI.js +0 -1
- package/dist/public/assets/dagre-KV5264BT-Bl_Le1O-.js +0 -4
- package/dist/public/assets/defaultLocale-DX6XiGOO.js +0 -1
- package/dist/public/assets/diagram-5BDNPKRD-CzudIMvW.js +0 -10
- package/dist/public/assets/diagram-G4DWMVQ6-DNJC7zTX.js +0 -24
- package/dist/public/assets/diagram-MMDJMWI5-ClyZac9f.js +0 -43
- package/dist/public/assets/diagram-TYMM5635-C2VtQrAC.js +0 -24
- package/dist/public/assets/ganttDiagram-T4ZO3ILL-CCZKa7FC.js +0 -292
- package/dist/public/assets/gitGraphDiagram-UUTBAWPF-CN-Jq39o.js +0 -106
- package/dist/public/assets/graph-D5eDsOmP.js +0 -1
- package/dist/public/assets/index-BWRrOkja.js +0 -642
- package/dist/public/assets/index-BjF0IeXr.css +0 -1
- package/dist/public/assets/infoDiagram-42DDH7IO-Be00z2FM.js +0 -2
- package/dist/public/assets/init-Gi6I4Gst.js +0 -1
- package/dist/public/assets/layout-De98Fcvm.js +0 -1
- package/dist/public/assets/linear-DfyVEr5l.js +0 -1
- package/dist/public/assets/min-DAsKehOd.js +0 -1
- package/dist/public/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/public/assets/pieDiagram-DEJITSTG-CEFpX8n7.js +0 -30
- package/dist/public/assets/sankeyDiagram-XADWPNL6-dcULupfk.js +0 -10
- package/dist/public/assets/stateDiagram-FHFEXIEX-CC3CoOpe.js +0 -1
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-zQUzTqNB.js +0 -1
- package/dist/public/assets/vennDiagram-DHZGUBPP-CzmFX1Iv.js +0 -34
- package/dist/public/assets/xychartDiagram-5P7HB3ND-CU6AHPc5.js +0 -7
- package/dist/server/services/search.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=Object.freeze(JSON.parse(`{"displayName":"Vyper","name":"vyper","patterns":[{"include":"#statement"},{"include":"#expression"},{"include":"#reserved-names-vyper"}],"repository":{"annotated-parameter":{"begin":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.annotation.python"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"}]},"assignment-operator":{"match":"<<=|>>=|//=|\\\\*\\\\*=|\\\\+=|-=|/=|@=|\\\\*=|%=|~=|\\\\^=|&=|\\\\|=|=(?!=)","name":"keyword.operator.assignment.python"},"backticks":{"begin":"\`","end":"\`|(?<!\\\\\\\\)(\\\\n)","name":"invalid.deprecated.backtick.python","patterns":[{"include":"#expression"}]},"builtin-callables":{"patterns":[{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#builtin-exceptions"},{"include":"#builtin-functions"},{"include":"#builtin-types"}]},"builtin-exceptions":{"match":"(?<!\\\\.)\\\\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\\\\b","name":"support.type.exception.python"},"builtin-functions":{"patterns":[{"match":"(?<!\\\\.)\\\\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\\\\b","name":"support.function.builtin.python"},{"match":"(?<!\\\\.)\\\\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\\\\b","name":"variable.legacy.builtin.python"},{"match":"(?<!\\\\.)\\\\b(abi_encode|abi_decode|_abi_encode|_abi_decode|floor|ceil|convert|slice|len|concat|sha256|method_id|keccak256|ecrecover|ecadd|ecmul|extract32|as_wei_value|raw_call|blockhash|blobhash|bitwise_and|bitwise_or|bitwise_xor|bitwise_not|uint256_addmod|uint256_mulmod|unsafe_add|unsafe_sub|unsafe_mul|unsafe_div|pow_mod256|uint2str|isqrt|sqrt|shift|create_minimal_proxy_to|create_forwarder_to|create_copy_of|create_from_blueprint|min|max|empty|abs|min_value|max_value|epsilon)\\\\b","name":"support.function.builtin.vyper"},{"match":"(?<!\\\\.)\\\\b(send|print|breakpoint|selfdestruct|raw_call|raw_log|raw_revert|create_minimal_proxy_to|create_forwarder_to|create_copy_of|create_from_blueprint)\\\\b","name":"support.function.builtin.lowlevel.vyper"},{"match":"(?<!\\\\.)\\\\b(struct|enum|flag|event|interface|HashMap|DynArray|Bytes|String)\\\\b","name":"support.type.reference.vyper"},{"match":"(?<!\\\\.)\\\\b(nonreentrant|internal|view|pure|private|immutable|constant)\\\\b","name":"support.function.builtin.modifiers.safe.vyper"},{"match":"(?<!\\\\.)\\\\b(deploy|nonpayable|payable|external|modifying)\\\\b","name":"support.function.builtin.modifiers.unsafe.vyper"}]},"builtin-possible-callables":{"patterns":[{"include":"#builtin-callables"},{"include":"#magic-names"}]},"builtin-types":{"patterns":[{"match":"(?<!\\\\.)\\\\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\\\\b","name":"support.type.python"},{"match":"(?<!\\\\.)\\\\b(uint248|HashMap|bytes22|int88|bytes24|bytes11|int24|bytes28|bytes19|uint136|decimal|uint40|uint168|uint120|int112|bytes4|uint192|String|int104|bytes29|int120|uint232|bytes8|bool|bytes14|int56|uint32|int232|uint48|bytes17|bytes12|uint24|int160|int72|int256|uint56|uint80|uint104|uint144|uint200|bytes20|uint160|bytes18|bytes16|uint8|int40|Bytes|uint72|bytes23??|int48|bytes6|bytes13|int192|bytes15|uint96|address|uint64|uint88|bytes7|int64|bytes32|bytes30|int176|int248|uint128|int8|int136|int216|bytes31|int144|bytes1|int168|bytes5|uint216|int200|bytes25|uint112|int128|bytes10|uint16|DynArray|int16|int32|int208|int184|bytes9|int224|bytes3|int80|uint152|bytes21|int96|uint256|uint176|uint240|bytes27|bytes26|int240|uint224|uint184|uint208|int152)\\\\b","name":"support.type.basetype.vyper"},{"match":"(?<!\\\\.)\\\\b(max_int128|min_int128|nonlocal|babbage|_default_|___init___|await|indexed|____init____|true|constant|with|from|nonpayable|finally|enum|zero_wei|del|for|____default____|if|none|or|global|def|not|class|twei|struct|mwei|empty_bytes32|nonreentrant|transient|false|assert|event|pass|finney|init|lovelace|min_decimal|shannon|public|external|internal|flagunreachable|_init_|return|in|and|raise|try|gwei|break|zero_address|pwei|range|wei|while|ada|yield|as|immutable|continue|async|lambda|default|is|szabo|kwei|import|max_uint256|elif|___default___|else|except|max_decimal|interface|payable|ether)\\\\b","name":"support.type.keywords.vyper"},{"match":"(?<!\\\\.)\\\\b(ZERO_ADDRESS|EMPTY_BYTES32|MAX_INT128|MIN_INT128|MAX_DECIMAL|MIN_DECIMAL|MIN_UINT256|MAX_UINT256|super)\\\\b","name":"support.type.constant.vyper"},{"match":"(?<!\\\\.)\\\\b(implements|uses|initializes|exports)\\\\b","name":"entity.other.inherited-class.modules.vyper"}]},"call-wrapper-inheritance":{"begin":"\\\\b(?=([_[:alpha:]]\\\\w*)\\\\s*(\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#inheritance-name"},{"include":"#function-arguments"}]},"class-declaration":{"patterns":[{"begin":"\\\\s*(class)\\\\s+(?=[_[:alpha:]]\\\\w*\\\\s*([(:]))","beginCaptures":{"1":{"name":"storage.type.class.python"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.section.class.begin.python"}},"name":"meta.class.python","patterns":[{"include":"#class-name"},{"include":"#class-inheritance"}]}]},"class-inheritance":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.inheritance.end.python"}},"name":"meta.class.inheritance.python","patterns":[{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.arguments.python"},{"match":",","name":"punctuation.separator.inheritance.python"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"match":"\\\\bmetaclass\\\\b","name":"support.type.metaclass.python"},{"include":"#illegal-names"},{"include":"#class-kwarg"},{"include":"#call-wrapper-inheritance"},{"include":"#expression-base"},{"include":"#member-access-class"},{"include":"#inheritance-identifier"}]},"class-kwarg":{"captures":{"1":{"name":"entity.other.inherited-class.python variable.parameter.class.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)(?!=)"},"class-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"entity.name.type.class.python"}]},"codetags":{"captures":{"1":{"name":"keyword.codetag.notation.python"}},"match":"\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\b"},"comments":{"patterns":[{"begin":"#\\\\s*(type:)\\\\s*+(?!$|#)","beginCaptures":{"0":{"name":"meta.typehint.comment.python"},"1":{"name":"comment.typehint.directive.notation.python"}},"contentName":"meta.typehint.comment.python","end":"$|(?=#)","name":"comment.line.number-sign.python","patterns":[{"match":"\\\\Gignore(?=\\\\s*(?:$|#))","name":"comment.typehint.ignore.notation.python"},{"match":"(?<!\\\\.)\\\\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\\\\b","name":"comment.typehint.type.notation.python"},{"match":"([]()*,.=\\\\[]|(->))","name":"comment.typehint.punctuation.notation.python"},{"match":"([_[:alpha:]]\\\\w*)","name":"comment.typehint.variable.notation.python"}]},{"include":"#comments-base"}]},"comments-base":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"$()","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-double-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?=\\"\\"\\"))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-single-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?='''))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.python"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.python"}},"patterns":[{"match":":","name":"punctuation.separator.dict.python"},{"include":"#expression"}]},"decorator":{"begin":"^\\\\s*((@))\\\\s*(?=[_[:alpha:]]\\\\w*)","beginCaptures":{"1":{"name":"entity.name.function.decorator.python"},"2":{"name":"punctuation.definition.decorator.python"}},"end":"(\\\\))(.*?)(?=\\\\s*(?:#|$))|(?=[\\\\n#])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"invalid.illegal.decorator.python"}},"name":"meta.function.decorator.python","patterns":[{"include":"#decorator-name"},{"include":"#function-arguments"}]},"decorator-name":{"patterns":[{"include":"#builtin-callables"},{"include":"#illegal-object-name"},{"captures":{"2":{"name":"punctuation.separator.period.python"}},"match":"([_[:alpha:]]\\\\w*)|(\\\\.)","name":"entity.name.function.decorator.python"},{"include":"#line-continuation"},{"captures":{"1":{"name":"invalid.illegal.decorator.python"}},"match":"\\\\s*([^#(.\\\\\\\\_[:alpha:]\\\\s].*?)(?=#|$)","name":"invalid.illegal.decorator.python"}]},"docstring":{"patterns":[{"begin":"('''|\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.multi.python","patterns":[{"include":"#docstring-prompt"},{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])('''|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.raw.multi.python","patterns":[{"include":"#string-consume-escape"},{"include":"#docstring-prompt"},{"include":"#codetags"}]},{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\1)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.single.python","patterns":[{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])([\\"'])","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.raw.single.python","patterns":[{"include":"#string-consume-escape"},{"include":"#codetags"}]}]},"docstring-guts-unicode":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"docstring-prompt":{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"(?:^|\\\\G)\\\\s*((?:>>>|\\\\.\\\\.\\\\.)\\\\s)(?=\\\\s*\\\\S)"},"docstring-statement":{"begin":"^(?=\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))","end":"((?<=\\\\1)|^)(?!\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))","patterns":[{"include":"#docstring"}]},"double-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"double-one-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#double-one-regexp-character-set"},{"include":"#double-one-regexp-comments"},{"include":"#regexp-flags"},{"include":"#double-one-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#double-one-regexp-lookahead"},{"include":"#double-one-regexp-lookahead-negative"},{"include":"#double-one-regexp-lookbehind"},{"include":"#double-one-regexp-lookbehind-negative"},{"include":"#double-one-regexp-conditional"},{"include":"#double-one-regexp-parentheses-non-capturing"},{"include":"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"double-three-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#double-three-regexp-character-set"},{"include":"#double-three-regexp-comments"},{"include":"#regexp-flags"},{"include":"#double-three-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#double-three-regexp-lookahead"},{"include":"#double-three-regexp-lookahead-negative"},{"include":"#double-three-regexp-lookbehind"},{"include":"#double-three-regexp-lookbehind-negative"},{"include":"#double-three-regexp-conditional"},{"include":"#double-three-regexp-parentheses-non-capturing"},{"include":"#double-three-regexp-parentheses"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"ellipsis":{"match":"\\\\.\\\\.\\\\.","name":"constant.other.ellipsis.python"},"escape-sequence":{"match":"\\\\\\\\(x\\\\h{2}|[0-7]{1,3}|[\\"'\\\\\\\\abfnrtv])","name":"constant.character.escape.python"},"escape-sequence-unicode":{"patterns":[{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8}|N\\\\{[\\\\w\\\\s]+?})","name":"constant.character.escape.python"}]},"expression":{"patterns":[{"include":"#expression-base"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"expression-bare":{"patterns":[{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#literal"},{"include":"#regexp"},{"include":"#string"},{"include":"#lambda"},{"include":"#generator"},{"include":"#illegal-operator"},{"include":"#operator"},{"include":"#curly-braces"},{"include":"#item-access"},{"include":"#list"},{"include":"#odd-function-call"},{"include":"#round-braces"},{"include":"#function-call"},{"include":"#builtin-functions"},{"include":"#builtin-types"},{"include":"#builtin-exceptions"},{"include":"#magic-names"},{"include":"#special-names"},{"include":"#illegal-names"},{"include":"#special-variables"},{"include":"#ellipsis"},{"include":"#punctuation"},{"include":"#line-continuation"},{"include":"#special-variables-types"}]},"expression-base":{"patterns":[{"include":"#comments"},{"include":"#expression-bare"},{"include":"#line-continuation"}]},"f-expression":{"patterns":[{"include":"#expression-bare"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\\\{\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{"begin":"\\\\b([Ff])([BUbu])?('''|\\"\\"\\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{"begin":"\\\\b([Ff])([BUbu])?(([\\"']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},"end":"(\\\\3)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-single-core"}]},"fstring-formatting":{"patterns":[{"include":"#fstring-formatting-braces"},{"include":"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"2":{"name":"invalid.illegal.brace.python"},"3":{"name":"constant.character.format.placeholder.other.python"}},"match":"(\\\\{)(\\\\s*?)(})"},{"match":"(\\\\{\\\\{|}})","name":"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{"match":"(}(?!}))","name":"invalid.illegal.brace.python"},"fstring-guts":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#fstring-formatting"}]},"fstring-illegal-multi-brace":{"patterns":[{"include":"#impossible"}]},"fstring-illegal-single-brace":{"begin":"(\\\\{)(?=[^\\\\n}]*$\\\\n?)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})|(?=\\\\n)","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-single"},{"include":"#f-expression"}]},"fstring-multi-brace":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-multi"},{"include":"#f-expression"}]},"fstring-multi-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|'''|\\"\\"\\"))|\\\\n","name":"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{"begin":"\\\\b([BUbu])([Ff])('''|\\"\\"\\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python string.quoted.multi.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{"begin":"\\\\b([BUbu])([Ff])(([\\"']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python string.quoted.single.python"}},"end":"(\\\\3)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-single-core"}]},"fstring-raw-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#fstring-formatting"}]},"fstring-raw-multi-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|'''|\\"\\"\\"))|\\\\n","name":"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{"begin":"\\\\b([Rr][Ff]|[Ff][Rr])('''|\\"\\"\\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-raw-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{"begin":"\\\\b([Rr][Ff]|[Ff][Rr])(([\\"']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},"end":"(\\\\2)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-raw-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-raw-single-core"}]},"fstring-raw-single-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|([\\"'])|((?<!\\\\\\\\)\\\\n)))|\\\\n","name":"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})|(?=\\\\n)","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-single"},{"include":"#f-expression"}]},"fstring-single-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|([\\"'])|((?<!\\\\\\\\)\\\\n)))|\\\\n","name":"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})","patterns":[{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"fstring-terminator-single":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})|(?=\\\\n)","patterns":[{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"function-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.function-call.arguments.python","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.python"},{"captures":{"1":{"name":"keyword.operator.unpacking.arguments.python"}},"match":"(?:(?<=[(,])|^)\\\\s*(\\\\*{1,2})"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function-call.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"include":"#expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"punctuation.definition.arguments.begin.python"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"}]},"function-call":{"begin":"\\\\b(?=([_[:alpha:]]\\\\w*)\\\\s*(\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#special-variables"},{"include":"#function-name"},{"include":"#function-arguments"}]},"function-declaration":{"begin":"\\\\s*(?:\\\\b(async)\\\\s+)?\\\\b(def)\\\\s+(?=[_[:alpha:]]\\\\p{word}*\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.type.function.async.python"},"2":{"name":"storage.type.function.python"}},"end":"(:|(?=[\\\\n\\"#']))","endCaptures":{"1":{"name":"punctuation.section.function.begin.python"}},"name":"meta.function.python","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}]},"function-def-name":{"patterns":[{"match":"\\\\b(__default__)\\\\b","name":"entity.name.function.fallback.vyper"},{"match":"\\\\b(__init__)\\\\b","name":"entity.name.function.constructor.vyper"},{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"entity.name.function.python"}]},"function-name":{"patterns":[{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.function-call.generic.python"}]},"generator":{"begin":"\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control.flow.python"}},"end":"\\\\bin\\\\b","endCaptures":{"0":{"name":"keyword.control.flow.python"}},"patterns":[{"include":"#expression"}]},"illegal-anno":{"match":"->","name":"invalid.illegal.annotation.python"},"illegal-names":{"captures":{"1":{"name":"keyword.control.flow.python"},"2":{"name":"keyword.control.import.python"}},"match":"\\\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\.)lambda|lambda(?=\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\\\b"},"illegal-object-name":{"match":"\\\\b(True|False|None)\\\\b","name":"keyword.illegal.name.python"},"illegal-operator":{"patterns":[{"match":"&&|\\\\|\\\\||--|\\\\+\\\\+","name":"invalid.illegal.operator.python"},{"match":"[$?]","name":"invalid.illegal.operator.python"},{"match":"!\\\\b","name":"invalid.illegal.operator.python"}]},"import":{"patterns":[{"begin":"\\\\b(?<!\\\\.)(from)\\\\b(?=.+import)","beginCaptures":{"1":{"name":"keyword.control.import.python"}},"end":"$|(?=import)","patterns":[{"match":"\\\\.+","name":"punctuation.separator.period.python"},{"include":"#expression"}]},{"begin":"\\\\b(?<!\\\\.)(import)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import.python"}},"end":"$","patterns":[{"match":"\\\\b(?<!\\\\.)as\\\\b","name":"keyword.control.import.python"},{"include":"#expression"}]}]},"impossible":{"match":"$.^"},"inheritance-identifier":{"captures":{"1":{"name":"entity.other.inherited-class.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"},"inheritance-name":{"patterns":[{"include":"#lambda-incomplete"},{"include":"#builtin-possible-callables"},{"include":"#inheritance-identifier"}]},"item-access":{"patterns":[{"begin":"\\\\b(?=[_[:alpha:]]\\\\w*\\\\s*\\\\[)","end":"(])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.item-access.python","patterns":[{"include":"#item-name"},{"include":"#item-index"},{"include":"#expression"}]}]},"item-index":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.item-access.arguments.python","end":"(?=])","patterns":[{"match":":","name":"punctuation.separator.slice.python"},{"include":"#expression"}]},"item-name":{"patterns":[{"include":"#special-variables"},{"include":"#builtin-functions"},{"include":"#special-names"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.indexed-name.python"},{"include":"#special-variables-types"}]},"lambda":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"((?<=\\\\.)lambda|lambda(?=\\\\s*[.=]))"},{"captures":{"1":{"name":"storage.type.function.lambda.python"}},"match":"\\\\b(lambda)\\\\s*?(?=[\\\\n,]|$)"},{"begin":"\\\\b(lambda)\\\\b","beginCaptures":{"1":{"name":"storage.type.function.lambda.python"}},"contentName":"meta.function.lambda.parameters.python","end":"(:)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.section.function.lambda.begin.python"}},"name":"meta.lambda-function.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-nested-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\\\w*)\\\\s*(?:(,)|(?=:|$))"},{"include":"#comments"},{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#lambda-parameter-with-default"},{"include":"#line-continuation"},{"include":"#illegal-operator"}]}]},"lambda-incomplete":{"match":"\\\\blambda(?=\\\\s*[),])","name":"storage.type.function.lambda.python"},"lambda-nested-incomplete":{"match":"\\\\blambda(?=\\\\s*[),:])","name":"storage.type.function.lambda.python"},"lambda-parameter-with-default":{"begin":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"keyword.operator.python"}},"end":"(,)|(?=:|$)","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"}]},"line-continuation":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.continuation.line.python"},"2":{"name":"invalid.illegal.line.continuation.python"}},"match":"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)"},{"begin":"(\\\\\\\\)\\\\s*$\\\\n?","beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.python"}},"end":"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))|\\\\G()$)","patterns":[{"include":"#regexp"},{"include":"#string"}]}]},"list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.begin.python"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.end.python"}},"patterns":[{"include":"#expression"}]},"literal":{"patterns":[{"match":"\\\\b(True|False|None|NotImplemented|Ellipsis)\\\\b","name":"constant.language.python"},{"include":"#number"}]},"loose-default":{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.python"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"}]},"magic-function-names":{"captures":{"1":{"name":"support.function.magic.python"}},"match":"\\\\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|get??|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|len??|long|lshift|lt|missing|mod|mul|neg??|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\\\\b"},"magic-names":{"patterns":[{"include":"#magic-function-names"},{"include":"#magic-variable-names"}]},"magic-variable-names":{"captures":{"1":{"name":"support.variable.magic.python"}},"match":"\\\\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\\\\b"},"member-access":{"begin":"(\\\\.)\\\\s*(?!\\\\.)","beginCaptures":{"1":{"name":"punctuation.separator.period.python"}},"end":"(?<=\\\\S)(?=\\\\W)|(^|(?<=\\\\s))(?=[^\\\\\\\\\\\\w\\\\s])|$","name":"meta.member.access.python","patterns":[{"include":"#function-call"},{"include":"#member-access-base"},{"include":"#member-access-attribute"}]},"member-access-attribute":{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.attribute.python"},"member-access-base":{"patterns":[{"include":"#magic-names"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#special-names"},{"include":"#line-continuation"},{"include":"#item-access"},{"include":"#special-variables-types"}]},"member-access-class":{"begin":"(\\\\.)\\\\s*(?!\\\\.)","beginCaptures":{"1":{"name":"punctuation.separator.period.python"}},"end":"(?<=\\\\S)(?=\\\\W)|$","name":"meta.member.access.python","patterns":[{"include":"#call-wrapper-inheritance"},{"include":"#member-access-base"},{"include":"#inheritance-identifier"}]},"number":{"name":"constant.numeric.python","patterns":[{"include":"#number-float"},{"include":"#number-dec"},{"include":"#number-hex"},{"include":"#number-oct"},{"include":"#number-bin"},{"include":"#number-long"},{"match":"\\\\b[0-9]+\\\\w+","name":"invalid.illegal.name.python"}]},"number-bin":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])(0[Bb])(_?[01])+\\\\b","name":"constant.numeric.bin.python"},"number-dec":{"captures":{"1":{"name":"storage.type.imaginary.number.python"},"2":{"name":"invalid.illegal.dec.python"}},"match":"(?<![.\\\\w])(?:[1-9](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([Jj])|0([0-9]+)(?![.Ee]))\\\\b","name":"constant.numeric.dec.python"},"number-float":{"captures":{"1":{"name":"storage.type.imaginary.number.python"}},"match":"(?<!\\\\w)(?:(?:\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\.)(?:[Ee][-+]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[Ee][-+]?[0-9](?:_?[0-9])*)([Jj])?\\\\b","name":"constant.numeric.float.python"},"number-hex":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])(0[Xx])(_?\\\\h)+\\\\b","name":"constant.numeric.hex.python"},"number-long":{"captures":{"2":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])([1-9][0-9]*|0)([Ll])\\\\b","name":"constant.numeric.bin.python"},"number-oct":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])(0[Oo])(_?[0-7])+\\\\b","name":"constant.numeric.oct.python"},"odd-function-call":{"begin":"(?<=[])])\\\\s*(?=\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"patterns":[{"include":"#function-arguments"}]},"operator":{"captures":{"1":{"name":"keyword.operator.logical.python"},"2":{"name":"keyword.control.flow.python"},"3":{"name":"keyword.operator.bitwise.python"},"4":{"name":"keyword.operator.arithmetic.python"},"5":{"name":"keyword.operator.comparison.python"},"6":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b(?<!\\\\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\\\\s+from)?))(?!\\\\s*:)\\\\b|(<<|>>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"parameter-special":{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"variable.parameter.function.language.special.self.python"},"3":{"name":"variable.parameter.function.language.special.cls.python"},"4":{"name":"punctuation.separator.parameters.python"}},"match":"\\\\b((self)|(cls))\\\\b\\\\s*(?:(,)|(?=\\\\)))"},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python"}},"name":"meta.function.parameters.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#parameter-special"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))"},{"include":"#comments"},{"include":"#loose-default"},{"include":"#annotated-parameter"}]},"punctuation":{"patterns":[{"match":":","name":"punctuation.separator.colon.python"},{"match":",","name":"punctuation.separator.element.python"}]},"regexp":{"patterns":[{"include":"#regexp-single-three-line"},{"include":"#regexp-double-three-line"},{"include":"#regexp-single-one-line"},{"include":"#regexp-double-one-line"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\\\()(\\\\?P=\\\\w+(?:\\\\s+\\\\p{alnum}+)?)(\\\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\\\\\[1-9]\\\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\\\\\[\\\\\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-double-one-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\")|(?<!\\\\\\\\)(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.single.python","patterns":[{"include":"#double-one-regexp-expression"}]},"regexp-double-three-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\"\\"\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.multi.python","patterns":[{"include":"#double-three-regexp-expression"}]},"regexp-escape-catchall":{"match":"\\\\\\\\(.|\\\\n)","name":"constant.character.escape.regexp"},"regexp-escape-character":{"match":"\\\\\\\\(x\\\\h{2}|0[0-7]{1,2}|[0-7]{3})","name":"constant.character.escape.regexp"},"regexp-escape-sequence":{"patterns":[{"include":"#regexp-escape-special"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-backreference-number"},{"include":"#regexp-escape-catchall"}]},"regexp-escape-special":{"match":"\\\\\\\\([ABDSWZbdsw])","name":"support.other.escape.special.regexp"},"regexp-escape-unicode":{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8})","name":"constant.character.unicode.regexp"},"regexp-flags":{"match":"\\\\(\\\\?[Laimsux]+\\\\)","name":"storage.modifier.flag.regexp"},"regexp-quantifier":{"match":"\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}","name":"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(')","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(')|(?<!\\\\\\\\)(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.single.python","patterns":[{"include":"#single-one-regexp-expression"}]},"regexp-single-three-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(''')","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(''')","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.multi.python","patterns":[{"include":"#single-three-regexp-expression"}]},"reserved-names-vyper":{"match":"\\\\b(max_int128|min_int128|nonlocal|babbage|_default_|___init___|await|indexed|____init____|true|constant|with|from|nonpayable|finally|enum|zero_wei|del|for|____default____|if|none|or|global|def|not|class|twei|struct|mwei|empty_bytes32|nonreentrant|transient|false|assert|event|pass|finney|init|lovelace|min_decimal|shannon|public|external|internal|flagunreachable|_init_|return|in|and|raise|try|gwei|break|zero_address|pwei|range|wei|while|ada|yield|as|immutable|continue|async|lambda|default|is|szabo|kwei|import|max_uint256|elif|___default___|else|except|max_decimal|interface|payable|ether)\\\\b","name":"name.reserved.vyper"},"return-annotation":{"begin":"(->)","beginCaptures":{"1":{"name":"punctuation.separator.annotation.result.python"}},"end":"(?=:)","patterns":[{"include":"#expression"}]},"round-braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.python"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.python"}},"patterns":[{"include":"#expression"}]},"semicolon":{"patterns":[{"match":";$","name":"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"single-one-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#single-one-regexp-character-set"},{"include":"#single-one-regexp-comments"},{"include":"#regexp-flags"},{"include":"#single-one-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#single-one-regexp-lookahead"},{"include":"#single-one-regexp-lookahead-negative"},{"include":"#single-one-regexp-lookbehind"},{"include":"#single-one-regexp-lookbehind-negative"},{"include":"#single-one-regexp-conditional"},{"include":"#single-one-regexp-parentheses-non-capturing"},{"include":"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?='))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?='''))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"single-three-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#single-three-regexp-character-set"},{"include":"#single-three-regexp-comments"},{"include":"#regexp-flags"},{"include":"#single-three-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#single-three-regexp-lookahead"},{"include":"#single-three-regexp-lookahead-negative"},{"include":"#single-three-regexp-lookbehind"},{"include":"#single-three-regexp-lookbehind-negative"},{"include":"#single-three-regexp-conditional"},{"include":"#single-three-regexp-parentheses-non-capturing"},{"include":"#single-three-regexp-parentheses"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"special-names":{"match":"\\\\b(_*\\\\p{upper}[_\\\\d]*\\\\p{upper})[[:upper:]\\\\d]*(_\\\\w*)?\\\\b","name":"constant.other.caps.python"},"special-variables":{"captures":{"1":{"name":"variable.language.special.self.python"},"2":{"name":"variable.language.special.cls.python"}},"match":"\\\\b(?<!\\\\.)(?:(self)|(cls))\\\\b"},"special-variables-types":{"patterns":[{"match":"(?<!\\\\.)\\\\b(log)\\\\b","name":"variable.language.special.log.vyper"},{"match":"(?<!\\\\.)\\\\b(msg)\\\\b","name":"variable.language.special.msg.vyper"},{"match":"(?<!\\\\.)\\\\b(block)\\\\b","name":"variable.language.special.block.vyper"},{"match":"(?<!\\\\.)\\\\b(tx)\\\\b","name":"variable.language.special.tx.vyper"},{"match":"(?<!\\\\.)\\\\b(chain)\\\\b","name":"variable.language.special.chain.vyper"},{"match":"(?<!\\\\.)\\\\b(extcall)\\\\b","name":"variable.language.special.extcall.vyper"},{"match":"(?<!\\\\.)\\\\b(staticcall)\\\\b","name":"variable.language.special.staticcall.vyper"},{"match":"\\\\b(__interface__)\\\\b","name":"variable.language.special.__interface__.vyper"}]},"statement":{"patterns":[{"include":"#import"},{"include":"#class-declaration"},{"include":"#function-declaration"},{"include":"#generator"},{"include":"#statement-keyword"},{"include":"#assignment-operator"},{"include":"#decorator"},{"include":"#docstring-statement"},{"include":"#semicolon"}]},"statement-keyword":{"patterns":[{"match":"\\\\b((async\\\\s+)?\\\\s*def)\\\\b","name":"storage.type.function.python"},{"match":"\\\\b(?<!\\\\.)as\\\\b(?=.*[:\\\\\\\\])","name":"keyword.control.flow.python"},{"match":"\\\\b(?<!\\\\.)as\\\\b","name":"keyword.control.import.python"},{"match":"\\\\b(?<!\\\\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\\\\b","name":"keyword.control.flow.python"},{"match":"\\\\b(?<!\\\\.)(global|nonlocal)\\\\b","name":"storage.modifier.declaration.python"},{"match":"\\\\b(?<!\\\\.)(class)\\\\b","name":"storage.type.class.python"},{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"^\\\\s*(case|match)(?=\\\\s*([-\\"#'(+:\\\\[{\\\\w\\\\d]|$))\\\\b"}]},"string":{"patterns":[{"include":"#string-quoted-multi-line"},{"include":"#string-quoted-single-line"},{"include":"#string-bin-quoted-multi-line"},{"include":"#string-bin-quoted-single-line"},{"include":"#string-raw-quoted-multi-line"},{"include":"#string-raw-quoted-single-line"},{"include":"#string-raw-bin-quoted-multi-line"},{"include":"#string-raw-bin-quoted-single-line"},{"include":"#fstring-fnorm-quoted-multi-line"},{"include":"#fstring-fnorm-quoted-single-line"},{"include":"#fstring-normf-quoted-multi-line"},{"include":"#fstring-normf-quoted-single-line"},{"include":"#fstring-raw-quoted-multi-line"},{"include":"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{"begin":"\\\\b([Bb])('''|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.binary.multi.python","patterns":[{"include":"#string-entity"}]},"string-bin-quoted-single-line":{"begin":"\\\\b([Bb])(([\\"']))","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.binary.single.python","patterns":[{"include":"#string-entity"}]},"string-brace-formatting":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\\\{\\\\{|}}|\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"']+])*(![ars])?(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.python"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"']+])*(![ars])?(:)[^\\\\n\\"'{}]*(?:\\\\{[^\\\\n\\"'}]*?}[^\\\\n\\"'{}]*)*})","name":"meta.format.brace.python"}]},"string-consume-escape":{"match":"\\\\\\\\[\\\\n\\"'\\\\\\\\]"},"string-entity":{"patterns":[{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#string-formatting"}]},"string-formatting":{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.python"},"string-line-continuation":{"match":"\\\\\\\\$","name":"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{"begin":"(?=\\\\{%(.*?(?!'''|\\"\\"\\"))%})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{"begin":"(?=\\\\{%(.*?(?!'''|\\"\\"\\"))%})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!'''|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!'''|\\"\\"\\")})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!'''|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!'''|\\"\\"\\")})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-quoted-multi-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?('''|\\"\\"\\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-unicode"},{"include":"#string-multi-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-quoted-single-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\"']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.single.python","patterns":[{"include":"#string-single-bad-brace1-formatting-unicode"},{"include":"#string-single-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-raw-bin-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{"begin":"\\\\b(R[Bb]|[Bb]R)('''|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.binary.multi.python","patterns":[{"include":"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{"begin":"\\\\b(R[Bb]|[Bb]R)(([\\"']))","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.binary.single.python","patterns":[{"include":"#string-raw-bin-guts"}]},"string-raw-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"},{"include":"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{"begin":"\\\\b(([Uu]R)|(R))('''|\\"\\"\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\4)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-raw"},{"include":"#string-multi-bad-brace2-formatting-raw"},{"include":"#string-raw-guts"}]},"string-raw-quoted-single-line":{"begin":"\\\\b(([Uu]R)|(R))(([\\"']))","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\4)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.single.python","patterns":[{"include":"#string-single-bad-brace1-formatting-raw"},{"include":"#string-single-bad-brace2-formatting-raw"},{"include":"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{"begin":"(?=\\\\{%(.*?(?!([\\"'])|((?<!\\\\\\\\)\\\\n)))%})","end":"(?=([\\"'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{"begin":"(?=\\\\{%(.*?(?!([\\"'])|((?<!\\\\\\\\)\\\\n)))%})","end":"(?=([\\"'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!([\\"'])|((?<!\\\\\\\\)\\\\n))[^!.:\\\\[}\\\\w]).*?(?!([\\"'])|((?<!\\\\\\\\)\\\\n))})","end":"(?=([\\"'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!([\\"'])|((?<!\\\\\\\\)\\\\n))[^!.:\\\\[}\\\\w]).*?(?!([\\"'])|((?<!\\\\\\\\)\\\\n))})","end":"(?=([\\"'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-unicode-guts":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"},{"include":"#string-brace-formatting"}]}},"scopeName":"source.vyper","aliases":["vy"]}`)),n=[e];export{n as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Ah=Object.defineProperty;var $h=(t,e,r)=>e in t?Ah(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Jt=(t,e,r)=>$h(t,typeof e!="symbol"?e+"":e,r);import{bb as Ch,bE as Sh,bF as St}from"./index-BWRrOkja.js";import{m as Gt,f as wh,d as kh}from"./min-DAsKehOd.js";import{b as bh,l as _h,c as Nh,m as Ih,r as vc,n as xs}from"./_baseUniq-CIRdfd93.js";function Ph(t,e){return bh(Gt(t,e))}function Oh(t,e){return t&&t.length?_h(t,Nh(e)):[]}function Fe(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ut(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Qt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Lh(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Jn(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Af{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=(i=r.properties[e.property])==null?void 0:i.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Fe(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Ii(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function $f(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Cf(t){return Ii(t)&&typeof t.fullText=="string"}class xe{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new xe(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ze})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=xh(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new xe(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Ze:{done:!1,value:e(i)}})}filter(e){return new xe(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ze})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new xe(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Za(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ze})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new xe(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Za(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ze})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new xe(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new xe(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ze:this.nextFn(r.state)))}distinct(e){return new xe(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ze})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function xh(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Za(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Sf=new xe(()=>{},()=>Ze),Ze=Object.freeze({done:!0,value:void 0});function de(...t){if(t.length===1){const e=t[0];if(e instanceof xe)return e;if(Za(e))return new xe(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new xe(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ze)}return t.length>1?new xe(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const r=t[e.collIndex++];Za(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ze}):Sf}class Jl extends xe{constructor(e,r,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ze})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var fo;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(fo||(fo={}));function ho(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Fe(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&ho(i,e))}):Fe(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ho(n,e)))}function vs(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function jt(t){const r=Ma(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Ma(t){for(;t.$container;)t=t.$container;return t}function Ec(t){return ut(t)?t.ref?[t.ref]:[]:Qt(t)?t.items.map(e=>e.ref):[]}function Zl(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e==null?void 0:e.range;return new xe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const a=t[i];if(Fe(a)){if(n.keyIndex++,Ac(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){const s=n.arrayIndex++,o=a[s];if(Fe(o)&&Ac(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Ze})}function qi(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Jl(t,r=>Zl(r,e))}function zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Jl(t,r=>Zl(r,e),{includeRoot:!0})}function Ac(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)==null?void 0:n.range;return r?ip(r,e):!1}function Qa(t){return new xe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(ut(n)||Qt(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,a=n[i];if(ut(a)||Qt(n))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ze})}function Dh(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=wf(i.defaultValue))}function wf(t){return Array.isArray(t)?[...t.map(wf)]:t}const Je={$type:"AbstractElement",cardinality:"cardinality"};function Mh(t){return J.isInstance(t,Je.$type)}const Fa={$type:"AbstractParserRule"};function Bi(t){return J.isInstance(t,Fa.$type)}const ga={$type:"AbstractRule"},ot={$type:"AbstractType"},vr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Es(t){return J.isInstance(t,vr.$type)}const Ga={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function kf(t){return J.isInstance(t,Ga.$type)}const $c={$type:"ArrayLiteral",elements:"elements"},Cc={$type:"ArrayType",elementType:"elementType"},Er={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function br(t){return J.isInstance(t,Er.$type)}const po={$type:"BooleanLiteral",true:"true"};function Fh(t){return J.isInstance(t,po.$type)}const Ar={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Gh(t){return J.isInstance(t,Ar.$type)}const Fr={$type:"Condition"},ja={$type:"Conjunction",left:"left",right:"right"};function jh(t){return J.isInstance(t,ja.$type)}const $r={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function As(t){return J.isInstance(t,$r.$type)}const za={$type:"Disjunction",left:"left",right:"right"};function zh(t){return J.isInstance(t,za.$type)}const mo={$type:"EndOfFile",cardinality:"cardinality"};function Uh(t){return J.isInstance(t,mo.$type)}const sr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Sc={$type:"GrammarImport",path:"path"},Br={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Ql(t){return J.isInstance(t,Br.$type)}const go={$type:"InferredType",name:"name"};function bf(t){return J.isInstance(t,go.$type)}const Lt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function es(t){return J.isInstance(t,Lt.$type)}const Ds={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},wc={$type:"InfixRuleOperators",precedences:"precedences"},Ei={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function qh(t){return J.isInstance(t,Ei.$type)}const Ai={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function _r(t){return J.isInstance(t,Ai.$type)}const ya={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},Wr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bh(t){return J.isInstance(t,Wr.$type)}const yo={$type:"Negation",value:"value"};function Wh(t){return J.isInstance(t,yo.$type)}const kc={$type:"NumberLiteral",value:"value"},Ta={$type:"Parameter",name:"name"},To={$type:"ParameterReference",parameter:"parameter"};function Vh(t){return J.isInstance(t,To.$type)}const pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Bt(t){return J.isInstance(t,pt.$type)}const Ms={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},Vr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Kh(t){return J.isInstance(t,Vr.$type)}const Ro={$type:"ReturnType",name:"name"};function Hh(t){return J.isInstance(t,Ro.$type)}const Kr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Nr(t){return J.isInstance(t,Kr.$type)}const $i={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Xh(t){return J.isInstance(t,$i.$type)}const bc={$type:"StringLiteral",value:"value"},Hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Yh(t){return J.isInstance(t,Hr.$type)}const rt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},Xr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Jh(t){return J.isInstance(t,Xr.$type)}const Zt={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Wt(t){return J.isInstance(t,Zt.$type)}const Yr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Zh(t){return J.isInstance(t,Yr.$type)}const Ua={$type:"Type",name:"name",type:"type"};function Qh(t){return J.isInstance(t,Ua.$type)}const Zn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Qn={$type:"TypeDefinition"},_c={$type:"UnionType",types:"types"},qa={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function _f(t){return J.isInstance(t,qa.$type)}const Jr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function ep(t){return J.isInstance(t,Jr.$type)}const ei={$type:"ValueLiteral"},Ci={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function tp(t){return J.isInstance(t,Ci.$type)}class Nf extends Af{constructor(){super(...arguments),this.types={AbstractElement:{name:Je.$type,properties:{cardinality:{name:Je.cardinality}},superTypes:[]},AbstractParserRule:{name:Fa.$type,properties:{},superTypes:[ga.$type,ot.$type]},AbstractRule:{name:ga.$type,properties:{},superTypes:[]},AbstractType:{name:ot.$type,properties:{},superTypes:[]},Action:{name:vr.$type,properties:{cardinality:{name:vr.cardinality},feature:{name:vr.feature},inferredType:{name:vr.inferredType},operator:{name:vr.operator},type:{name:vr.type,referenceType:ot.$type}},superTypes:[Je.$type]},Alternatives:{name:Ga.$type,properties:{cardinality:{name:Ga.cardinality},elements:{name:Ga.elements,defaultValue:[]}},superTypes:[Je.$type]},ArrayLiteral:{name:$c.$type,properties:{elements:{name:$c.elements,defaultValue:[]}},superTypes:[ei.$type]},ArrayType:{name:Cc.$type,properties:{elementType:{name:Cc.elementType}},superTypes:[Qn.$type]},Assignment:{name:Er.$type,properties:{cardinality:{name:Er.cardinality},feature:{name:Er.feature},operator:{name:Er.operator},predicate:{name:Er.predicate},terminal:{name:Er.terminal}},superTypes:[Je.$type]},BooleanLiteral:{name:po.$type,properties:{true:{name:po.true,defaultValue:!1}},superTypes:[Fr.$type,ei.$type]},CharacterRange:{name:Ar.$type,properties:{cardinality:{name:Ar.cardinality},left:{name:Ar.left},lookahead:{name:Ar.lookahead},parenthesized:{name:Ar.parenthesized,defaultValue:!1},right:{name:Ar.right}},superTypes:[rt.$type]},Condition:{name:Fr.$type,properties:{},superTypes:[]},Conjunction:{name:ja.$type,properties:{left:{name:ja.left},right:{name:ja.right}},superTypes:[Fr.$type]},CrossReference:{name:$r.$type,properties:{cardinality:{name:$r.cardinality},deprecatedSyntax:{name:$r.deprecatedSyntax,defaultValue:!1},isMulti:{name:$r.isMulti,defaultValue:!1},terminal:{name:$r.terminal},type:{name:$r.type,referenceType:ot.$type}},superTypes:[Je.$type]},Disjunction:{name:za.$type,properties:{left:{name:za.left},right:{name:za.right}},superTypes:[Fr.$type]},EndOfFile:{name:mo.$type,properties:{cardinality:{name:mo.cardinality}},superTypes:[Je.$type]},Grammar:{name:sr.$type,properties:{imports:{name:sr.imports,defaultValue:[]},interfaces:{name:sr.interfaces,defaultValue:[]},isDeclared:{name:sr.isDeclared,defaultValue:!1},name:{name:sr.name},rules:{name:sr.rules,defaultValue:[]},types:{name:sr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Sc.$type,properties:{path:{name:Sc.path}},superTypes:[]},Group:{name:Br.$type,properties:{cardinality:{name:Br.cardinality},elements:{name:Br.elements,defaultValue:[]},guardCondition:{name:Br.guardCondition},predicate:{name:Br.predicate}},superTypes:[Je.$type]},InferredType:{name:go.$type,properties:{name:{name:go.name}},superTypes:[ot.$type]},InfixRule:{name:Lt.$type,properties:{call:{name:Lt.call},dataType:{name:Lt.dataType},inferredType:{name:Lt.inferredType},name:{name:Lt.name},operators:{name:Lt.operators},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:ot.$type}},superTypes:[Fa.$type]},InfixRuleOperatorList:{name:Ds.$type,properties:{associativity:{name:Ds.associativity},operators:{name:Ds.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:wc.$type,properties:{precedences:{name:wc.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ei.$type,properties:{attributes:{name:Ei.attributes,defaultValue:[]},name:{name:Ei.name},superTypes:{name:Ei.superTypes,defaultValue:[],referenceType:ot.$type}},superTypes:[ot.$type]},Keyword:{name:Ai.$type,properties:{cardinality:{name:Ai.cardinality},predicate:{name:Ai.predicate},value:{name:Ai.value}},superTypes:[Je.$type]},NamedArgument:{name:ya.$type,properties:{calledByName:{name:ya.calledByName,defaultValue:!1},parameter:{name:ya.parameter,referenceType:Ta.$type},value:{name:ya.value}},superTypes:[]},NegatedToken:{name:Wr.$type,properties:{cardinality:{name:Wr.cardinality},lookahead:{name:Wr.lookahead},parenthesized:{name:Wr.parenthesized,defaultValue:!1},terminal:{name:Wr.terminal}},superTypes:[rt.$type]},Negation:{name:yo.$type,properties:{value:{name:yo.value}},superTypes:[Fr.$type]},NumberLiteral:{name:kc.$type,properties:{value:{name:kc.value}},superTypes:[ei.$type]},Parameter:{name:Ta.$type,properties:{name:{name:Ta.name}},superTypes:[]},ParameterReference:{name:To.$type,properties:{parameter:{name:To.parameter,referenceType:Ta.$type}},superTypes:[Fr.$type]},ParserRule:{name:pt.$type,properties:{dataType:{name:pt.dataType},definition:{name:pt.definition},entry:{name:pt.entry,defaultValue:!1},fragment:{name:pt.fragment,defaultValue:!1},inferredType:{name:pt.inferredType},name:{name:pt.name},parameters:{name:pt.parameters,defaultValue:[]},returnType:{name:pt.returnType,referenceType:ot.$type}},superTypes:[Fa.$type]},ReferenceType:{name:Ms.$type,properties:{isMulti:{name:Ms.isMulti,defaultValue:!1},referenceType:{name:Ms.referenceType}},superTypes:[Qn.$type]},RegexToken:{name:Vr.$type,properties:{cardinality:{name:Vr.cardinality},lookahead:{name:Vr.lookahead},parenthesized:{name:Vr.parenthesized,defaultValue:!1},regex:{name:Vr.regex}},superTypes:[rt.$type]},ReturnType:{name:Ro.$type,properties:{name:{name:Ro.name}},superTypes:[]},RuleCall:{name:Kr.$type,properties:{arguments:{name:Kr.arguments,defaultValue:[]},cardinality:{name:Kr.cardinality},predicate:{name:Kr.predicate},rule:{name:Kr.rule,referenceType:ga.$type}},superTypes:[Je.$type]},SimpleType:{name:$i.$type,properties:{primitiveType:{name:$i.primitiveType},stringType:{name:$i.stringType},typeRef:{name:$i.typeRef,referenceType:ot.$type}},superTypes:[Qn.$type]},StringLiteral:{name:bc.$type,properties:{value:{name:bc.value}},superTypes:[ei.$type]},TerminalAlternatives:{name:Hr.$type,properties:{cardinality:{name:Hr.cardinality},elements:{name:Hr.elements,defaultValue:[]},lookahead:{name:Hr.lookahead},parenthesized:{name:Hr.parenthesized,defaultValue:!1}},superTypes:[rt.$type]},TerminalElement:{name:rt.$type,properties:{cardinality:{name:rt.cardinality},lookahead:{name:rt.lookahead},parenthesized:{name:rt.parenthesized,defaultValue:!1}},superTypes:[Je.$type]},TerminalGroup:{name:Xr.$type,properties:{cardinality:{name:Xr.cardinality},elements:{name:Xr.elements,defaultValue:[]},lookahead:{name:Xr.lookahead},parenthesized:{name:Xr.parenthesized,defaultValue:!1}},superTypes:[rt.$type]},TerminalRule:{name:Zt.$type,properties:{definition:{name:Zt.definition},fragment:{name:Zt.fragment,defaultValue:!1},hidden:{name:Zt.hidden,defaultValue:!1},name:{name:Zt.name},type:{name:Zt.type}},superTypes:[ga.$type]},TerminalRuleCall:{name:Yr.$type,properties:{cardinality:{name:Yr.cardinality},lookahead:{name:Yr.lookahead},parenthesized:{name:Yr.parenthesized,defaultValue:!1},rule:{name:Yr.rule,referenceType:Zt.$type}},superTypes:[rt.$type]},Type:{name:Ua.$type,properties:{name:{name:Ua.name},type:{name:Ua.type}},superTypes:[ot.$type]},TypeAttribute:{name:Zn.$type,properties:{defaultValue:{name:Zn.defaultValue},isOptional:{name:Zn.isOptional,defaultValue:!1},name:{name:Zn.name},type:{name:Zn.type}},superTypes:[]},TypeDefinition:{name:Qn.$type,properties:{},superTypes:[]},UnionType:{name:_c.$type,properties:{types:{name:_c.types,defaultValue:[]}},superTypes:[Qn.$type]},UnorderedGroup:{name:qa.$type,properties:{cardinality:{name:qa.cardinality},elements:{name:qa.elements,defaultValue:[]}},superTypes:[Je.$type]},UntilToken:{name:Jr.$type,properties:{cardinality:{name:Jr.cardinality},lookahead:{name:Jr.lookahead},parenthesized:{name:Jr.parenthesized,defaultValue:!1},terminal:{name:Jr.terminal}},superTypes:[rt.$type]},ValueLiteral:{name:ei.$type,properties:{},superTypes:[]},Wildcard:{name:Ci.$type,properties:{cardinality:{name:Ci.cardinality},lookahead:{name:Ci.lookahead},parenthesized:{name:Ci.parenthesized,defaultValue:!1}},superTypes:[rt.$type]}}}}const J=new Nf;function vo(t){return new Jl(t,e=>Ii(e)?e.content:[],{includeRoot:!0})}function rp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Eo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ts(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var Mt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Mt||(Mt={}));function np(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Mt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Mt.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?Mt.Inside:r?Mt.OverlapBack:n?Mt.OverlapFront:Mt.Outside}function ip(t,e){return np(t,e)>Mt.After}const ap=/^[\w\p{L}]$/u;function sp(t,e){if(t){const r=op(t,!0);if(r&&Nc(r,e))return r;if(Cf(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(Nc(a,e))return a}}}}function Nc(t,e){return $f(t)&&e.includes(t.tokenType.name)}function op(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class If extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function Wi(t,e="Error: Got unexpected value."){throw new Error(e)}function U(t){return t.charCodeAt(0)}function Fs(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function ti(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function lp(){throw Error("Internal Error - Should never get here!")}function Ic(t){return t.type==="Character"}const rs=[];for(let t=U("0");t<=U("9");t++)rs.push(t);const ns=[U("_")].concat(rs);for(let t=U("a");t<=U("z");t++)ns.push(t);for(let t=U("A");t<=U("Z");t++)ns.push(t);const Pc=[U(" "),U("\f"),U(`
|
|
1
|
+
var Ah=Object.defineProperty;var $h=(t,e,r)=>e in t?Ah(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Jt=(t,e,r)=>$h(t,typeof e!="symbol"?e+"":e,r);import{bn as Ch,bG as Sh,ap as St}from"./mermaid-CF-QbALk.js";import{m as Gt,f as wh,d as kh}from"./min-DIoUV2Ll.js";import{b as bh,l as _h,c as Nh,m as Ih,r as vc,n as xs}from"./_baseUniq-m7cimItk.js";function Ph(t,e){return bh(Gt(t,e))}function Oh(t,e){return t&&t.length?_h(t,Nh(e)):[]}function Fe(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ut(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Qt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Lh(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Jn(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Af{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=(i=r.properties[e.property])==null?void 0:i.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Fe(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Ii(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function $f(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Cf(t){return Ii(t)&&typeof t.fullText=="string"}class xe{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new xe(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ze})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=xh(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new xe(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Ze:{done:!1,value:e(i)}})}filter(e){return new xe(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ze})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new xe(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Za(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ze})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new xe(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Za(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ze})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new xe(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new xe(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ze:this.nextFn(r.state)))}distinct(e){return new xe(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ze})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function xh(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Za(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Sf=new xe(()=>{},()=>Ze),Ze=Object.freeze({done:!0,value:void 0});function de(...t){if(t.length===1){const e=t[0];if(e instanceof xe)return e;if(Za(e))return new xe(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new xe(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ze)}return t.length>1?new xe(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const r=t[e.collIndex++];Za(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ze}):Sf}class Jl extends xe{constructor(e,r,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ze})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var fo;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(fo||(fo={}));function ho(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Fe(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&ho(i,e))}):Fe(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ho(n,e)))}function vs(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function jt(t){const r=Ma(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Ma(t){for(;t.$container;)t=t.$container;return t}function Ec(t){return ut(t)?t.ref?[t.ref]:[]:Qt(t)?t.items.map(e=>e.ref):[]}function Zl(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e==null?void 0:e.range;return new xe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const a=t[i];if(Fe(a)){if(n.keyIndex++,Ac(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){const s=n.arrayIndex++,o=a[s];if(Fe(o)&&Ac(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Ze})}function qi(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Jl(t,r=>Zl(r,e))}function zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Jl(t,r=>Zl(r,e),{includeRoot:!0})}function Ac(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)==null?void 0:n.range;return r?ip(r,e):!1}function Qa(t){return new xe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(ut(n)||Qt(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,a=n[i];if(ut(a)||Qt(n))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ze})}function Dh(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=wf(i.defaultValue))}function wf(t){return Array.isArray(t)?[...t.map(wf)]:t}const Je={$type:"AbstractElement",cardinality:"cardinality"};function Mh(t){return J.isInstance(t,Je.$type)}const Fa={$type:"AbstractParserRule"};function Bi(t){return J.isInstance(t,Fa.$type)}const ga={$type:"AbstractRule"},ot={$type:"AbstractType"},vr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Es(t){return J.isInstance(t,vr.$type)}const Ga={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function kf(t){return J.isInstance(t,Ga.$type)}const $c={$type:"ArrayLiteral",elements:"elements"},Cc={$type:"ArrayType",elementType:"elementType"},Er={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function br(t){return J.isInstance(t,Er.$type)}const po={$type:"BooleanLiteral",true:"true"};function Fh(t){return J.isInstance(t,po.$type)}const Ar={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Gh(t){return J.isInstance(t,Ar.$type)}const Fr={$type:"Condition"},ja={$type:"Conjunction",left:"left",right:"right"};function jh(t){return J.isInstance(t,ja.$type)}const $r={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function As(t){return J.isInstance(t,$r.$type)}const za={$type:"Disjunction",left:"left",right:"right"};function zh(t){return J.isInstance(t,za.$type)}const mo={$type:"EndOfFile",cardinality:"cardinality"};function Uh(t){return J.isInstance(t,mo.$type)}const sr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Sc={$type:"GrammarImport",path:"path"},Br={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Ql(t){return J.isInstance(t,Br.$type)}const go={$type:"InferredType",name:"name"};function bf(t){return J.isInstance(t,go.$type)}const Lt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function es(t){return J.isInstance(t,Lt.$type)}const Ds={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},wc={$type:"InfixRuleOperators",precedences:"precedences"},Ei={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function qh(t){return J.isInstance(t,Ei.$type)}const Ai={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function _r(t){return J.isInstance(t,Ai.$type)}const ya={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},Wr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bh(t){return J.isInstance(t,Wr.$type)}const yo={$type:"Negation",value:"value"};function Wh(t){return J.isInstance(t,yo.$type)}const kc={$type:"NumberLiteral",value:"value"},Ta={$type:"Parameter",name:"name"},To={$type:"ParameterReference",parameter:"parameter"};function Vh(t){return J.isInstance(t,To.$type)}const pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Bt(t){return J.isInstance(t,pt.$type)}const Ms={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},Vr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Kh(t){return J.isInstance(t,Vr.$type)}const Ro={$type:"ReturnType",name:"name"};function Hh(t){return J.isInstance(t,Ro.$type)}const Kr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Nr(t){return J.isInstance(t,Kr.$type)}const $i={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Xh(t){return J.isInstance(t,$i.$type)}const bc={$type:"StringLiteral",value:"value"},Hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Yh(t){return J.isInstance(t,Hr.$type)}const rt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},Xr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Jh(t){return J.isInstance(t,Xr.$type)}const Zt={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Wt(t){return J.isInstance(t,Zt.$type)}const Yr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Zh(t){return J.isInstance(t,Yr.$type)}const Ua={$type:"Type",name:"name",type:"type"};function Qh(t){return J.isInstance(t,Ua.$type)}const Zn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Qn={$type:"TypeDefinition"},_c={$type:"UnionType",types:"types"},qa={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function _f(t){return J.isInstance(t,qa.$type)}const Jr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function ep(t){return J.isInstance(t,Jr.$type)}const ei={$type:"ValueLiteral"},Ci={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function tp(t){return J.isInstance(t,Ci.$type)}class Nf extends Af{constructor(){super(...arguments),this.types={AbstractElement:{name:Je.$type,properties:{cardinality:{name:Je.cardinality}},superTypes:[]},AbstractParserRule:{name:Fa.$type,properties:{},superTypes:[ga.$type,ot.$type]},AbstractRule:{name:ga.$type,properties:{},superTypes:[]},AbstractType:{name:ot.$type,properties:{},superTypes:[]},Action:{name:vr.$type,properties:{cardinality:{name:vr.cardinality},feature:{name:vr.feature},inferredType:{name:vr.inferredType},operator:{name:vr.operator},type:{name:vr.type,referenceType:ot.$type}},superTypes:[Je.$type]},Alternatives:{name:Ga.$type,properties:{cardinality:{name:Ga.cardinality},elements:{name:Ga.elements,defaultValue:[]}},superTypes:[Je.$type]},ArrayLiteral:{name:$c.$type,properties:{elements:{name:$c.elements,defaultValue:[]}},superTypes:[ei.$type]},ArrayType:{name:Cc.$type,properties:{elementType:{name:Cc.elementType}},superTypes:[Qn.$type]},Assignment:{name:Er.$type,properties:{cardinality:{name:Er.cardinality},feature:{name:Er.feature},operator:{name:Er.operator},predicate:{name:Er.predicate},terminal:{name:Er.terminal}},superTypes:[Je.$type]},BooleanLiteral:{name:po.$type,properties:{true:{name:po.true,defaultValue:!1}},superTypes:[Fr.$type,ei.$type]},CharacterRange:{name:Ar.$type,properties:{cardinality:{name:Ar.cardinality},left:{name:Ar.left},lookahead:{name:Ar.lookahead},parenthesized:{name:Ar.parenthesized,defaultValue:!1},right:{name:Ar.right}},superTypes:[rt.$type]},Condition:{name:Fr.$type,properties:{},superTypes:[]},Conjunction:{name:ja.$type,properties:{left:{name:ja.left},right:{name:ja.right}},superTypes:[Fr.$type]},CrossReference:{name:$r.$type,properties:{cardinality:{name:$r.cardinality},deprecatedSyntax:{name:$r.deprecatedSyntax,defaultValue:!1},isMulti:{name:$r.isMulti,defaultValue:!1},terminal:{name:$r.terminal},type:{name:$r.type,referenceType:ot.$type}},superTypes:[Je.$type]},Disjunction:{name:za.$type,properties:{left:{name:za.left},right:{name:za.right}},superTypes:[Fr.$type]},EndOfFile:{name:mo.$type,properties:{cardinality:{name:mo.cardinality}},superTypes:[Je.$type]},Grammar:{name:sr.$type,properties:{imports:{name:sr.imports,defaultValue:[]},interfaces:{name:sr.interfaces,defaultValue:[]},isDeclared:{name:sr.isDeclared,defaultValue:!1},name:{name:sr.name},rules:{name:sr.rules,defaultValue:[]},types:{name:sr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Sc.$type,properties:{path:{name:Sc.path}},superTypes:[]},Group:{name:Br.$type,properties:{cardinality:{name:Br.cardinality},elements:{name:Br.elements,defaultValue:[]},guardCondition:{name:Br.guardCondition},predicate:{name:Br.predicate}},superTypes:[Je.$type]},InferredType:{name:go.$type,properties:{name:{name:go.name}},superTypes:[ot.$type]},InfixRule:{name:Lt.$type,properties:{call:{name:Lt.call},dataType:{name:Lt.dataType},inferredType:{name:Lt.inferredType},name:{name:Lt.name},operators:{name:Lt.operators},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:ot.$type}},superTypes:[Fa.$type]},InfixRuleOperatorList:{name:Ds.$type,properties:{associativity:{name:Ds.associativity},operators:{name:Ds.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:wc.$type,properties:{precedences:{name:wc.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ei.$type,properties:{attributes:{name:Ei.attributes,defaultValue:[]},name:{name:Ei.name},superTypes:{name:Ei.superTypes,defaultValue:[],referenceType:ot.$type}},superTypes:[ot.$type]},Keyword:{name:Ai.$type,properties:{cardinality:{name:Ai.cardinality},predicate:{name:Ai.predicate},value:{name:Ai.value}},superTypes:[Je.$type]},NamedArgument:{name:ya.$type,properties:{calledByName:{name:ya.calledByName,defaultValue:!1},parameter:{name:ya.parameter,referenceType:Ta.$type},value:{name:ya.value}},superTypes:[]},NegatedToken:{name:Wr.$type,properties:{cardinality:{name:Wr.cardinality},lookahead:{name:Wr.lookahead},parenthesized:{name:Wr.parenthesized,defaultValue:!1},terminal:{name:Wr.terminal}},superTypes:[rt.$type]},Negation:{name:yo.$type,properties:{value:{name:yo.value}},superTypes:[Fr.$type]},NumberLiteral:{name:kc.$type,properties:{value:{name:kc.value}},superTypes:[ei.$type]},Parameter:{name:Ta.$type,properties:{name:{name:Ta.name}},superTypes:[]},ParameterReference:{name:To.$type,properties:{parameter:{name:To.parameter,referenceType:Ta.$type}},superTypes:[Fr.$type]},ParserRule:{name:pt.$type,properties:{dataType:{name:pt.dataType},definition:{name:pt.definition},entry:{name:pt.entry,defaultValue:!1},fragment:{name:pt.fragment,defaultValue:!1},inferredType:{name:pt.inferredType},name:{name:pt.name},parameters:{name:pt.parameters,defaultValue:[]},returnType:{name:pt.returnType,referenceType:ot.$type}},superTypes:[Fa.$type]},ReferenceType:{name:Ms.$type,properties:{isMulti:{name:Ms.isMulti,defaultValue:!1},referenceType:{name:Ms.referenceType}},superTypes:[Qn.$type]},RegexToken:{name:Vr.$type,properties:{cardinality:{name:Vr.cardinality},lookahead:{name:Vr.lookahead},parenthesized:{name:Vr.parenthesized,defaultValue:!1},regex:{name:Vr.regex}},superTypes:[rt.$type]},ReturnType:{name:Ro.$type,properties:{name:{name:Ro.name}},superTypes:[]},RuleCall:{name:Kr.$type,properties:{arguments:{name:Kr.arguments,defaultValue:[]},cardinality:{name:Kr.cardinality},predicate:{name:Kr.predicate},rule:{name:Kr.rule,referenceType:ga.$type}},superTypes:[Je.$type]},SimpleType:{name:$i.$type,properties:{primitiveType:{name:$i.primitiveType},stringType:{name:$i.stringType},typeRef:{name:$i.typeRef,referenceType:ot.$type}},superTypes:[Qn.$type]},StringLiteral:{name:bc.$type,properties:{value:{name:bc.value}},superTypes:[ei.$type]},TerminalAlternatives:{name:Hr.$type,properties:{cardinality:{name:Hr.cardinality},elements:{name:Hr.elements,defaultValue:[]},lookahead:{name:Hr.lookahead},parenthesized:{name:Hr.parenthesized,defaultValue:!1}},superTypes:[rt.$type]},TerminalElement:{name:rt.$type,properties:{cardinality:{name:rt.cardinality},lookahead:{name:rt.lookahead},parenthesized:{name:rt.parenthesized,defaultValue:!1}},superTypes:[Je.$type]},TerminalGroup:{name:Xr.$type,properties:{cardinality:{name:Xr.cardinality},elements:{name:Xr.elements,defaultValue:[]},lookahead:{name:Xr.lookahead},parenthesized:{name:Xr.parenthesized,defaultValue:!1}},superTypes:[rt.$type]},TerminalRule:{name:Zt.$type,properties:{definition:{name:Zt.definition},fragment:{name:Zt.fragment,defaultValue:!1},hidden:{name:Zt.hidden,defaultValue:!1},name:{name:Zt.name},type:{name:Zt.type}},superTypes:[ga.$type]},TerminalRuleCall:{name:Yr.$type,properties:{cardinality:{name:Yr.cardinality},lookahead:{name:Yr.lookahead},parenthesized:{name:Yr.parenthesized,defaultValue:!1},rule:{name:Yr.rule,referenceType:Zt.$type}},superTypes:[rt.$type]},Type:{name:Ua.$type,properties:{name:{name:Ua.name},type:{name:Ua.type}},superTypes:[ot.$type]},TypeAttribute:{name:Zn.$type,properties:{defaultValue:{name:Zn.defaultValue},isOptional:{name:Zn.isOptional,defaultValue:!1},name:{name:Zn.name},type:{name:Zn.type}},superTypes:[]},TypeDefinition:{name:Qn.$type,properties:{},superTypes:[]},UnionType:{name:_c.$type,properties:{types:{name:_c.types,defaultValue:[]}},superTypes:[Qn.$type]},UnorderedGroup:{name:qa.$type,properties:{cardinality:{name:qa.cardinality},elements:{name:qa.elements,defaultValue:[]}},superTypes:[Je.$type]},UntilToken:{name:Jr.$type,properties:{cardinality:{name:Jr.cardinality},lookahead:{name:Jr.lookahead},parenthesized:{name:Jr.parenthesized,defaultValue:!1},terminal:{name:Jr.terminal}},superTypes:[rt.$type]},ValueLiteral:{name:ei.$type,properties:{},superTypes:[]},Wildcard:{name:Ci.$type,properties:{cardinality:{name:Ci.cardinality},lookahead:{name:Ci.lookahead},parenthesized:{name:Ci.parenthesized,defaultValue:!1}},superTypes:[rt.$type]}}}}const J=new Nf;function vo(t){return new Jl(t,e=>Ii(e)?e.content:[],{includeRoot:!0})}function rp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Eo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ts(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var Mt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Mt||(Mt={}));function np(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Mt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Mt.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?Mt.Inside:r?Mt.OverlapBack:n?Mt.OverlapFront:Mt.Outside}function ip(t,e){return np(t,e)>Mt.After}const ap=/^[\w\p{L}]$/u;function sp(t,e){if(t){const r=op(t,!0);if(r&&Nc(r,e))return r;if(Cf(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(Nc(a,e))return a}}}}function Nc(t,e){return $f(t)&&e.includes(t.tokenType.name)}function op(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class If extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function Wi(t,e="Error: Got unexpected value."){throw new Error(e)}function U(t){return t.charCodeAt(0)}function Fs(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function ti(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Gr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function lp(){throw Error("Internal Error - Should never get here!")}function Ic(t){return t.type==="Character"}const rs=[];for(let t=U("0");t<=U("9");t++)rs.push(t);const ns=[U("_")].concat(rs);for(let t=U("a");t<=U("z");t++)ns.push(t);for(let t=U("A");t<=U("Z");t++)ns.push(t);const Pc=[U(" "),U("\f"),U(`
|
|
2
2
|
`),U("\r"),U(" "),U("\v"),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U("\u2028"),U("\u2029"),U(" "),U(" "),U(" "),U("\uFEFF")],cp=/[0-9a-fA-F]/,Ra=/[0-9]/,up=/[1-9]/;class Pf{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":ti(n,"global");break;case"i":ti(n,"ignoreCase");break;case"m":ti(n,"multiLine");break;case"u":ti(n,"unicode");break;case"y":ti(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Gr(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return lp()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Gr(r);break}if(!(e===!0&&r===void 0)&&Gr(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Gr(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[U(`
|
|
3
3
|
`),U("\r"),U("\u2028"),U("\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 e,r=!1;switch(this.popChar()){case"d":e=rs;break;case"D":e=rs,r=!0;break;case"s":e=Pc;break;case"S":e=Pc,r=!0;break;case"w":e=ns;break;case"W":e=ns,r=!0;break}if(Gr(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=U("\f");break;case"n":e=U(`
|
|
4
4
|
`);break;case"r":e=U("\r");break;case"t":e=U(" ");break;case"v":e=U("\v");break}if(Gr(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:U("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:U(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{s as
|
|
2
|
-
`+a);const o=jt(),d=Ht(),m=o.nodeRadius*1.6,v=h.db,g=v.getWardleyData(),A=v.getDiagramTitle(),M=((K=g.size)==null?void 0:K.width)??o.width,b=((Q=g.size)==null?void 0:Q.height)??o.height,z=Tt(r);z.selectAll("*").remove(),Yt(z,b,M,o.useMaxWidth),z.attr("viewBox",`0 0 ${M} ${b}`);const S=z.append("g").attr("class","wardley-map"),j=z.append("defs");j.append("marker").attr("id",`arrow-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),j.append("marker").attr("id",`link-arrow-end-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),j.append("marker").attr("id",`link-arrow-start-${r}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),S.append("rect").attr("class","wardley-background").attr("width",M).attr("height",b).attr("fill",d.backgroundColor);const F=M-o.padding*2,I=b-o.padding*2;A&&S.append("text").attr("class","wardley-title").attr("x",M/2).attr("y",o.padding/2).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(A);const C=y(t=>o.padding+t/100*F,"projectX"),E=y(t=>b-o.padding-t/100*I,"projectY"),W=S.append("g").attr("class","wardley-axes");W.append("line").attr("x1",o.padding).attr("x2",M-o.padding).attr("y1",b-o.padding).attr("y2",b-o.padding).attr("stroke",d.axisColor).attr("stroke-width",1),W.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const wt=g.axes.xLabel??"Evolution",bt=g.axes.yLabel??"Visibility";W.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+F/2).attr("y",b-o.padding/4).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(wt),W.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+I/2).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+I/2})`).text(bt);const O=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:qt;if(O.length>0){const t=S.append("g").attr("class","wardley-stages"),n=g.axes.stageBoundaries,s=[];if(n&&n.length===O.length){let i=0;n.forEach(p=>{s.push({start:i,end:p}),i=p})}else{const i=1/O.length;O.forEach((p,l)=>{s.push({start:l*i,end:(l+1)*i})})}O.forEach((i,p)=>{const l=s[p],x=o.padding+l.start*F,f=o.padding+l.end*F,u=(x+f)/2;p>0&&t.append("line").attr("x1",x).attr("x2",x).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",u).attr("y",b-o.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(o.showGrid){const t=S.append("g").attr("class","wardley-grid");for(let n=1;n<4;n++){const s=n/4,i=o.padding+F*s;t.append("line").attr("x1",i).attr("x2",i).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",o.padding).attr("x2",M-o.padding).attr("y1",b-o.padding-I*s).attr("y2",b-o.padding-I*s).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:C(t.x),y:E(t.y),node:t})}),g.pipelines.length>0){const t=S.append("g").attr("class","wardley-pipelines"),n=S.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(s=>{if(s.componentIds.length===0)return;const i=s.componentIds.map(f=>({id:f,pos:c.get(f),node:g.nodes.find(u=>u.id===f)})).filter(f=>f.pos&&f.node).sort((f,u)=>f.node.x-u.node.x);for(let f=0;f<i.length-1;f++){const u=i[f],w=i[f+1];n.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",u.pos.x).attr("y1",u.pos.y).attr("x2",w.pos.x).attr("y2",w.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let p=1/0,l=-1/0,x=0;if(s.componentIds.forEach(f=>{const u=c.get(f);u&&(p=Math.min(p,u.x),l=Math.max(l,u.x),x=u.y)}),p!==1/0&&l!==-1/0){const u=o.nodeRadius*4,w=x-u/2,$=c.get(s.nodeId);if($){const X=(p+l)/2;$.x=X,$.y=w-m/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",p-15).attr("y",w).attr("width",l-p+30).attr("height",u).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const Z=S.append("g").attr("class","wardley-links"),U=new Map;g.pipelines.forEach(t=>{U.set(t.nodeId,new Set(t.componentIds))});const J=g.links.filter(t=>{if(!c.has(t.source)||!c.has(t.target))return!1;const n=U.get(t.target);return!(n!=null&&n.has(t.source))});Z.selectAll("line").data(J).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.x+l/f*p}).attr("y1",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.y+x/f*p}).attr("x2",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.x+l/f*p}).attr("y2",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.y+x/f*p}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${r})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${r})`:null),Z.selectAll("text").data(J.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,p=s.y-n.y,l=s.x-n.x,x=Math.sqrt(l*l+p*p),f=8,u=p/x;return i+u*f}).attr("y",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.y+s.y)/2,p=s.x-n.x,l=s.y-n.y,x=Math.sqrt(p*p+l*l),f=8,u=-p/x;return i+u*f}).attr("fill",d.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,p=(n.y+s.y)/2,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x),u=8,w=x/f,$=-l/f,X=i+w*u,D=p+$*u;let B=Math.atan2(x,l)*180/Math.PI;return(B>90||B<-90)&&(B+=180),`rotate(${B} ${X} ${D})`}).text(t=>t.label);const kt=S.append("g").attr("class","wardley-trends"),Pt=g.trends.map(t=>{const n=c.get(t.nodeId);if(!n)return null;const s=C(t.targetX),i=E(t.targetY),p=s-n.x,l=i-n.y,x=Math.sqrt(p*p+l*l),f=o.nodeRadius+2,u=x>f?s-p/x*f:s,w=x>f?i-l/x*f:i;return{origin:n,targetX:s,targetY:i,adjustedX2:u,adjustedY2:w}}).filter(t=>t!==null);kt.selectAll("line").data(Pt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${r})`);const L=S.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));L.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const T=L.filter(t=>t.sourceStrategy==="market");T.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const _=o.nodeRadius*.7,k=o.nodeRadius*1.2;if(T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-k).attr("x2",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-k).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-k).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),L.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-m/2).attr("y",t=>c.get(t.id).y-m/2).attr("width",m).attr("height",m).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:o.nodeRadius+15;return t.sourceStrategy&&(s+=o.nodeRadius+10),n.x+s}).attr("y1",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:o.nodeRadius*2;return n.y-s/2}).attr("x2",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:o.nodeRadius+15;return t.sourceStrategy&&(s+=o.nodeRadius+10),n.x+s}).attr("y2",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:o.nodeRadius*2;return n.y+s/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),L.append("text").attr("x",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?n.x+t.labelOffsetX:n.x;let s=o.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(s+=10);const i=t.labelOffsetX??s;return n.x+i}).attr("y",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?n.y+t.labelOffsetY:n.y-3;let s=-o.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(s-=10);const i=t.labelOffsetY??s;return n.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",o.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=S.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(n=>{const s=n.coordinates.map(i=>({x:C(i.x),y:E(i.y)}));if(s.length>1)for(let i=0;i<s.length-1;i++)t.append("line").attr("class","wardley-annotation-line").attr("x1",s[i].x).attr("y1",s[i].y).attr("x2",s[i+1].x).attr("y2",s[i+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach(i=>{const p=t.append("g").attr("class","wardley-annotation");p.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),p.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.number)})}),g.annotationsBox){let n=C(g.annotationsBox.x),s=E(g.annotationsBox.y);const i=10,p=16,l=11,x=t.append("g").attr("class","wardley-annotations-box"),f=[...g.annotations].filter(w=>w.text).sort((w,$)=>w.number-$.number),u=[];if(f.forEach((w,$)=>{const X=x.append("text").attr("x",n+i).attr("y",s+i+($+1)*p).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${w.number}. ${w.text}`);u.push(X)}),u.length>0){let w=0,$=0;u.forEach(V=>{const G=V.node(),Mt=G.getComputedTextLength();w=Math.max(w,Mt);const Nt=G.getBBox();$=Math.max($,Nt.height)});const X=w+i*2+105,D=f.length*p+i*2+$/2,B=o.padding,vt=M-o.padding-X,St=o.padding,$t=b-o.padding-D;n=Math.max(B,Math.min(n,vt)),s=Math.max(St,Math.min(s,$t)),u.forEach((V,G)=>{V.attr("x",n+i).attr("y",s+i+(G+1)*p)}),x.insert("rect","text").attr("x",n).attr("y",s).attr("width",X).attr("height",D).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=S.append("g").attr("class","wardley-notes");g.notes.forEach(n=>{const s=C(n.x),i=E(n.y);t.append("text").attr("x",s).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.text)})}if(g.accelerators.length>0){const t=S.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(n=>{const s=C(n.x),i=E(n.y),p=60,l=30,x=20,f=`
|
|
1
|
+
import{s as Lt,g as zt,v as Xt,t as At,a as Ct,b as Et,_ as y,l as et,M as Tt,e as Yt,B as Bt,c as H,i as Rt}from"./mermaid-CF-QbALk.js";import{p as Ft}from"./chunk-4BX2VUAB-zMHqNRcr.js";import{p as Ot}from"./wardley-RL74JXVD-fcUo-Wrg.js";import"./min-DIoUV2Ll.js";import"./_baseUniq-m7cimItk.js";var q=y((a,r)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${r} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),Y=y((a,r,e)=>({x:q(r,`${e} evolution`),y:q(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),It=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const r=/^\+'([^']*)'/.exec(a),e=r==null?void 0:r[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Wt=y((a,r)=>{if(Ft(a,r),a.size&&r.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(o=>o.secondName?`${o.name.trim()} / ${o.secondName.trim()}`:o.name.trim()),h=a.evolution.stages.filter(o=>o.boundary!==void 0).map(o=>o.boundary);r.updateAxes({stages:e,stageBoundaries:h})}if(a.anchors.forEach(e=>{const h=Y(e.visibility,e.evolution,`Anchor "${e.name}"`);r.addNode(e.name,e.name,h.x,h.y,"anchor")}),a.components.forEach(e=>{var v;const h=Y(e.visibility,e.evolution,`Component "${e.name}"`),o=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;r.addNode(e.name,e.name,h.x,h.y,"component",o,d,e.inertia,m)}),a.notes.forEach(e=>{const h=Y(e.visibility,e.evolution,`Note "${e.text}"`);r.addNote(e.text,h.x,h.y)}),a.pipelines.forEach(e=>{const h=r.getNode(e.parent);if(!h||typeof h.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const o=h.y;r.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,A=q(d.evolution,`Pipeline component "${d.name}" evolution`);r.addNode(m,d.name,A,o,"pipeline-component",v,g),r.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const h=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let o=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=It(e.arrow);!o&&d&&(o=d);const v=e.linkLabel,g=m??v;r.addLink(e.from,e.to,h,g,o)}),a.evolves.forEach(e=>{const h=r.getNode(e.component);if((h==null?void 0:h.y)!==void 0){const o=q(e.target,`Evolve target for "${e.component}"`);r.addTrend(e.component,o,h.y)}}),a.annotations.length>0){const e=a.annotations[0],h=Y(e.x,e.y,"Annotations box");r.setAnnotationsBox(h.x,h.y)}a.annotation.forEach(e=>{const h=Y(e.x,e.y,`Annotation ${e.number}`);r.addAnnotation(e.number,[{x:h.x,y:h.y}],e.text)}),a.accelerators.forEach(e=>{const h=Y(e.x,e.y,`Accelerator "${e.name}"`);r.addAccelerator(e.name,h.x,h.y)}),a.deaccelerators.forEach(e=>{const h=Y(e.x,e.y,`Deaccelerator "${e.name}"`);r.addDeaccelerator(e.name,h.x,h.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var h;const r=await Ot("wardley",a);et.debug(r);const e=(h=at.parser)==null?void 0:h.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Wt(r,e)},"parse")},R,Dt=(R=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(r){const e=this.nodes.get(r.id)??{id:r.id,label:r.label},h={...e,...r,className:r.className??e.className,labelOffsetX:r.labelOffsetX??e.labelOffsetX,labelOffsetY:r.labelOffsetY??e.labelOffsetY};this.nodes.set(r.id,h)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});const e=this.nodes.get(r);e&&(e.isPipelineParent=!0)}addPipelineComponent(r,e){const h=this.pipelines.get(r);h&&h.componentIds.push(e);const o=this.nodes.get(e);o&&(o.inPipeline=!0)}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,e){this.annotationsBox={x:r,y:e}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,e){this.size={width:r,height:e}}getNode(r){return this.nodes.get(r)}build(){const r=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);r.push(e)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(R,"WardleyBuilder"),R),P=new Dt;function N(a){const r=H();return Rt(a.trim(),r)}y(N,"textSanitizer");function rt(){return H()["wardley-beta"]}y(rt,"getConfig");function ot(a,r,e,h,o,d,m,v,g){P.addNode({id:a,label:N(r),x:e,y:h,className:o,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,r,e=!1,h,o){P.addLink({source:a,target:r,dashed:e,label:h,flow:o})}y(st,"addLink");function nt(a,r,e){P.addTrend({nodeId:a,targetX:r,targetY:e})}y(nt,"addTrend");function it(a,r,e){P.addAnnotation({number:a,coordinates:r,text:e?N(e):void 0})}y(it,"addAnnotation");function dt(a,r,e){P.addNote({text:N(a),x:r,y:e})}y(dt,"addNote");function lt(a,r,e){P.addAccelerator({name:N(a),x:r,y:e})}y(lt,"addAccelerator");function ct(a,r,e){P.addDeaccelerator({name:N(a),x:r,y:e})}y(ct,"addDeaccelerator");function pt(a,r){P.setAnnotationsBox(a,r)}y(pt,"setAnnotationsBox");function ht(a,r){P.setSize(a,r)}y(ht,"setSize");function xt(a){P.startPipeline(a)}y(xt,"startPipeline");function ft(a,r){P.addPipelineComponent(a,r)}y(ft,"addPipelineComponent");function gt(a){const r={};a.xLabel&&(r.xLabel=N(a.xLabel)),a.yLabel&&(r.yLabel=N(a.yLabel)),a.stages&&(r.stages=a.stages.map(e=>N(e))),a.stageBoundaries&&(r.stageBoundaries=a.stageBoundaries),P.setAxes(r)}y(gt,"updateAxes");function ut(a){return P.getNode(a)}y(ut,"getNode");function yt(){return P.build()}y(yt,"getWardleyData");function mt(){P.clear(),Bt()}y(mt,"clear");var Gt={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,getWardleyData:yt,clear:mt,setAccTitle:Et,getAccTitle:Ct,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:zt,setAccDescription:Lt},qt=["Genesis","Custom Built","Product","Commodity"],Ht=y(()=>{var r,e,h,o,d,m,v,g,A,M,b,L;const{themeVariables:a}=H();return{backgroundColor:((r=a.wardley)==null?void 0:r.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((h=a.wardley)==null?void 0:h.axisTextColor)??a.primaryTextColor??"#222",gridColor:((o=a.wardley)==null?void 0:o.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((A=a.wardley)==null?void 0:A.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((b=a.wardley)==null?void 0:b.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((L=a.wardley)==null?void 0:L.annotationFill)??a.background??"#fff"}},"getTheme"),jt=y(()=>{const a=H()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),_t=y((a,r,e,h)=>{var K,Q;et.debug(`Rendering Wardley map
|
|
2
|
+
`+a);const o=jt(),d=Ht(),m=o.nodeRadius*1.6,v=h.db,g=v.getWardleyData(),A=v.getDiagramTitle(),M=((K=g.size)==null?void 0:K.width)??o.width,b=((Q=g.size)==null?void 0:Q.height)??o.height,L=Tt(r);L.selectAll("*").remove(),Yt(L,b,M,o.useMaxWidth),L.attr("viewBox",`0 0 ${M} ${b}`);const S=L.append("g").attr("class","wardley-map"),j=L.append("defs");j.append("marker").attr("id",`arrow-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),j.append("marker").attr("id",`link-arrow-end-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),j.append("marker").attr("id",`link-arrow-start-${r}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),S.append("rect").attr("class","wardley-background").attr("width",M).attr("height",b).attr("fill",d.backgroundColor);const F=M-o.padding*2,O=b-o.padding*2;A&&S.append("text").attr("class","wardley-title").attr("x",M/2).attr("y",o.padding/2).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(A);const C=y(t=>o.padding+t/100*F,"projectX"),E=y(t=>b-o.padding-t/100*O,"projectY"),W=S.append("g").attr("class","wardley-axes");W.append("line").attr("x1",o.padding).attr("x2",M-o.padding).attr("y1",b-o.padding).attr("y2",b-o.padding).attr("stroke",d.axisColor).attr("stroke-width",1),W.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const wt=g.axes.xLabel??"Evolution",bt=g.axes.yLabel??"Visibility";W.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+F/2).attr("y",b-o.padding/4).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(wt),W.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+O/2).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+O/2})`).text(bt);const I=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:qt;if(I.length>0){const t=S.append("g").attr("class","wardley-stages"),n=g.axes.stageBoundaries,s=[];if(n&&n.length===I.length){let i=0;n.forEach(p=>{s.push({start:i,end:p}),i=p})}else{const i=1/I.length;I.forEach((p,l)=>{s.push({start:l*i,end:(l+1)*i})})}I.forEach((i,p)=>{const l=s[p],x=o.padding+l.start*F,f=o.padding+l.end*F,u=(x+f)/2;p>0&&t.append("line").attr("x1",x).attr("x2",x).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",u).attr("y",b-o.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(o.showGrid){const t=S.append("g").attr("class","wardley-grid");for(let n=1;n<4;n++){const s=n/4,i=o.padding+F*s;t.append("line").attr("x1",i).attr("x2",i).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",o.padding).attr("x2",M-o.padding).attr("y1",b-o.padding-O*s).attr("y2",b-o.padding-O*s).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:C(t.x),y:E(t.y),node:t})}),g.pipelines.length>0){const t=S.append("g").attr("class","wardley-pipelines"),n=S.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(s=>{if(s.componentIds.length===0)return;const i=s.componentIds.map(f=>({id:f,pos:c.get(f),node:g.nodes.find(u=>u.id===f)})).filter(f=>f.pos&&f.node).sort((f,u)=>f.node.x-u.node.x);for(let f=0;f<i.length-1;f++){const u=i[f],w=i[f+1];n.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",u.pos.x).attr("y1",u.pos.y).attr("x2",w.pos.x).attr("y2",w.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let p=1/0,l=-1/0,x=0;if(s.componentIds.forEach(f=>{const u=c.get(f);u&&(p=Math.min(p,u.x),l=Math.max(l,u.x),x=u.y)}),p!==1/0&&l!==-1/0){const u=o.nodeRadius*4,w=x-u/2,$=c.get(s.nodeId);if($){const X=(p+l)/2;$.x=X,$.y=w-m/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",p-15).attr("y",w).attr("width",l-p+30).attr("height",u).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const Z=S.append("g").attr("class","wardley-links"),U=new Map;g.pipelines.forEach(t=>{U.set(t.nodeId,new Set(t.componentIds))});const J=g.links.filter(t=>{if(!c.has(t.source)||!c.has(t.target))return!1;const n=U.get(t.target);return!(n!=null&&n.has(t.source))});Z.selectAll("line").data(J).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.x+l/f*p}).attr("y1",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.y+x/f*p}).attr("x2",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.x+l/f*p}).attr("y2",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.y+x/f*p}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${r})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${r})`:null),Z.selectAll("text").data(J.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,p=s.y-n.y,l=s.x-n.x,x=Math.sqrt(l*l+p*p),f=8,u=p/x;return i+u*f}).attr("y",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.y+s.y)/2,p=s.x-n.x,l=s.y-n.y,x=Math.sqrt(p*p+l*l),f=8,u=-p/x;return i+u*f}).attr("fill",d.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,p=(n.y+s.y)/2,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x),u=8,w=x/f,$=-l/f,X=i+w*u,D=p+$*u;let B=Math.atan2(x,l)*180/Math.PI;return(B>90||B<-90)&&(B+=180),`rotate(${B} ${X} ${D})`}).text(t=>t.label);const kt=S.append("g").attr("class","wardley-trends"),Pt=g.trends.map(t=>{const n=c.get(t.nodeId);if(!n)return null;const s=C(t.targetX),i=E(t.targetY),p=s-n.x,l=i-n.y,x=Math.sqrt(p*p+l*l),f=o.nodeRadius+2,u=x>f?s-p/x*f:s,w=x>f?i-l/x*f:i;return{origin:n,targetX:s,targetY:i,adjustedX2:u,adjustedY2:w}}).filter(t=>t!==null);kt.selectAll("line").data(Pt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${r})`);const z=S.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));z.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),z.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),z.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const T=z.filter(t=>t.sourceStrategy==="market");T.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),z.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const _=o.nodeRadius*.7,k=o.nodeRadius*1.2;if(T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-k).attr("x2",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-k).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-k).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),z.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-m/2).attr("y",t=>c.get(t.id).y-m/2).attr("width",m).attr("height",m).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),z.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:o.nodeRadius+15;return t.sourceStrategy&&(s+=o.nodeRadius+10),n.x+s}).attr("y1",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:o.nodeRadius*2;return n.y-s/2}).attr("x2",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:o.nodeRadius+15;return t.sourceStrategy&&(s+=o.nodeRadius+10),n.x+s}).attr("y2",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:o.nodeRadius*2;return n.y+s/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),z.append("text").attr("x",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?n.x+t.labelOffsetX:n.x;let s=o.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(s+=10);const i=t.labelOffsetX??s;return n.x+i}).attr("y",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?n.y+t.labelOffsetY:n.y-3;let s=-o.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(s-=10);const i=t.labelOffsetY??s;return n.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",o.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=S.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(n=>{const s=n.coordinates.map(i=>({x:C(i.x),y:E(i.y)}));if(s.length>1)for(let i=0;i<s.length-1;i++)t.append("line").attr("class","wardley-annotation-line").attr("x1",s[i].x).attr("y1",s[i].y).attr("x2",s[i+1].x).attr("y2",s[i+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach(i=>{const p=t.append("g").attr("class","wardley-annotation");p.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),p.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.number)})}),g.annotationsBox){let n=C(g.annotationsBox.x),s=E(g.annotationsBox.y);const i=10,p=16,l=11,x=t.append("g").attr("class","wardley-annotations-box"),f=[...g.annotations].filter(w=>w.text).sort((w,$)=>w.number-$.number),u=[];if(f.forEach((w,$)=>{const X=x.append("text").attr("x",n+i).attr("y",s+i+($+1)*p).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${w.number}. ${w.text}`);u.push(X)}),u.length>0){let w=0,$=0;u.forEach(V=>{const G=V.node(),Mt=G.getComputedTextLength();w=Math.max(w,Mt);const Nt=G.getBBox();$=Math.max($,Nt.height)});const X=w+i*2+105,D=f.length*p+i*2+$/2,B=o.padding,vt=M-o.padding-X,St=o.padding,$t=b-o.padding-D;n=Math.max(B,Math.min(n,vt)),s=Math.max(St,Math.min(s,$t)),u.forEach((V,G)=>{V.attr("x",n+i).attr("y",s+i+(G+1)*p)}),x.insert("rect","text").attr("x",n).attr("y",s).attr("width",X).attr("height",D).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=S.append("g").attr("class","wardley-notes");g.notes.forEach(n=>{const s=C(n.x),i=E(n.y);t.append("text").attr("x",s).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.text)})}if(g.accelerators.length>0){const t=S.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(n=>{const s=C(n.x),i=E(n.y),p=60,l=30,x=20,f=`
|
|
3
3
|
M ${s} ${i-l/2}
|
|
4
4
|
L ${s+p-x} ${i-l/2}
|
|
5
5
|
L ${s+p-x} ${i-l/2-8}
|